CatBoss | 猫型鉄壁要塞(?)

pack_icon-282b1d9f
スポンサーリンク

CatBossAddon~召喚して、後悔しよう!~


このCatBossは統合版アドオンを遊び尽くして飽きてきた人におすすめです。
何か大量のアイテムや敵モブを追加するのかって?

そんな労力はありません☆

このアドオンで追加するのはボス一体のみです。
Java版のMODなどをよく知っている人なら知ってると思いますが、モノリスMODを参考に作成いたしました。

・CatBossについて

・圧倒的防御力
 専用の剣以外では基本ダメージを与えられません。
 更にその剣でも1ダメージしか攻撃することができません…更に更にその剣も耐久力は1で…更に言えばHPが6000近くあって…とあげれば色々な”倒せない対策”がされております。
 「どうせ/killとかで倒せるんでしょ?」と思ったあなた、もちろん対策済みです。
 今後マインクラフトのアプデが来るか、新しい技術が来るかしない限り完全な抹消は専用の剣で6000回殴るしかありません…
 あ、いい忘れてましたが体力が減ると再生がつく特典もありますよ☆
 ※一部再生妨害等があるアドオンととても相性が悪いのでお気を付けて

 やっとHP1になった!けどそこから減らない!と思ったあなた!
 ちゃんと仮想体力も全部減らしてね☆
 ここで1つ助言、仮想体力には専用剣で殴らないと行けないという制限はありませんので頑張って!

・圧倒的攻撃力
 攻撃の方もぬかりありません!
 クリエ貫通は当たり前です。1tick1ビームを発射しているので避けることもほぼ不可能です。もちろん地面貫通します。
 猫の鈴というアイテムを使うことで無効化出来ますが…1ビーム5L経験値を使用します。
 一応他アドオンを使えば防げはします。(CatBossの防御機構と同じであるため)

他にも多々いろいろなことをしていますが、書くのめんどいのでまた後で気が向いたら書きます。

・注意事項

このアドオンは少なくともバニラサバイバルで倒せるように設計しておりません。また、バニラクリエでもそれなりの知識が無いと倒せないようになっております。
またビームがパーティクルで出来ているため、複数体召喚するとラグが発生する可能性があります。召喚は一体までにしてください。
/scriptevent t6:particles on / off で表示・非表示が出来るようになりました。
なおデフォルトでは表示になってますのでお気をつけください
召喚時、演出上空から降ってくるようになっております。「あれ?出てこないぞ」と思って連打すると痛い目を見ますのでお気を付けください(経験者)
このアドオンは作成(ScriptAPIやパーティクル)にAI生成を使用しております。動作は確認済みですのでご安心ください。

・バグ報告・討伐報告

バグ報告・討伐報告はぜひ私のサーバーのDiscordサーバーまで!
私のユーザー名はt6nekoです!
現在発生中の一部アドオンとの競合に関しましては現在調査中ですのでご了承下さい。

・更新履歴

v.1.0.0 3/15
アドオン配布開始
v.1.1.0   3/16
細かなバグ修正(レシピ関係)
v1.2.0   3/16
範囲攻撃の追加・パーティクル非表示の追加
v1.3.0 3/16
setHealth対策や撃破報告を受けての対策の追加
v1.3.1 3/16
空中戦の対応や一般モブへの攻撃ロジックの変更
v1.4.0   3/16
専用剣を100回ごとの一括ダメージ制へ変更、実HP回復停止しきい値拡大、封印中のアイテム使用対策、召喚者紐付けの後始末を追加
v1.5.0   9/10
仮想体力上限を10000に増量、ダメージ制限をint最大値相当に引き上げ、仮想体力消費に2tick無敵時間を追加
v1.6.0    9/11
撃破時にスポーンエッグドロップ+「不滅」チャット表示、ドロップ品を破壊不能に保護するeggGuard.jsを新設
v1.7.0   9/12
連続処刑中のアイテム使用ロック、攻撃中は仮想体力回復停止、循環import回避用combatTracker.jsを新設
v1.8.0→1.8.1   9/12
連打ツール検知で爆発(耐爆ブロックも破壊)+ノックバックを追加、検知通知は後に削除
v1.9.0   9/12
仮想体力回復を頻度ベース3段階に再調整(連打ツールのみ僅差で押し切れる調整)

スポンサーリンク
ダウンロード
(mcpack/mcaddon) [DL:10]
※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報

