diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaExplosionTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaExplosionTranslator.java index 5f913c91f..721e40c8e 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaExplosionTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaExplosionTranslator.java @@ -28,6 +28,7 @@ package org.geysermc.connector.network.translators.java.world; import com.github.steveice10.mc.protocol.data.game.world.block.ExplodedBlockRecord; import com.github.steveice10.mc.protocol.packet.ingame.server.world.ServerExplosionPacket; import com.nukkitx.math.vector.Vector3f; +import com.nukkitx.math.vector.Vector3i; import com.nukkitx.protocol.bedrock.data.LevelEventType; import com.nukkitx.protocol.bedrock.data.SoundEvent; import com.nukkitx.protocol.bedrock.packet.LevelEventPacket; @@ -45,8 +46,8 @@ public class JavaExplosionTranslator extends PacketTranslator= 2.0f ? LevelEventType.PARTICLE_HUGE_EXPLODE : LevelEventType.PARTICLE_EXPLOSION); levelEventPacket.setData(0); - levelEventPacket.setPosition(pos.toFloat()); + levelEventPacket.setPosition(pos); session.sendUpstreamPacket(levelEventPacket); LevelSoundEventPacket levelSoundEventPacket = new LevelSoundEventPacket(); @@ -63,10 +64,10 @@ public class JavaExplosionTranslator extends PacketTranslator 0f || packet.getPushY() > 0f || packet.getPushZ() > 0f) { + if (packet.getPushX() != 0f || packet.getPushY() != 0f || packet.getPushZ() != 0f) { SetEntityMotionPacket motionPacket = new SetEntityMotionPacket(); motionPacket.setRuntimeEntityId(session.getPlayerEntity().getGeyserId()); motionPacket.setMotion(Vector3f.from(packet.getPushX(), packet.getPushY(), packet.getPushZ()));