Ошибка с PlayerEvent

Версия Minecraft
1.9.4
1,560
86
204
Вот написал код на притягивание предметов магнитом. Взял часть кода притягивания из частиц опыта.
Вот код:
Код:
@SubscribeEvent
 public void onPlayerEvent(PlayerEvent event) {
 EntityPlayer player = event.getEntityPlayer();
 World world = player.getEntityWorld();
 List<Entity> list = world.getLoadedEntityList();
 for (int e = 0; e < list.size(); e++) {
 if (list.get(e) instanceof EntityItem) {
 EntityItem entity = (EntityItem)list.get(e);
 if (world.isRemote && player.getDistanceSqToEntity(entity) < 16 && player.inventory.getCurrentItem().getItem() instanceof ItemMagnet) {
 double d0 = 16.0D;
 double d1 = (player.posX - entity.posX) / d0;
        double d2 = (player.posY + (double)player.getEyeHeight() / 2.0D - entity.posY) / d0;
        double d3 = (player.posZ - entity.posZ) / d0;
        double d4 = Math.sqrt(d1 * d1 + d2 * d2 + d3 * d3);
        double d5 = 1.0D - d4;
        if (d5 > 0.0D)
        {
         d5 = d5 * d5;
            entity.motionX += d1 / d4 * d5 * 0.01D;
            entity.motionY += d2 / d4 * d5 * 0.01D;
            entity.motionZ += d3 / d4 * d5 * 0.01D;
        }
 }
 }
 }
 }
Не понимаю в чём ошибка
 
2,505
81
397
Производишь действия на клиентской стороне. Поэтому ничего не работает.


Замечание. Метод вообще не нужно выполнять, если итем не магнит, а данная проверка где-то в середине кода...


Не используй PlayerEvent. Даже боюсь предположить, что получится, если все заработает. Ты бы еще просто Event заюзал.
 
Сверху