Make wireless grid handler and storage handler a interface too
This commit is contained in:
16
src/main/java/refinedstorage/api/network/IGridHandler.java
Executable file
16
src/main/java/refinedstorage/api/network/IGridHandler.java
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
package refinedstorage.api.network;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public interface IGridHandler {
|
||||||
|
void onPull(ItemStack stack, int flags, EntityPlayerMP player);
|
||||||
|
|
||||||
|
ItemStack onPush(ItemStack stack);
|
||||||
|
|
||||||
|
void onHeldItemPush(boolean single, EntityPlayerMP player);
|
||||||
|
|
||||||
|
void onCraftingRequested(ItemStack stack, int quantity);
|
||||||
|
|
||||||
|
void onCraftingCancelRequested(int id);
|
||||||
|
}
|
||||||
80
src/main/java/refinedstorage/api/network/INetworkMaster.java
Executable file
80
src/main/java/refinedstorage/api/network/INetworkMaster.java
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
package refinedstorage.api.network;
|
||||||
|
|
||||||
|
import cofh.api.energy.EnergyStorage;
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
|
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||||
|
import refinedstorage.tile.config.RedstoneMode;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface INetworkMaster {
|
||||||
|
RedstoneMode getRedstoneMode();
|
||||||
|
|
||||||
|
void setRedstoneMode(RedstoneMode mode);
|
||||||
|
|
||||||
|
World getWorld();
|
||||||
|
|
||||||
|
void setWorld(World world);
|
||||||
|
|
||||||
|
EnergyStorage getEnergy();
|
||||||
|
|
||||||
|
int getEnergyUsage();
|
||||||
|
|
||||||
|
BlockPos getPosition();
|
||||||
|
|
||||||
|
boolean canRun();
|
||||||
|
|
||||||
|
void update();
|
||||||
|
|
||||||
|
Iterator<INetworkSlave> getSlaves();
|
||||||
|
|
||||||
|
void addSlave(BlockPos slave);
|
||||||
|
|
||||||
|
void removeSlave(BlockPos slave);
|
||||||
|
|
||||||
|
IGridHandler getGridHandler();
|
||||||
|
|
||||||
|
IWirelessGridHandler getWirelessGridHandler();
|
||||||
|
|
||||||
|
List<ItemStack> getItems();
|
||||||
|
|
||||||
|
List<ICraftingTask> getCraftingTasks();
|
||||||
|
|
||||||
|
void addCraftingTask(ICraftingTask task);
|
||||||
|
|
||||||
|
void addCraftingTaskAsLast(ICraftingTask task);
|
||||||
|
|
||||||
|
ICraftingTask createCraftingTask(CraftingPattern pattern);
|
||||||
|
|
||||||
|
void cancelCraftingTask(ICraftingTask task);
|
||||||
|
|
||||||
|
List<CraftingPattern> getPatterns();
|
||||||
|
|
||||||
|
List<CraftingPattern> getPattern(ItemStack pattern, int flags);
|
||||||
|
|
||||||
|
CraftingPattern getPatternWithBestScore(ItemStack pattern);
|
||||||
|
|
||||||
|
CraftingPattern getPatternWithBestScore(ItemStack pattern, int flags);
|
||||||
|
|
||||||
|
void updateItemsWithClient();
|
||||||
|
|
||||||
|
void updateItemsWithClient(EntityPlayerMP player);
|
||||||
|
|
||||||
|
ItemStack push(ItemStack stack, int size, boolean simulate);
|
||||||
|
|
||||||
|
ItemStack take(ItemStack stack, int size);
|
||||||
|
|
||||||
|
ItemStack take(ItemStack stack, int size, int flags);
|
||||||
|
|
||||||
|
ItemStack getItem(ItemStack stack, int flags);
|
||||||
|
|
||||||
|
NBTTagCompound writeToNBT(NBTTagCompound tag);
|
||||||
|
|
||||||
|
void readFromNBT(NBTTagCompound tag);
|
||||||
|
}
|
||||||
@@ -36,18 +36,17 @@ public interface INetworkSlave {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a connection is found to the network
|
* Called when a connection is found to the network
|
||||||
*
|
* @param world The world
|
||||||
* @param world The world
|
|
||||||
* @param network The network we're trying to connect to
|
* @param network The network we're trying to connect to
|
||||||
*/
|
*/
|
||||||
void connect(World world, NetworkMaster network);
|
void connect(World world, INetworkMaster network);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when the slave is loaded from a save file
|
* Called when the slave is loaded from a save file
|
||||||
*
|
*
|
||||||
* @param network The network we have to connected to
|
* @param network The network we have to connected to
|
||||||
*/
|
*/
|
||||||
void forceConnect(NetworkMaster network);
|
void forceConnect(INetworkMaster network);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a connection is lost to the network
|
* Called when a connection is lost to the network
|
||||||
@@ -69,5 +68,5 @@ public interface INetworkSlave {
|
|||||||
/**
|
/**
|
||||||
* @return The network
|
* @return The network
|
||||||
*/
|
*/
|
||||||
NetworkMaster getNetwork();
|
INetworkMaster getNetwork();
|
||||||
}
|
}
|
||||||
|
|||||||
16
src/main/java/refinedstorage/api/network/IWirelessGridHandler.java
Executable file
16
src/main/java/refinedstorage/api/network/IWirelessGridHandler.java
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
package refinedstorage.api.network;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.util.EnumHand;
|
||||||
|
|
||||||
|
public interface IWirelessGridHandler {
|
||||||
|
void update();
|
||||||
|
|
||||||
|
boolean onOpen(EntityPlayer player, EnumHand hand);
|
||||||
|
|
||||||
|
void onClose(EntityPlayer player);
|
||||||
|
|
||||||
|
void drainEnergy(EntityPlayer player, int energy);
|
||||||
|
|
||||||
|
WirelessGridConsumer getConsumer(EntityPlayer player);
|
||||||
|
}
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
package refinedstorage.api.network;
|
|
||||||
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class NetworkMasterRegistry {
|
|
||||||
public static final Map<Integer, Map<BlockPos, NetworkMaster>> NETWORKS = new HashMap<Integer, Map<BlockPos, NetworkMaster>>();
|
|
||||||
|
|
||||||
public static void add(NetworkMaster network, int dimension) {
|
|
||||||
if (NETWORKS.get(dimension) == null) {
|
|
||||||
NETWORKS.put(dimension, new HashMap<BlockPos, NetworkMaster>());
|
|
||||||
}
|
|
||||||
|
|
||||||
NETWORKS.get(dimension).put(network.getPosition(), network);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void remove(BlockPos pos, int dimension) {
|
|
||||||
if (get(dimension) != null) {
|
|
||||||
NetworkMaster network = get(dimension).get(pos);
|
|
||||||
|
|
||||||
if (network != null) {
|
|
||||||
network.onRemoved();
|
|
||||||
|
|
||||||
get(dimension).remove(pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static NetworkMaster get(BlockPos pos, int dimension) {
|
|
||||||
return get(dimension) == null ? null : get(dimension).get(pos);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Map<BlockPos, NetworkMaster> get(int dimension) {
|
|
||||||
return NETWORKS.get(dimension);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void clear() {
|
|
||||||
NETWORKS.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.tile.grid;
|
package refinedstorage.api.network;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
@@ -1,24 +1,25 @@
|
|||||||
package refinedstorage.tile.controller;
|
package refinedstorage.apiimpl.network;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
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.network.NetworkMaster;
|
import refinedstorage.api.network.IGridHandler;
|
||||||
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;
|
||||||
import refinedstorage.network.GridPullFlags;
|
import refinedstorage.network.GridPullFlags;
|
||||||
|
|
||||||
public class StorageHandler {
|
public class GridHandler implements IGridHandler {
|
||||||
public static final int MAX_CRAFTING_PER_REQUEST = 500;
|
public static final int MAX_CRAFTING_PER_REQUEST = 500;
|
||||||
|
|
||||||
private NetworkMaster network;
|
private NetworkMaster network;
|
||||||
|
|
||||||
public StorageHandler(NetworkMaster network) {
|
public GridHandler(NetworkMaster network) {
|
||||||
this.network = network;
|
this.network = network;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void onPull(ItemStack stack, int flags, EntityPlayerMP player) {
|
public void onPull(ItemStack stack, int flags, EntityPlayerMP player) {
|
||||||
if (player.inventory.getItemStack() != null) {
|
if (player.inventory.getItemStack() != null) {
|
||||||
return;
|
return;
|
||||||
@@ -56,10 +57,12 @@ public class StorageHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ItemStack onPush(ItemStack stack) {
|
public ItemStack onPush(ItemStack stack) {
|
||||||
return network.push(stack, stack.stackSize, false);
|
return network.push(stack, stack.stackSize, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void onHeldItemPush(boolean single, EntityPlayerMP player) {
|
public void onHeldItemPush(boolean single, EntityPlayerMP player) {
|
||||||
if (player.inventory.getItemStack() == null) {
|
if (player.inventory.getItemStack() == null) {
|
||||||
return;
|
return;
|
||||||
@@ -87,6 +90,7 @@ public class StorageHandler {
|
|||||||
network.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PUSH);
|
network.getWirelessGridHandler().drainEnergy(player, ItemWirelessGrid.USAGE_PUSH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void onCraftingRequested(ItemStack stack, int quantity) {
|
public void onCraftingRequested(ItemStack stack, int quantity) {
|
||||||
if (quantity <= 0 || quantity > MAX_CRAFTING_PER_REQUEST) {
|
if (quantity <= 0 || quantity > MAX_CRAFTING_PER_REQUEST) {
|
||||||
return;
|
return;
|
||||||
@@ -115,6 +119,7 @@ public class StorageHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void onCraftingCancelRequested(int id) {
|
public void onCraftingCancelRequested(int id) {
|
||||||
if (id >= 0 && id < network.getCraftingTasks().size()) {
|
if (id >= 0 && id < network.getCraftingTasks().size()) {
|
||||||
network.cancelCraftingTask(network.getCraftingTasks().get(id));
|
network.cancelCraftingTask(network.getCraftingTasks().get(id));
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.api.network;
|
package refinedstorage.apiimpl.network;
|
||||||
|
|
||||||
import cofh.api.energy.EnergyStorage;
|
import cofh.api.energy.EnergyStorage;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
@@ -14,6 +14,10 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.RefinedStorageCapabilities;
|
import refinedstorage.api.RefinedStorageCapabilities;
|
||||||
|
import refinedstorage.api.network.IGridHandler;
|
||||||
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
|
import refinedstorage.api.network.INetworkSlave;
|
||||||
|
import refinedstorage.api.network.IWirelessGridHandler;
|
||||||
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.api.storage.IStorageProvider;
|
||||||
@@ -30,12 +34,10 @@ import refinedstorage.tile.TileCable;
|
|||||||
import refinedstorage.tile.TileCrafter;
|
import refinedstorage.tile.TileCrafter;
|
||||||
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.WirelessGridHandler;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class NetworkMaster {
|
public class NetworkMaster implements INetworkMaster {
|
||||||
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";
|
||||||
@@ -45,7 +47,7 @@ public class NetworkMaster {
|
|||||||
public static final String NBT_SLAVE_Y = "Y";
|
public static final String NBT_SLAVE_Y = "Y";
|
||||||
public static final String NBT_SLAVE_Z = "Z";
|
public static final String NBT_SLAVE_Z = "Z";
|
||||||
|
|
||||||
private StorageHandler storageHandler = new StorageHandler(this);
|
private GridHandler gridHandler = new GridHandler(this);
|
||||||
private WirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this);
|
private WirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this);
|
||||||
|
|
||||||
private List<ItemStack> items = new ArrayList<ItemStack>();
|
private List<ItemStack> items = new ArrayList<ItemStack>();
|
||||||
@@ -86,7 +88,7 @@ public class NetworkMaster {
|
|||||||
public NetworkMaster(BlockPos pos, World world) {
|
public NetworkMaster(BlockPos pos, World world) {
|
||||||
this.pos = pos;
|
this.pos = pos;
|
||||||
|
|
||||||
onAdded(world);
|
setWorld(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
public NetworkMaster(BlockPos pos) {
|
public NetworkMaster(BlockPos pos) {
|
||||||
@@ -119,6 +121,23 @@ public class NetworkMaster {
|
|||||||
return world;
|
return world;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setWorld(World world) {
|
||||||
|
this.world = world;
|
||||||
|
this.type = (EnumControllerType) world.getBlockState(pos).getValue(BlockController.TYPE);
|
||||||
|
|
||||||
|
for (BlockPos slavePos : slavesToLoad) {
|
||||||
|
INetworkSlave slave = world.getTileEntity(slavePos).getCapability(RefinedStorageCapabilities.NETWORK_SLAVE_CAPABILITY, null);
|
||||||
|
|
||||||
|
slave.forceConnect(this);
|
||||||
|
|
||||||
|
if (!(slave instanceof TileCable)) {
|
||||||
|
slaves.add(slavePos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.slavesToLoad.clear();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean canRun() {
|
public boolean canRun() {
|
||||||
return energy.getEnergyStored() > 0 && energy.getEnergyStored() >= energyUsage && redstoneMode.isEnabled(world, pos);
|
return energy.getEnergyStored() > 0 && energy.getEnergyStored() >= energyUsage && redstoneMode.isEnabled(world, pos);
|
||||||
}
|
}
|
||||||
@@ -138,7 +157,7 @@ public class NetworkMaster {
|
|||||||
|
|
||||||
if (canRun()) {
|
if (canRun()) {
|
||||||
if (ticks % 20 == 0) {
|
if (ticks % 20 == 0) {
|
||||||
syncMachines();
|
updateSlaves();
|
||||||
}
|
}
|
||||||
|
|
||||||
Iterator<INetworkSlave> slaves = getSlaves();
|
Iterator<INetworkSlave> slaves = getSlaves();
|
||||||
@@ -188,7 +207,7 @@ public class NetworkMaster {
|
|||||||
}
|
}
|
||||||
} else if (!slaves.isEmpty()) {
|
} else if (!slaves.isEmpty()) {
|
||||||
disconnectAll();
|
disconnectAll();
|
||||||
syncMachines();
|
updateSlaves();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (couldRun != canRun()) {
|
if (couldRun != canRun()) {
|
||||||
@@ -255,11 +274,12 @@ public class NetworkMaster {
|
|||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public StorageHandler getStorageHandler() {
|
public IGridHandler getGridHandler() {
|
||||||
return storageHandler;
|
return gridHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public WirelessGridHandler getWirelessGridHandler() {
|
@Override
|
||||||
|
public IWirelessGridHandler getWirelessGridHandler() {
|
||||||
return wirelessGridHandler;
|
return wirelessGridHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,27 +297,6 @@ public class NetworkMaster {
|
|||||||
this.slaves.clear();
|
this.slaves.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onRemoved() {
|
|
||||||
markDirty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onAdded(World world) {
|
|
||||||
this.world = world;
|
|
||||||
this.type = (EnumControllerType) world.getBlockState(pos).getValue(BlockController.TYPE);
|
|
||||||
|
|
||||||
for (BlockPos slavePos : slavesToLoad) {
|
|
||||||
INetworkSlave slave = world.getTileEntity(slavePos).getCapability(RefinedStorageCapabilities.NETWORK_SLAVE_CAPABILITY, null);
|
|
||||||
|
|
||||||
slave.forceConnect(this);
|
|
||||||
|
|
||||||
if (!(slave instanceof TileCable)) {
|
|
||||||
slaves.add(slavePos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.slavesToLoad.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<ItemStack> getItems() {
|
public List<ItemStack> getItems() {
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
@@ -384,7 +383,7 @@ public class NetworkMaster {
|
|||||||
return patterns.get(highestPattern);
|
return patterns.get(highestPattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void syncMachines() {
|
private void updateSlaves() {
|
||||||
this.wirelessGridRange = 0;
|
this.wirelessGridRange = 0;
|
||||||
this.energyUsage = 0;
|
this.energyUsage = 0;
|
||||||
this.storages.clear();
|
this.storages.clear();
|
||||||
@@ -446,11 +445,11 @@ public class NetworkMaster {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
syncItems();
|
updateItems();
|
||||||
syncItemsWithClients();
|
updateItemsWithClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void syncItems() {
|
private void updateItems() {
|
||||||
items.clear();
|
items.clear();
|
||||||
|
|
||||||
for (IStorage storage : storages) {
|
for (IStorage storage : storages) {
|
||||||
@@ -498,15 +497,15 @@ public class NetworkMaster {
|
|||||||
items.removeAll(combinedItems);
|
items.removeAll(combinedItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void syncItemsWithClients() {
|
public void updateItemsWithClient() {
|
||||||
for (EntityPlayer player : world.playerEntities) {
|
for (EntityPlayer player : world.playerEntities) {
|
||||||
if (player.openContainer.getClass() == ContainerGrid.class && pos.equals(((ContainerGrid) player.openContainer).getGrid().getNetworkPosition())) {
|
if (player.openContainer.getClass() == ContainerGrid.class && pos.equals(((ContainerGrid) player.openContainer).getGrid().getNetworkPosition())) {
|
||||||
syncItemsWithClient((EntityPlayerMP) player);
|
updateItemsWithClient((EntityPlayerMP) player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void syncItemsWithClient(EntityPlayerMP player) {
|
public void updateItemsWithClient(EntityPlayerMP player) {
|
||||||
RefinedStorage.NETWORK.sendTo(new MessageGridItems(this), player);
|
RefinedStorage.NETWORK.sendTo(new MessageGridItems(this), player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -536,8 +535,8 @@ public class NetworkMaster {
|
|||||||
int sizePushed = remainder != null ? (orginalSize - remainder.stackSize) : orginalSize;
|
int sizePushed = remainder != null ? (orginalSize - remainder.stackSize) : orginalSize;
|
||||||
|
|
||||||
if (!simulate && sizePushed > 0) {
|
if (!simulate && sizePushed > 0) {
|
||||||
syncItems();
|
updateItems();
|
||||||
syncItemsWithClients();
|
updateItemsWithClient();
|
||||||
|
|
||||||
for (int i = 0; i < sizePushed; ++i) {
|
for (int i = 0; i < sizePushed; ++i) {
|
||||||
if (!craftingTasks.empty()) {
|
if (!craftingTasks.empty()) {
|
||||||
@@ -582,8 +581,8 @@ public class NetworkMaster {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (newStack != null) {
|
if (newStack != null) {
|
||||||
syncItems();
|
updateItems();
|
||||||
syncItemsWithClients();
|
updateItemsWithClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
return newStack;
|
return newStack;
|
||||||
@@ -1,21 +1,22 @@
|
|||||||
package refinedstorage.api.network;
|
package refinedstorage.apiimpl.network;
|
||||||
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.event.world.WorldEvent;
|
import net.minecraftforge.event.world.WorldEvent;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||||
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NetworkMasterEventHandler {
|
public class NetworkMasterEventHandler {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onWorldTick(TickEvent.WorldTickEvent e) {
|
public void onWorldTick(TickEvent.WorldTickEvent e) {
|
||||||
Map<BlockPos, NetworkMaster> networks = NetworkMasterRegistry.get(e.world.provider.getDimension());
|
Map<BlockPos, INetworkMaster> networks = NetworkMasterRegistry.get(e.world);
|
||||||
|
|
||||||
if (networks != null) {
|
if (networks != null) {
|
||||||
for (NetworkMaster network : networks.values()) {
|
for (INetworkMaster network : networks.values()) {
|
||||||
if (network.getWorld() == null) {
|
if (network.getWorld() == null) {
|
||||||
network.onAdded(e.world);
|
network.setWorld(e.world);
|
||||||
}
|
}
|
||||||
|
|
||||||
network.update();
|
network.update();
|
||||||
48
src/main/java/refinedstorage/apiimpl/network/NetworkMasterRegistry.java
Executable file
48
src/main/java/refinedstorage/apiimpl/network/NetworkMasterRegistry.java
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
package refinedstorage.apiimpl.network;
|
||||||
|
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class NetworkMasterRegistry {
|
||||||
|
public static final Map<Integer, Map<BlockPos, INetworkMaster>> NETWORKS = new HashMap<Integer, Map<BlockPos, INetworkMaster>>();
|
||||||
|
|
||||||
|
public static void add(World world, INetworkMaster network) {
|
||||||
|
add(world.provider.getDimension(), network);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void add(int dim, INetworkMaster network) {
|
||||||
|
if (NETWORKS.get(dim) == null) {
|
||||||
|
NETWORKS.put(dim, new HashMap<BlockPos, INetworkMaster>());
|
||||||
|
}
|
||||||
|
|
||||||
|
NETWORKS.get(dim).put(network.getPosition(), network);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void remove(World world, BlockPos pos) {
|
||||||
|
if (get(world) != null) {
|
||||||
|
INetworkMaster network = get(world).get(pos);
|
||||||
|
|
||||||
|
if (network != null) {
|
||||||
|
get(world).remove(pos);
|
||||||
|
|
||||||
|
NetworkMasterSavedData.getOrLoad(world).markDirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static INetworkMaster get(World world, BlockPos pos) {
|
||||||
|
return get(world) == null ? null : get(world).get(pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<BlockPos, INetworkMaster> get(World world) {
|
||||||
|
return NETWORKS.get(world.provider.getDimension());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void clear() {
|
||||||
|
NETWORKS.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.api.network;
|
package refinedstorage.apiimpl.network;
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.nbt.NBTTagList;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
@@ -6,6 +6,7 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldSavedData;
|
import net.minecraft.world.WorldSavedData;
|
||||||
import net.minecraftforge.common.util.Constants;
|
import net.minecraftforge.common.util.Constants;
|
||||||
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -29,11 +30,11 @@ public class NetworkMasterSavedData extends WorldSavedData {
|
|||||||
for (int i = 0; i < networks.tagCount(); ++i) {
|
for (int i = 0; i < networks.tagCount(); ++i) {
|
||||||
NBTTagCompound networkTag = networks.getCompoundTagAt(i);
|
NBTTagCompound networkTag = networks.getCompoundTagAt(i);
|
||||||
|
|
||||||
NetworkMaster network = new NetworkMaster(new BlockPos(networkTag.getInteger(NBT_NETWORK_X), networkTag.getInteger(NBT_NETWORK_Y), networkTag.getInteger(NBT_NETWORK_Z)));
|
INetworkMaster network = new NetworkMaster(new BlockPos(networkTag.getInteger(NBT_NETWORK_X), networkTag.getInteger(NBT_NETWORK_Y), networkTag.getInteger(NBT_NETWORK_Z)));
|
||||||
|
|
||||||
network.readFromNBT(networkTag.getCompoundTag(NBT_NETWORK_DATA));
|
network.readFromNBT(networkTag.getCompoundTag(NBT_NETWORK_DATA));
|
||||||
|
|
||||||
NetworkMasterRegistry.add(network, networkTag.getInteger(NBT_NETWORK_DIM));
|
NetworkMasterRegistry.add(networkTag.getInteger(NBT_NETWORK_DIM), network);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,8 +42,8 @@ public class NetworkMasterSavedData 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, NetworkMaster>> entry : NetworkMasterRegistry.NETWORKS.entrySet()) {
|
for (Map.Entry<Integer, Map<BlockPos, INetworkMaster>> entry : NetworkMasterRegistry.NETWORKS.entrySet()) {
|
||||||
for (NetworkMaster network : entry.getValue().values()) {
|
for (INetworkMaster network : entry.getValue().values()) {
|
||||||
NBTTagCompound networkTag = new NBTTagCompound();
|
NBTTagCompound networkTag = new NBTTagCompound();
|
||||||
|
|
||||||
networkTag.setInteger(NBT_NETWORK_X, network.getPosition().getX());
|
networkTag.setInteger(NBT_NETWORK_X, network.getPosition().getX());
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.tile.controller;
|
package refinedstorage.apiimpl.network;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
@@ -8,15 +8,15 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.RefinedStorageItems;
|
import refinedstorage.RefinedStorageItems;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.network.NetworkMaster;
|
import refinedstorage.api.network.IWirelessGridHandler;
|
||||||
|
import refinedstorage.api.network.WirelessGridConsumer;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.item.ItemWirelessGrid;
|
||||||
import refinedstorage.tile.grid.WirelessGridConsumer;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class WirelessGridHandler {
|
public class WirelessGridHandler implements IWirelessGridHandler {
|
||||||
private NetworkMaster network;
|
private NetworkMaster network;
|
||||||
|
|
||||||
private List<WirelessGridConsumer> consumers = new ArrayList<WirelessGridConsumer>();
|
private List<WirelessGridConsumer> consumers = new ArrayList<WirelessGridConsumer>();
|
||||||
@@ -26,6 +26,7 @@ public class WirelessGridHandler {
|
|||||||
this.network = network;
|
this.network = network;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void update() {
|
public void update() {
|
||||||
consumers.removeAll(consumersToRemove);
|
consumers.removeAll(consumersToRemove);
|
||||||
consumersToRemove.clear();
|
consumersToRemove.clear();
|
||||||
@@ -41,7 +42,8 @@ public class WirelessGridHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean handleOpen(EntityPlayer player, EnumHand hand) {
|
@Override
|
||||||
|
public boolean onOpen(EntityPlayer player, EnumHand hand) {
|
||||||
int distance = (int) Math.sqrt(Math.pow(network.getPosition().getX() - player.posX, 2) + Math.pow(network.getPosition().getY() - player.posY, 2) + Math.pow(network.getPosition().getZ() - player.posZ, 2));
|
int distance = (int) Math.sqrt(Math.pow(network.getPosition().getX() - player.posX, 2) + Math.pow(network.getPosition().getY() - player.posY, 2) + Math.pow(network.getPosition().getZ() - player.posZ, 2));
|
||||||
|
|
||||||
if (distance > network.getWirelessGridRange()) {
|
if (distance > network.getWirelessGridRange()) {
|
||||||
@@ -52,14 +54,15 @@ public class WirelessGridHandler {
|
|||||||
|
|
||||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_GRID, player.worldObj, RefinedStorageUtils.getIdFromHand(hand), 0, 0);
|
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_GRID, player.worldObj, RefinedStorageUtils.getIdFromHand(hand), 0, 0);
|
||||||
|
|
||||||
network.syncItemsWithClient((EntityPlayerMP) player);
|
network.updateItemsWithClient((EntityPlayerMP) player);
|
||||||
|
|
||||||
drainEnergy(player, ItemWirelessGrid.USAGE_OPEN);
|
drainEnergy(player, ItemWirelessGrid.USAGE_OPEN);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleClose(EntityPlayer player) {
|
@Override
|
||||||
|
public void onClose(EntityPlayer player) {
|
||||||
WirelessGridConsumer consumer = getConsumer(player);
|
WirelessGridConsumer consumer = getConsumer(player);
|
||||||
|
|
||||||
if (consumer != null) {
|
if (consumer != null) {
|
||||||
@@ -67,6 +70,7 @@ public class WirelessGridHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void drainEnergy(EntityPlayer player, int energy) {
|
public void drainEnergy(EntityPlayer player, int energy) {
|
||||||
WirelessGridConsumer consumer = getConsumer(player);
|
WirelessGridConsumer consumer = getConsumer(player);
|
||||||
|
|
||||||
@@ -78,13 +82,14 @@ public class WirelessGridHandler {
|
|||||||
item.extractEnergy(held, energy, false);
|
item.extractEnergy(held, energy, false);
|
||||||
|
|
||||||
if (item.getEnergyStored(held) <= 0) {
|
if (item.getEnergyStored(held) <= 0) {
|
||||||
handleClose(player);
|
onClose(player);
|
||||||
consumer.getPlayer().closeScreen();
|
consumer.getPlayer().closeScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public WirelessGridConsumer getConsumer(EntityPlayer player) {
|
public WirelessGridConsumer getConsumer(EntityPlayer player) {
|
||||||
Iterator<WirelessGridConsumer> it = consumers.iterator();
|
Iterator<WirelessGridConsumer> it = consumers.iterator();
|
||||||
|
|
||||||
@@ -98,8 +103,4 @@ public class WirelessGridHandler {
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<WirelessGridConsumer> getConsumers() {
|
|
||||||
return consumers;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package refinedstorage.api.solderer;
|
package refinedstorage.apiimpl.solderer;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import refinedstorage.api.solderer.ISoldererRecipe;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.solderer;
|
package refinedstorage.apiimpl.solderer;
|
||||||
|
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.solderer;
|
package refinedstorage.apiimpl.solderer;
|
||||||
|
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.solderer;
|
package refinedstorage.apiimpl.solderer;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package refinedstorage.solderer;
|
package refinedstorage.apiimpl.solderer;
|
||||||
|
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
|
|
||||||
public class CraftingTaskScheduler {
|
public class CraftingTaskScheduler {
|
||||||
public static final String NBT_SCHEDULED = "CraftingTaskScheduled";
|
public static final String NBT_SCHEDULED = "CraftingTaskScheduled";
|
||||||
@@ -14,7 +14,7 @@ public class CraftingTaskScheduler {
|
|||||||
return scheduledItem == null || !RefinedStorageUtils.compareStack(scheduledItem, item, compare);
|
return scheduledItem == null || !RefinedStorageUtils.compareStack(scheduledItem, item, compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void schedule(NetworkMaster network, int compare, ItemStack item) {
|
public void schedule(INetworkMaster network, int compare, ItemStack item) {
|
||||||
CraftingPattern pattern = network.getPatternWithBestScore(item, compare);
|
CraftingPattern pattern = network.getPatternWithBestScore(item, compare);
|
||||||
|
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
|
|||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package refinedstorage.autocrafting.task;
|
package refinedstorage.autocrafting.task;
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import refinedstorage.api.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
|
|
||||||
public interface ICraftingTask {
|
public interface ICraftingTask {
|
||||||
|
|||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.autocrafting.CraftingPattern;
|
import refinedstorage.autocrafting.CraftingPattern;
|
||||||
import refinedstorage.tile.TileCrafter;
|
import refinedstorage.tile.TileCrafter;
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,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.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.api.network.NetworkMasterRegistry;
|
import refinedstorage.apiimpl.network.NetworkMasterRegistry;
|
||||||
import refinedstorage.item.ItemBlockController;
|
import refinedstorage.item.ItemBlockController;
|
||||||
import refinedstorage.tile.controller.TileController;
|
import refinedstorage.tile.controller.TileController;
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ public class BlockController extends BlockBase {
|
|||||||
network.getEnergy().receiveEnergy(tag.getInteger(NetworkMaster.NBT_ENERGY), false);
|
network.getEnergy().receiveEnergy(tag.getInteger(NetworkMaster.NBT_ENERGY), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkMasterRegistry.add(network, world.provider.getDimension());
|
NetworkMasterRegistry.add(world, network);
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onBlockPlacedBy(world, pos, state, player, stack);
|
super.onBlockPlacedBy(world, pos, state, player, stack);
|
||||||
@@ -114,7 +114,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) {
|
||||||
NetworkMasterRegistry.remove(pos, world.provider.getDimension());
|
NetworkMasterRegistry.remove(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
super.breakBlock(world, pos, state);
|
super.breakBlock(world, pos, state);
|
||||||
|
|||||||
@@ -98,8 +98,8 @@ public class ContainerGrid extends ContainerBase {
|
|||||||
|
|
||||||
if (slot == craftingResultSlot) {
|
if (slot == craftingResultSlot) {
|
||||||
((TileGrid) grid).onCraftedShift(this, player);
|
((TileGrid) grid).onCraftedShift(this, player);
|
||||||
} else if (grid.getStorageHandler() != null && slot != patternResultSlot && !(slot instanceof SlotSpecimenLegacy) && slot.getHasStack()) {
|
} else if (grid.getGridHandler() != null && slot != patternResultSlot && !(slot instanceof SlotSpecimenLegacy) && slot.getHasStack()) {
|
||||||
slot.putStack(grid.getStorageHandler().onPush(slot.getStack()));
|
slot.putStack(grid.getGridHandler().onPush(slot.getStack()));
|
||||||
|
|
||||||
detectAndSendChanges();
|
detectAndSendChanges();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.container.ContainerController;
|
import refinedstorage.container.ContainerController;
|
||||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||||
import refinedstorage.tile.controller.ClientSlave;
|
import refinedstorage.tile.controller.ClientSlave;
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraftforge.fml.client.FMLClientHandler;
|
import net.minecraftforge.fml.client.FMLClientHandler;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
|
import refinedstorage.apiimpl.network.GridHandler;
|
||||||
import refinedstorage.container.ContainerCraftingSettings;
|
import refinedstorage.container.ContainerCraftingSettings;
|
||||||
import refinedstorage.network.MessageGridCraftingStart;
|
import refinedstorage.network.MessageGridCraftingStart;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ public class GuiCraftingSettings extends GuiBase {
|
|||||||
|
|
||||||
int newAmount = Integer.parseInt(incrementButton.displayString);
|
int newAmount = Integer.parseInt(incrementButton.displayString);
|
||||||
|
|
||||||
newAmount = Math.min(Math.max(DEFAULT_AMOUNT, oldAmount + newAmount), StorageHandler.MAX_CRAFTING_PER_REQUEST);
|
newAmount = Math.min(Math.max(DEFAULT_AMOUNT, oldAmount + newAmount), GridHandler.MAX_CRAFTING_PER_REQUEST);
|
||||||
|
|
||||||
amountField.setText(String.valueOf(newAmount));
|
amountField.setText(String.valueOf(newAmount));
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ public class GuiCraftingSettings extends GuiBase {
|
|||||||
private void startRequest() {
|
private void startRequest() {
|
||||||
Integer quantity = Ints.tryParse(amountField.getText());
|
Integer quantity = Ints.tryParse(amountField.getText());
|
||||||
|
|
||||||
if (quantity != null && quantity > 0 && quantity <= StorageHandler.MAX_CRAFTING_PER_REQUEST) {
|
if (quantity != null && quantity > 0 && quantity <= GridHandler.MAX_CRAFTING_PER_REQUEST) {
|
||||||
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingStart(stack, quantity));
|
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingStart(stack, quantity));
|
||||||
|
|
||||||
close();
|
close();
|
||||||
|
|||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.block.EnumControllerType;
|
import refinedstorage.block.EnumControllerType;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
import refinedstorage.api.network.NetworkMasterRegistry;
|
import refinedstorage.apiimpl.network.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) {
|
||||||
NetworkMaster network = NetworkMasterRegistry.get(new BlockPos(getX(stack), getY(stack), getZ(stack)), player.worldObj.provider.getDimension());
|
INetworkMaster network = NetworkMasterRegistry.get(player.worldObj, new BlockPos(getX(stack), getY(stack), getZ(stack)));
|
||||||
|
|
||||||
if (network != null) {
|
if (network != null) {
|
||||||
if (network.getWirelessGridHandler().handleOpen(player, hand)) {
|
if (network.getWirelessGridHandler().onOpen(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"));
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ public class MessageCraftingMonitorCancel extends MessageHandlerPlayerToServer<M
|
|||||||
TileCraftingMonitor monitor = (TileCraftingMonitor) tile;
|
TileCraftingMonitor monitor = (TileCraftingMonitor) tile;
|
||||||
|
|
||||||
if (monitor.isConnected()) {
|
if (monitor.isConnected()) {
|
||||||
monitor.getNetwork().getStorageHandler().onCraftingCancelRequested(message.id);
|
monitor.getNetwork().getGridHandler().onCraftingCancelRequested(message.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import net.minecraft.inventory.Container;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<MessageGridCraftingStart> implements IMessage {
|
public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<MessageGridCraftingStart> implements IMessage {
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
@@ -38,7 +38,7 @@ public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<Messa
|
|||||||
Container container = player.openContainer;
|
Container container = player.openContainer;
|
||||||
|
|
||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
StorageHandler handler = ((ContainerGrid) container).getGrid().getStorageHandler();
|
IGridHandler handler = ((ContainerGrid) container).getGrid().getGridHandler();
|
||||||
|
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
handler.onCraftingRequested(message.stack, message.quantity);
|
handler.onCraftingRequested(message.stack, 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.inventory.Container;
|
import net.minecraft.inventory.Container;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
public class MessageGridHeldPush extends MessageHandlerPlayerToServer<MessageGridHeldPush> implements IMessage {
|
public class MessageGridHeldPush extends MessageHandlerPlayerToServer<MessageGridHeldPush> implements IMessage {
|
||||||
private boolean single;
|
private boolean single;
|
||||||
@@ -32,7 +32,7 @@ public class MessageGridHeldPush extends MessageHandlerPlayerToServer<MessageGri
|
|||||||
Container container = player.openContainer;
|
Container container = player.openContainer;
|
||||||
|
|
||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
StorageHandler handler = ((ContainerGrid) container).getGrid().getStorageHandler();
|
IGridHandler handler = ((ContainerGrid) container).getGrid().getGridHandler();
|
||||||
|
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
handler.onHeldItemPush(message.single, player);
|
handler.onHeldItemPush(message.single, player);
|
||||||
|
|||||||
@@ -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.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import net.minecraft.inventory.Container;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
public class MessageGridPull extends MessageHandlerPlayerToServer<MessageGridPull> implements IMessage {
|
public class MessageGridPull extends MessageHandlerPlayerToServer<MessageGridPull> implements IMessage {
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
@@ -38,7 +38,7 @@ public class MessageGridPull extends MessageHandlerPlayerToServer<MessageGridPul
|
|||||||
Container container = player.openContainer;
|
Container container = player.openContainer;
|
||||||
|
|
||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
StorageHandler handler = ((ContainerGrid) container).getGrid().getStorageHandler();
|
IGridHandler handler = ((ContainerGrid) container).getGrid().getGridHandler();
|
||||||
|
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
handler.onPull(message.stack, message.flags, player);
|
handler.onPull(message.stack, message.flags, player);
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
|
|||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.RefinedStorageItems;
|
import refinedstorage.RefinedStorageItems;
|
||||||
import refinedstorage.api.network.NetworkMasterEventHandler;
|
|
||||||
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.apiimpl.network.NetworkMasterEventHandler;
|
||||||
|
import refinedstorage.apiimpl.solderer.*;
|
||||||
import refinedstorage.block.BlockBase;
|
import refinedstorage.block.BlockBase;
|
||||||
import refinedstorage.block.EnumControllerType;
|
import refinedstorage.block.EnumControllerType;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
@@ -28,10 +28,6 @@ import refinedstorage.block.EnumStorageType;
|
|||||||
import refinedstorage.gui.GuiHandler;
|
import refinedstorage.gui.GuiHandler;
|
||||||
import refinedstorage.item.*;
|
import refinedstorage.item.*;
|
||||||
import refinedstorage.network.*;
|
import refinedstorage.network.*;
|
||||||
import refinedstorage.solderer.SoldererRecipePrintedProcessor;
|
|
||||||
import refinedstorage.solderer.SoldererRecipeProcessor;
|
|
||||||
import refinedstorage.solderer.SoldererRecipeStorage;
|
|
||||||
import refinedstorage.solderer.SoldererRecipeUpgrade;
|
|
||||||
import refinedstorage.tile.*;
|
import refinedstorage.tile.*;
|
||||||
import refinedstorage.tile.controller.TileController;
|
import refinedstorage.tile.controller.TileController;
|
||||||
import refinedstorage.tile.externalstorage.TileExternalStorage;
|
import refinedstorage.tile.externalstorage.TileExternalStorage;
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ public class TileImporter extends TileSlave implements ICompareConfig, IModeConf
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateSlave() {
|
public void updateSlave() {
|
||||||
System.out.println("Update: " + System.currentTimeMillis());
|
|
||||||
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) {
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ import net.minecraft.world.World;
|
|||||||
import net.minecraftforge.common.capabilities.Capability;
|
import net.minecraftforge.common.capabilities.Capability;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
import refinedstorage.api.RefinedStorageCapabilities;
|
import refinedstorage.api.RefinedStorageCapabilities;
|
||||||
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
import refinedstorage.api.network.INetworkSlave;
|
import refinedstorage.api.network.INetworkSlave;
|
||||||
import refinedstorage.api.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMasterRegistry;
|
||||||
import refinedstorage.api.network.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.TileController;
|
import refinedstorage.tile.controller.TileController;
|
||||||
@@ -24,7 +24,7 @@ public abstract class TileSlave extends TileBase implements ISynchronizedContain
|
|||||||
|
|
||||||
protected boolean connected;
|
protected boolean connected;
|
||||||
protected RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
protected RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
||||||
protected NetworkMaster network;
|
protected INetworkMaster network;
|
||||||
|
|
||||||
private Set<String> visited = new HashSet<String>();
|
private Set<String> visited = new HashSet<String>();
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ public abstract class TileSlave extends TileBase implements ISynchronizedContain
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void connect(World world, NetworkMaster network) {
|
public void connect(World world, INetworkMaster network) {
|
||||||
if (network.canRun()) {
|
if (network.canRun()) {
|
||||||
this.network = network;
|
this.network = network;
|
||||||
this.connected = true;
|
this.connected = true;
|
||||||
@@ -61,7 +61,7 @@ public abstract class TileSlave extends TileBase implements ISynchronizedContain
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void forceConnect(NetworkMaster network) {
|
public void forceConnect(INetworkMaster network) {
|
||||||
this.network = network;
|
this.network = network;
|
||||||
this.connected = true;
|
this.connected = true;
|
||||||
}
|
}
|
||||||
@@ -91,7 +91,7 @@ public abstract class TileSlave extends TileBase implements ISynchronizedContain
|
|||||||
if (network == null) {
|
if (network == null) {
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
// For backwards compatibility
|
// For backwards compatibility
|
||||||
NetworkMaster network = NetworkMasterRegistry.get(controller.getPos(), world.provider.getDimension());
|
INetworkMaster network = NetworkMasterRegistry.get(world, controller.getPos());
|
||||||
|
|
||||||
if (network != null) {
|
if (network != null) {
|
||||||
connect(world, network);
|
connect(world, network);
|
||||||
@@ -134,7 +134,8 @@ public abstract class TileSlave extends TileBase implements ISynchronizedContain
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public NetworkMaster getNetwork() {
|
@Override
|
||||||
|
public INetworkMaster getNetwork() {
|
||||||
return network;
|
return network;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package refinedstorage.tile.controller;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
|
|
||||||
public class ClientSlave {
|
public final class ClientSlave {
|
||||||
public ItemStack stack;
|
public ItemStack stack;
|
||||||
public int amount;
|
public int amount;
|
||||||
public int energyUsage;
|
public int energyUsage;
|
||||||
|
|||||||
@@ -9,9 +9,10 @@ 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.network.INetworkMaster;
|
||||||
import refinedstorage.api.network.INetworkSlave;
|
import refinedstorage.api.network.INetworkSlave;
|
||||||
import refinedstorage.api.network.NetworkMaster;
|
import refinedstorage.apiimpl.network.NetworkMaster;
|
||||||
import refinedstorage.api.network.NetworkMasterRegistry;
|
import refinedstorage.apiimpl.network.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;
|
||||||
@@ -25,7 +26,7 @@ import java.util.Iterator;
|
|||||||
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 NetworkMaster network;
|
private INetworkMaster network;
|
||||||
|
|
||||||
// Only used client side
|
// Only used client side
|
||||||
private List<ClientSlave> clientSlaves = new ArrayList<ClientSlave>();
|
private List<ClientSlave> clientSlaves = new ArrayList<ClientSlave>();
|
||||||
@@ -34,9 +35,9 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
private EnumControllerType type;
|
private EnumControllerType type;
|
||||||
private RedstoneMode redstoneMode;
|
private RedstoneMode redstoneMode;
|
||||||
|
|
||||||
public NetworkMaster getNetwork() {
|
public INetworkMaster getNetwork() {
|
||||||
if (network == null) {
|
if (network == null) {
|
||||||
network = NetworkMasterRegistry.get(pos, worldObj.provider.getDimension());
|
network = NetworkMasterRegistry.get(worldObj, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
return network;
|
return network;
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ package refinedstorage.tile.grid;
|
|||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ public interface IGrid {
|
|||||||
|
|
||||||
BlockPos getNetworkPosition();
|
BlockPos getNetworkPosition();
|
||||||
|
|
||||||
StorageHandler getStorageHandler();
|
IGridHandler getGridHandler();
|
||||||
|
|
||||||
int getSortingType();
|
int getSortingType();
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
import refinedstorage.RefinedStorageItems;
|
import refinedstorage.RefinedStorageItems;
|
||||||
import refinedstorage.RefinedStorageUtils;
|
import refinedstorage.RefinedStorageUtils;
|
||||||
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.block.BlockGrid;
|
import refinedstorage.block.BlockGrid;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
@@ -23,7 +24,6 @@ import refinedstorage.item.ItemPattern;
|
|||||||
import refinedstorage.network.MessageGridSettingsUpdate;
|
import refinedstorage.network.MessageGridSettingsUpdate;
|
||||||
import refinedstorage.tile.TileSlave;
|
import refinedstorage.tile.TileSlave;
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -112,13 +112,13 @@ public class TileGrid extends TileSlave implements IGrid {
|
|||||||
|
|
||||||
public void onGridOpened(EntityPlayer player) {
|
public void onGridOpened(EntityPlayer player) {
|
||||||
if (isConnected()) {
|
if (isConnected()) {
|
||||||
network.syncItemsWithClient((EntityPlayerMP) player);
|
network.updateItemsWithClient((EntityPlayerMP) player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StorageHandler getStorageHandler() {
|
public IGridHandler getGridHandler() {
|
||||||
return isConnected() ? network.getStorageHandler() : null;
|
return isConnected() ? network.getGridHandler() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public InventoryCrafting getMatrix() {
|
public InventoryCrafting getMatrix() {
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ 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.network.NetworkMaster;
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.api.network.NetworkMasterRegistry;
|
import refinedstorage.api.network.INetworkMaster;
|
||||||
|
import refinedstorage.apiimpl.network.NetworkMasterRegistry;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.item.ItemWirelessGrid;
|
||||||
import refinedstorage.network.MessageWirelessGridSettingsUpdate;
|
import refinedstorage.network.MessageWirelessGridSettingsUpdate;
|
||||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||||
import refinedstorage.tile.controller.StorageHandler;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -59,21 +59,21 @@ public class WirelessGrid implements IGrid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StorageHandler getStorageHandler() {
|
public IGridHandler getGridHandler() {
|
||||||
NetworkMaster network = NetworkMasterRegistry.get(controllerPos, world.provider.getDimension());
|
INetworkMaster network = NetworkMasterRegistry.get(world, controllerPos);
|
||||||
|
|
||||||
if (network != null) {
|
if (network != null) {
|
||||||
return network.getStorageHandler();
|
return network.getGridHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onClose(EntityPlayer player) {
|
public void onClose(EntityPlayer player) {
|
||||||
NetworkMaster network = NetworkMasterRegistry.get(controllerPos, world.provider.getDimension());
|
INetworkMaster network = NetworkMasterRegistry.get(world, controllerPos);
|
||||||
|
|
||||||
if (network != null) {
|
if (network != null) {
|
||||||
network.getWirelessGridHandler().handleClose(player);
|
network.getWirelessGridHandler().onClose(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user