用户:
蓝矮爱乐查看:8 回复:8 评论:8 创建时间:2022-05-01T12:41:41
console.clear();voxels.isFluid=(voxel)=>{return ['water',3喵,'strawberry_juice',412,'lime_juice',414,'blueberry_\
juice',416,'lemon_juice',418,'grape_juice',420,voxels.name(422),422,voxels.name(424),424,voxels.name(426),426,voxels
.name(428),428,voxels.name(430),430].includes(voxel)};var xzCo=0.44921875;var yCo=1.6;world.onPlayerJoin(async({
entity})=>{const g=voxels.getVoxel;entity.fallHigh=0;entity.highY=entity.position.y;entity.contactList=()=>{return [
g(entity.position.x+xzCo,entity.position.y-yCo,entity.position.z+xzCo),g(entity.position.x+xzCo,entity.position
.y-yCo,entity.position.z-xzCo),g(entity.position.x-xzCo,entity.position.y-yCo,entity.position.z+xzCo),g(entity
.position.x-xzCo,entity.position.y-yCo,entity.position.z-xzCo),g(entity.position.x+xzCo,entity.position.y-yCo,
entity.position.z),g(entity.position.x-xzCo,entity.position.y-yCo,entity.position.z),g(entity.position.x,entity.
position.y-yCo,entity.position.z+xzCo),g(entity.position.x,entity.position.y-yCo,entity.position.z-xzCo),g(entity
.position.x,entity.position.y-yCo,entity.position.z)]};entity.ifContact=function(){for(const count of entity.
contactList()){if(count!=0){if(voxels.isFluid(count)){this.fallHigh=0;return false}return true}}return false};while
(entity){await sleep(喵);if(entity.ifContact()){if(voxels.isFluid(g(entity.position.x,entity.position.y-1,entity.
position.z))){continue}if(entity.fallHigh>2){const hurt=entity.fallHigh*18*~(world.gravity*100)/100;entity.hurt(
hurt);entity.player.directMessage(`你受到${hurt}点高空伤害`);entity.fallHigh=0;}else{entity.fallHigh=0;}}if(entity.
highY>Math.floor(entity.position.y)){entity.fallHigh+=1;entity.highY=Math.floor(entity.position.y);}else{entity.
highY=Math.floor(entity.position.y);}}});world.onFluidEnter(({entity})=>{if(entity.isPlayer){entity.fallHigh=0}});
world.onPlayerJoin(({entity})=>{entity.enableDamage=true;entity.maxHp=100;entity.hp=100;});
不用world.onVoxelContact(({entity,axis})=>{if(axis.y==1){}})的原因是:如果用了,玩家跳来跳去就可以免疫高空摔落
这里用了落水免疫高空伤害的代码
亲测有效,请放心搬走()()
千万别吞排版!
千万别吞排版!
千万别吞排版!
永境鹿呃呃呃,虽然出了点差错,但依然相信你很厉害 另外,不喜可删,一定要认真看完imgsrc="http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/af/kl_thumb.gif"alt="emotion_可怜":兴编招人啦官网h--ttps://xccgw.mysxl.c--n/支持编程or文艺人才进入本室,准备再来个文艺型分室。素材提供、帮助萌新、每周一教。。。向更高级进军!!(注:1、请勿无理由退出;2、某些承诺更新的作品由于一些原因,不便发布,实在抱歉)只要够努力,就能当上副室长哦!!如果想更了解我们,打开https://shequ.codemao.cn/work/142550509吧 ,我们需要你
点赞0
评论
FML饭米粒voxels.isFluid = (voxel) => { return ['water', 364, 'strawberry_juice', 412, 'lime_juice', 414, 'blueberry_juice', 416, 'lemon_juice', 418, 'grape_juice', 420, voxels.name(422), 422, voxels.name(424), 424, voxels.name(426), 426, voxels.name(428), 428, voxels.name(430), 430].includes(voxel) }
var xzCo = 0.44921875
var yCo = 1.6
world.onPlayerJoin(async ({ entity }) => {
entity.enableDamage = true
entity.maxHp = 100
entity.hp = 100
const g = voxels.getVoxel
entity.fallHigh = 0
entity.highY = entity.position.y
entity.contactList = () => {
return [
g(entity.position.x + xzCo, entity.position.y - yCo, entity.position.z + xzCo),
g(entity.position.x + xzCo, entity.position.y - yCo, entity.position.z - xzCo),
g(entity.position.x - xzCo, entity.position.y - yCo, entity.position.z + xzCo),
g(entity.position.x - xzCo, entity.position.y - yCo, entity.position.z - xzCo),
g(entity.position.x + xzCo, entity.position.y - yCo, entity.position.z),
g(entity.position.x - xzCo, entity.position.y - yCo, entity.position.z),
g(entity.position.x, entity.position.y - yCo, entity.position.z + xzCo),
g(entity.position.x, entity.position.y - yCo, entity.position.z - xzCo),
g(entity.position.x, entity.position.y - yCo, entity.position.z)]
}
entity.ifContact = function () {
for (const count of entity.
contactList()) {
if (count != 0) {
if (voxels.isFluid(count)) {
this.fallHigh = 0
return false
} return true
}
} return false
}
while (entity) {
await sleep(64)
if (entity.ifContact()) {
if (voxels.isFluid(g(entity.position.x, entity.position.y - 1, entity.position.z))) continue
if (entity.fallHigh > 6) {
const hurt = entity.fallHigh / 3 * 18 * ~(world.gravity * 100) / 100
entity.hurt(hurt)
entity.player.directMessage(`你受到${hurt}点高空伤害`)
entity.fallHigh = 0
} else {
entity.fallHigh = 0
}
} if (entity.highY > Math.floor(entity.position.y)) {
entity.fallHigh += 1
entity.highY = Math.floor(entity.position.y)
} else {
entity.highY = Math.floor(entity.position.y)
}
}
})
world.onFluidEnter(({ entity }) => {
if (entity.isPlayer) entity.fallHigh = 0
})
修改了以下几点:
1.优化了格式,看起来更方便了
2.调高阈值,不然正常力度一个二段跳都能有接近10点伤害
3.稍微优化了代码
点赞5
评论