diff options
author | Kyle Gunger <corechg@gmail.com> | 2020-04-21 18:50:51 -0400 |
---|---|---|
committer | Kyle Gunger <corechg@gmail.com> | 2020-04-21 18:50:51 -0400 |
commit | 5cf67526600deb0db677d7b3db0f86c034090fa5 (patch) | |
tree | 570ab3e001f59bc78181d068674c274ed51b7ea7 /src | |
parent | eeeb03a2bed574971dfea66381d8252d17002d64 (diff) |
[Update] Version 0.11.1
~ Changed the init file name
~ Edits to the requirements of nodes
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/net/corechg/transit/Transit.java (renamed from src/main/java/net/corechg/transit/InitTransit.java) | 2 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/network/system/INode.java | 20 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/network/system/ISystem.java | 8 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/network/system/swap/IAcceptorNode.java | 6 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/network/system/swap/IProviderNode.java | 6 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/type/Type.java | 15 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/type/group/GroupRegistry.java | 4 | ||||
-rw-r--r-- | src/main/java/net/corechg/transit/type/group/TypeGroup.java | 37 | ||||
-rw-r--r-- | src/main/resources/fabric.mod.json | 4 |
9 files changed, 65 insertions, 37 deletions
diff --git a/src/main/java/net/corechg/transit/InitTransit.java b/src/main/java/net/corechg/transit/Transit.java index 622d4ea..3cf4917 100644 --- a/src/main/java/net/corechg/transit/InitTransit.java +++ b/src/main/java/net/corechg/transit/Transit.java @@ -3,7 +3,7 @@ package net.corechg.transit; import net.fabricmc.api.ModInitializer; import net.corechg.transit.type.group.simple.SimpleGroups; -public class InitTransit implements ModInitializer { +public class Transit implements ModInitializer { @Override public void onInitialize() { diff --git a/src/main/java/net/corechg/transit/network/system/INode.java b/src/main/java/net/corechg/transit/network/system/INode.java index dbea402..94ec308 100644 --- a/src/main/java/net/corechg/transit/network/system/INode.java +++ b/src/main/java/net/corechg/transit/network/system/INode.java @@ -2,16 +2,17 @@ package net.corechg.transit.network.system; /** * @author Kyle Gunger - * @apiNote A node inside or outside a system. Provides acceptors and providers to other nodes. + * @apiNote A node inside or outside a system. */ public interface INode { - /**Returns the groupIDs of groups the node interacts with + /**Returns true if the group given is used by the node * - * @return String[] + * @param groupID the group to querry + * @return bool */ - public String[] groupsProvided(); + public boolean hasGroup(String groupID); /**Get the system managing the node or {@code null} if there isn't one @@ -35,11 +36,18 @@ public interface INode * @param groupID */ public void setData(Object dat, String groupID); - - + + /** Get the nodes that this node is connected to * * @return Node[] */ public INode[] getConnections(); + + + /** Get the number of nodes that this node is connected to + * + * @return int + */ + public int connectionCount(); } diff --git a/src/main/java/net/corechg/transit/network/system/ISystem.java b/src/main/java/net/corechg/transit/network/system/ISystem.java index 1c0b122..693a3ed 100644 --- a/src/main/java/net/corechg/transit/network/system/ISystem.java +++ b/src/main/java/net/corechg/transit/network/system/ISystem.java @@ -1,11 +1,9 @@ package net.corechg.transit.network.system; -/**ISystem - a group of nodes optimized for performance - * - * A node can exist without a system, but a system can not exist without at least one root node. - * - * @param T The object type stored in the system. +/** + * @author Kyle Gunger + * @apiNote An ISystem represents a system of nodes which has been optimized for performance. A node can exist on its own, but an ISystem can't exist without a node. */ public interface ISystem { diff --git a/src/main/java/net/corechg/transit/network/system/swap/IAcceptorNode.java b/src/main/java/net/corechg/transit/network/system/swap/IAcceptorNode.java index 40cd430..84765ac 100644 --- a/src/main/java/net/corechg/transit/network/system/swap/IAcceptorNode.java +++ b/src/main/java/net/corechg/transit/network/system/swap/IAcceptorNode.java @@ -3,6 +3,10 @@ package net.corechg.transit.network.system.swap; import net.corechg.transit.network.packet.IStaticPacket; import net.corechg.transit.network.system.INode; +/** + * @author Kyle Gunger + * @apiNote A node which can accept packets of specific types + */ public interface IAcceptorNode extends INode { @@ -26,7 +30,7 @@ public interface IAcceptorNode extends INode /** * @return Node[] */ - public INode[] getProviders(); + public IProviderNode[] getProviders(); /** Accept a packet from a provider diff --git a/src/main/java/net/corechg/transit/network/system/swap/IProviderNode.java b/src/main/java/net/corechg/transit/network/system/swap/IProviderNode.java index 84a8f62..5fd9908 100644 --- a/src/main/java/net/corechg/transit/network/system/swap/IProviderNode.java +++ b/src/main/java/net/corechg/transit/network/system/swap/IProviderNode.java @@ -2,6 +2,10 @@ package net.corechg.transit.network.system.swap; import net.corechg.transit.network.system.INode; +/** + * @author Kyle Gunger + * @apiNote A node which can provide packets of specific types + */ public interface IProviderNode extends INode{ /** Link another node as an acceptor @@ -24,6 +28,6 @@ public interface IProviderNode extends INode{ /** * @return Node[] */ - public INode[] getAcceptors(); + public IAcceptorNode[] getAcceptors(); } diff --git a/src/main/java/net/corechg/transit/type/Type.java b/src/main/java/net/corechg/transit/type/Type.java index 2c4d6ac..3940f3f 100644 --- a/src/main/java/net/corechg/transit/type/Type.java +++ b/src/main/java/net/corechg/transit/type/Type.java @@ -5,12 +5,12 @@ import net.corechg.transit.network.packet.StaticPacket; /**@author Kyle Gunger * - * @param <T> The type of object transfered by packets of this type + * @param T The type of object transfered by packets of this type */ public class Type<T> { - protected String typeID; - protected String groupID; + protected final String typeID; + protected final String groupID; public Type(String tID, String gID) { @@ -23,7 +23,7 @@ public class Type<T> * * @param packet The packet (of this type) * @param group The group asking for the conversion - * @return <T> The packet's data in the default type + * @return The packet's data in the default type */ public T toBase(IStaticPacket<T> packet, String group) { @@ -35,7 +35,7 @@ public class Type<T> * * @param base The base data * @param group The group that the data comes from - * @return IPacket<<T>> The packet + * @return IStaticPacket The packet */ public IStaticPacket<T> fromBase(T base, String group) { @@ -59,4 +59,9 @@ public class Type<T> { return groupID; } + + @Override + public final String toString() { + return groupID + ":" + typeID; + } } diff --git a/src/main/java/net/corechg/transit/type/group/GroupRegistry.java b/src/main/java/net/corechg/transit/type/group/GroupRegistry.java index c6c0186..3929973 100644 --- a/src/main/java/net/corechg/transit/type/group/GroupRegistry.java +++ b/src/main/java/net/corechg/transit/type/group/GroupRegistry.java @@ -20,13 +20,13 @@ public class GroupRegistry { { if(g.getGroup().equals(group.getGroup())) { - LOG.warn("Failed to add group " + group.getGroup() + " to the registry. Did another mod add a group with the same name?"); + LOG.warn("Failed to add group " + group + " to the registry. Did another mod add a group with the same name?"); return false; } } GROUPS.add(group); - LOG.info("Successfully added group " + group.getGroup() + " to the registry."); + LOG.info("Successfully added group " + group + " to the registry."); return true; } diff --git a/src/main/java/net/corechg/transit/type/group/TypeGroup.java b/src/main/java/net/corechg/transit/type/group/TypeGroup.java index e04df8c..eecf6d4 100644 --- a/src/main/java/net/corechg/transit/type/group/TypeGroup.java +++ b/src/main/java/net/corechg/transit/type/group/TypeGroup.java @@ -42,14 +42,14 @@ public class TypeGroup<B> */ public boolean addType(Type<B> type) { - if(!isInGroup(type.getGroup(), type.getType())) + if(!isInGroup(type)) { TYPES.add(type); - LOG.info("Added type " + type.getType() + ":" + type.getGroup() + " to group " + getGroup()); + LOG.info("Added type " + type + " to group " + getGroup()); return true; } - LOG.info("Failed to add type " + type.getType() + ":" + type.getGroup() + " to group " + getGroup() + ". Was the type already added?"); + LOG.info("Failed to add type " + type + " to group " + getGroup() + ". Was the type already added?"); return false; } @@ -61,17 +61,17 @@ public class TypeGroup<B> public boolean removeType(Type<B> type) { if(type.equals(baseType)) { - LOG.warn("[WARN] Failed to remove type " + type.getGroup() + ":" + type.getType() + " from group " + getGroup() + ". This is the base type and can not be removed."); + LOG.warn("[WARN] Failed to remove type " + type + " from group " + getGroup() + ". This is the base type and can not be removed."); return false; } if(TYPES.indexOf(type) != -1) { - LOG.info("Removed type " + TYPES.remove(TYPES.indexOf(type)).getType() + " from group " + getGroup()); + LOG.info("Removed type " + TYPES.remove(TYPES.indexOf(type)) + " from group " + getGroup()); return true; } - LOG.warn("[WARN] Failed to remove type " + type.getGroup() + ":" + type.getType() + " from group " + getGroup() + ". Are we sure that the type was added to the group first?"); + LOG.warn("[WARN] Failed to remove type " + type + " from group " + getGroup() + ". Are we sure that the type was added to the group first?"); return false; } @@ -82,12 +82,16 @@ public class TypeGroup<B> */ public boolean removeType(String groupID, String typeID) { - + if(baseType.toString() == groupID + ":" + typeID) { + LOG.warn("[WARN] Failed to remove type " + baseType + " from group " + getGroup() + ". This is the base type and can not be removed."); + return false; + } + for(Type<?> type : TYPES) { - if(type.getGroup().equals(groupID) && type.getType().equals(typeID)) + if(type.toString() == groupID + ":" + typeID) { - LOG.info("Removed type " + TYPES.remove(TYPES.indexOf(type)).getType() + " from group " + getGroup()); + LOG.info("Removed type " + TYPES.remove(TYPES.indexOf(type)) + " from group " + getGroup()); return true; } } @@ -133,7 +137,7 @@ public class TypeGroup<B> { for(Type<B> t : TYPES) { - if(t.getGroup().equals(groupID) && t.getType().equals(typeID)) return true; + if(t.toString() == groupID + ":" + typeID) return true; } return false; } @@ -160,7 +164,7 @@ public class TypeGroup<B> { for(Type<B> t : TYPES) { - if(t.getGroup().equals(groupID) && t.getType().equals(typeID)) return t; + if(t.toString() == groupID + ":" + typeID) return t; } return null; @@ -190,7 +194,7 @@ public class TypeGroup<B> return type.fromBase(packet.getType().toBase(packet, getGroup()), getGroup()); } - /**Convert a packet to a new type + /**Convert a packet to a new type Returns null if the type isn't in the group. * * @param packet The packet to convert * @param type The type to convert to @@ -206,7 +210,7 @@ public class TypeGroup<B> return null; } - /**Convert a packet to a new type + /**Convert a packet to a new type Returns null if the type isn't found. * * @param packet The packet to convert * @param groupID The groupID of the Type to convert to @@ -224,7 +228,7 @@ public class TypeGroup<B> return null; } - /**Convert a packet to a new type + /**Convert a packet to a new type. Returns null if the type isn't found. * * @param packet The packet to convert * @param typeID The typeID of the Type to convert to @@ -255,4 +259,9 @@ public class TypeGroup<B> public final Type<B> getBase() { return baseType; } + + @Override + public final String toString() { + return this.getGroup(); + } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 2c556ef..b43e25f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "transit-api", - "version": "0.10.3", + "version": "0.11.1", "name": "Transit API", "description": "Move about!", @@ -19,7 +19,7 @@ "environment": "*", "entrypoints": { "main": [ - "net.corechg.transit.InitTransit" + "net.corechg.transit.Transit" ] }, |