Remove TileMachine, introduce INetworkSlave
This commit is contained in:
@@ -2,9 +2,9 @@ package refinedstorage.api;
|
|||||||
|
|
||||||
import net.minecraftforge.common.capabilities.Capability;
|
import net.minecraftforge.common.capabilities.Capability;
|
||||||
import net.minecraftforge.common.capabilities.CapabilityInject;
|
import net.minecraftforge.common.capabilities.CapabilityInject;
|
||||||
import refinedstorage.api.storage.IStorageProvider;
|
import refinedstorage.api.storagenet.INetworkSlave;
|
||||||
|
|
||||||
public final class RefinedStorageCapabilities {
|
public final class RefinedStorageCapabilities {
|
||||||
@CapabilityInject(IStorageProvider.class)
|
@CapabilityInject(INetworkSlave.class)
|
||||||
public static final Capability<IStorageProvider> STORAGE_PROVIDER_CAPABILITY = null;
|
public static final Capability<INetworkSlave> NETWORK_SLAVE_CAPABILITY = null;
|
||||||
}
|
}
|
||||||
|
|||||||
73
src/main/java/refinedstorage/api/storagenet/INetworkSlave.java
Executable file
73
src/main/java/refinedstorage/api/storagenet/INetworkSlave.java
Executable file
@@ -0,0 +1,73 @@
|
|||||||
|
package refinedstorage.api.storagenet;
|
||||||
|
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a slave or machine in the storage network.
|
||||||
|
*/
|
||||||
|
public interface INetworkSlave {
|
||||||
|
/**
|
||||||
|
* Called every server tick.
|
||||||
|
*/
|
||||||
|
void updateSlave();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The energy usage of this slave
|
||||||
|
*/
|
||||||
|
int getEnergyUsage();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return If this slave can send connectivity updates and can trigger block updates
|
||||||
|
*/
|
||||||
|
boolean canSendConnectivityUpdate();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The position of this slave in the world
|
||||||
|
*/
|
||||||
|
BlockPos getPosition();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the neighbor of this slave is changed. Typically used to recalculate the network (if there is still a connection)
|
||||||
|
*
|
||||||
|
* @param world The world
|
||||||
|
*/
|
||||||
|
void onNeighborChanged(World world);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a connection is found to the storage network
|
||||||
|
*
|
||||||
|
* @param world The world
|
||||||
|
* @param network The network we're trying to connect to
|
||||||
|
*/
|
||||||
|
void connect(World world, NetworkMaster network);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the slave is loaded from a save file
|
||||||
|
*
|
||||||
|
* @param network The network we have to connected to
|
||||||
|
*/
|
||||||
|
void forceConnect(NetworkMaster network);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a connection is lost to the stoarge network
|
||||||
|
*
|
||||||
|
* @param world The world
|
||||||
|
*/
|
||||||
|
void disconnect(World world);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return If we are connected
|
||||||
|
*/
|
||||||
|
boolean isConnected();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return If this slave can be updated. Typically returns false when redstone mode doesn't allow it.
|
||||||
|
*/
|
||||||
|
boolean canUpdate();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The network
|
||||||
|
*/
|
||||||
|
NetworkMaster getNetwork();
|
||||||
|
}
|
||||||
@@ -17,6 +17,7 @@ import refinedstorage.RefinedStorageUtils;
|
|||||||
import refinedstorage.api.RefinedStorageCapabilities;
|
import refinedstorage.api.RefinedStorageCapabilities;
|
||||||
import refinedstorage.api.storage.CompareFlags;
|
import refinedstorage.api.storage.CompareFlags;
|
||||||
import refinedstorage.api.storage.IStorage;
|
import refinedstorage.api.storage.IStorage;
|
||||||
|
import refinedstorage.api.storage.IStorageProvider;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
import refinedstorage.autocrafting.task.BasicCraftingTask;
|
import refinedstorage.autocrafting.task.BasicCraftingTask;
|
||||||
import refinedstorage.autocrafting.task.ICraftingTask;
|
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||||
@@ -27,7 +28,6 @@ import refinedstorage.container.ContainerGrid;
|
|||||||
import refinedstorage.item.ItemPattern;
|
import refinedstorage.item.ItemPattern;
|
||||||
import refinedstorage.network.MessageGridItems;
|
import refinedstorage.network.MessageGridItems;
|
||||||
import refinedstorage.tile.TileCrafter;
|
import refinedstorage.tile.TileCrafter;
|
||||||
import refinedstorage.tile.TileMachine;
|
|
||||||
import refinedstorage.tile.TileWirelessTransmitter;
|
import refinedstorage.tile.TileWirelessTransmitter;
|
||||||
import refinedstorage.tile.config.RedstoneMode;
|
import refinedstorage.tile.config.RedstoneMode;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
import refinedstorage.tile.controller.StorageHandler;
|
||||||
@@ -35,7 +35,7 @@ import refinedstorage.tile.controller.WirelessGridHandler;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class StorageNetwork {
|
public class NetworkMaster {
|
||||||
public static final int ENERGY_CAPACITY = 32000;
|
public static final int ENERGY_CAPACITY = 32000;
|
||||||
|
|
||||||
public static final String NBT_CRAFTING_TASKS = "CraftingTasks";
|
public static final String NBT_CRAFTING_TASKS = "CraftingTasks";
|
||||||
@@ -50,10 +50,10 @@ public class StorageNetwork {
|
|||||||
|
|
||||||
private List<IStorage> storages = new ArrayList<IStorage>();
|
private List<IStorage> storages = new ArrayList<IStorage>();
|
||||||
|
|
||||||
private List<TileMachine> machines = new ArrayList<TileMachine>();
|
private List<INetworkSlave> slaves = new ArrayList<INetworkSlave>();
|
||||||
private List<TileMachine> machinesToAdd = new ArrayList<TileMachine>();
|
private List<INetworkSlave> slavesToAdd = new ArrayList<INetworkSlave>();
|
||||||
private List<BlockPos> machinesToLoad = new ArrayList<BlockPos>();
|
private List<BlockPos> slavesToLoad = new ArrayList<BlockPos>();
|
||||||
private List<TileMachine> machinesToRemove = new ArrayList<TileMachine>();
|
private List<INetworkSlave> slavesToRemove = new ArrayList<INetworkSlave>();
|
||||||
|
|
||||||
private List<CraftingPattern> patterns = new ArrayList<CraftingPattern>();
|
private List<CraftingPattern> patterns = new ArrayList<CraftingPattern>();
|
||||||
|
|
||||||
@@ -78,13 +78,13 @@ public class StorageNetwork {
|
|||||||
|
|
||||||
private RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
private RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
||||||
|
|
||||||
public StorageNetwork(BlockPos pos, World world) {
|
public NetworkMaster(BlockPos pos, World world) {
|
||||||
this.pos = pos;
|
this.pos = pos;
|
||||||
|
|
||||||
onAdded(world);
|
onAdded(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
public StorageNetwork(BlockPos pos) {
|
public NetworkMaster(BlockPos pos) {
|
||||||
this.pos = pos;
|
this.pos = pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,16 +119,23 @@ public class StorageNetwork {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void update() {
|
public void update() {
|
||||||
for (TileMachine machine : machinesToAdd) {
|
for (INetworkSlave slave : slavesToAdd) {
|
||||||
if (!machines.contains(machine)) {
|
slaves.add(slave);
|
||||||
machines.add(machine);
|
}
|
||||||
|
slavesToAdd.clear();
|
||||||
|
|
||||||
|
for (INetworkSlave slave : slavesToRemove) {
|
||||||
|
Iterator<INetworkSlave> otherSlave = slaves.iterator();
|
||||||
|
|
||||||
|
while (otherSlave.hasNext()) {
|
||||||
|
if (otherSlave.next().getPosition().equals(slave.getPosition())) {
|
||||||
|
otherSlave.remove();
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
machinesToAdd.clear();
|
slavesToRemove.clear();
|
||||||
|
|
||||||
machines.removeAll(machinesToRemove);
|
|
||||||
machinesToRemove.clear();
|
|
||||||
|
|
||||||
int lastEnergy = energy.getEnergyStored();
|
int lastEnergy = energy.getEnergyStored();
|
||||||
|
|
||||||
@@ -137,8 +144,11 @@ public class StorageNetwork {
|
|||||||
syncMachines();
|
syncMachines();
|
||||||
}
|
}
|
||||||
|
|
||||||
// @todo: If the chunk unloads, and we come back to the chunk
|
for (INetworkSlave slave : slaves) {
|
||||||
// the machine tile will be reset to a new tile instance and nothing will work
|
if (slave.canUpdate()) {
|
||||||
|
slave.updateSlave();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (ICraftingTask taskToCancel : craftingTasksToCancel) {
|
for (ICraftingTask taskToCancel : craftingTasksToCancel) {
|
||||||
taskToCancel.onCancelled(this);
|
taskToCancel.onCancelled(this);
|
||||||
@@ -166,7 +176,7 @@ public class StorageNetwork {
|
|||||||
craftingTasks.pop();
|
craftingTasks.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (!machines.isEmpty()) {
|
} else if (!slaves.isEmpty()) {
|
||||||
disconnectAll();
|
disconnectAll();
|
||||||
syncMachines();
|
syncMachines();
|
||||||
}
|
}
|
||||||
@@ -202,18 +212,18 @@ public class StorageNetwork {
|
|||||||
ticks++;
|
ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<TileMachine> getMachines() {
|
public List<INetworkSlave> getSlaves() {
|
||||||
return machines;
|
return slaves;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addMachine(TileMachine machine) {
|
public void addSlave(INetworkSlave slave) {
|
||||||
machinesToAdd.add(machine);
|
slavesToAdd.add(slave);
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeMachine(TileMachine machine) {
|
public void removeMachine(INetworkSlave slave) {
|
||||||
machinesToRemove.add(machine);
|
slavesToRemove.add(slave);
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
@@ -231,11 +241,11 @@ public class StorageNetwork {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void disconnectAll() {
|
public void disconnectAll() {
|
||||||
for (TileMachine machine : machines) {
|
for (INetworkSlave slave : slaves) {
|
||||||
machine.onDisconnected(world);
|
slave.disconnect(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
machines.clear();
|
slaves.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onRemoved() {
|
public void onRemoved() {
|
||||||
@@ -246,13 +256,15 @@ public class StorageNetwork {
|
|||||||
this.world = world;
|
this.world = world;
|
||||||
this.type = (EnumControllerType) world.getBlockState(pos).getValue(BlockController.TYPE);
|
this.type = (EnumControllerType) world.getBlockState(pos).getValue(BlockController.TYPE);
|
||||||
|
|
||||||
for (BlockPos machine : machinesToLoad) {
|
for (BlockPos slavePos : slavesToLoad) {
|
||||||
TileEntity tile = world.getTileEntity(machine);
|
TileEntity tile = world.getTileEntity(slavePos);
|
||||||
|
|
||||||
if (tile instanceof TileMachine) {
|
if (tile.hasCapability(RefinedStorageCapabilities.NETWORK_SLAVE_CAPABILITY, null)) {
|
||||||
((TileMachine) tile).forceConnect(this);
|
INetworkSlave slave = tile.getCapability(RefinedStorageCapabilities.NETWORK_SLAVE_CAPABILITY, null);
|
||||||
|
|
||||||
machines.add((TileMachine) tile);
|
slave.forceConnect(this);
|
||||||
|
|
||||||
|
slaves.add(slave);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -349,21 +361,21 @@ public class StorageNetwork {
|
|||||||
this.storages.clear();
|
this.storages.clear();
|
||||||
this.patterns.clear();
|
this.patterns.clear();
|
||||||
|
|
||||||
for (TileMachine machine : machines) {
|
for (INetworkSlave slave : slaves) {
|
||||||
if (!machine.canUpdate()) {
|
if (!slave.canUpdate()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine instanceof TileWirelessTransmitter) {
|
if (slave instanceof TileWirelessTransmitter) {
|
||||||
this.wirelessGridRange += ((TileWirelessTransmitter) machine).getRange();
|
this.wirelessGridRange += ((TileWirelessTransmitter) slave).getRange();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine.hasCapability(RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY, null)) {
|
if (slave instanceof IStorageProvider) {
|
||||||
machine.getCapability(RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY, null).provide(storages);
|
((IStorageProvider) slave).provide(storages);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (machine instanceof TileCrafter) {
|
if (slave instanceof TileCrafter) {
|
||||||
TileCrafter crafter = (TileCrafter) machine;
|
TileCrafter crafter = (TileCrafter) slave;
|
||||||
|
|
||||||
for (int i = 0; i < crafter.getPatterns().getSlots(); ++i) {
|
for (int i = 0; i < crafter.getPatterns().getSlots(); ++i) {
|
||||||
ItemStack pattern = crafter.getPatterns().getStackInSlot(i);
|
ItemStack pattern = crafter.getPatterns().getStackInSlot(i);
|
||||||
@@ -374,7 +386,7 @@ public class StorageNetwork {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.energyUsage += machine.getEnergyUsage();
|
this.energyUsage += slave.getEnergyUsage();
|
||||||
}
|
}
|
||||||
|
|
||||||
Collections.sort(storages, new Comparator<IStorage>() {
|
Collections.sort(storages, new Comparator<IStorage>() {
|
||||||
@@ -589,7 +601,7 @@ public class StorageNetwork {
|
|||||||
for (int i = 0; i < machinesTag.tagCount(); ++i) {
|
for (int i = 0; i < machinesTag.tagCount(); ++i) {
|
||||||
NBTTagCompound coords = machinesTag.getCompoundTagAt(i);
|
NBTTagCompound coords = machinesTag.getCompoundTagAt(i);
|
||||||
|
|
||||||
machinesToLoad.add(new BlockPos(coords.getInteger("X"), coords.getInteger("Y"), coords.getInteger("Z")));
|
slavesToLoad.add(new BlockPos(coords.getInteger("X"), coords.getInteger("Y"), coords.getInteger("Z")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -610,11 +622,11 @@ public class StorageNetwork {
|
|||||||
tag.setTag(NBT_CRAFTING_TASKS, list);
|
tag.setTag(NBT_CRAFTING_TASKS, list);
|
||||||
|
|
||||||
NBTTagList machinesTag = new NBTTagList();
|
NBTTagList machinesTag = new NBTTagList();
|
||||||
for (TileMachine machine : machines) {
|
for (INetworkSlave slave : slaves) {
|
||||||
NBTTagCompound coords = new NBTTagCompound();
|
NBTTagCompound coords = new NBTTagCompound();
|
||||||
coords.setInteger("X", machine.getPos().getX());
|
coords.setInteger("X", slave.getPosition().getX());
|
||||||
coords.setInteger("Y", machine.getPos().getY());
|
coords.setInteger("Y", slave.getPosition().getY());
|
||||||
coords.setInteger("Z", machine.getPos().getZ());
|
coords.setInteger("Z", slave.getPosition().getZ());
|
||||||
machinesTag.appendTag(coords);
|
machinesTag.appendTag(coords);
|
||||||
}
|
}
|
||||||
tag.setTag("Machines", machinesTag);
|
tag.setTag("Machines", machinesTag);
|
||||||
@@ -623,6 +635,6 @@ public class StorageNetwork {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void markDirty() {
|
public void markDirty() {
|
||||||
StorageNetworkSavedData.get(world).markDirty();
|
NetworkMasterSavedData.get(world).markDirty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,13 +7,13 @@ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class StorageNetworkEventHandler {
|
public class NetworkMasterEventHandler {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onWorldTick(TickEvent.WorldTickEvent e) {
|
public void onWorldTick(TickEvent.WorldTickEvent e) {
|
||||||
Map<BlockPos, StorageNetwork> networks = StorageNetworkRegistry.get(e.world.provider.getDimension());
|
Map<BlockPos, NetworkMaster> networks = NetworkMasterRegistry.get(e.world.provider.getDimension());
|
||||||
|
|
||||||
if (networks != null) {
|
if (networks != null) {
|
||||||
for (StorageNetwork network : networks.values()) {
|
for (NetworkMaster network : networks.values()) {
|
||||||
if (network.getWorld() == null) {
|
if (network.getWorld() == null) {
|
||||||
network.onAdded(e.world);
|
network.onAdded(e.world);
|
||||||
}
|
}
|
||||||
@@ -25,6 +25,6 @@ public class StorageNetworkEventHandler {
|
|||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onWorldLoad(WorldEvent.Load e) {
|
public void onWorldLoad(WorldEvent.Load e) {
|
||||||
StorageNetworkSavedData.get(e.getWorld());
|
NetworkMasterSavedData.get(e.getWorld());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,12 +5,12 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class StorageNetworkRegistry {
|
public class NetworkMasterRegistry {
|
||||||
public static final Map<Integer, Map<BlockPos, StorageNetwork>> NETWORKS = new HashMap<Integer, Map<BlockPos, StorageNetwork>>();
|
public static final Map<Integer, Map<BlockPos, NetworkMaster>> NETWORKS = new HashMap<Integer, Map<BlockPos, NetworkMaster>>();
|
||||||
|
|
||||||
public static void add(StorageNetwork network, int dimension) {
|
public static void add(NetworkMaster network, int dimension) {
|
||||||
if (NETWORKS.get(dimension) == null) {
|
if (NETWORKS.get(dimension) == null) {
|
||||||
NETWORKS.put(dimension, new HashMap<BlockPos, StorageNetwork>());
|
NETWORKS.put(dimension, new HashMap<BlockPos, NetworkMaster>());
|
||||||
}
|
}
|
||||||
|
|
||||||
NETWORKS.get(dimension).put(network.getPos(), network);
|
NETWORKS.get(dimension).put(network.getPos(), network);
|
||||||
@@ -23,11 +23,11 @@ public class StorageNetworkRegistry {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static StorageNetwork get(BlockPos pos, int dimension) {
|
public static NetworkMaster get(BlockPos pos, int dimension) {
|
||||||
return get(dimension) == null ? null : get(dimension).get(pos);
|
return get(dimension) == null ? null : get(dimension).get(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<BlockPos, StorageNetwork> get(int dimension) {
|
public static Map<BlockPos, NetworkMaster> get(int dimension) {
|
||||||
return NETWORKS.get(dimension);
|
return NETWORKS.get(dimension);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,10 +9,10 @@ import net.minecraftforge.common.util.Constants;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class StorageNetworkSavedData extends WorldSavedData {
|
public class NetworkMasterSavedData extends WorldSavedData {
|
||||||
public static final String NBT_STORAGE_NETWORKS = "StorageNetworks";
|
public static final String NBT_STORAGE_NETWORKS = "StorageNetworks";
|
||||||
|
|
||||||
public StorageNetworkSavedData(String name) {
|
public NetworkMasterSavedData(String name) {
|
||||||
super(name);
|
super(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,10 +25,10 @@ public class StorageNetworkSavedData extends WorldSavedData {
|
|||||||
|
|
||||||
BlockPos pos = new BlockPos(networkTag.getInteger("X"), networkTag.getInteger("Y"), networkTag.getInteger("Z"));
|
BlockPos pos = new BlockPos(networkTag.getInteger("X"), networkTag.getInteger("Y"), networkTag.getInteger("Z"));
|
||||||
|
|
||||||
StorageNetwork network = new StorageNetwork(pos);
|
NetworkMaster network = new NetworkMaster(pos);
|
||||||
network.readFromNBT(networkTag.getCompoundTag("Data"));
|
network.readFromNBT(networkTag.getCompoundTag("Data"));
|
||||||
|
|
||||||
StorageNetworkRegistry.add(network, networkTag.getInteger("Dim"));
|
NetworkMasterRegistry.add(network, networkTag.getInteger("Dim"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,8 +36,8 @@ public class StorageNetworkSavedData extends WorldSavedData {
|
|||||||
public NBTTagCompound writeToNBT(NBTTagCompound tag) {
|
public NBTTagCompound writeToNBT(NBTTagCompound tag) {
|
||||||
NBTTagList networks = new NBTTagList();
|
NBTTagList networks = new NBTTagList();
|
||||||
|
|
||||||
for (Map.Entry<Integer, Map<BlockPos, StorageNetwork>> entry : StorageNetworkRegistry.NETWORKS.entrySet()) {
|
for (Map.Entry<Integer, Map<BlockPos, NetworkMaster>> entry : NetworkMasterRegistry.NETWORKS.entrySet()) {
|
||||||
for (StorageNetwork network : entry.getValue().values()) {
|
for (NetworkMaster network : entry.getValue().values()) {
|
||||||
NBTTagCompound networkTag = new NBTTagCompound();
|
NBTTagCompound networkTag = new NBTTagCompound();
|
||||||
networkTag.setInteger("X", network.getPos().getX());
|
networkTag.setInteger("X", network.getPos().getX());
|
||||||
networkTag.setInteger("Y", network.getPos().getY());
|
networkTag.setInteger("Y", network.getPos().getY());
|
||||||
@@ -53,11 +53,11 @@ public class StorageNetworkSavedData extends WorldSavedData {
|
|||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static StorageNetworkSavedData get(World world) {
|
public static NetworkMasterSavedData get(World world) {
|
||||||
StorageNetworkSavedData instance = (StorageNetworkSavedData) world.getMapStorage().getOrLoadData(StorageNetworkSavedData.class, "RSStorageNetworks");
|
NetworkMasterSavedData instance = (NetworkMasterSavedData) world.getMapStorage().getOrLoadData(NetworkMasterSavedData.class, "RSStorageNetworks");
|
||||||
|
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
instance = new StorageNetworkSavedData("RSStorageNetworks");
|
instance = new NetworkMasterSavedData("RSStorageNetworks");
|
||||||
world.getMapStorage().setData("RSStorageNetworks", instance);
|
world.getMapStorage().setData("RSStorageNetworks", instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@ package refinedstorage.autocrafting;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
|
|
||||||
public class CraftingTaskScheduler {
|
public class CraftingTaskScheduler {
|
||||||
public static String NBT_SCHEDULED = "CraftingTaskScheduled";
|
public static String NBT_SCHEDULED = "CraftingTaskScheduled";
|
||||||
@@ -14,13 +14,13 @@ public class CraftingTaskScheduler {
|
|||||||
return scheduledItem == null || !RefinedStorageUtils.compareStack(scheduledItem, item, compare);
|
return scheduledItem == null || !RefinedStorageUtils.compareStack(scheduledItem, item, compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void schedule(StorageNetwork network, int compare, ItemStack item) {
|
public void schedule(NetworkMaster master, int compare, ItemStack item) {
|
||||||
CraftingPattern pattern = network.getPatternWithBestScore(item, compare);
|
CraftingPattern pattern = master.getPatternWithBestScore(item, compare);
|
||||||
|
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
scheduledItem = item;
|
scheduledItem = item;
|
||||||
|
|
||||||
network.addCraftingTask(network.createCraftingTask(pattern));
|
master.addCraftingTask(master.createCraftingTask(pattern));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.nbt.NBTTagList;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraftforge.common.util.Constants;
|
import net.minecraftforge.common.util.Constants;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -50,7 +50,7 @@ public class BasicCraftingTask implements ICraftingTask {
|
|||||||
return pattern;
|
return pattern;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean update(StorageNetwork network) {
|
public boolean update(NetworkMaster master) {
|
||||||
this.updatedOnce = true;
|
this.updatedOnce = true;
|
||||||
|
|
||||||
boolean done = true;
|
boolean done = true;
|
||||||
@@ -63,17 +63,17 @@ public class BasicCraftingTask implements ICraftingTask {
|
|||||||
if (!satisfied[i]) {
|
if (!satisfied[i]) {
|
||||||
done = false;
|
done = false;
|
||||||
|
|
||||||
ItemStack took = network.take(input, 1);
|
ItemStack took = master.take(input, 1);
|
||||||
|
|
||||||
if (took != null) {
|
if (took != null) {
|
||||||
itemsTook.add(took);
|
itemsTook.add(took);
|
||||||
|
|
||||||
satisfied[i] = true;
|
satisfied[i] = true;
|
||||||
} else if (!childTasks[i]) {
|
} else if (!childTasks[i]) {
|
||||||
CraftingPattern pattern = network.getPatternWithBestScore(input);
|
CraftingPattern pattern = master.getPatternWithBestScore(input);
|
||||||
|
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
network.addCraftingTask(network.createCraftingTask(pattern));
|
master.addCraftingTask(master.createCraftingTask(pattern));
|
||||||
|
|
||||||
childTasks[i] = true;
|
childTasks[i] = true;
|
||||||
}
|
}
|
||||||
@@ -90,23 +90,23 @@ public class BasicCraftingTask implements ICraftingTask {
|
|||||||
|
|
||||||
// @todo: handle no space
|
// @todo: handle no space
|
||||||
@Override
|
@Override
|
||||||
public void onDone(StorageNetwork network) {
|
public void onDone(NetworkMaster master) {
|
||||||
for (ItemStack output : pattern.getOutputs()) {
|
for (ItemStack output : pattern.getOutputs()) {
|
||||||
network.push(output, output.stackSize, false);
|
master.push(output, output.stackSize, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pattern.getByproducts() != null) {
|
if (pattern.getByproducts() != null) {
|
||||||
for (ItemStack byproduct : pattern.getByproducts()) {
|
for (ItemStack byproduct : pattern.getByproducts()) {
|
||||||
network.push(byproduct, byproduct.stackSize, false);
|
master.push(byproduct, byproduct.stackSize, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @todo: handle no space
|
// @todo: handle no space
|
||||||
@Override
|
@Override
|
||||||
public void onCancelled(StorageNetwork network) {
|
public void onCancelled(NetworkMaster master) {
|
||||||
for (ItemStack took : itemsTook) {
|
for (ItemStack took : itemsTook) {
|
||||||
network.push(took, took.stackSize, false);
|
master.push(took, took.stackSize, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
package refinedstorage.autocrafting.task;
|
package refinedstorage.autocrafting.task;
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
|
|
||||||
public interface ICraftingTask {
|
public interface ICraftingTask {
|
||||||
CraftingPattern getPattern();
|
CraftingPattern getPattern();
|
||||||
|
|
||||||
boolean update(StorageNetwork network);
|
boolean update(NetworkMaster master);
|
||||||
|
|
||||||
void onDone(StorageNetwork network);
|
void onDone(NetworkMaster master);
|
||||||
|
|
||||||
void onCancelled(StorageNetwork network);
|
void onCancelled(NetworkMaster master);
|
||||||
|
|
||||||
void writeToNBT(NBTTagCompound tag);
|
void writeToNBT(NBTTagCompound tag);
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
import refinedstorage.tile.TileCrafter;
|
import refinedstorage.tile.TileCrafter;
|
||||||
|
|
||||||
@@ -42,17 +42,17 @@ public class ProcessingCraftingTask implements ICraftingTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean update(StorageNetwork network) {
|
public boolean update(NetworkMaster master) {
|
||||||
this.updatedOnce = true;
|
this.updatedOnce = true;
|
||||||
|
|
||||||
TileCrafter crafter = pattern.getCrafter(network.getWorld());
|
TileCrafter crafter = pattern.getCrafter(master.getWorld());
|
||||||
IItemHandler handler = RefinedStorageUtils.getItemHandler(crafter.getFacingTile(), crafter.getDirection().getOpposite());
|
IItemHandler handler = RefinedStorageUtils.getItemHandler(crafter.getFacingTile(), crafter.getDirection().getOpposite());
|
||||||
|
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
for (int i = 0; i < inserted.length; ++i) {
|
for (int i = 0; i < inserted.length; ++i) {
|
||||||
if (!inserted[i]) {
|
if (!inserted[i]) {
|
||||||
ItemStack input = pattern.getInputs()[i];
|
ItemStack input = pattern.getInputs()[i];
|
||||||
ItemStack took = network.take(input, 1);
|
ItemStack took = master.take(input, 1);
|
||||||
|
|
||||||
if (took != null) {
|
if (took != null) {
|
||||||
if (ItemHandlerHelper.insertItem(handler, took, true) == null) {
|
if (ItemHandlerHelper.insertItem(handler, took, true) == null) {
|
||||||
@@ -60,15 +60,15 @@ public class ProcessingCraftingTask implements ICraftingTask {
|
|||||||
|
|
||||||
inserted[i] = true;
|
inserted[i] = true;
|
||||||
} else {
|
} else {
|
||||||
network.push(took, took.stackSize, false);
|
master.push(took, took.stackSize, false);
|
||||||
}
|
}
|
||||||
} else if (!childTasks[i]) {
|
} else if (!childTasks[i]) {
|
||||||
CraftingPattern pattern = network.getPatternWithBestScore(input);
|
CraftingPattern pattern = master.getPatternWithBestScore(input);
|
||||||
|
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
childTasks[i] = true;
|
childTasks[i] = true;
|
||||||
|
|
||||||
network.addCraftingTask(network.createCraftingTask(pattern));
|
master.addCraftingTask(master.createCraftingTask(pattern));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -101,12 +101,12 @@ public class ProcessingCraftingTask implements ICraftingTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDone(StorageNetwork network) {
|
public void onDone(NetworkMaster master) {
|
||||||
// NO OP
|
// NO OP
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCancelled(StorageNetwork network) {
|
public void onCancelled(NetworkMaster master) {
|
||||||
// NO OP
|
// NO OP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import net.minecraft.world.IBlockAccess;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.tile.TileCable;
|
import refinedstorage.tile.TileCable;
|
||||||
import refinedstorage.tile.TileMachine;
|
import refinedstorage.tile.TileSlave;
|
||||||
|
|
||||||
public class BlockCable extends BlockMachine {
|
public class BlockCable extends BlockSlave {
|
||||||
public static final AxisAlignedBB CABLE_AABB = new AxisAlignedBB(4 * (1F / 16F), 4 * (1F / 16F), 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F));
|
public static final AxisAlignedBB CABLE_AABB = new AxisAlignedBB(4 * (1F / 16F), 4 * (1F / 16F), 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F));
|
||||||
|
|
||||||
public static final PropertyBool NORTH = PropertyBool.create("north");
|
public static final PropertyBool NORTH = PropertyBool.create("north");
|
||||||
@@ -57,7 +57,7 @@ public class BlockCable extends BlockMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasConnectionWith(IBlockAccess world, BlockPos pos) {
|
public static boolean hasConnectionWith(IBlockAccess world, BlockPos pos) {
|
||||||
return world.getBlockState(pos).getBlock() == RefinedStorageBlocks.CONTROLLER || world.getTileEntity(pos) instanceof TileMachine;
|
return world.getBlockState(pos).getBlock() == RefinedStorageBlocks.CONTROLLER || world.getTileEntity(pos) instanceof TileSlave;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileConstructor;
|
import refinedstorage.tile.TileConstructor;
|
||||||
|
|
||||||
public class BlockConstructor extends BlockMachine {
|
public class BlockConstructor extends BlockSlave {
|
||||||
public BlockConstructor() {
|
public BlockConstructor() {
|
||||||
super("constructor");
|
super("constructor");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ import net.minecraft.world.World;
|
|||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
import refinedstorage.item.ItemBlockController;
|
import refinedstorage.item.ItemBlockController;
|
||||||
import refinedstorage.tile.controller.TileController;
|
import refinedstorage.tile.controller.TileController;
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ public class BlockController extends BlockBase {
|
|||||||
TileController controller = (TileController) world.getTileEntity(pos);
|
TileController controller = (TileController) world.getTileEntity(pos);
|
||||||
|
|
||||||
return super.getActualState(state, world, pos)
|
return super.getActualState(state, world, pos)
|
||||||
.withProperty(ENERGY, (int) Math.ceil((float) controller.getEnergy() / (float) StorageNetwork.ENERGY_CAPACITY * 8f));
|
.withProperty(ENERGY, (int) Math.ceil((float) controller.getEnergy() / (float) NetworkMaster.ENERGY_CAPACITY * 8f));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -92,15 +92,15 @@ public class BlockController extends BlockBase {
|
|||||||
@Override
|
@Override
|
||||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) {
|
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) {
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
StorageNetwork network = new StorageNetwork(pos, world);
|
NetworkMaster master = new NetworkMaster(pos, world);
|
||||||
|
|
||||||
NBTTagCompound tag = stack.getTagCompound();
|
NBTTagCompound tag = stack.getTagCompound();
|
||||||
|
|
||||||
if (tag != null && tag.hasKey(StorageNetwork.NBT_ENERGY)) {
|
if (tag != null && tag.hasKey(NetworkMaster.NBT_ENERGY)) {
|
||||||
network.getEnergy().receiveEnergy(tag.getInteger(StorageNetwork.NBT_ENERGY), false);
|
master.getEnergy().receiveEnergy(tag.getInteger(NetworkMaster.NBT_ENERGY), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
StorageNetworkRegistry.add(network, world.provider.getDimension());
|
NetworkMasterRegistry.add(master, world.provider.getDimension());
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onBlockPlacedBy(world, pos, state, player, stack);
|
super.onBlockPlacedBy(world, pos, state, player, stack);
|
||||||
@@ -109,7 +109,7 @@ public class BlockController extends BlockBase {
|
|||||||
@Override
|
@Override
|
||||||
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
StorageNetworkRegistry.remove(pos, world.provider.getDimension());
|
NetworkMasterRegistry.remove(pos, world.provider.getDimension());
|
||||||
}
|
}
|
||||||
|
|
||||||
super.breakBlock(world, pos, state);
|
super.breakBlock(world, pos, state);
|
||||||
@@ -122,7 +122,7 @@ public class BlockController extends BlockBase {
|
|||||||
ItemStack stack = new ItemStack(RefinedStorageBlocks.CONTROLLER, 1, RefinedStorageBlocks.CONTROLLER.getMetaFromState(state));
|
ItemStack stack = new ItemStack(RefinedStorageBlocks.CONTROLLER, 1, RefinedStorageBlocks.CONTROLLER.getMetaFromState(state));
|
||||||
|
|
||||||
NBTTagCompound tag = new NBTTagCompound();
|
NBTTagCompound tag = new NBTTagCompound();
|
||||||
tag.setInteger(StorageNetwork.NBT_ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyStored(null));
|
tag.setInteger(NetworkMaster.NBT_ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyStored(null));
|
||||||
stack.setTagCompound(tag);
|
stack.setTagCompound(tag);
|
||||||
|
|
||||||
drops.add(stack);
|
drops.add(stack);
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileCrafter;
|
import refinedstorage.tile.TileCrafter;
|
||||||
|
|
||||||
public class BlockCrafter extends BlockMachine {
|
public class BlockCrafter extends BlockSlave {
|
||||||
public BlockCrafter() {
|
public BlockCrafter() {
|
||||||
super("crafter");
|
super("crafter");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileCraftingMonitor;
|
import refinedstorage.tile.TileCraftingMonitor;
|
||||||
|
|
||||||
public class BlockCraftingMonitor extends BlockMachine {
|
public class BlockCraftingMonitor extends BlockSlave {
|
||||||
public BlockCraftingMonitor() {
|
public BlockCraftingMonitor() {
|
||||||
super("crafting_monitor");
|
super("crafting_monitor");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileDestructor;
|
import refinedstorage.tile.TileDestructor;
|
||||||
|
|
||||||
public class BlockDestructor extends BlockMachine {
|
public class BlockDestructor extends BlockSlave {
|
||||||
public BlockDestructor() {
|
public BlockDestructor() {
|
||||||
super("destructor");
|
super("destructor");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileDetector;
|
import refinedstorage.tile.TileDetector;
|
||||||
|
|
||||||
public class BlockDetector extends BlockMachine {
|
public class BlockDetector extends BlockSlave {
|
||||||
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||||
|
|
||||||
public BlockDetector() {
|
public BlockDetector() {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileDiskDrive;
|
import refinedstorage.tile.TileDiskDrive;
|
||||||
|
|
||||||
public class BlockDiskDrive extends BlockMachine {
|
public class BlockDiskDrive extends BlockSlave {
|
||||||
public BlockDiskDrive() {
|
public BlockDiskDrive() {
|
||||||
super("disk_drive");
|
super("disk_drive");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileExporter;
|
import refinedstorage.tile.TileExporter;
|
||||||
|
|
||||||
public class BlockExporter extends BlockMachine {
|
public class BlockExporter extends BlockSlave {
|
||||||
public BlockExporter() {
|
public BlockExporter() {
|
||||||
super("exporter");
|
super("exporter");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.externalstorage.TileExternalStorage;
|
import refinedstorage.tile.externalstorage.TileExternalStorage;
|
||||||
|
|
||||||
public class BlockExternalStorage extends BlockMachine {
|
public class BlockExternalStorage extends BlockSlave {
|
||||||
public BlockExternalStorage() {
|
public BlockExternalStorage() {
|
||||||
super("external_storage");
|
super("external_storage");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import refinedstorage.tile.grid.TileGrid;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class BlockGrid extends BlockMachine {
|
public class BlockGrid extends BlockSlave {
|
||||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
|
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
|
||||||
|
|
||||||
public BlockGrid() {
|
public BlockGrid() {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileImporter;
|
import refinedstorage.tile.TileImporter;
|
||||||
|
|
||||||
public class BlockImporter extends BlockMachine {
|
public class BlockImporter extends BlockSlave {
|
||||||
public BlockImporter() {
|
public BlockImporter() {
|
||||||
super("importer");
|
super("importer");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileInterface;
|
import refinedstorage.tile.TileInterface;
|
||||||
|
|
||||||
public class BlockInterface extends BlockMachine {
|
public class BlockInterface extends BlockSlave {
|
||||||
public BlockInterface() {
|
public BlockInterface() {
|
||||||
super("interface");
|
super("interface");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileRelay;
|
import refinedstorage.tile.TileRelay;
|
||||||
|
|
||||||
public class BlockRelay extends BlockMachine {
|
public class BlockRelay extends BlockSlave {
|
||||||
public BlockRelay() {
|
public BlockRelay() {
|
||||||
super("relay");
|
super("relay");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,16 +10,12 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.tile.TileMachine;
|
import refinedstorage.tile.TileSlave;
|
||||||
import refinedstorage.tile.controller.ControllerSearcher;
|
|
||||||
import refinedstorage.tile.controller.TileController;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
public abstract class BlockSlave extends BlockBase {
|
||||||
|
|
||||||
public abstract class BlockMachine extends BlockBase {
|
|
||||||
public static final PropertyBool CONNECTED = PropertyBool.create("connected");
|
public static final PropertyBool CONNECTED = PropertyBool.create("connected");
|
||||||
|
|
||||||
public BlockMachine(String name) {
|
public BlockSlave(String name) {
|
||||||
super(name);
|
super(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +35,7 @@ public abstract class BlockMachine extends BlockBase {
|
|||||||
@Override
|
@Override
|
||||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||||
return super.getActualState(state, world, pos)
|
return super.getActualState(state, world, pos)
|
||||||
.withProperty(CONNECTED, ((TileMachine) world.getTileEntity(pos)).isConnected());
|
.withProperty(CONNECTED, ((TileSlave) world.getTileEntity(pos)).isConnected());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -47,21 +43,17 @@ public abstract class BlockMachine extends BlockBase {
|
|||||||
super.onBlockPlacedBy(world, pos, state, player, stack);
|
super.onBlockPlacedBy(world, pos, state, player, stack);
|
||||||
|
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
TileController controller = ControllerSearcher.search(world, pos, new HashSet<String>());
|
((TileSlave) world.getTileEntity(pos)).onNeighborChanged(world);
|
||||||
|
|
||||||
if (controller != null) {
|
|
||||||
((TileMachine) world.getTileEntity(pos)).onConnected(world, controller);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
TileMachine machine = (TileMachine) world.getTileEntity(pos);
|
TileSlave machine = (TileSlave) world.getTileEntity(pos);
|
||||||
|
|
||||||
if (machine.isConnected()) {
|
if (machine.isConnected()) {
|
||||||
machine.onDisconnected(world);
|
machine.disconnect(world);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,7 +65,7 @@ public abstract class BlockMachine extends BlockBase {
|
|||||||
super.neighborChanged(state, world, pos, block);
|
super.neighborChanged(state, world, pos, block);
|
||||||
|
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
((TileMachine) world.getTileEntity(pos)).searchController(world);
|
((TileSlave) world.getTileEntity(pos)).onNeighborChanged(world);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileSolderer;
|
import refinedstorage.tile.TileSolderer;
|
||||||
|
|
||||||
public class BlockSolderer extends BlockMachine {
|
public class BlockSolderer extends BlockSlave {
|
||||||
public static final PropertyBool WORKING = PropertyBool.create("working");
|
public static final PropertyBool WORKING = PropertyBool.create("working");
|
||||||
|
|
||||||
public BlockSolderer() {
|
public BlockSolderer() {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import refinedstorage.tile.TileStorage;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class BlockStorage extends BlockMachine {
|
public class BlockStorage extends BlockSlave {
|
||||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class);
|
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class);
|
||||||
|
|
||||||
public BlockStorage() {
|
public BlockStorage() {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileWirelessTransmitter;
|
import refinedstorage.tile.TileWirelessTransmitter;
|
||||||
|
|
||||||
public class BlockWirelessTransmitter extends BlockMachine {
|
public class BlockWirelessTransmitter extends BlockSlave {
|
||||||
public BlockWirelessTransmitter() {
|
public BlockWirelessTransmitter() {
|
||||||
super("wireless_transmitter");
|
super("wireless_transmitter");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package refinedstorage.gui;
|
|||||||
import net.minecraft.client.renderer.GlStateManager;
|
import net.minecraft.client.renderer.GlStateManager;
|
||||||
import net.minecraft.client.renderer.RenderHelper;
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.container.ContainerController;
|
import refinedstorage.container.ContainerController;
|
||||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||||
import refinedstorage.tile.controller.ClientMachine;
|
import refinedstorage.tile.controller.ClientMachine;
|
||||||
@@ -46,7 +46,7 @@ public class GuiController extends GuiBase {
|
|||||||
|
|
||||||
drawTexture(x, y, 0, 0, width, height);
|
drawTexture(x, y, 0, 0, width, height);
|
||||||
|
|
||||||
int barHeightNew = (int) ((float) controller.getEnergy() / (float) StorageNetwork.ENERGY_CAPACITY * (float) barHeight);
|
int barHeightNew = (int) ((float) controller.getEnergy() / (float) NetworkMaster.ENERGY_CAPACITY * (float) barHeight);
|
||||||
|
|
||||||
drawTexture(x + barX, y + barY + barHeight - barHeightNew, 178, barHeight - barHeightNew, barWidth, barHeightNew);
|
drawTexture(x + barX, y + barY + barHeight - barHeightNew, 178, barHeight - barHeightNew, barWidth, barHeightNew);
|
||||||
}
|
}
|
||||||
@@ -103,7 +103,7 @@ public class GuiController extends GuiBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) {
|
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) {
|
||||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage", controller.getEnergyUsage()) + "\n" + t("misc.refinedstorage:energy_stored", controller.getEnergy(), StorageNetwork.ENERGY_CAPACITY));
|
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage", controller.getEnergyUsage()) + "\n" + t("misc.refinedstorage:energy_stored", controller.getEnergy(), NetworkMaster.ENERGY_CAPACITY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.block.EnumControllerType;
|
import refinedstorage.block.EnumControllerType;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -21,11 +21,11 @@ public class ItemBlockController extends ItemBlockBase {
|
|||||||
if (stack.getMetadata() != EnumControllerType.CREATIVE.getId()) {
|
if (stack.getMetadata() != EnumControllerType.CREATIVE.getId()) {
|
||||||
int energyStored = 0;
|
int energyStored = 0;
|
||||||
|
|
||||||
if (stack.getTagCompound() != null && stack.getTagCompound().hasKey(StorageNetwork.NBT_ENERGY)) {
|
if (stack.getTagCompound() != null && stack.getTagCompound().hasKey(NetworkMaster.NBT_ENERGY)) {
|
||||||
energyStored = stack.getTagCompound().getInteger(StorageNetwork.NBT_ENERGY);
|
energyStored = stack.getTagCompound().getInteger(NetworkMaster.NBT_ENERGY);
|
||||||
}
|
}
|
||||||
|
|
||||||
list.add(I18n.format("misc.refinedstorage:energy_stored", energyStored, StorageNetwork.ENERGY_CAPACITY));
|
list.add(I18n.format("misc.refinedstorage:energy_stored", energyStored, NetworkMaster.ENERGY_CAPACITY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ public class ItemBlockController extends ItemBlockBase {
|
|||||||
tag = new NBTTagCompound();
|
tag = new NBTTagCompound();
|
||||||
}
|
}
|
||||||
|
|
||||||
tag.setInteger(StorageNetwork.NBT_ENERGY, stack.getMetadata() == EnumControllerType.CREATIVE.getId() ? StorageNetwork.ENERGY_CAPACITY : 0);
|
tag.setInteger(NetworkMaster.NBT_ENERGY, stack.getMetadata() == EnumControllerType.CREATIVE.getId() ? NetworkMaster.ENERGY_CAPACITY : 0);
|
||||||
|
|
||||||
return stack;
|
return stack;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ import net.minecraft.util.text.TextComponentTranslation;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -134,10 +134,10 @@ public class ItemWirelessGrid extends ItemEnergyContainer {
|
|||||||
@Override
|
@Override
|
||||||
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
|
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
|
||||||
if (!world.isRemote && hasValidNBT(stack) && getDimensionId(stack) == player.dimension) {
|
if (!world.isRemote && hasValidNBT(stack) && getDimensionId(stack) == player.dimension) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(new BlockPos(getX(stack), getY(stack), getZ(stack)), player.worldObj.provider.getDimension());
|
NetworkMaster master = NetworkMasterRegistry.get(new BlockPos(getX(stack), getY(stack), getZ(stack)), player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null) {
|
if (master != null) {
|
||||||
if (network.getWirelessGridHandler().handleOpen(player, hand)) {
|
if (master.getWirelessGridHandler().handleOpen(player, hand)) {
|
||||||
return new ActionResult(EnumActionResult.SUCCESS, stack);
|
return new ActionResult(EnumActionResult.SUCCESS, stack);
|
||||||
} else {
|
} else {
|
||||||
player.addChatComponentMessage(new TextComponentTranslation("misc.refinedstorage:wireless_grid.out_of_range"));
|
player.addChatComponentMessage(new TextComponentTranslation("misc.refinedstorage:wireless_grid.out_of_range"));
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
|
|
||||||
public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<MessageGridCraftingStart> implements IMessage {
|
public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<MessageGridCraftingStart> implements IMessage {
|
||||||
private int x;
|
private int x;
|
||||||
@@ -45,7 +45,7 @@ public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<Messa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageGridCraftingStart message, EntityPlayerMP player) {
|
public void handle(MessageGridCraftingStart message, EntityPlayerMP player) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(new BlockPos(message.x, message.y, message.z), player.worldObj.provider.getDimension());
|
NetworkMaster network = NetworkMasterRegistry.get(new BlockPos(message.x, message.y, message.z), player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null && network.canRun()) {
|
if (network != null && network.canRun()) {
|
||||||
network.getStorageHandler().onCraftingRequested(message.id, message.quantity);
|
network.getStorageHandler().onCraftingRequested(message.id, message.quantity);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import net.minecraftforge.fml.common.network.ByteBufUtils;
|
|||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
import refinedstorage.tile.ClientItem;
|
import refinedstorage.tile.ClientItem;
|
||||||
|
|
||||||
@@ -16,13 +16,13 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MessageGridItems implements IMessage, IMessageHandler<MessageGridItems, IMessage> {
|
public class MessageGridItems implements IMessage, IMessageHandler<MessageGridItems, IMessage> {
|
||||||
private StorageNetwork network;
|
private NetworkMaster network;
|
||||||
private List<ClientItem> items = new ArrayList<ClientItem>();
|
private List<ClientItem> items = new ArrayList<ClientItem>();
|
||||||
|
|
||||||
public MessageGridItems() {
|
public MessageGridItems() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public MessageGridItems(StorageNetwork network) {
|
public MessageGridItems(NetworkMaster network) {
|
||||||
this.network = network;
|
this.network = network;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
|
|
||||||
public class MessageWirelessGridCraftingStart extends MessageHandlerPlayerToServer<MessageWirelessGridCraftingStart> implements IMessage {
|
public class MessageWirelessGridCraftingStart extends MessageHandlerPlayerToServer<MessageWirelessGridCraftingStart> implements IMessage {
|
||||||
private int controllerX;
|
private int controllerX;
|
||||||
@@ -45,7 +45,7 @@ public class MessageWirelessGridCraftingStart extends MessageHandlerPlayerToServ
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageWirelessGridCraftingStart message, EntityPlayerMP player) {
|
public void handle(MessageWirelessGridCraftingStart message, EntityPlayerMP player) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(new BlockPos(message.controllerX, message.controllerY, message.controllerZ), player.worldObj.provider.getDimension());
|
NetworkMaster network = NetworkMasterRegistry.get(new BlockPos(message.controllerX, message.controllerY, message.controllerZ), player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null && network.canRun()) {
|
if (network != null && network.canRun()) {
|
||||||
network.getStorageHandler().onCraftingRequested(message.id, message.quantity);
|
network.getStorageHandler().onCraftingRequested(message.id, message.quantity);
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
|
|
||||||
public class MessageWirelessGridHeldItemPush extends MessageHandlerPlayerToServer<MessageWirelessGridHeldItemPush> implements IMessage {
|
public class MessageWirelessGridHeldItemPush extends MessageHandlerPlayerToServer<MessageWirelessGridHeldItemPush> implements IMessage {
|
||||||
private int controllerX;
|
private int controllerX;
|
||||||
@@ -41,7 +41,7 @@ public class MessageWirelessGridHeldItemPush extends MessageHandlerPlayerToServe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageWirelessGridHeldItemPush message, EntityPlayerMP player) {
|
public void handle(MessageWirelessGridHeldItemPush message, EntityPlayerMP player) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(new BlockPos(message.controllerX, message.controllerY, message.controllerZ), player.worldObj.provider.getDimension());
|
NetworkMaster network = NetworkMasterRegistry.get(new BlockPos(message.controllerX, message.controllerY, message.controllerZ), player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null && network.canRun()) {
|
if (network != null && network.canRun()) {
|
||||||
network.getStorageHandler().onHeldItemPush(message.one, player);
|
network.getStorageHandler().onHeldItemPush(message.one, player);
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
|
|
||||||
public class MessageWirelessGridStoragePull extends MessageHandlerPlayerToServer<MessageWirelessGridStoragePull> implements IMessage {
|
public class MessageWirelessGridStoragePull extends MessageHandlerPlayerToServer<MessageWirelessGridStoragePull> implements IMessage {
|
||||||
private int controllerX;
|
private int controllerX;
|
||||||
@@ -45,7 +45,7 @@ public class MessageWirelessGridStoragePull extends MessageHandlerPlayerToServer
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageWirelessGridStoragePull message, EntityPlayerMP player) {
|
public void handle(MessageWirelessGridStoragePull message, EntityPlayerMP player) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(new BlockPos(message.controllerX, message.controllerY, message.controllerZ), player.worldObj.provider.getDimension());
|
NetworkMaster network = NetworkMasterRegistry.get(new BlockPos(message.controllerX, message.controllerY, message.controllerZ), player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null && network.canRun()) {
|
if (network != null && network.canRun()) {
|
||||||
network.getStorageHandler().onPull(message.id, message.flags, player);
|
network.getStorageHandler().onPull(message.id, message.flags, player);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import refinedstorage.RefinedStorageItems;
|
|||||||
import refinedstorage.api.solderer.SoldererRecipeBasic;
|
import refinedstorage.api.solderer.SoldererRecipeBasic;
|
||||||
import refinedstorage.api.solderer.SoldererRegistry;
|
import refinedstorage.api.solderer.SoldererRegistry;
|
||||||
import refinedstorage.api.storage.NBTStorage;
|
import refinedstorage.api.storage.NBTStorage;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkEventHandler;
|
import refinedstorage.api.storagenet.NetworkMasterEventHandler;
|
||||||
import refinedstorage.block.BlockBase;
|
import refinedstorage.block.BlockBase;
|
||||||
import refinedstorage.block.EnumControllerType;
|
import refinedstorage.block.EnumControllerType;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
@@ -485,7 +485,7 @@ public class CommonProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void init(FMLInitializationEvent e) {
|
public void init(FMLInitializationEvent e) {
|
||||||
MinecraftForge.EVENT_BUS.register(new StorageNetworkEventHandler());
|
MinecraftForge.EVENT_BUS.register(new NetworkMasterEventHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void postInit(FMLPostInitializationEvent e) {
|
public void postInit(FMLPostInitializationEvent e) {
|
||||||
|
|||||||
@@ -2,22 +2,23 @@ package refinedstorage.tile;
|
|||||||
|
|
||||||
import net.minecraft.inventory.Container;
|
import net.minecraft.inventory.Container;
|
||||||
|
|
||||||
public class TileCable extends TileMachine {
|
public class TileCable extends TileSlave {
|
||||||
@Override
|
@Override
|
||||||
public int getEnergyUsage() {
|
public int getEnergyUsage() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canSendConnectivityUpdate() {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<? extends Container> getContainer() {
|
public Class<? extends Container> getContainer() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canSendConnectivityData() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import refinedstorage.inventory.BasicItemValidator;
|
|||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
import refinedstorage.tile.config.ICompareConfig;
|
import refinedstorage.tile.config.ICompareConfig;
|
||||||
|
|
||||||
public class TileConstructor extends TileMachine implements ICompareConfig {
|
public class TileConstructor extends TileSlave implements ICompareConfig {
|
||||||
public static final String NBT_COMPARE = "Compare";
|
public static final String NBT_COMPARE = "Compare";
|
||||||
|
|
||||||
public static final int BASE_SPEED = 20;
|
public static final int BASE_SPEED = 20;
|
||||||
@@ -53,7 +53,7 @@ public class TileConstructor extends TileMachine implements ICompareConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
if (block != null && ticks % RefinedStorageUtils.getSpeed(upgrades, BASE_SPEED, 4) == 0) {
|
if (block != null && ticks % RefinedStorageUtils.getSpeed(upgrades, BASE_SPEED, 4) == 0) {
|
||||||
BlockPos front = pos.offset(getDirection());
|
BlockPos front = pos.offset(getDirection());
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import refinedstorage.inventory.IItemValidator;
|
|||||||
import refinedstorage.item.ItemPattern;
|
import refinedstorage.item.ItemPattern;
|
||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
|
|
||||||
public class TileCrafter extends TileMachine {
|
public class TileCrafter extends TileSlave {
|
||||||
private BasicItemHandler patterns = new BasicItemHandler(9, this, new IItemValidator() {
|
private BasicItemHandler patterns = new BasicItemHandler(9, this, new IItemValidator() {
|
||||||
@Override
|
@Override
|
||||||
public boolean valid(ItemStack stack) {
|
public boolean valid(ItemStack stack) {
|
||||||
@@ -35,7 +35,7 @@ public class TileCrafter extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -44,14 +44,14 @@ public class TileCrafter extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisconnected(World world) {
|
public void disconnect(World world) {
|
||||||
for (ICraftingTask task : network.getCraftingTasks()) {
|
for (ICraftingTask task : network.getCraftingTasks()) {
|
||||||
if (task.getPattern().getCrafter(worldObj) == this) {
|
if (task.getPattern().getCrafter(worldObj) == this) {
|
||||||
network.cancelCraftingTask(task);
|
network.cancelCraftingTask(task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onDisconnected(world);
|
super.disconnect(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileCraftingMonitor extends TileMachine {
|
public class TileCraftingMonitor extends TileSlave {
|
||||||
private List<ClientSideCraftingTask> tasks = new ArrayList<ClientSideCraftingTask>();
|
private List<ClientSideCraftingTask> tasks = new ArrayList<ClientSideCraftingTask>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -20,7 +20,7 @@ public class TileCraftingMonitor extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import refinedstorage.tile.config.ModeFilter;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileDestructor extends TileMachine implements ICompareConfig, IModeConfig {
|
public class TileDestructor extends TileSlave implements ICompareConfig, IModeConfig {
|
||||||
public static final String NBT_COMPARE = "Compare";
|
public static final String NBT_COMPARE = "Compare";
|
||||||
public static final String NBT_MODE = "Mode";
|
public static final String NBT_MODE = "Mode";
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ public class TileDestructor extends TileMachine implements ICompareConfig, IMode
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
if (ticks % RefinedStorageUtils.getSpeed(upgrades, BASE_SPEED, 4) == 0) {
|
if (ticks % RefinedStorageUtils.getSpeed(upgrades, BASE_SPEED, 4) == 0) {
|
||||||
BlockPos front = pos.offset(getDirection());
|
BlockPos front = pos.offset(getDirection());
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import refinedstorage.inventory.BasicItemHandler;
|
|||||||
import refinedstorage.tile.config.ICompareConfig;
|
import refinedstorage.tile.config.ICompareConfig;
|
||||||
import refinedstorage.tile.config.RedstoneMode;
|
import refinedstorage.tile.config.RedstoneMode;
|
||||||
|
|
||||||
public class TileDetector extends TileMachine implements ICompareConfig {
|
public class TileDetector extends TileSlave implements ICompareConfig {
|
||||||
public static final int SPEED = 5;
|
public static final int SPEED = 5;
|
||||||
|
|
||||||
public static final int MODE_UNDER = 0;
|
public static final int MODE_UNDER = 0;
|
||||||
@@ -34,10 +34,10 @@ public class TileDetector extends TileMachine implements ICompareConfig {
|
|||||||
private boolean powered = false;
|
private boolean powered = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisconnected(World world) {
|
public void disconnect(World world) {
|
||||||
super.onDisconnected(world);
|
|
||||||
|
|
||||||
powered = false;
|
powered = false;
|
||||||
|
|
||||||
|
super.disconnect(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -46,7 +46,7 @@ public class TileDetector extends TileMachine implements ICompareConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
if (ticks % SPEED == 0) {
|
if (ticks % SPEED == 0) {
|
||||||
ItemStack slot = filter.getStackInSlot(0);
|
ItemStack slot = filter.getStackInSlot(0);
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import net.minecraftforge.items.ItemHandlerHelper;
|
|||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageItems;
|
import refinedstorage.RefinedStorageItems;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.RefinedStorageCapabilities;
|
|
||||||
import refinedstorage.api.storage.IStorage;
|
import refinedstorage.api.storage.IStorage;
|
||||||
import refinedstorage.api.storage.IStorageProvider;
|
import refinedstorage.api.storage.IStorageProvider;
|
||||||
import refinedstorage.api.storage.NBTStorage;
|
import refinedstorage.api.storage.NBTStorage;
|
||||||
@@ -25,7 +24,7 @@ import refinedstorage.tile.config.*;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileDiskDrive extends TileMachine implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
|
public class TileDiskDrive extends TileSlave implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
|
||||||
public class Storage extends NBTStorage {
|
public class Storage extends NBTStorage {
|
||||||
public Storage(ItemStack disk) {
|
public Storage(ItemStack disk) {
|
||||||
super(disk.getTagCompound(), EnumStorageType.getById(disk.getItemDamage()).getCapacity(), TileDiskDrive.this);
|
super(disk.getTagCompound(), EnumStorageType.getById(disk.getItemDamage()).getCapacity(), TileDiskDrive.this);
|
||||||
@@ -86,7 +85,7 @@ public class TileDiskDrive extends TileMachine implements IStorageProvider, ISto
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -269,8 +268,6 @@ public class TileDiskDrive extends TileMachine implements IStorageProvider, ISto
|
|||||||
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
||||||
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
|
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
|
||||||
return (T) disks;
|
return (T) disks;
|
||||||
} else if (capability == RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY) {
|
|
||||||
return (T) this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.getCapability(capability, facing);
|
return super.getCapability(capability, facing);
|
||||||
@@ -278,6 +275,6 @@ public class TileDiskDrive extends TileMachine implements IStorageProvider, ISto
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
|
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
|
||||||
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || capability == RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY || super.hasCapability(capability, facing);
|
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import refinedstorage.inventory.BasicItemValidator;
|
|||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
import refinedstorage.tile.config.ICompareConfig;
|
import refinedstorage.tile.config.ICompareConfig;
|
||||||
|
|
||||||
public class TileExporter extends TileMachine implements ICompareConfig {
|
public class TileExporter extends TileSlave implements ICompareConfig {
|
||||||
public static final String NBT_COMPARE = "Compare";
|
public static final String NBT_COMPARE = "Compare";
|
||||||
|
|
||||||
private BasicItemHandler filters = new BasicItemHandler(9, this);
|
private BasicItemHandler filters = new BasicItemHandler(9, this);
|
||||||
@@ -40,7 +40,7 @@ public class TileExporter extends TileMachine implements ICompareConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
IItemHandler handler = RefinedStorageUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
IItemHandler handler = RefinedStorageUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
||||||
|
|
||||||
if (handler != null && ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
if (handler != null && ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import refinedstorage.tile.config.IModeConfig;
|
|||||||
import refinedstorage.tile.config.ModeConstants;
|
import refinedstorage.tile.config.ModeConstants;
|
||||||
import refinedstorage.tile.config.ModeFilter;
|
import refinedstorage.tile.config.ModeFilter;
|
||||||
|
|
||||||
public class TileImporter extends TileMachine implements ICompareConfig, IModeConfig {
|
public class TileImporter extends TileSlave implements ICompareConfig, IModeConfig {
|
||||||
public static final String NBT_COMPARE = "Compare";
|
public static final String NBT_COMPARE = "Compare";
|
||||||
public static final String NBT_MODE = "Mode";
|
public static final String NBT_MODE = "Mode";
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
IItemHandler handler = RefinedStorageUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
IItemHandler handler = RefinedStorageUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
||||||
|
|
||||||
if (getFacingTile() instanceof TileDiskDrive || handler == null) {
|
if (getFacingTile() instanceof TileDiskDrive || handler == null) {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import refinedstorage.inventory.BasicItemValidator;
|
|||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
import refinedstorage.tile.config.ICompareConfig;
|
import refinedstorage.tile.config.ICompareConfig;
|
||||||
|
|
||||||
public class TileInterface extends TileMachine implements ICompareConfig {
|
public class TileInterface extends TileSlave implements ICompareConfig {
|
||||||
public static final String NBT_COMPARE = "Compare";
|
public static final String NBT_COMPARE = "Compare";
|
||||||
|
|
||||||
private BasicItemHandler importItems = new BasicItemHandler(9, this);
|
private BasicItemHandler importItems = new BasicItemHandler(9, this);
|
||||||
@@ -40,7 +40,7 @@ public class TileInterface extends TileMachine implements ICompareConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
if (currentSlot >= importItems.getSlots()) {
|
if (currentSlot >= importItems.getSlots()) {
|
||||||
currentSlot = 0;
|
currentSlot = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import refinedstorage.RefinedStorageBlocks;
|
|||||||
import refinedstorage.container.ContainerRelay;
|
import refinedstorage.container.ContainerRelay;
|
||||||
import refinedstorage.tile.config.RedstoneMode;
|
import refinedstorage.tile.config.RedstoneMode;
|
||||||
|
|
||||||
public class TileRelay extends TileMachine {
|
public class TileRelay extends TileSlave {
|
||||||
private boolean couldUpdate;
|
private boolean couldUpdate;
|
||||||
|
|
||||||
public TileRelay() {
|
public TileRelay() {
|
||||||
@@ -18,7 +18,7 @@ public class TileRelay extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update() {
|
public void update() {
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ package refinedstorage.tile;
|
|||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.INetworkSlave;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
import refinedstorage.tile.config.RedstoneMode;
|
import refinedstorage.tile.config.RedstoneMode;
|
||||||
import refinedstorage.tile.controller.ControllerSearcher;
|
import refinedstorage.tile.controller.ControllerSearcher;
|
||||||
@@ -15,34 +17,18 @@ import refinedstorage.tile.controller.TileController;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public abstract class TileMachine extends TileBase implements ISynchronizedContainer, IRedstoneModeConfig {
|
public abstract class TileSlave extends TileBase implements ISynchronizedContainer, IRedstoneModeConfig, INetworkSlave {
|
||||||
public static final String NBT_CONNECTED = "Connected";
|
public static final String NBT_CONNECTED = "Connected";
|
||||||
|
|
||||||
protected boolean connected;
|
protected boolean connected;
|
||||||
protected boolean wasConnected;
|
protected boolean wasConnected;
|
||||||
protected RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
protected RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
||||||
protected StorageNetwork network;
|
protected NetworkMaster network;
|
||||||
|
|
||||||
private Block block;
|
private Block block;
|
||||||
|
|
||||||
private Set<String> visited = new HashSet<String>();
|
private Set<String> visited = new HashSet<String>();
|
||||||
|
|
||||||
public void searchController(World world) {
|
|
||||||
visited.clear();
|
|
||||||
|
|
||||||
TileController newController = ControllerSearcher.search(world, pos, visited);
|
|
||||||
|
|
||||||
if (network == null) {
|
|
||||||
if (newController != null) {
|
|
||||||
onConnected(world, newController);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (newController == null) {
|
|
||||||
onDisconnected(world);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update() {
|
public void update() {
|
||||||
if (!worldObj.isRemote) {
|
if (!worldObj.isRemote) {
|
||||||
@@ -50,59 +36,50 @@ public abstract class TileMachine extends TileBase implements ISynchronizedConta
|
|||||||
block = worldObj.getBlockState(pos).getBlock();
|
block = worldObj.getBlockState(pos).getBlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wasConnected != isActive() && canSendConnectivityData()) {
|
if (wasConnected != isActive() && canSendConnectivityUpdate()) {
|
||||||
wasConnected = isActive();
|
wasConnected = isActive();
|
||||||
|
|
||||||
RefinedStorageUtils.updateBlock(worldObj, pos);
|
RefinedStorageUtils.updateBlock(worldObj, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isActive()) {
|
|
||||||
updateMachine();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
super.update();
|
super.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canSendConnectivityData() {
|
@Override
|
||||||
|
public boolean canSendConnectivityUpdate() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean canUpdate() {
|
public boolean canUpdate() {
|
||||||
return redstoneMode.isEnabled(worldObj, pos);
|
return redstoneMode.isEnabled(worldObj, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
return connected && canUpdate();
|
return isConnected() && canUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onConnected(World world, TileController controller) {
|
@Override
|
||||||
if (tryConnect(controller) && block != null) {
|
public void connect(World world, NetworkMaster network) {
|
||||||
|
if (block != null && this.network.canRun()) {
|
||||||
|
this.network = network;
|
||||||
|
this.connected = true;
|
||||||
|
|
||||||
|
this.network.addSlave(this);
|
||||||
|
|
||||||
world.notifyNeighborsOfStateChange(pos, block);
|
world.notifyNeighborsOfStateChange(pos, block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean tryConnect(TileController controller) {
|
@Override
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(controller.getPos(), worldObj.provider.getDimension());
|
public void forceConnect(NetworkMaster network) {
|
||||||
|
|
||||||
if (!network.canRun()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.network = network;
|
|
||||||
this.connected = true;
|
|
||||||
|
|
||||||
network.addMachine(this);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void forceConnect(StorageNetwork network) {
|
|
||||||
this.network = network;
|
this.network = network;
|
||||||
this.connected = true;
|
this.connected = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onDisconnected(World world) {
|
@Override
|
||||||
|
public void disconnect(World world) {
|
||||||
this.connected = false;
|
this.connected = false;
|
||||||
|
|
||||||
if (this.network != null) {
|
if (this.network != null) {
|
||||||
@@ -113,10 +90,33 @@ public abstract class TileMachine extends TileBase implements ISynchronizedConta
|
|||||||
world.notifyNeighborsOfStateChange(pos, block);
|
world.notifyNeighborsOfStateChange(pos, block);
|
||||||
}
|
}
|
||||||
|
|
||||||
public StorageNetwork getNetwork() {
|
@Override
|
||||||
|
public void onNeighborChanged(World world) {
|
||||||
|
visited.clear();
|
||||||
|
|
||||||
|
TileController controller = ControllerSearcher.search(world, pos, visited);
|
||||||
|
|
||||||
|
if (network == null) {
|
||||||
|
if (controller != null) {
|
||||||
|
connect(world, NetworkMasterRegistry.get(controller.getPos(), world.provider.getDimension()));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (controller == null) {
|
||||||
|
disconnect(world);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public NetworkMaster getNetwork() {
|
||||||
return network;
|
return network;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BlockPos getPosition() {
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isConnected() {
|
public boolean isConnected() {
|
||||||
return connected;
|
return connected;
|
||||||
}
|
}
|
||||||
@@ -179,21 +179,17 @@ public abstract class TileMachine extends TileBase implements ISynchronizedConta
|
|||||||
connected = tag.getBoolean(NBT_CONNECTED);
|
connected = tag.getBoolean(NBT_CONNECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract int getEnergyUsage();
|
|
||||||
|
|
||||||
public abstract void updateMachine();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object other) {
|
public boolean equals(Object other) {
|
||||||
if (other == this) {
|
if (other == this) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(other instanceof TileMachine)) {
|
if (!(other instanceof TileSlave)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ((TileMachine) other).getPos().equals(pos);
|
return ((TileSlave) other).getPos().equals(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -19,7 +19,7 @@ import refinedstorage.inventory.BasicItemValidator;
|
|||||||
import refinedstorage.inventory.SoldererItemHandler;
|
import refinedstorage.inventory.SoldererItemHandler;
|
||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
|
|
||||||
public class TileSolderer extends TileMachine {
|
public class TileSolderer extends TileSlave {
|
||||||
public static final String NBT_WORKING = "Working";
|
public static final String NBT_WORKING = "Working";
|
||||||
public static final String NBT_PROGRESS = "Progress";
|
public static final String NBT_PROGRESS = "Progress";
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ public class TileSolderer extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
boolean wasWorking = working;
|
boolean wasWorking = working;
|
||||||
|
|
||||||
if (items.getStackInSlot(1) == null && items.getStackInSlot(2) == null && items.getStackInSlot(3) == null) {
|
if (items.getStackInSlot(1) == null && items.getStackInSlot(2) == null && items.getStackInSlot(3) == null) {
|
||||||
@@ -91,10 +91,10 @@ public class TileSolderer extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisconnected(World world) {
|
public void disconnect(World world) {
|
||||||
super.onDisconnected(world);
|
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
|
super.disconnect(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void stop() {
|
public void stop() {
|
||||||
|
|||||||
@@ -4,14 +4,11 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.inventory.Container;
|
import net.minecraft.inventory.Container;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.EnumFacing;
|
|
||||||
import net.minecraftforge.common.capabilities.Capability;
|
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.RefinedStorageCapabilities;
|
|
||||||
import refinedstorage.api.storage.IStorage;
|
import refinedstorage.api.storage.IStorage;
|
||||||
import refinedstorage.api.storage.IStorageProvider;
|
import refinedstorage.api.storage.IStorageProvider;
|
||||||
import refinedstorage.api.storage.NBTStorage;
|
import refinedstorage.api.storage.NBTStorage;
|
||||||
@@ -24,7 +21,7 @@ import refinedstorage.tile.config.*;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileStorage extends TileMachine implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
|
public class TileStorage extends TileSlave implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
|
||||||
class Storage extends NBTStorage {
|
class Storage extends NBTStorage {
|
||||||
public Storage() {
|
public Storage() {
|
||||||
super(TileStorage.this.getStorageTag(), TileStorage.this.getCapacity(), TileStorage.this);
|
super(TileStorage.this.getStorageTag(), TileStorage.this.getCapacity(), TileStorage.this);
|
||||||
@@ -69,7 +66,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -240,18 +237,4 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
|
|||||||
public int getCapacity() {
|
public int getCapacity() {
|
||||||
return getType().getCapacity();
|
return getType().getCapacity();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
|
||||||
if (capability == RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY) {
|
|
||||||
return (T) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.getCapability(capability, facing);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
|
|
||||||
return capability == RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY || super.hasCapability(capability, facing);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import refinedstorage.inventory.BasicItemHandler;
|
|||||||
import refinedstorage.inventory.BasicItemValidator;
|
import refinedstorage.inventory.BasicItemValidator;
|
||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
|
|
||||||
public class TileWirelessTransmitter extends TileMachine {
|
public class TileWirelessTransmitter extends TileSlave {
|
||||||
public static final int RANGE_PER_UPGRADE = 8;
|
public static final int RANGE_PER_UPGRADE = 8;
|
||||||
|
|
||||||
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_RANGE));
|
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_RANGE));
|
||||||
@@ -24,7 +24,7 @@ public class TileWirelessTransmitter extends TileMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import net.minecraft.tileentity.TileEntity;
|
|||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.tile.TileMachine;
|
|
||||||
import refinedstorage.tile.TileRelay;
|
import refinedstorage.tile.TileRelay;
|
||||||
|
import refinedstorage.tile.TileSlave;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ public final class ControllerSearcher {
|
|||||||
|
|
||||||
if (tile instanceof TileController) {
|
if (tile instanceof TileController) {
|
||||||
return (TileController) tile;
|
return (TileController) tile;
|
||||||
} else if (tile instanceof TileMachine) {
|
} else if (tile instanceof TileSlave) {
|
||||||
if (visited.size() > 1 && tile instanceof TileRelay && !((TileRelay) tile).canUpdate()) {
|
if (visited.size() > 1 && tile instanceof TileRelay && !((TileRelay) tile).canUpdate()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
|||||||
import net.minecraft.inventory.InventoryHelper;
|
import net.minecraft.inventory.InventoryHelper;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
import refinedstorage.autocrafting.task.ICraftingTask;
|
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.item.ItemWirelessGrid;
|
||||||
@@ -13,10 +13,10 @@ import refinedstorage.network.GridPullFlags;
|
|||||||
public class StorageHandler {
|
public class StorageHandler {
|
||||||
public static final int MAX_CRAFTING_PER_REQUEST = 500;
|
public static final int MAX_CRAFTING_PER_REQUEST = 500;
|
||||||
|
|
||||||
private StorageNetwork network;
|
private NetworkMaster master;
|
||||||
|
|
||||||
public StorageHandler(StorageNetwork network) {
|
public StorageHandler(NetworkMaster master) {
|
||||||
this.network = network;
|
this.master = master;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPull(int id, int flags, EntityPlayerMP player) {
|
public void onPull(int id, int flags, EntityPlayerMP player) {
|
||||||
@@ -24,11 +24,11 @@ public class StorageHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id < 0 || id > network.getItems().size() - 1) {
|
if (id < 0 || id > master.getItems().size() - 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack stack = network.getItems().get(id);
|
ItemStack stack = master.getItems().get(id);
|
||||||
|
|
||||||
int size = 64;
|
int size = 64;
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ public class StorageHandler {
|
|||||||
|
|
||||||
size = Math.min(size, stack.getItem().getItemStackLimit(stack));
|
size = Math.min(size, stack.getItem().getItemStackLimit(stack));
|
||||||
|
|
||||||
ItemStack took = network.take(stack, size);
|
ItemStack took = master.take(stack, size);
|
||||||
|
|
||||||
if (took != null) {
|
if (took != null) {
|
||||||
if (GridPullFlags.isPullingWithShift(flags)) {
|
if (GridPullFlags.isPullingWithShift(flags)) {
|
||||||
@@ -58,7 +58,7 @@ public class StorageHandler {
|
|||||||
player.updateHeldItem();
|
player.updateHeldItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
network.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PULL);
|
master.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,8 +71,8 @@ public class StorageHandler {
|
|||||||
int size = one ? 1 : stack.stackSize;
|
int size = one ? 1 : stack.stackSize;
|
||||||
|
|
||||||
if (one) {
|
if (one) {
|
||||||
if (network.push(stack, size, true) == null) {
|
if (master.push(stack, size, true) == null) {
|
||||||
network.push(stack, size, false);
|
master.push(stack, size, false);
|
||||||
|
|
||||||
stack.stackSize -= size;
|
stack.stackSize -= size;
|
||||||
|
|
||||||
@@ -81,21 +81,21 @@ public class StorageHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
player.inventory.setItemStack(network.push(stack, size, false));
|
player.inventory.setItemStack(master.push(stack, size, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
player.updateHeldItem();
|
player.updateHeldItem();
|
||||||
|
|
||||||
network.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PUSH);
|
master.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PUSH);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onCraftingRequested(int id, int quantity) {
|
public void onCraftingRequested(int id, int quantity) {
|
||||||
if (id >= 0 && id < network.getItems().size() && quantity > 0 && quantity <= MAX_CRAFTING_PER_REQUEST) {
|
if (id >= 0 && id < master.getItems().size() && quantity > 0 && quantity <= MAX_CRAFTING_PER_REQUEST) {
|
||||||
ItemStack requested = network.getItems().get(id);
|
ItemStack requested = master.getItems().get(id);
|
||||||
|
|
||||||
int quantityPerRequest = 0;
|
int quantityPerRequest = 0;
|
||||||
|
|
||||||
CraftingPattern pattern = network.getPatternWithBestScore(requested);
|
CraftingPattern pattern = master.getPatternWithBestScore(requested);
|
||||||
|
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
for (ItemStack output : pattern.getOutputs()) {
|
for (ItemStack output : pattern.getOutputs()) {
|
||||||
@@ -109,7 +109,7 @@ public class StorageHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (quantity > 0) {
|
while (quantity > 0) {
|
||||||
network.addCraftingTaskAsLast(network.createCraftingTask(pattern));
|
master.addCraftingTaskAsLast(master.createCraftingTask(pattern));
|
||||||
|
|
||||||
quantity -= quantityPerRequest;
|
quantity -= quantityPerRequest;
|
||||||
}
|
}
|
||||||
@@ -118,11 +118,11 @@ public class StorageHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onCraftingCancelRequested(int id) {
|
public void onCraftingCancelRequested(int id) {
|
||||||
if (id >= 0 && id < network.getCraftingTasks().size()) {
|
if (id >= 0 && id < master.getCraftingTasks().size()) {
|
||||||
network.cancelCraftingTask(network.getCraftingTasks().get(id));
|
master.cancelCraftingTask(master.getCraftingTasks().get(id));
|
||||||
} else if (id == -1) {
|
} else if (id == -1) {
|
||||||
for (ICraftingTask task : network.getCraftingTasks()) {
|
for (ICraftingTask task : master.getCraftingTasks()) {
|
||||||
network.cancelCraftingTask(task);
|
master.cancelCraftingTask(task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,14 +9,14 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.INetworkSlave;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
import refinedstorage.block.BlockController;
|
import refinedstorage.block.BlockController;
|
||||||
import refinedstorage.block.EnumControllerType;
|
import refinedstorage.block.EnumControllerType;
|
||||||
import refinedstorage.container.ContainerController;
|
import refinedstorage.container.ContainerController;
|
||||||
import refinedstorage.tile.ISynchronizedContainer;
|
import refinedstorage.tile.ISynchronizedContainer;
|
||||||
import refinedstorage.tile.TileBase;
|
import refinedstorage.tile.TileBase;
|
||||||
import refinedstorage.tile.TileMachine;
|
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
import refinedstorage.tile.config.RedstoneMode;
|
import refinedstorage.tile.config.RedstoneMode;
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileController extends TileBase implements IEnergyReceiver, ISynchronizedContainer, IRedstoneModeConfig {
|
public class TileController extends TileBase implements IEnergyReceiver, ISynchronizedContainer, IRedstoneModeConfig {
|
||||||
private StorageNetwork network;
|
private NetworkMaster network;
|
||||||
|
|
||||||
// Only used client side
|
// Only used client side
|
||||||
private List<ClientMachine> clientMachines = new ArrayList<ClientMachine>();
|
private List<ClientMachine> clientMachines = new ArrayList<ClientMachine>();
|
||||||
@@ -33,9 +33,9 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
private EnumControllerType type;
|
private EnumControllerType type;
|
||||||
private RedstoneMode redstoneMode;
|
private RedstoneMode redstoneMode;
|
||||||
|
|
||||||
public StorageNetwork getNetwork() {
|
public NetworkMaster getNetwork() {
|
||||||
if (network == null) {
|
if (network == null) {
|
||||||
network = StorageNetworkRegistry.get(pos, worldObj.provider.getDimension());
|
network = NetworkMasterRegistry.get(pos, worldObj.provider.getDimension());
|
||||||
}
|
}
|
||||||
|
|
||||||
return network;
|
return network;
|
||||||
@@ -45,14 +45,14 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
||||||
super.writeUpdate(tag);
|
super.writeUpdate(tag);
|
||||||
|
|
||||||
tag.setInteger(StorageNetwork.NBT_ENERGY, getNetwork() != null ? getNetwork().getEnergy().getEnergyStored() : 0);
|
tag.setInteger(NetworkMaster.NBT_ENERGY, getNetwork() != null ? getNetwork().getEnergy().getEnergyStored() : 0);
|
||||||
|
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readUpdate(NBTTagCompound tag) {
|
public void readUpdate(NBTTagCompound tag) {
|
||||||
energy = tag.getInteger(StorageNetwork.NBT_ENERGY);
|
energy = tag.getInteger(NetworkMaster.NBT_ENERGY);
|
||||||
|
|
||||||
super.readUpdate(tag);
|
super.readUpdate(tag);
|
||||||
}
|
}
|
||||||
@@ -69,7 +69,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
|
|
||||||
public int getEnergyScaled(int i) {
|
public int getEnergyScaled(int i) {
|
||||||
float stored = worldObj.isRemote ? energy : getNetwork().getEnergy().getEnergyStored();
|
float stored = worldObj.isRemote ? energy : getNetwork().getEnergy().getEnergyStored();
|
||||||
float max = StorageNetwork.ENERGY_CAPACITY;
|
float max = NetworkMaster.ENERGY_CAPACITY;
|
||||||
|
|
||||||
return (int) (stored / max * (float) i);
|
return (int) (stored / max * (float) i);
|
||||||
}
|
}
|
||||||
@@ -145,9 +145,9 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
|
|
||||||
List<ClientMachine> m = new ArrayList<ClientMachine>();
|
List<ClientMachine> m = new ArrayList<ClientMachine>();
|
||||||
|
|
||||||
for (TileMachine machine : getNetwork().getMachines()) {
|
for (INetworkSlave machine : getNetwork().getSlaves()) {
|
||||||
if (machine.canUpdate()) {
|
if (machine.canUpdate()) {
|
||||||
IBlockState state = worldObj.getBlockState(machine.getPos());
|
IBlockState state = worldObj.getBlockState(machine.getPosition());
|
||||||
|
|
||||||
ClientMachine clientMachine = new ClientMachine();
|
ClientMachine clientMachine = new ClientMachine();
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.RefinedStorageItems;
|
import refinedstorage.RefinedStorageItems;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.item.ItemWirelessGrid;
|
||||||
import refinedstorage.tile.grid.WirelessGridConsumer;
|
import refinedstorage.tile.grid.WirelessGridConsumer;
|
||||||
|
|
||||||
@@ -17,13 +17,13 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class WirelessGridHandler {
|
public class WirelessGridHandler {
|
||||||
private StorageNetwork network;
|
private NetworkMaster network;
|
||||||
|
|
||||||
private List<WirelessGridConsumer> consumers = new ArrayList<WirelessGridConsumer>();
|
private List<WirelessGridConsumer> consumers = new ArrayList<WirelessGridConsumer>();
|
||||||
private List<WirelessGridConsumer> consumersToRemove = new ArrayList<WirelessGridConsumer>();
|
private List<WirelessGridConsumer> consumersToRemove = new ArrayList<WirelessGridConsumer>();
|
||||||
|
|
||||||
public WirelessGridHandler(StorageNetwork network) {
|
public WirelessGridHandler(NetworkMaster master) {
|
||||||
this.network = network;
|
this.network = master;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update() {
|
public void update() {
|
||||||
|
|||||||
@@ -6,20 +6,17 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.inventory.Container;
|
import net.minecraft.inventory.Container;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
|
||||||
import net.minecraftforge.common.capabilities.Capability;
|
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import powercrystals.minefactoryreloaded.api.IDeepStorageUnit;
|
import powercrystals.minefactoryreloaded.api.IDeepStorageUnit;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.RefinedStorageCapabilities;
|
|
||||||
import refinedstorage.api.storage.IStorage;
|
import refinedstorage.api.storage.IStorage;
|
||||||
import refinedstorage.api.storage.IStorageProvider;
|
import refinedstorage.api.storage.IStorageProvider;
|
||||||
import refinedstorage.container.ContainerStorage;
|
import refinedstorage.container.ContainerStorage;
|
||||||
import refinedstorage.inventory.BasicItemHandler;
|
import refinedstorage.inventory.BasicItemHandler;
|
||||||
import refinedstorage.network.MessagePriorityUpdate;
|
import refinedstorage.network.MessagePriorityUpdate;
|
||||||
import refinedstorage.tile.IStorageGui;
|
import refinedstorage.tile.IStorageGui;
|
||||||
import refinedstorage.tile.TileMachine;
|
import refinedstorage.tile.TileSlave;
|
||||||
import refinedstorage.tile.config.ICompareConfig;
|
import refinedstorage.tile.config.ICompareConfig;
|
||||||
import refinedstorage.tile.config.IModeConfig;
|
import refinedstorage.tile.config.IModeConfig;
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
@@ -27,7 +24,7 @@ import refinedstorage.tile.config.ModeConstants;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileExternalStorage extends TileMachine implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
|
public class TileExternalStorage extends TileSlave implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
|
||||||
public static final String NBT_PRIORITY = "Priority";
|
public static final String NBT_PRIORITY = "Priority";
|
||||||
public static final String NBT_COMPARE = "Compare";
|
public static final String NBT_COMPARE = "Compare";
|
||||||
public static final String NBT_MODE = "Mode";
|
public static final String NBT_MODE = "Mode";
|
||||||
@@ -48,7 +45,7 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -240,18 +237,4 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider
|
|||||||
public IItemHandler getFilters() {
|
public IItemHandler getFilters() {
|
||||||
return filters;
|
return filters;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
|
||||||
if (capability == RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY) {
|
|
||||||
return (T) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.getCapability(capability, facing);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
|
|
||||||
return capability == RefinedStorageCapabilities.STORAGE_PROVIDER_CAPABILITY || super.hasCapability(capability, facing);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ import refinedstorage.network.MessageGridHeldItemPush;
|
|||||||
import refinedstorage.network.MessageGridSettingsUpdate;
|
import refinedstorage.network.MessageGridSettingsUpdate;
|
||||||
import refinedstorage.network.MessageGridStoragePull;
|
import refinedstorage.network.MessageGridStoragePull;
|
||||||
import refinedstorage.tile.ClientItem;
|
import refinedstorage.tile.ClientItem;
|
||||||
import refinedstorage.tile.TileMachine;
|
import refinedstorage.tile.TileSlave;
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TileGrid extends TileMachine implements IGrid {
|
public class TileGrid extends TileSlave implements IGrid {
|
||||||
public static final String NBT_SORTING_DIRECTION = "SortingDirection";
|
public static final String NBT_SORTING_DIRECTION = "SortingDirection";
|
||||||
public static final String NBT_SORTING_TYPE = "SortingType";
|
public static final String NBT_SORTING_TYPE = "SortingType";
|
||||||
public static final String NBT_SEARCH_BOX_MODE = "SearchBoxMode";
|
public static final String NBT_SEARCH_BOX_MODE = "SearchBoxMode";
|
||||||
@@ -86,7 +86,7 @@ public class TileGrid extends TileMachine implements IGrid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMachine() {
|
public void updateSlave() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public EnumGridType getType() {
|
public EnumGridType getType() {
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.storagenet.StorageNetwork;
|
import refinedstorage.api.storagenet.NetworkMaster;
|
||||||
import refinedstorage.api.storagenet.StorageNetworkRegistry;
|
import refinedstorage.api.storagenet.NetworkMasterRegistry;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.item.ItemWirelessGrid;
|
||||||
import refinedstorage.network.MessageWirelessGridCraftingStart;
|
import refinedstorage.network.MessageWirelessGridCraftingStart;
|
||||||
@@ -63,7 +63,7 @@ public class WirelessGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack onItemPush(EntityPlayer player, ItemStack stack) {
|
public ItemStack onItemPush(EntityPlayer player, ItemStack stack) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(controllerPos, player.worldObj.provider.getDimension());
|
NetworkMaster network = NetworkMasterRegistry.get(controllerPos, player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null && network.canRun()) {
|
if (network != null && network.canRun()) {
|
||||||
network.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PUSH);
|
network.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PUSH);
|
||||||
@@ -85,7 +85,7 @@ public class WirelessGrid implements IGrid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onClose(EntityPlayer player) {
|
public void onClose(EntityPlayer player) {
|
||||||
StorageNetwork network = StorageNetworkRegistry.get(controllerPos, player.worldObj.provider.getDimension());
|
NetworkMaster network = NetworkMasterRegistry.get(controllerPos, player.worldObj.provider.getDimension());
|
||||||
|
|
||||||
if (network != null) {
|
if (network != null) {
|
||||||
network.getWirelessGridHandler().handleClose(player);
|
network.getWirelessGridHandler().handleClose(player);
|
||||||
|
|||||||
Reference in New Issue
Block a user