20 déc. 2020, 17:51
@robin4002 oui elle marche parfaitement.
J’ai aussi testé avec une entité vanilla
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