Separate the static travelling item collection between client and server
This commit is contained in:
parent
7faf685e42
commit
ab119af770
2 changed files with 19 additions and 6 deletions
|
@ -4,11 +4,17 @@ import java.util.TreeMap;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.Side;
|
||||
import cpw.mods.fml.common.event.FMLConstructionEvent;
|
||||
|
||||
import net.minecraft.src.World;
|
||||
|
||||
public abstract class PipeManager {
|
||||
|
||||
public static TreeMap<Integer, IPipedItem> allEntities = new TreeMap<Integer, IPipedItem>();
|
||||
private static TreeMap<Integer, IPipedItem> allServerEntities = new TreeMap<Integer, IPipedItem>();
|
||||
private static TreeMap<Integer, IPipedItem> allClientEntities = new TreeMap<Integer, IPipedItem>();
|
||||
|
||||
public static List<IExtractionHandler> extractionHandlers = new ArrayList<IExtractionHandler>();
|
||||
|
||||
public static void registerExtractionHandler(IExtractionHandler handler) {
|
||||
|
@ -30,4 +36,11 @@ public abstract class PipeManager {
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static TreeMap<Integer, IPipedItem> getAllEntities(){
|
||||
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
|
||||
return allClientEntities;
|
||||
}
|
||||
return allServerEntities;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ public class EntityPassiveItem implements IPipedItem {
|
|||
|
||||
public EntityPassiveItem(World world, int id) {
|
||||
setEntityId(id);
|
||||
PipeManager.allEntities.put(getEntityId(), this);
|
||||
PipeManager.getAllEntities().put(getEntityId(), this);
|
||||
worldObj = world;
|
||||
}
|
||||
|
||||
|
@ -69,8 +69,8 @@ public class EntityPassiveItem implements IPipedItem {
|
|||
|
||||
/* CREATING & CACHING */
|
||||
public static IPipedItem getOrCreate(World world, int id) {
|
||||
if (PipeManager.allEntities.containsKey(id)) {
|
||||
return PipeManager.allEntities.get(id);
|
||||
if (PipeManager.getAllEntities().containsKey(id)) {
|
||||
return PipeManager.getAllEntities().get(id);
|
||||
} else {
|
||||
return new EntityPassiveItem(world, id);
|
||||
}
|
||||
|
@ -81,8 +81,8 @@ public class EntityPassiveItem implements IPipedItem {
|
|||
*/
|
||||
@Override
|
||||
public void remove() {
|
||||
if (PipeManager.allEntities.containsKey(getEntityId())) {
|
||||
PipeManager.allEntities.remove(getEntityId());
|
||||
if (PipeManager.getAllEntities().containsKey(getEntityId())) {
|
||||
PipeManager.getAllEntities().remove(getEntityId());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue