自定义NPC脚本论坛

搜索
查看: 390|回复: 1

[1.12.2]土豆地雷

[复制链接]

6

主题

8

帖子

261

积分

Lv.5 深海明珠

Rank: 8Rank: 8

积分
261
发表于 2021-4-29 23:05:11 | 显示全部楼层 |阅读模式
//粘贴至 脚本方块 中
var canRe=true;//是否可以重复使用
var reCd=5000;//可重复使用时冷却时间,1000毫秒=1秒
var reParticle=true;//冷却时是否开启烟雾提示

var hide=false;//是否隐藏地雷

var hurtLiving=true;//是否强制对生物造成伤害
var hurtPlayer=false;//是否强制对玩家造成伤害
var hurt=20;//强制造成的伤害

var canRedPower=true;//是否允许使用红石触发
var icon="minecraft:potato";//土豆地雷模型

var inRange=2;//触发范围
var playerOnly=false;//是否仅玩家进入范围触发
var gamemode={0:true,2:true};//玩家在什么模式下才触发

var range=3;//爆炸范围
var breakBlock=false;//是否破坏方块
var fire=false;//是否着火

var breakScriptBlock=false;//脚本方块是否会被炸毁
var update=1;//刷新频率
function exploded(e){
 if(!breakScriptBlock){
                e.setCanceled(true);
        }
}
function init(e){
 var block=e.block;
        var store=block.getStoreddata();
        if(!store.has("boom")){
                store.put("boom","true");
        }
        if(!store.has("cd")){
                store.put("cd",0);
        }
 var icon_t=hide?"minecraft:barrier":icon;
        block.setModel(icon_t);
 block.setScale(0.5,0.5,0.5);
 block.setIsPassible(true);
 block.setRotation(90,90,90);
        block.timers.forceStart(884,update,true);
}
function timer(e){
        if(e.id==884){
                var block=e.block;
         var store=block.getStoreddata();
         var boom=eval(store.get("boom"));
                if(!boom && reParticle){
                        block.world.spawnParticle("largesmoke",block.x+0.5,block.y,block.z+0.5,0,0,0,1,0.1);
                }
                var type=playerOnly?1:5;
                var NE=block.world.getNearbyEntities(block.getPos(),inRange,type);
                if(playerOnly){
                        var NE_t=[];
                        for(var count=0;count<NE.length;count++){
                                if(!gamemode[NE[count].getGamemode()]){
                                        return;
                                }
                                NE_t.push(NE[count]);
                        }
                        NE=NE_t;
                }
                show(block,NE,false);
        }
}
function redstone(e){
        if(canRedPower){
         var block=e.block;
         var type=playerOnly?1:5;
         var NE=block.world.getNearbyEntities(block.getPos(),inRange,type);
         show(block,NE,true);
        }
}
function show(block,NE,type){
        var IPlayer=Java.type("noppes.npcs.api.entity.IPlayer");
        var DamageSource=Java.type("net.minecraft.util.DamageSource");
        var EnumDifficulty=Java.type("net.minecraft.world.EnumDifficulty");
        var date=new Date().getTime();
        var store=block.getStoreddata();
        var boom=eval(store.get("boom"));
        var cd=store.get("cd");
        if(boom){
                if(NE.length>0){
                        for(var count=0;count<NE.length;count++){
                                if(NE[count] instanceof IPlayer){
                                        if(gamemode[NE[count].getGamemode()]){
                                                type=true;
                                         if(hurtPlayer){
                                   NE[count].getMCEntity().func_70097_a(DamageSource.field_76376_m,hurt);
                                         }
                                        }
                                        continue;
                         }
                                if(hurtLiving){
                                 NE[count].getMCEntity().func_70097_a(DamageSource.field_76376_m,hurt);
                                }
                                type=true;
                        }
                }
                if(type){
                 store.put("boom","false");
                 store.put("cd",date+reCd);
                 block.world.explode(block.x,block.y,block.z,range,fire,breakBlock);
          block.world.spawnParticle("lava",block.x+0.5,block.y,block.z+0.5,0,0,0,1,100);
                }
        }else if(date>cd && canRe){
                store.put("boom","true");
        }
}

评分

参与人数 1人气 +5 贡献 +1 收起 理由
小明 + 5 + 1

查看全部评分

回复

使用道具 举报

2

主题

15

帖子

224

积分

Lv.5 深海明珠

Rank: 8Rank: 8

积分
224
发表于 2021-4-30 10:12:47 | 显示全部楼层
好!虽然是1.12的脚本我用不着,但还是要说句牛逼!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表