diff --git a/src/main/java/net/minecraft/world/World.java b/src/main/java/net/minecraft/world/World.java index 624672f..8fe9441 100644 --- a/src/main/java/net/minecraft/world/World.java +++ b/src/main/java/net/minecraft/world/World.java @@ -1975,11 +1975,16 @@ { try { - long startT = System.nanoTime(); - this.updateEntity(entity); - long elapsed = System.nanoTime() - startT; - if(elapsed > 20000000) - FMLLog.warning("Possible lag source Entity %s %sms", entity, (elapsed/1000000)); + if(balancer.canUpdateEntity(entity)) + { + eventProxy.startEntity(entity); + chunkProfiler.startChunk(entity); + long startT = System.nanoTime(); + this.updateEntity(entity); + long elapsed = System.nanoTime() - startT; + if(elapsed > 20000000) + FMLLog.warning("Possible lag source Entity %s %sms", entity, (elapsed/1000000)); + } } catch (Throwable throwable1) { @@ -2169,7 +2174,7 @@ //boolean isForced = getPersistentChunks().containsKey(new ChunkCoordIntPair(i >> 4, j >> 4)); //byte b0 = isForced ? (byte)0 : 32; //boolean canUpdate = !p_72866_2_ || this.checkChunksExist(i - b0, 0, j - b0, i + b0, 0, j + b0); - boolean canUpdate = balancer.canUpdateEntity(p_72866_1_); + boolean canUpdate = true; // checks moved up in call hierarchy //if (!canUpdate) //{ @@ -2178,10 +2183,9 @@ // canUpdate = event.canUpdate; //} + //noinspection ConstantConditions if (canUpdate) { - eventProxy.startEntity(p_72866_1_); - chunkProfiler.startChunk(p_72866_1_); p_72866_1_.lastTickPosX = p_72866_1_.posX; p_72866_1_.lastTickPosY = p_72866_1_.posY; p_72866_1_.lastTickPosZ = p_72866_1_.posZ; diff --git a/src/main/java/org/ultramine/server/ServerLoadBalancer.java b/src/main/java/org/ultramine/server/ServerLoadBalancer.java index af777f3..0a94195 100644 --- a/src/main/java/org/ultramine/server/ServerLoadBalancer.java +++ b/src/main/java/org/ultramine/server/ServerLoadBalancer.java @@ -69,6 +69,7 @@ int prior = activeChunkSet.get(ChunkHash.chunkToKey(cx, cz)); if(prior == Byte.MAX_VALUE) { + world.getEventProxy().startEntity(ent); ent.updateInactive(); return false; }