diff --git a/gradle/scripts/maven.gradle b/gradle/scripts/maven.gradle index f0cdb373..a64dd5f3 100644 --- a/gradle/scripts/maven.gradle +++ b/gradle/scripts/maven.gradle @@ -4,8 +4,6 @@ publishing { mavenJava(MavenPublication) { artifactId = project.archivesBaseName - from components.java - artifact devJar artifact sourceJar artifact javadocJar diff --git a/src/api/java/appeng/api/networking/IWirelessCache.java b/src/api/java/appeng/api/networking/IWirelessCache.java new file mode 100644 index 00000000..acd2a7a6 --- /dev/null +++ b/src/api/java/appeng/api/networking/IWirelessCache.java @@ -0,0 +1,11 @@ +package appeng.api.networking; + +import java.util.Set; + +import appeng.api.implementations.tiles.IWirelessAccessPoint; + +public interface IWirelessCache extends IGridCache { + + Set getAccessPoints(); + +} diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index 01e892d2..31abcfc7 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -31,6 +31,7 @@ import appeng.api.features.IWirelessTermHandler; import appeng.api.features.IWorldGen.WorldGenType; import appeng.api.movable.IMovableRegistry; import appeng.api.networking.IGridCacheRegistry; +import appeng.api.networking.IWirelessCache; import appeng.api.networking.crafting.ICraftingGrid; import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.pathing.IPathingGrid; @@ -528,6 +529,7 @@ public final class Registration { gcr.registerGridCache(ISpatialCache.class, SpatialPylonCache.class); gcr.registerGridCache(ISecurityGrid.class, SecurityCache.class); gcr.registerGridCache(ICraftingGrid.class, CraftingGridCache.class); + gcr.registerGridCache(IWirelessCache.class, WirelessGridCache.class); registries.externalStorage().addExternalStorageInterface(new AEExternalHandler()); diff --git a/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java b/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java index 700e6768..a952e936 100644 --- a/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java +++ b/src/main/java/appeng/helpers/WirelessTerminalGuiObject.java @@ -18,6 +18,8 @@ package appeng.helpers; +import java.util.Set; + import appeng.api.AEApi; import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; @@ -29,7 +31,7 @@ import appeng.api.implementations.tiles.IWirelessAccessPoint; import appeng.api.networking.IGrid; import appeng.api.networking.IGridHost; import appeng.api.networking.IGridNode; -import appeng.api.networking.IMachineSet; +import appeng.api.networking.IWirelessCache; import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.IActionHost; import appeng.api.networking.storage.IStorageGrid; @@ -43,7 +45,6 @@ import appeng.api.util.AECableType; import appeng.api.util.DimensionalCoord; import appeng.api.util.IConfigManager; import appeng.container.interfaces.IInventorySlotAware; -import appeng.tile.networking.TileWireless; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -285,12 +286,13 @@ public class WirelessTerminalGuiObject return false; } - final IMachineSet tw = this.targetGrid.getMachines(TileWireless.class); + //final IMachineSet tw = this.targetGrid.getMachines(TileWireless.class); + IWirelessCache cache = this.targetGrid.getCache(IWirelessCache.class); + final Set tw = cache.getAccessPoints(); this.myWap = null; - for (final IGridNode n : tw) { - final IWirelessAccessPoint wap = (IWirelessAccessPoint) n.getMachine(); + for (final IWirelessAccessPoint wap : tw) { if (this.testWap(wap)) { this.myWap = wap; } diff --git a/src/main/java/appeng/me/cache/WirelessGridCache.java b/src/main/java/appeng/me/cache/WirelessGridCache.java new file mode 100644 index 00000000..5b4eb063 --- /dev/null +++ b/src/main/java/appeng/me/cache/WirelessGridCache.java @@ -0,0 +1,52 @@ +package appeng.me.cache; + +import java.util.HashSet; +import java.util.Set; + +import appeng.api.implementations.tiles.IWirelessAccessPoint; +import appeng.api.networking.IGrid; +import appeng.api.networking.IGridHost; +import appeng.api.networking.IGridNode; +import appeng.api.networking.IGridStorage; +import appeng.api.networking.IWirelessCache; + +public class WirelessGridCache implements IWirelessCache { + + Set accessPoints = new HashSet<>(); + + public WirelessGridCache(final IGrid grid) { + + } + + @Override + public void onUpdateTick() {} + + @Override + public void removeNode(IGridNode gridNode, IGridHost machine) { + if (machine instanceof IWirelessAccessPoint) { + accessPoints.remove(machine); + } + } + + @Override + public void addNode(IGridNode gridNode, IGridHost machine) { + if (machine instanceof IWirelessAccessPoint) { + accessPoints.add((IWirelessAccessPoint) machine); + } + } + + @Override + public void onSplit(IGridStorage destinationStorage) {} + + @Override + public void onJoin(IGridStorage sourceStorage) {} + + @Override + public void populateGridStorage(IGridStorage destinationStorage) {} + + @Override + public Set getAccessPoints() { + return new HashSet<>(accessPoints); + } + +}