Instead of having a internal entityId. Use mojang's entityid's but add one everytime you want it. Also allow fetching of the next entityid to be used

This commit is contained in:
libraryaddict 2014-11-30 15:41:57 +13:00
parent e654b23a50
commit 0813f0a914

View File

@ -33,7 +33,6 @@ import org.bukkit.craftbukkit.v1_7_R4.CraftWorld;
public class UtilEnt public class UtilEnt
{ {
private static int entityIdCount = 455000;
//Custom Entity Names //Custom Entity Names
private static HashMap<Entity, String> _nameMap = new HashMap<Entity, String>(); private static HashMap<Entity, String> _nameMap = new HashMap<Entity, String>();
@ -574,6 +573,30 @@ public class UtilEnt
public static int getNewEntityId() public static int getNewEntityId()
{ {
return entityIdCount++; return getNewEntityId(true);
} }
/**
* Use false if you don't want to modify the next entityid to be used.
*
* Normally you want true if you want a unique entityid to use.
**/
public static int getNewEntityId(boolean modifynumber)
{
try
{
Field field = net.minecraft.server.v1_7_R4.Entity.class.getDeclaredField("entityCount");
field.setAccessible(true);
int entityId = field.getInt(null);
if (modifynumber) {
field.set(null, entityId+1);
}
return entityId;
}
catch (Exception ex)
{
ex.printStackTrace();
}
return -1;
}
} }