From f7395e79546ba2f8210c3bd3759eb4bff8b756e0 Mon Sep 17 00:00:00 2001 From: Esmorall Date: Wed, 8 Jul 2020 16:50:57 -0300 Subject: [PATCH] Fix Frozen entities and message typo --- .../entitytrackerfixer/config/ConfigMain.java | 2 +- .../entityTick/EntityTickManager.java | 25 +++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java index 7cb2ab1..a19f4ec 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java @@ -33,7 +33,7 @@ public final class ConfigMain extends Config { trackingRange = getConfig().getInt("tracking-range", 25); EntityTrackerFixer.plugin.getLogger().info("Setting tracking range to: " + trackingRange); minTps = getConfig().getDouble("tps-limit", 18.5); - EntityTrackerFixer.plugin.getLogger().info("Setting minmun TPS to: " + minTps); + EntityTrackerFixer.plugin.getLogger().info("Setting minimun TPS to: " + minTps); enableOnAllWorlds = getConfig().getBoolean("enable-on-all-worlds", false); EntityTrackerFixer.plugin.getLogger().info("Setting enable on all worlds to: " + enableOnAllWorlds); worlds = getConfig().getStringList("worlds"); diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/entityTick/EntityTickManager.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/entityTick/EntityTickManager.java index 8b30b8c..ba78624 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/entityTick/EntityTickManager.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/entityTick/EntityTickManager.java @@ -2,14 +2,23 @@ package net.minemora.entitytrackerfixer.v1_16_R1.entityTick; import java.util.Set; +import org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity; +import org.bukkit.entity.Entity; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.world.ChunkLoadEvent; + import net.minecraft.server.v1_16_R1.EntityInsentient; import net.minecraft.server.v1_16_R1.MinecraftServer; +import net.minemora.entitytrackerfixer.EntityTrackerFixer; -public class EntityTickManager { +public class EntityTickManager implements Listener { private static EntityTickManager instance; - private EntityTickManager() {} + private EntityTickManager() { + EntityTrackerFixer.plugin.getServer().getPluginManager().registerEvents(this, EntityTrackerFixer.plugin); + } public void disableTicking(net.minecraft.server.v1_16_R1.Entity entity) { if(entity == null) { @@ -40,6 +49,18 @@ public class EntityTickManager { } } } + + @EventHandler + public void onChunkLoad(ChunkLoadEvent event) { + for(Entity entity : event.getChunk().getEntities()) { + net.minecraft.server.v1_16_R1.Entity nms = ((CraftEntity)entity).getHandle(); + if(nms instanceof EntityInsentient) { + if(!((EntityInsentient)nms).aware) { + ((EntityInsentient)nms).aware = true; + } + } + } + } public static EntityTickManager getInstance() { if(instance == null) {