2020-06-26 19:52:17 +02:00
|
|
|
package net.minemora.entitytrackerfixer.v1_16_R1.entityTick;
|
|
|
|
|
2020-07-01 16:35:48 +02:00
|
|
|
import java.util.Set;
|
2020-06-26 19:52:17 +02:00
|
|
|
|
2020-07-01 16:35:48 +02:00
|
|
|
import net.minecraft.server.v1_16_R1.EntityInsentient;
|
|
|
|
import net.minecraft.server.v1_16_R1.MinecraftServer;
|
2020-06-26 19:52:17 +02:00
|
|
|
|
2020-07-01 16:35:48 +02:00
|
|
|
public class EntityTickManager {
|
2020-06-26 19:52:17 +02:00
|
|
|
|
|
|
|
private static EntityTickManager instance;
|
|
|
|
|
2020-07-01 16:35:48 +02:00
|
|
|
private EntityTickManager() {}
|
2020-06-26 19:52:17 +02:00
|
|
|
|
2020-07-01 16:35:48 +02:00
|
|
|
public void disableTicking(net.minecraft.server.v1_16_R1.Entity entity) {
|
|
|
|
if(entity == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if(!entity.valid) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
entity.activatedTick = -2147483648L;
|
|
|
|
if(entity instanceof EntityInsentient) {
|
|
|
|
//System.out.println("disable tick for insentient entity currently aware is = " + ((EntityInsentient)entity).aware + " should be true");
|
|
|
|
((EntityInsentient)entity).aware = false;
|
|
|
|
}
|
2020-06-26 19:52:17 +02:00
|
|
|
}
|
|
|
|
|
2020-07-01 16:35:48 +02:00
|
|
|
public void enableTicking(Set<net.minecraft.server.v1_16_R1.Entity> entities) {
|
|
|
|
for(net.minecraft.server.v1_16_R1.Entity entity : entities) {
|
|
|
|
if(entity == null) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if(!entity.valid) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
entity.activatedTick = MinecraftServer.currentTick;
|
|
|
|
if(entity instanceof EntityInsentient) {
|
|
|
|
//System.out.println("enabling tick for insentient entity currently aware is = " + ((EntityInsentient)entity).aware + " should be false");
|
|
|
|
((EntityInsentient)entity).aware = true;
|
|
|
|
}
|
|
|
|
}
|
2020-06-26 19:52:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public static EntityTickManager getInstance() {
|
|
|
|
if(instance == null) {
|
2020-07-01 16:35:48 +02:00
|
|
|
instance = new EntityTickManager();
|
2020-06-26 19:52:17 +02:00
|
|
|
}
|
|
|
|
return instance;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|