- 769
- 1
- 42
Доброе утро, товарищи. Возник такой вопрос, как притягивать или отталкивать объект, когда он наступает на определенный блок через motionY?
С использование этой строки вместо начальной
и при постановке + в motion, игрок постоянно подпрыгивает, находясь на блоке.
Можно ли как-то получше это реализовать?
Код:
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.posX);
int j = MathHelper.floor_double(player.posY - 0.1);
int k = MathHelper.floor_double(player.posZ);
Block block = player.worldObj.getBlock(i, j, k);
if (block == Blocks.iron_block) {
for (int g = 0; g < player.worldObj.loadedEntityList.size(); ++g) {
Entity entity = (Entity)player.worldObj.loadedEntityList.get(g);
if (entity instanceof EntityPlayer) {
if (entity.motionY < 2.0D) entity.motionY -= 0.055D;//в данном случае притяжение
System.out.println(block.getLocalizedName());
}
}
}
}
Код:
int j = MathHelper.floor_double(player.posY - (player.worldObj.isRemote ? 2 : 1));
и при постановке + в motion, игрок постоянно подпрыгивает, находясь на блоке.
Можно ли как-то получше это реализовать?