diff --git a/pom.xml b/pom.xml index 3ef792c..0a5d000 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,7 @@ org.projectlombok lombok - 1.18.20 + 1.18.24 diff --git a/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java b/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java index d1c768e..3c61fad 100644 --- a/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java +++ b/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java @@ -129,7 +129,8 @@ public class BlockUpdateHandler { block = new WrappedBlock(intVec.toLocation(player.getBukkitPlayer().getWorld()), bukkitBlock.get().getType(), bukkitBlock.get().getData()); blockInformation.put(hashCode, block); - } + } else + block = new WrappedBlock(loc.toLocation(player.getBukkitPlayer().getWorld()), Material.AIR, (byte)0); } return block; diff --git a/src/main/java/dev/brighten/ac/listener/JoinListener.java b/src/main/java/dev/brighten/ac/listener/JoinListener.java index d8af2b5..a5330e3 100644 --- a/src/main/java/dev/brighten/ac/listener/JoinListener.java +++ b/src/main/java/dev/brighten/ac/listener/JoinListener.java @@ -6,7 +6,6 @@ import dev.brighten.ac.packet.handler.HandlerAbstract; import dev.brighten.ac.packet.wrapper.PacketType; import dev.brighten.ac.packet.wrapper.objects.WrappedWatchableObject; import dev.brighten.ac.packet.wrapper.out.WPacketPlayOutEntityMetadata; -import dev.brighten.ac.packet.wrapper.out.WPacketPlayOutNamedEntitySpawn; import dev.brighten.ac.utils.RunUtils; import dev.brighten.ac.utils.annotation.Init; import org.bukkit.event.EventHandler; @@ -36,8 +35,10 @@ public class JoinListener implements Listener { if(event.getType().equals(PacketType.ENTITY_METADATA)) { WPacketPlayOutEntityMetadata packet = event.getPacket(); + if(packet.getEntityId() == player.getBukkitPlayer().getEntityId()) return; + for (WrappedWatchableObject watchedObject : packet.getWatchedObjects()) { - if(watchedObject.getDataValueId() == 6 && watchedObject.getWatchedObject() instanceof Float) { + if (watchedObject.getDataValueId() == 6 && watchedObject.getWatchedObject() instanceof Float) { watchedObject.setWatchedObject(1f); HandlerAbstract.getHandler().sendPacket(player, packet.getPacket()); @@ -45,8 +46,6 @@ public class JoinListener implements Listener { break; } } - } else if(event.getType().equals(PacketType.NAMED_ENTITY_SPAWN)) { - WPacketPlayOutNamedEntitySpawn packet = event.getPacket(); } }); }); diff --git a/src/main/java/dev/brighten/ac/utils/BlockUtils.java b/src/main/java/dev/brighten/ac/utils/BlockUtils.java index b8d6659..1904e0b 100644 --- a/src/main/java/dev/brighten/ac/utils/BlockUtils.java +++ b/src/main/java/dev/brighten/ac/utils/BlockUtils.java @@ -12,6 +12,8 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Vehicle; import org.bukkit.inventory.ItemStack; import java.util.EnumMap; @@ -140,6 +142,14 @@ public class BlockUtils { } } + public static boolean isEntityCollidable(Entity entity) { + if(entity instanceof Vehicle) { + return true; + } + + return false; + } + public static boolean isSolid(Block block) { return isSolid(block.getType()); } diff --git a/src/main/java/dev/brighten/ac/utils/Helper.java b/src/main/java/dev/brighten/ac/utils/Helper.java index 9ee35bc..d09832f 100644 --- a/src/main/java/dev/brighten/ac/utils/Helper.java +++ b/src/main/java/dev/brighten/ac/utils/Helper.java @@ -15,7 +15,6 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.util.Vector; @@ -269,7 +268,7 @@ public class Helper { } for (Entity entity : player.getInfo().getNearbyEntities()) { - if(entity instanceof LivingEntity) continue; + if(!BlockUtils.isEntityCollidable(entity)) continue; SimpleCollisionBox entityCollisionBox = new SimpleCollisionBox(ReflectionsUtil.getBoundingBox(entity));