Как заспаунить Entity

Версия Minecraft
1.8+
Вот я забиндил кнопку, как теперь можно заспаунить мой EntityThrowable?
Я зделал так:
Java:
worldIn.spawnEntityInWorld(new EntityCanned(worldIn, playerIn));
но откуда взять worldIn и playerIn, я пробовал сделать так
Java:
private World worldIn = new World();
 
Последнее редактирование:
Решение
Если он отправит пакет на сервер и там вызовет Minecraft.getMinecraft().thePlayer, то получит краш. Вместо этого у него в параметрах хендлера для сообщения будет MessageContext ctx, из которого, если я не ошибаюсь, можно достать игрока и мир. Или же просто игрока, а с него достать мир.
Такой код? (1 у меня в clientproxy стоит а другой в common)
Код:
public EntityPlayer getPlayerEntity(MessageContext ctx) {
        return (EntityPlayer) (ctx.side.isClient() ? Minecraft.getMinecraft().thePlayer : super.getPlayerEntity(ctx));
    }
Код:
public EntityPlayer getPlayerEntity(MessageContext ctx) {
        return ctx.getServerHandler().playerEntity;
    }
7,099
324
1,510
129
6
18
но откуда взять worldIn и playerIn, я пробовал сделать так
Java:
private World worldIn = new World();
- со стороны кодинга, то что вы написали не логично. Вам нужно откуда-то брать параметры а не создавать(в данной ситуации и при работе с элементами майна).
Java:
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
player.worldObj.spawnEntityInWorld(new EntityCanned(player.worldObj, player));
- попробуйте так или всё таки надо будет через пакет, который будет отправляться пакет по нажатию кнопки и исполняться те же функции.
 

Eifel

Модератор
1,623
78
608
исполняться те же функции
Если он отправит пакет на сервер и там вызовет Minecraft.getMinecraft().thePlayer, то получит краш. Вместо этого у него в параметрах хендлера для сообщения будет MessageContext ctx , из которого, если я не ошибаюсь, можно достать игрока и мир. Или же просто игрока, а с него достать мир.
 
129
6
18
Если он отправит пакет на сервер и там вызовет Minecraft.getMinecraft().thePlayer, то получит краш. Вместо этого у него в параметрах хендлера для сообщения будет MessageContext ctx, из которого, если я не ошибаюсь, можно достать игрока и мир. Или же просто игрока, а с него достать мир.
Такой код? (1 у меня в clientproxy стоит а другой в common)
Код:
public EntityPlayer getPlayerEntity(MessageContext ctx) {
        return (EntityPlayer) (ctx.side.isClient() ? Minecraft.getMinecraft().thePlayer : super.getPlayerEntity(ctx));
    }
Код:
public EntityPlayer getPlayerEntity(MessageContext ctx) {
        return ctx.getServerHandler().playerEntity;
    }
 
Сверху