Non résolu Spawn entity via Keybind
-
Bonjour,
je veux faire spawn une entité avec un keybind et pour ce faire j’utiliser un packet (ENCORE)
Malheureusement, l’entité n’est pas summon.
Merci de votre aide ^^public class KeybindHandler { KeyBinding[] keyBindings = ClientProxy.keyBindings; @SubscribeEvent public void onKeyInput(KeyInputEvent e) { Minecraft mc = Minecraft.getMinecraft(); EntityPlayer player = Minecraft.getMinecraft().player; if(keyBindings[0].isPressed() && player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ItemInit.THOR_HAMMER) { RayTraceResult rayTraceResult = player.rayTrace(15, mc.getRenderPartialTicks()); BlockPos pos = rayTraceResult.getBlockPos(); // System.out.println(pos.getX() + " " + pos.getY() + " " + pos.getZ() + " "); Main.network.sendToServer(new SyncThunder(pos.getX(), pos.getY(), pos.getZ())); } } }
public class SyncThunder implements IMessage { private int x, y, z; public SyncThunder(int _x, int _y, int _z) { this.x = _x; this.y = _y + 1; this.z = _z; } public SyncThunder() {} public static class Handler implements IMessageHandler<SyncThunder, IMessage> { @Override public IMessage onMessage(SyncThunder message, MessageContext ctx) { EntityPlayerMP serverPlayer = ctx.getServerHandler().player; WorldServer worldServer = serverPlayer.getServerWorld(); worldServer.addScheduledTask(() -> { serverPlayer.world.spawnEntity(new EntityBabyEarthDragon(serverPlayer.world, (double)message.x, (double)message.y, (double)message.z)); }); return null; } public static EntityPlayer getPlayer(MessageContext context) { return Main.proxy.getPlayer(context); } } @Override public void fromBytes(ByteBuf buf) { } @Override public void toBytes(ByteBuf buf) { } }
-
Bonsoir,
La fonction onMessage du paquet est-elle bien appelé ?Est-ce qu’il y a une erreur dans la console ?
-
@robin4002 bonsoir,
J’ai bien testé et la fonction appelée par “addScheduleTask” est bien appelée
Il n’y a pas non plus d’erreurs. -
L’entité fonctionne correctement ? (par exemple, as-tu déjà essayé de la spawn via un œuf ou la commande /summon) ?
-
@robin4002 oui elle marche parfaitement.
J’ai aussi testé avec une entité vanilla -