diff options
Diffstat (limited to 'src/main/java/net/cshift/transit/basic/AbstractNode.java')
-rw-r--r-- | src/main/java/net/cshift/transit/basic/AbstractNode.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/net/cshift/transit/basic/AbstractNode.java b/src/main/java/net/cshift/transit/basic/AbstractNode.java new file mode 100644 index 0000000..a87fba4 --- /dev/null +++ b/src/main/java/net/cshift/transit/basic/AbstractNode.java @@ -0,0 +1,45 @@ +package net.cshift.transit.basic; + +import java.util.*; + +import net.cshift.transit.network.system.*; +import net.minecraft.block.entity.*; + +public abstract class AbstractNode extends BlockEntity implements INode { + + public AbstractNode(BlockEntityType<?> type) { + super(type); + } + + HashMap<String, Object> data = new HashMap<String, Object>(); + ArrayList<Connection> connections = new ArrayList<Connection>(0); + + @Override + public abstract boolean hasGroup(String groupID); + + @Override + public ISystem getSystem() { + return null; + } + + @Override + public Object getData(String groupID) { + return data.get(groupID); + } + + @Override + public void setData(Object dat, String groupID) { + data.put(groupID, dat); + } + + @Override + public Connection[] getConnections() { + return (Connection[]) connections.toArray(); + } + + @Override + public int connectionCount() { + return connections.size(); + } + +} |