神隐的间隙
本帖最后由 神隐的间隙 于 2017-1-15 21:12 编辑

下面这个代码只能阻止实体方块不被仙人掌销毁和阻止岩浆零点几销毁实体方块
  1.          @EventHandler
  2.         public void EntityCombustEvent(EntityDamageByBlockEvent event){
  3.                 event.setCancelled(true);
  4.          }
复制代码
如果实在不能阻止有没有什么办法让物品悬浮在岩浆上面不落进去


Dante_7
本帖最后由 凋灵兔子 于 2016-11-17 08:03 编辑

实体下沉是游戏の原初设定,要是硬要改的话(下面只说算法):
首先说说岩浆漂浮:看楼主的代码,获得了实体之后拿他的位置,然后Y + 1(或者加0.1?)。因为想一下,物品一碰到岩浆就烧掉了,所以下沉的不会很深,取消掉事件后把它设置回原来的位置就行了。不过感觉这样会导致物品烧毁的时间重复触发。而且.....悬浮在岩浆上的物品怎么捡...这样Y设置的大小合适的话不仅不会出现上下跳动的幅度很大的情况,反而小幅度的上下跳动还有一种“随波逐流”的赶脚(用词不当,自行体会)
仙人掌就简单了

TimmyOVO
Interface Methods inherited from interface org.bukkit.entity.Entity

setGravity
void setGravity(boolean gravity)
Sets whether gravity applies to this entity.
Parameters:
gravity - whether gravity should apply

不让他有重力即可

神隐的间隙
星燚 发表于 2016-11-17 10:35
不让他有重力即可

如何设置箱子里面的物品,我打算玩家被岩浆烧死直接生成个箱子,然后掉落物品全放箱子里面

TimmyOVO
神隐的间隙 发表于 2016-11-17 15:04
如何设置箱子里面的物品,我打算玩家被岩浆烧死直接生成个箱子,然后掉落物品全放箱子里面
...
  1. ((Chest)Bukkit.getWorld("世界名字").getBlockAt(位置).getState()).getBlockInventory().addItem(ItemStack.. item)
复制代码

第一页 上一页 下一页 最后一页