コメント

  1. すんご

  2. 撃退報告を受けました…
    ちょいと早すぎませんかね?
    撃退時の動画を見せて貰ったので対策します!!!!
    次こそは勝ってみせる!!!
    あと鈴が強すぎるの弱体化考えてます!

    • 対策をしました!
      どんとこいです!

  3. 自分と発想かぶってしもうた

  4. 自作のモブで撃破しました!

    • 最新版でですか?
      最新版はv.1.9.0となっております
      v.1.4.0以下では簡単に倒せてしまう仕様になってしまっています

      • 最新版で倒しました

        • ぜひ詳しく教えて欲しいです

  5. 簡単に言うと、消えた時に復活して、どうじに他のモブのtypeidを記録して、常に記録したidのモブをエンドにtpさせてentity.removeさせてるんです。typeidて言うのはモブのidの事ですね。

    • ほうほう…そんな手があったとは…
      参考になります!
      ありがとうございます!

      • 参考になればいいんですけど、自作のモブのスクリプトですね、
        import {
        world,
        system,
        EntityHealthComponent
        } from “@minecraft/server”;

        const PIG_ID = “worl:pig2”;

        let active = false;
        let lastData = null;

        // pig2が消えた時に記録するtypeId
        const removedTypeIds = new Set();

        // ————————
        // ダメージ無効
        // ————————
        world.beforeEvents.entityHurt.subscribe((ev) => {
        try {
        if (ev.hurtEntity.typeId === PIG_ID) {
        ev.cancel = true;
        }
        } catch {}
        });

        // ————————
        // 常時監視
        // ————————
        system.runInterval(() => {

        const dimensions = [
        world.getDimension(“overworld”),
        world.getDimension(“nether”),
        world.getDimension(“the_end”)
        ];

        let pig = null;

        // 全ディメンションからpig2を検索
        for (const dim of dimensions) {
        const list = dim.getEntities({
        type: PIG_ID
        });

        if (list.length > 0) {
        pig = list[0];
        break;
        }
        }

        // pig2が存在している
        if (pig) {
        active = true;

        lastData = {
        dimension: pig.dimension,
        location: {
        x: pig.location.x,
        y: pig.location.y,
        z: pig.location.z
        }
        };

        // HP常にMAX
        try {
        const hp = pig.getComponent(“minecraft:health”);

        if (hp instanceof EntityHealthComponent) {
        hp.setCurrentValue(hp.effectiveMax);
        }
        } catch {}

        return;
        }

        if (!active || !lastData) return;

        // ————————
        // pig2が消えた瞬間
        // ————————

        for (const dim of dimensions) {

        for (const entity of dim.getEntities()) {

        // プレイヤーは除外
        if (entity.typeId === “minecraft:player”) continue;

        // pig2は除外
        if (entity.typeId === PIG_ID) continue;

        // 消したモブのtypeIdを記録
        removedTypeIds.add(entity.typeId);

        // その場で削除
        try {
        entity.remove();
        } catch {}
        }
        }

        // ————————
        // pig2を元の場所へ再スポーン
        // ————————
        try {
        lastData.dimension.spawnEntity(
        PIG_ID,
        lastData.location
        );
        } catch {}

        }, 1);

        // ————————
        // 記録されたtypeIdを毎tick処理
        // エンドへTP → 削除
        // ————————
        system.runInterval(() => {

        if (removedTypeIds.size === 0) return;

        const end = world.getDimension(“the_end”);

        for (const entity of end.getEntities()) {
        try {
        if (!removedTypeIds.has(entity.typeId)) continue;

        entity.teleport(
        {
        x: 30000,
        y: 30000,
        z: 30000
        },
        {
        dimension: end
        }
        );

        entity.remove();
        } catch {}
        }

        // オーバーワールド・ネザーにいる記録済みtypeIdも
        // エンドへTPしてから削除
        for (const dimension of [
        world.getDimension(“overworld”),
        world.getDimension(“nether”)
        ]) {
        for (const entity of dimension.getEntities()) {
        try {
        if (!removedTypeIds.has(entity.typeId)) continue;

        entity.teleport(
        {
        x: 30000,
        y: 30000,
        z: 30000
        },
        {
        dimension: end
        }
        );

        entity.remove();
        } catch {}
        }
        }

        }, 1);
        参考になったら幸いです。

コメント通報

通報するにはログインする必要があります