Add the Wireless Fluid Grid
This commit is contained in:
@@ -134,6 +134,7 @@ public class ClientSetup {
|
|||||||
ScreenManager.registerFactory(RSContainers.STORAGE_MONITOR, StorageMonitorScreen::new);
|
ScreenManager.registerFactory(RSContainers.STORAGE_MONITOR, StorageMonitorScreen::new);
|
||||||
|
|
||||||
ClientRegistry.registerKeyBinding(RSKeyBindings.OPEN_WIRELESS_GRID);
|
ClientRegistry.registerKeyBinding(RSKeyBindings.OPEN_WIRELESS_GRID);
|
||||||
|
ClientRegistry.registerKeyBinding(RSKeyBindings.OPEN_WIRELESS_FLUID_GRID);
|
||||||
ClientRegistry.registerKeyBinding(RSKeyBindings.FOCUS_SEARCH_BAR);
|
ClientRegistry.registerKeyBinding(RSKeyBindings.FOCUS_SEARCH_BAR);
|
||||||
ClientRegistry.registerKeyBinding(RSKeyBindings.CLEAR_GRID_CRAFTING_MATRIX);
|
ClientRegistry.registerKeyBinding(RSKeyBindings.CLEAR_GRID_CRAFTING_MATRIX);
|
||||||
|
|
||||||
|
@@ -8,6 +8,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.API;
|
|||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkListener;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkListener;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeListener;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeListener;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.GridBlockGridFactory;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.GridBlockGridFactory;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.WirelessFluidGridGridFactory;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.WirelessGridGridFactory;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.WirelessGridGridFactory;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.*;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.*;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskdrive.DiskDriveNetworkNode;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskdrive.DiskDriveNetworkNode;
|
||||||
@@ -132,6 +133,7 @@ public final class RS {
|
|||||||
|
|
||||||
API.instance().getGridManager().add(GridBlockGridFactory.ID, new GridBlockGridFactory());
|
API.instance().getGridManager().add(GridBlockGridFactory.ID, new GridBlockGridFactory());
|
||||||
API.instance().getGridManager().add(WirelessGridGridFactory.ID, new WirelessGridGridFactory());
|
API.instance().getGridManager().add(WirelessGridGridFactory.ID, new WirelessGridGridFactory());
|
||||||
|
API.instance().getGridManager().add(WirelessFluidGridGridFactory.ID, new WirelessFluidGridGridFactory());
|
||||||
|
|
||||||
API.instance().addExternalStorageProvider(StorageType.ITEM, new ItemExternalStorageProvider());
|
API.instance().addExternalStorageProvider(StorageType.ITEM, new ItemExternalStorageProvider());
|
||||||
API.instance().addExternalStorageProvider(StorageType.FLUID, new FluidExternalStorageProvider());
|
API.instance().addExternalStorageProvider(StorageType.FLUID, new FluidExternalStorageProvider());
|
||||||
@@ -331,6 +333,8 @@ public final class RS {
|
|||||||
|
|
||||||
e.getRegistry().register(new WirelessGridItem(WirelessGridItem.Type.NORMAL));
|
e.getRegistry().register(new WirelessGridItem(WirelessGridItem.Type.NORMAL));
|
||||||
e.getRegistry().register(new WirelessGridItem(WirelessGridItem.Type.CREATIVE));
|
e.getRegistry().register(new WirelessGridItem(WirelessGridItem.Type.CREATIVE));
|
||||||
|
e.getRegistry().register(new WirelessFluidGridItem(WirelessFluidGridItem.Type.NORMAL));
|
||||||
|
e.getRegistry().register(new WirelessFluidGridItem(WirelessFluidGridItem.Type.CREATIVE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO
|
/* TODO
|
||||||
|
@@ -60,6 +60,10 @@ public final class RSItems {
|
|||||||
public static final WirelessGridItem WIRELESS_GRID = null;
|
public static final WirelessGridItem WIRELESS_GRID = null;
|
||||||
@ObjectHolder(RS.ID + ":creative_wireless_grid")
|
@ObjectHolder(RS.ID + ":creative_wireless_grid")
|
||||||
public static final WirelessGridItem CREATIVE_WIRELESS_GRID = null;
|
public static final WirelessGridItem CREATIVE_WIRELESS_GRID = null;
|
||||||
|
@ObjectHolder(RS.ID + ":wireless_fluid_grid")
|
||||||
|
public static final WirelessFluidGridItem WIRELESS_FLUID_GRID = null;
|
||||||
|
@ObjectHolder(RS.ID + ":creative_wireless_fluid_grid")
|
||||||
|
public static final WirelessFluidGridItem CREATIVE_WIRELESS_FLUID_GRID = null;
|
||||||
@ObjectHolder(RS.ID + ":1k_storage_part")
|
@ObjectHolder(RS.ID + ":1k_storage_part")
|
||||||
public static final StoragePartItem ONE_K_STORAGE_PART = null;
|
public static final StoragePartItem ONE_K_STORAGE_PART = null;
|
||||||
@ObjectHolder(RS.ID + ":4k_storage_part")
|
@ObjectHolder(RS.ID + ":4k_storage_part")
|
||||||
@@ -97,6 +101,5 @@ public final class RSItems {
|
|||||||
@ObjectHolder(RS.ID + ":creative_fluid_storage_disk")
|
@ObjectHolder(RS.ID + ":creative_fluid_storage_disk")
|
||||||
public static final FluidStorageDiskItem CREATIVE_FLUID_STORAGE_DISK = null;
|
public static final FluidStorageDiskItem CREATIVE_FLUID_STORAGE_DISK = null;
|
||||||
|
|
||||||
public static final ItemWirelessFluidGrid WIRELESS_FLUID_GRID = null;
|
|
||||||
public static final ItemWirelessCraftingMonitor WIRELESS_CRAFTING_MONITOR = null;
|
public static final ItemWirelessCraftingMonitor WIRELESS_CRAFTING_MONITOR = null;
|
||||||
}
|
}
|
||||||
|
@@ -8,12 +8,10 @@ import org.lwjgl.glfw.GLFW;
|
|||||||
|
|
||||||
public final class RSKeyBindings {
|
public final class RSKeyBindings {
|
||||||
/*
|
/*
|
||||||
public static final KeyBinding OPEN_WIRELESS_FLUID_GRID = new KeyBinding("key.refinedstorage.openWirelessFluidGrid", KeyConflictContext.IN_GAME, 0, "Refined Storage");
|
|
||||||
public static final KeyBinding OPEN_PORTABLE_GRID = new KeyBinding("key.refinedstorage.openPortableGrid", KeyConflictContext.IN_GAME, 0, "Refined Storage");
|
public static final KeyBinding OPEN_PORTABLE_GRID = new KeyBinding("key.refinedstorage.openPortableGrid", KeyConflictContext.IN_GAME, 0, "Refined Storage");
|
||||||
public static final KeyBinding OPEN_WIRELESS_CRAFTING_MONITOR = new KeyBinding("key.refinedstorage.openWirelessCraftingMonitor", KeyConflictContext.IN_GAME, 0, "Refined Storage");
|
public static final KeyBinding OPEN_WIRELESS_CRAFTING_MONITOR = new KeyBinding("key.refinedstorage.openWirelessCraftingMonitor", KeyConflictContext.IN_GAME, 0, "Refined Storage");
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
ClientRegistry.registerKeyBinding(OPEN_WIRELESS_FLUID_GRID);
|
|
||||||
ClientRegistry.registerKeyBinding(OPEN_PORTABLE_GRID);
|
ClientRegistry.registerKeyBinding(OPEN_PORTABLE_GRID);
|
||||||
ClientRegistry.registerKeyBinding(OPEN_WIRELESS_CRAFTING_MONITOR);
|
ClientRegistry.registerKeyBinding(OPEN_WIRELESS_CRAFTING_MONITOR);
|
||||||
}*/
|
}*/
|
||||||
@@ -25,6 +23,13 @@ public final class RSKeyBindings {
|
|||||||
"Refined Storage"
|
"Refined Storage"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public static final KeyBinding OPEN_WIRELESS_FLUID_GRID = new KeyBinding(
|
||||||
|
"key.refinedstorage.openWirelessFluidGrid",
|
||||||
|
KeyConflictContext.IN_GAME,
|
||||||
|
InputMappings.INPUT_INVALID,
|
||||||
|
"Refined Storage"
|
||||||
|
);
|
||||||
|
|
||||||
public static final KeyBinding FOCUS_SEARCH_BAR = new KeyBinding(
|
public static final KeyBinding FOCUS_SEARCH_BAR = new KeyBinding(
|
||||||
"key.refinedstorage.focusSearchBar",
|
"key.refinedstorage.focusSearchBar",
|
||||||
KeyConflictContext.GUI,
|
KeyConflictContext.GUI,
|
||||||
|
@@ -19,14 +19,6 @@ public class RSOldConfig {
|
|||||||
public int portableGridInsertUsage;
|
public int portableGridInsertUsage;
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region Wireless Fluid Grid
|
|
||||||
public boolean wirelessFluidGridUsesEnergy;
|
|
||||||
public int wirelessFluidGridCapacity;
|
|
||||||
public int wirelessFluidGridOpenUsage;
|
|
||||||
public int wirelessFluidGridExtractUsage;
|
|
||||||
public int wirelessFluidGridInsertUsage;
|
|
||||||
//endregion
|
|
||||||
|
|
||||||
//region Wireless Crafting Monitor
|
//region Wireless Crafting Monitor
|
||||||
public boolean wirelessCraftingMonitorUsesEnergy;
|
public boolean wirelessCraftingMonitorUsesEnergy;
|
||||||
public int wirelessCraftingMonitorCapacity;
|
public int wirelessCraftingMonitorCapacity;
|
||||||
@@ -42,7 +34,6 @@ public class RSOldConfig {
|
|||||||
//region Categories
|
//region Categories
|
||||||
private static final String ENERGY = "energy";
|
private static final String ENERGY = "energy";
|
||||||
private static final String PORTABLE_GRID = "portableGrid";
|
private static final String PORTABLE_GRID = "portableGrid";
|
||||||
private static final String WIRELESS_FLUID_GRID = "wirelessFluidGrid";
|
|
||||||
private static final String WIRELESS_CRAFTING_MONITOR = "wirelessCraftingMonitor";
|
private static final String WIRELESS_CRAFTING_MONITOR = "wirelessCraftingMonitor";
|
||||||
private static final String AUTOCRAFTING = "autocrafting";
|
private static final String AUTOCRAFTING = "autocrafting";
|
||||||
//endregion
|
//endregion
|
||||||
@@ -66,14 +57,6 @@ public class RSOldConfig {
|
|||||||
portableGridExtractUsage = config.getInt("extract", PORTABLE_GRID, 3, 0, Integer.MAX_VALUE, "The energy used by the Portable Grid to extract items");
|
portableGridExtractUsage = config.getInt("extract", PORTABLE_GRID, 3, 0, Integer.MAX_VALUE, "The energy used by the Portable Grid to extract items");
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region Wireless Fluid Grid
|
|
||||||
wirelessFluidGridUsesEnergy = config.getBoolean("usesEnergy", WIRELESS_FLUID_GRID, true, "Whether the Fluid Wireless Grid uses energy");
|
|
||||||
wirelessFluidGridCapacity = config.getInt("capacity", WIRELESS_FLUID_GRID, 3200, 0, Integer.MAX_VALUE, "The energy capacity of the Wireless Fluid Grid");
|
|
||||||
wirelessFluidGridOpenUsage = config.getInt("open", WIRELESS_FLUID_GRID, 30, 0, Integer.MAX_VALUE, "The energy used by the Fluid Wireless Grid to open");
|
|
||||||
wirelessFluidGridInsertUsage = config.getInt("insert", WIRELESS_FLUID_GRID, 3, 0, Integer.MAX_VALUE, "The energy used by the Wireless Fluid Grid to insert items");
|
|
||||||
wirelessFluidGridExtractUsage = config.getInt("extract", WIRELESS_FLUID_GRID, 3, 0, Integer.MAX_VALUE, "The energy used by the Wireless Fluid Grid to extract items");
|
|
||||||
//endregion
|
|
||||||
|
|
||||||
//region Wireless Crafting Monitor
|
//region Wireless Crafting Monitor
|
||||||
wirelessCraftingMonitorUsesEnergy = config.getBoolean("usesEnergy", WIRELESS_CRAFTING_MONITOR, true, "Whether the Wireless Crafting Monitor uses energy");
|
wirelessCraftingMonitorUsesEnergy = config.getBoolean("usesEnergy", WIRELESS_CRAFTING_MONITOR, true, "Whether the Wireless Crafting Monitor uses energy");
|
||||||
wirelessCraftingMonitorCapacity = config.getInt("capacity", WIRELESS_CRAFTING_MONITOR, 3200, 0, Integer.MAX_VALUE, "The energy capacity of the Wireless Crafting Monitor");
|
wirelessCraftingMonitorCapacity = config.getInt("capacity", WIRELESS_CRAFTING_MONITOR, 3200, 0, Integer.MAX_VALUE, "The energy capacity of the Wireless Crafting Monitor");
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory;
|
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.RS;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridFactoryType;
|
import com.raoulvdberge.refinedstorage.api.network.grid.GridFactoryType;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridFactory;
|
import com.raoulvdberge.refinedstorage.api.network.grid.IGridFactory;
|
||||||
@@ -7,16 +8,19 @@ import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
|||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class WirelessFluidGridGridFactory implements IGridFactory {
|
public class WirelessFluidGridGridFactory implements IGridFactory {
|
||||||
|
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "wireless_fluid_grid");
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public IGrid createFromStack(PlayerEntity player, ItemStack stack) {
|
public IGrid createFromStack(PlayerEntity player, ItemStack stack) {
|
||||||
return new WirelessFluidGrid(stack);
|
return new WirelessFluidGrid(stack, player.getServer());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler;
|
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.RS;
|
||||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
|
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
|
||||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTaskError;
|
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTaskError;
|
||||||
@@ -72,7 +73,7 @@ public class FluidGridHandler implements IFluidGridHandler {
|
|||||||
player.updateHeldItem();
|
player.updateHeldItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO network.getNetworkItemHandler().drainEnergy(player, RS.INSTANCE.config.wirelessFluidGridExtractUsage);
|
network.getNetworkItemManager().drainEnergy(player, RS.SERVER_CONFIG.getWirelessFluidGrid().getExtractUsage());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,7 +94,7 @@ public class FluidGridHandler implements IFluidGridHandler {
|
|||||||
|
|
||||||
network.insertFluid(result.getValue(), result.getValue().getAmount(), Action.PERFORM);
|
network.insertFluid(result.getValue(), result.getValue().getAmount(), Action.PERFORM);
|
||||||
|
|
||||||
// TODO network.getNetworkItemHandler().drainEnergy(player, RS.INSTANCE.config.wirelessFluidGridInsertUsage);
|
network.getNetworkItemManager().drainEnergy(player, RS.SERVER_CONFIG.getWirelessFluidGrid().getInsertUsage());
|
||||||
|
|
||||||
return result.getLeft();
|
return result.getLeft();
|
||||||
}
|
}
|
||||||
|
@@ -5,18 +5,22 @@ import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
|||||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemManager;
|
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemManager;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.factory.WirelessFluidGridGridFactory;
|
||||||
|
import com.raoulvdberge.refinedstorage.item.WirelessFluidGridItem;
|
||||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.entity.player.ServerPlayerEntity;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.energy.CapabilityEnergy;
|
import net.minecraftforge.energy.CapabilityEnergy;
|
||||||
import net.minecraftforge.energy.IEnergyStorage;
|
import net.minecraftforge.energy.IEnergyStorage;
|
||||||
|
|
||||||
public class NetworkItemWirelessFluidGrid implements INetworkItem {
|
public class WirelessFluidGridNetworkItem implements INetworkItem {
|
||||||
private INetworkItemManager handler;
|
private INetworkItemManager handler;
|
||||||
private PlayerEntity player;
|
private PlayerEntity player;
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
|
|
||||||
public NetworkItemWirelessFluidGrid(INetworkItemManager handler, PlayerEntity player, ItemStack stack) {
|
public WirelessFluidGridNetworkItem(INetworkItemManager handler, PlayerEntity player, ItemStack stack) {
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.stack = stack;
|
this.stack = stack;
|
||||||
@@ -31,7 +35,10 @@ public class NetworkItemWirelessFluidGrid implements INetworkItem {
|
|||||||
public boolean onOpen(INetwork network) {
|
public boolean onOpen(INetwork network) {
|
||||||
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null).orElse(null);
|
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null).orElse(null);
|
||||||
|
|
||||||
if (RS.INSTANCE.config.wirelessFluidGridUsesEnergy /* TODO && stack.getItemDamage() != ItemWirelessFluidGrid.TYPE_CREATIVE*/ && energy != null && energy.getEnergyStored() <= RS.INSTANCE.config.wirelessFluidGridOpenUsage) {
|
if (RS.SERVER_CONFIG.getWirelessFluidGrid().getUseEnergy() &&
|
||||||
|
((WirelessFluidGridItem) stack.getItem()).getType() != WirelessFluidGridItem.Type.CREATIVE &&
|
||||||
|
energy != null &&
|
||||||
|
energy.getEnergyStored() <= RS.SERVER_CONFIG.getWirelessFluidGrid().getOpenUsage()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,17 +48,17 @@ public class NetworkItemWirelessFluidGrid implements INetworkItem {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO API.instance().getGridManager().openGrid(WirelessFluidGrid.ID, (ServerPlayerEntity) player, stack);
|
API.instance().getGridManager().openGrid(WirelessFluidGridGridFactory.ID, (ServerPlayerEntity) player, stack);
|
||||||
|
|
||||||
drainEnergy(RS.INSTANCE.config.wirelessFluidGridOpenUsage);
|
drainEnergy(RS.SERVER_CONFIG.getWirelessFluidGrid().getOpenUsage());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drainEnergy(int energy) {
|
public void drainEnergy(int energy) {
|
||||||
if (RS.INSTANCE.config.wirelessFluidGridUsesEnergy /* TODO && stack.getItemDamage() != ItemWirelessFluidGrid.TYPE_CREATIVE*/) {
|
if (RS.SERVER_CONFIG.getWirelessFluidGrid().getUseEnergy() && ((WirelessFluidGridItem) stack.getItem()).getType() != WirelessFluidGridItem.Type.CREATIVE) {
|
||||||
stack.getCapability(CapabilityEnergy.ENERGY, null).ifPresent(energyStorage -> {
|
stack.getCapability(CapabilityEnergy.ENERGY).ifPresent(energyStorage -> {
|
||||||
energyStorage.extractEnergy(energy, false);
|
energyStorage.extractEnergy(energy, false);
|
||||||
|
|
||||||
if (energyStorage.getEnergyStored() <= 0) {
|
if (energyStorage.getEnergyStored() <= 0) {
|
@@ -2,11 +2,9 @@ package com.raoulvdberge.refinedstorage.block;
|
|||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
|
||||||
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
|
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
|
||||||
import com.raoulvdberge.refinedstorage.item.blockitem.ItemBlockBase;
|
|
||||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.state.StateContainer;
|
import net.minecraft.state.StateContainer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.math.AxisAlignedBB;
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
@@ -54,10 +52,6 @@ public abstract class BlockBase extends Block {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Item createItem() {
|
|
||||||
return new ItemBlockBase(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean hasTileEntity(BlockState state) {
|
public final boolean hasTileEntity(BlockState state) {
|
||||||
return info.hasTileEntity();
|
return info.hasTileEntity();
|
||||||
|
@@ -26,6 +26,7 @@ public class ServerConfig {
|
|||||||
private WirelessTransmitter wirelessTransmitter;
|
private WirelessTransmitter wirelessTransmitter;
|
||||||
private StorageMonitor storageMonitor;
|
private StorageMonitor storageMonitor;
|
||||||
private WirelessGrid wirelessGrid;
|
private WirelessGrid wirelessGrid;
|
||||||
|
private WirelessFluidGrid wirelessFluidGrid;
|
||||||
|
|
||||||
public ServerConfig() {
|
public ServerConfig() {
|
||||||
upgrades = new Upgrades();
|
upgrades = new Upgrades();
|
||||||
@@ -48,6 +49,7 @@ public class ServerConfig {
|
|||||||
wirelessTransmitter = new WirelessTransmitter();
|
wirelessTransmitter = new WirelessTransmitter();
|
||||||
storageMonitor = new StorageMonitor();
|
storageMonitor = new StorageMonitor();
|
||||||
wirelessGrid = new WirelessGrid();
|
wirelessGrid = new WirelessGrid();
|
||||||
|
wirelessFluidGrid = new WirelessFluidGrid();
|
||||||
|
|
||||||
spec = builder.build();
|
spec = builder.build();
|
||||||
}
|
}
|
||||||
@@ -132,6 +134,10 @@ public class ServerConfig {
|
|||||||
return wirelessGrid;
|
return wirelessGrid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public WirelessFluidGrid getWirelessFluidGrid() {
|
||||||
|
return wirelessFluidGrid;
|
||||||
|
}
|
||||||
|
|
||||||
public ForgeConfigSpec getSpec() {
|
public ForgeConfigSpec getSpec() {
|
||||||
return spec;
|
return spec;
|
||||||
}
|
}
|
||||||
@@ -629,4 +635,44 @@ public class ServerConfig {
|
|||||||
return insertUsage.get();
|
return insertUsage.get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class WirelessFluidGrid {
|
||||||
|
private final ForgeConfigSpec.BooleanValue useEnergy;
|
||||||
|
private final ForgeConfigSpec.IntValue capacity;
|
||||||
|
private final ForgeConfigSpec.IntValue openUsage;
|
||||||
|
private final ForgeConfigSpec.IntValue extractUsage;
|
||||||
|
private final ForgeConfigSpec.IntValue insertUsage;
|
||||||
|
|
||||||
|
public WirelessFluidGrid() {
|
||||||
|
builder.push("wirelessFluidGrid");
|
||||||
|
|
||||||
|
useEnergy = builder.comment("Whether the Wireless Fluid Grid uses energy").define("useEnergy", true);
|
||||||
|
capacity = builder.comment("The energy capacity of the Wireless Fluid Grid").defineInRange("capacity", 3200, 0, Integer.MAX_VALUE);
|
||||||
|
openUsage = builder.comment("The energy used by the Wireless Fluid Grid to open").defineInRange("openUsage", 30, 0, Integer.MAX_VALUE);
|
||||||
|
extractUsage = builder.comment("The energy used by the Wireless Fluid Grid to extract fluids").defineInRange("extractUsage", 5, 0, Integer.MAX_VALUE);
|
||||||
|
insertUsage = builder.comment("The energy used by the Wireless Fluid Grid to insert fluids").defineInRange("insertUsage", 5, 0, Integer.MAX_VALUE);
|
||||||
|
|
||||||
|
builder.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getUseEnergy() {
|
||||||
|
return useEnergy.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCapacity() {
|
||||||
|
return capacity.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getOpenUsage() {
|
||||||
|
return openUsage.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getExtractUsage() {
|
||||||
|
return extractUsage.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getInsertUsage() {
|
||||||
|
return insertUsage.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,57 +0,0 @@
|
|||||||
package com.raoulvdberge.refinedstorage.item;
|
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemManager;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
public class ItemWirelessFluidGrid extends NetworkItem {
|
|
||||||
public ItemWirelessFluidGrid(Properties item, boolean creative, Supplier<Integer> energyCapacity) {
|
|
||||||
super(item, creative, energyCapacity);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
@Override
|
|
||||||
public INetworkItem provide(INetworkItemManager handler, PlayerEntity player, ItemStack stack) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
/* TODO
|
|
||||||
@Override
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public void registerModels(IModelRegistration modelRegistration) {
|
|
||||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Nonnull
|
|
||||||
public INetworkItem provide(INetworkItemHandler handler, PlayerEntity player, ItemStack stack) {
|
|
||||||
return new NetworkItemWirelessFluidGrid(handler, player, stack);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getSortingType(ItemStack stack) {
|
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_TYPE)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SORTING_TYPE) : IGrid.SORTING_TYPE_QUANTITY;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getSortingDirection(ItemStack stack) {
|
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_DIRECTION)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION) : IGrid.SORTING_DIRECTION_DESCENDING;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getSearchBoxMode(ItemStack stack) {
|
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SEARCH_BOX_MODE)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE) : IGrid.SEARCH_BOX_MODE_NORMAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getTabSelected(ItemStack stack) {
|
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_TAB_SELECTED)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_TAB_SELECTED) : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getTabPage(ItemStack stack) {
|
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_TAB_PAGE)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_TAB_PAGE) : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getSize(ItemStack stack) {
|
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SIZE)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SIZE) : IGrid.SIZE_STRETCH;
|
|
||||||
}*/
|
|
||||||
}
|
|
@@ -0,0 +1,64 @@
|
|||||||
|
package com.raoulvdberge.refinedstorage.item;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.RS;
|
||||||
|
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||||
|
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||||
|
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemManager;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.item.WirelessFluidGridNetworkItem;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.GridNetworkNode;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
public class WirelessFluidGridItem extends NetworkItem {
|
||||||
|
public enum Type {
|
||||||
|
NORMAL,
|
||||||
|
CREATIVE
|
||||||
|
}
|
||||||
|
|
||||||
|
private final Type type;
|
||||||
|
|
||||||
|
public WirelessFluidGridItem(Type type) {
|
||||||
|
super(new Item.Properties().group(RS.MAIN_GROUP).maxStackSize(1), type == Type.CREATIVE, () -> RS.SERVER_CONFIG.getWirelessFluidGrid().getCapacity());
|
||||||
|
|
||||||
|
this.type = type;
|
||||||
|
|
||||||
|
this.setRegistryName(RS.ID, (type == Type.CREATIVE ? "creative_" : "") + "wireless_fluid_grid");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public INetworkItem provide(INetworkItemManager handler, PlayerEntity player, ItemStack stack) {
|
||||||
|
return new WirelessFluidGridNetworkItem(handler, player, stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getSortingType(ItemStack stack) {
|
||||||
|
return (stack.hasTag() && stack.getTag().contains(GridNetworkNode.NBT_SORTING_TYPE)) ? stack.getTag().getInt(GridNetworkNode.NBT_SORTING_TYPE) : IGrid.SORTING_TYPE_QUANTITY;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getSortingDirection(ItemStack stack) {
|
||||||
|
return (stack.hasTag() && stack.getTag().contains(GridNetworkNode.NBT_SORTING_DIRECTION)) ? stack.getTag().getInt(GridNetworkNode.NBT_SORTING_DIRECTION) : IGrid.SORTING_DIRECTION_DESCENDING;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getSearchBoxMode(ItemStack stack) {
|
||||||
|
return (stack.hasTag() && stack.getTag().contains(GridNetworkNode.NBT_SEARCH_BOX_MODE)) ? stack.getTag().getInt(GridNetworkNode.NBT_SEARCH_BOX_MODE) : IGrid.SEARCH_BOX_MODE_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getTabSelected(ItemStack stack) {
|
||||||
|
return (stack.hasTag() && stack.getTag().contains(GridNetworkNode.NBT_TAB_SELECTED)) ? stack.getTag().getInt(GridNetworkNode.NBT_TAB_SELECTED) : -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getTabPage(ItemStack stack) {
|
||||||
|
return (stack.hasTag() && stack.getTag().contains(GridNetworkNode.NBT_TAB_PAGE)) ? stack.getTag().getInt(GridNetworkNode.NBT_TAB_PAGE) : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getSize(ItemStack stack) {
|
||||||
|
return (stack.hasTag() && stack.getTag().contains(GridNetworkNode.NBT_SIZE)) ? stack.getTag().getInt(GridNetworkNode.NBT_SIZE) : IGrid.SIZE_STRETCH;
|
||||||
|
}
|
||||||
|
}
|
@@ -1,32 +0,0 @@
|
|||||||
package com.raoulvdberge.refinedstorage.item.blockitem;
|
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.block.BlockBase;
|
|
||||||
import net.minecraft.item.BlockItem;
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
|
|
||||||
public class ItemBlockBase extends BlockItem {
|
|
||||||
private BlockBase block;
|
|
||||||
|
|
||||||
public ItemBlockBase(BlockBase block) {
|
|
||||||
super(block, new Item.Properties());
|
|
||||||
|
|
||||||
this.block = block;
|
|
||||||
|
|
||||||
setRegistryName(block.getInfo().getId());
|
|
||||||
}
|
|
||||||
/* TODO
|
|
||||||
@Override
|
|
||||||
public boolean placeBlockAt(ItemStack stack, PlayerEntity player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState newState) {
|
|
||||||
boolean result = super.placeBlockAt(stack, player, world, pos, side, hitX, hitY, hitZ, newState);
|
|
||||||
|
|
||||||
if (result && block.getDirection() != null) {
|
|
||||||
TileEntity tile = world.getTileEntity(pos);
|
|
||||||
|
|
||||||
if (tile instanceof TileBase) {
|
|
||||||
((TileBase) tile).setDirection(block.getDirection().getFrom(side, pos, player));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}*/
|
|
||||||
}
|
|
@@ -1,91 +0,0 @@
|
|||||||
package com.raoulvdberge.refinedstorage.item.blockitem;
|
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.block.BlockBase;
|
|
||||||
import com.raoulvdberge.refinedstorage.item.capabilityprovider.EnergyCapabilityProvider;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.nbt.CompoundNBT;
|
|
||||||
import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
|
||||||
|
|
||||||
public abstract class ItemBlockEnergyItem extends ItemBlockBase {
|
|
||||||
public static final int TYPE_NORMAL = 0;
|
|
||||||
public static final int TYPE_CREATIVE = 1;
|
|
||||||
|
|
||||||
private int energyCapacity;
|
|
||||||
|
|
||||||
public ItemBlockEnergyItem(BlockBase block, int energyCapacity) {
|
|
||||||
super(block);
|
|
||||||
|
|
||||||
this.energyCapacity = energyCapacity;
|
|
||||||
|
|
||||||
//setMaxDamage(energyCapacity);
|
|
||||||
//setMaxStackSize(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ICapabilityProvider initCapabilities(ItemStack stack, CompoundNBT tag) {
|
|
||||||
return new EnergyCapabilityProvider(stack, energyCapacity);
|
|
||||||
}
|
|
||||||
/* TODO
|
|
||||||
@Override
|
|
||||||
public boolean isDamageable() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isRepairable() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double getDurabilityForDisplay(ItemStack stack) {
|
|
||||||
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
|
||||||
|
|
||||||
return 1D - ((double) energy.getEnergyStored() / (double) energy.getMaxEnergyStored());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getRGBDurabilityForDisplay(ItemStack stack) {
|
|
||||||
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
|
||||||
|
|
||||||
return MathHelper.hsvToRGB(Math.max(0.0F, (float) energy.getEnergyStored() / (float) energy.getMaxEnergyStored()) / 3.0F, 1.0F, 1.0F);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isDamaged(ItemStack stack) {
|
|
||||||
return stack.getItemDamage() != TYPE_CREATIVE;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setDamage(ItemStack stack, int damage) {
|
|
||||||
// NO OP
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
|
|
||||||
if (!isInCreativeTab(tab)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
items.add(new ItemStack(this, 1, TYPE_NORMAL));
|
|
||||||
|
|
||||||
ItemStack fullyCharged = new ItemStack(this, 1, TYPE_NORMAL);
|
|
||||||
|
|
||||||
IEnergyStorage energy = fullyCharged.getCapability(CapabilityEnergy.ENERGY, null);
|
|
||||||
energy.receiveEnergy(energy.getMaxEnergyStored(), false);
|
|
||||||
|
|
||||||
items.add(fullyCharged);
|
|
||||||
|
|
||||||
items.add(new ItemStack(this, 1, TYPE_CREATIVE));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
|
|
||||||
super.addInformation(stack, world, tooltip, flag);
|
|
||||||
|
|
||||||
if (stack.getItemDamage() != TYPE_CREATIVE) {
|
|
||||||
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
|
||||||
|
|
||||||
tooltip.add(I18n.format("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()));
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
|
@@ -1,11 +1,10 @@
|
|||||||
package com.raoulvdberge.refinedstorage.item.blockitem;
|
package com.raoulvdberge.refinedstorage.item.blockitem;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.RS;
|
import com.raoulvdberge.refinedstorage.block.BaseBlock;
|
||||||
import com.raoulvdberge.refinedstorage.block.BlockPortableGrid;
|
|
||||||
|
|
||||||
public class ItemBlockPortableGrid extends ItemBlockEnergyItem {
|
public class ItemBlockPortableGrid extends BaseBlockItem {
|
||||||
public ItemBlockPortableGrid(BlockPortableGrid block) {
|
public ItemBlockPortableGrid(BaseBlock block, Properties builder) {
|
||||||
super(block, RS.INSTANCE.config.portableGridCapacity);
|
super(block, builder);
|
||||||
}
|
}
|
||||||
/* TODO
|
/* TODO
|
||||||
@Override
|
@Override
|
||||||
|
@@ -1,81 +0,0 @@
|
|||||||
package com.raoulvdberge.refinedstorage.network;
|
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
|
||||||
import com.raoulvdberge.refinedstorage.container.GridContainer;
|
|
||||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
|
||||||
import io.netty.buffer.ByteBuf;
|
|
||||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
|
||||||
|
|
||||||
public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayerToServer<MessageWirelessFluidGridSettingsUpdate> implements IMessage {
|
|
||||||
private int sortingDirection;
|
|
||||||
private int sortingType;
|
|
||||||
private int searchBoxMode;
|
|
||||||
private int size;
|
|
||||||
private int tabSelected;
|
|
||||||
private int tabPage;
|
|
||||||
|
|
||||||
public MessageWirelessFluidGridSettingsUpdate() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public MessageWirelessFluidGridSettingsUpdate(int sortingDirection, int sortingType, int searchBoxMode, int size, int tabSelected, int tabPage) {
|
|
||||||
this.sortingDirection = sortingDirection;
|
|
||||||
this.sortingType = sortingType;
|
|
||||||
this.searchBoxMode = searchBoxMode;
|
|
||||||
this.size = size;
|
|
||||||
this.tabSelected = tabSelected;
|
|
||||||
this.tabPage = tabPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void fromBytes(ByteBuf buf) {
|
|
||||||
sortingDirection = buf.readInt();
|
|
||||||
sortingType = buf.readInt();
|
|
||||||
searchBoxMode = buf.readInt();
|
|
||||||
size = buf.readInt();
|
|
||||||
tabSelected = buf.readInt();
|
|
||||||
tabPage = buf.readInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void toBytes(ByteBuf buf) {
|
|
||||||
buf.writeInt(sortingDirection);
|
|
||||||
buf.writeInt(sortingType);
|
|
||||||
buf.writeInt(searchBoxMode);
|
|
||||||
buf.writeInt(size);
|
|
||||||
buf.writeInt(tabSelected);
|
|
||||||
buf.writeInt(tabPage);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void handle(MessageWirelessFluidGridSettingsUpdate message, ServerPlayerEntity player) {
|
|
||||||
if (player.openContainer instanceof ContainerGrid) {
|
|
||||||
IGrid grid = ((ContainerGrid) player.openContainer).getGrid();
|
|
||||||
|
|
||||||
if (grid instanceof WirelessFluidGrid) {
|
|
||||||
ItemStack stack = ((WirelessFluidGrid) grid).getStack();
|
|
||||||
|
|
||||||
if (IGrid.isValidSortingDirection(message.sortingDirection)) {
|
|
||||||
stack.getTagCompound().putInt(NetworkNodeGrid.NBT_SORTING_DIRECTION, message.sortingDirection);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IGrid.isValidSortingType(message.sortingType)) {
|
|
||||||
stack.getTagCompound().putInt(NetworkNodeGrid.NBT_SORTING_TYPE, message.sortingType);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IGrid.isValidSearchBoxMode(message.searchBoxMode)) {
|
|
||||||
stack.getTagCompound().putInt(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, message.searchBoxMode);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IGrid.isValidSize(message.size)) {
|
|
||||||
stack.getTagCompound().putInt(NetworkNodeGrid.NBT_SIZE, message.size);
|
|
||||||
}
|
|
||||||
|
|
||||||
stack.getTagCompound().putInt(NetworkNodeGrid.NBT_TAB_SELECTED, message.tabSelected);
|
|
||||||
stack.getTagCompound().putInt(NetworkNodeGrid.NBT_TAB_PAGE, message.tabPage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -46,8 +46,9 @@ public class NetworkHandler {
|
|||||||
handler.registerMessage(id++, GridTransferMessage.class, GridTransferMessage::encode, GridTransferMessage::decode, GridTransferMessage::handle);
|
handler.registerMessage(id++, GridTransferMessage.class, GridTransferMessage::encode, GridTransferMessage::decode, GridTransferMessage::handle);
|
||||||
handler.registerMessage(id++, GridProcessingTransferMessage.class, GridProcessingTransferMessage::encode, GridProcessingTransferMessage::decode, GridProcessingTransferMessage::handle);
|
handler.registerMessage(id++, GridProcessingTransferMessage.class, GridProcessingTransferMessage::encode, GridProcessingTransferMessage::decode, GridProcessingTransferMessage::handle);
|
||||||
handler.registerMessage(id++, SecurityManagerUpdateMessage.class, SecurityManagerUpdateMessage::encode, SecurityManagerUpdateMessage::decode, SecurityManagerUpdateMessage::handle);
|
handler.registerMessage(id++, SecurityManagerUpdateMessage.class, SecurityManagerUpdateMessage::encode, SecurityManagerUpdateMessage::decode, SecurityManagerUpdateMessage::handle);
|
||||||
handler.registerMessage(id++, GridSettingsUpdateMessage.class, GridSettingsUpdateMessage::encode, GridSettingsUpdateMessage::decode, GridSettingsUpdateMessage::handle);
|
handler.registerMessage(id++, WirelessGridSettingsUpdateMessage.class, WirelessGridSettingsUpdateMessage::encode, WirelessGridSettingsUpdateMessage::decode, WirelessGridSettingsUpdateMessage::handle);
|
||||||
handler.registerMessage(id++, OpenNetworkItemMessage.class, OpenNetworkItemMessage::encode, OpenNetworkItemMessage::decode, OpenNetworkItemMessage::handle);
|
handler.registerMessage(id++, OpenNetworkItemMessage.class, OpenNetworkItemMessage::encode, OpenNetworkItemMessage::decode, OpenNetworkItemMessage::handle);
|
||||||
|
handler.registerMessage(id++, WirelessFluidGridSettingsUpdateMessage.class, WirelessFluidGridSettingsUpdateMessage::encode, WirelessFluidGridSettingsUpdateMessage::decode, WirelessFluidGridSettingsUpdateMessage::handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendToServer(Object message) {
|
public void sendToServer(Object message) {
|
||||||
|
@@ -0,0 +1,87 @@
|
|||||||
|
package com.raoulvdberge.refinedstorage.network.grid;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.GridNetworkNode;
|
||||||
|
import com.raoulvdberge.refinedstorage.container.GridContainer;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.network.PacketBuffer;
|
||||||
|
import net.minecraftforge.fml.network.NetworkEvent;
|
||||||
|
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
public class WirelessFluidGridSettingsUpdateMessage {
|
||||||
|
private int sortingDirection;
|
||||||
|
private int sortingType;
|
||||||
|
private int searchBoxMode;
|
||||||
|
private int size;
|
||||||
|
private int tabSelected;
|
||||||
|
private int tabPage;
|
||||||
|
|
||||||
|
public WirelessFluidGridSettingsUpdateMessage(int sortingDirection, int sortingType, int searchBoxMode, int size, int tabSelected, int tabPage) {
|
||||||
|
this.sortingDirection = sortingDirection;
|
||||||
|
this.sortingType = sortingType;
|
||||||
|
this.searchBoxMode = searchBoxMode;
|
||||||
|
this.size = size;
|
||||||
|
this.tabSelected = tabSelected;
|
||||||
|
this.tabPage = tabPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static WirelessFluidGridSettingsUpdateMessage decode(PacketBuffer buf) {
|
||||||
|
return new WirelessFluidGridSettingsUpdateMessage(
|
||||||
|
buf.readInt(),
|
||||||
|
buf.readInt(),
|
||||||
|
buf.readInt(),
|
||||||
|
buf.readInt(),
|
||||||
|
buf.readInt(),
|
||||||
|
buf.readInt()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void encode(WirelessFluidGridSettingsUpdateMessage message, PacketBuffer buf) {
|
||||||
|
buf.writeInt(message.sortingDirection);
|
||||||
|
buf.writeInt(message.sortingType);
|
||||||
|
buf.writeInt(message.searchBoxMode);
|
||||||
|
buf.writeInt(message.size);
|
||||||
|
buf.writeInt(message.tabSelected);
|
||||||
|
buf.writeInt(message.tabPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void handle(WirelessFluidGridSettingsUpdateMessage message, Supplier<NetworkEvent.Context> ctx) {
|
||||||
|
PlayerEntity player = ctx.get().getSender();
|
||||||
|
|
||||||
|
if (player != null) {
|
||||||
|
ctx.get().enqueueWork(() -> {
|
||||||
|
if (player.openContainer instanceof GridContainer) {
|
||||||
|
IGrid grid = ((GridContainer) player.openContainer).getGrid();
|
||||||
|
|
||||||
|
if (grid instanceof WirelessFluidGrid) {
|
||||||
|
ItemStack stack = ((WirelessFluidGrid) grid).getStack();
|
||||||
|
|
||||||
|
if (IGrid.isValidSortingDirection(message.sortingDirection)) {
|
||||||
|
stack.getTag().putInt(GridNetworkNode.NBT_SORTING_DIRECTION, message.sortingDirection);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IGrid.isValidSortingType(message.sortingType)) {
|
||||||
|
stack.getTag().putInt(GridNetworkNode.NBT_SORTING_TYPE, message.sortingType);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IGrid.isValidSearchBoxMode(message.searchBoxMode)) {
|
||||||
|
stack.getTag().putInt(GridNetworkNode.NBT_SEARCH_BOX_MODE, message.searchBoxMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IGrid.isValidSize(message.size)) {
|
||||||
|
stack.getTag().putInt(GridNetworkNode.NBT_SIZE, message.size);
|
||||||
|
}
|
||||||
|
|
||||||
|
stack.getTag().putInt(GridNetworkNode.NBT_TAB_SELECTED, message.tabSelected);
|
||||||
|
stack.getTag().putInt(GridNetworkNode.NBT_TAB_PAGE, message.tabPage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.get().setPacketHandled(true);
|
||||||
|
}
|
||||||
|
}
|
@@ -13,7 +13,7 @@ import net.minecraftforge.fml.network.NetworkEvent;
|
|||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class GridSettingsUpdateMessage {
|
public class WirelessGridSettingsUpdateMessage {
|
||||||
private int viewType;
|
private int viewType;
|
||||||
private int sortingDirection;
|
private int sortingDirection;
|
||||||
private int sortingType;
|
private int sortingType;
|
||||||
@@ -22,7 +22,7 @@ public class GridSettingsUpdateMessage {
|
|||||||
private int tabSelected;
|
private int tabSelected;
|
||||||
private int tabPage;
|
private int tabPage;
|
||||||
|
|
||||||
public GridSettingsUpdateMessage(int viewType, int sortingDirection, int sortingType, int searchBoxMode, int size, int tabSelected, int tabPage) {
|
public WirelessGridSettingsUpdateMessage(int viewType, int sortingDirection, int sortingType, int searchBoxMode, int size, int tabSelected, int tabPage) {
|
||||||
this.viewType = viewType;
|
this.viewType = viewType;
|
||||||
this.sortingDirection = sortingDirection;
|
this.sortingDirection = sortingDirection;
|
||||||
this.sortingType = sortingType;
|
this.sortingType = sortingType;
|
||||||
@@ -32,8 +32,8 @@ public class GridSettingsUpdateMessage {
|
|||||||
this.tabPage = tabPage;
|
this.tabPage = tabPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GridSettingsUpdateMessage decode(PacketBuffer buf) {
|
public static WirelessGridSettingsUpdateMessage decode(PacketBuffer buf) {
|
||||||
return new GridSettingsUpdateMessage(
|
return new WirelessGridSettingsUpdateMessage(
|
||||||
buf.readInt(),
|
buf.readInt(),
|
||||||
buf.readInt(),
|
buf.readInt(),
|
||||||
buf.readInt(),
|
buf.readInt(),
|
||||||
@@ -44,7 +44,7 @@ public class GridSettingsUpdateMessage {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void encode(GridSettingsUpdateMessage message, PacketBuffer buf) {
|
public static void encode(WirelessGridSettingsUpdateMessage message, PacketBuffer buf) {
|
||||||
buf.writeInt(message.viewType);
|
buf.writeInt(message.viewType);
|
||||||
buf.writeInt(message.sortingDirection);
|
buf.writeInt(message.sortingDirection);
|
||||||
buf.writeInt(message.sortingType);
|
buf.writeInt(message.sortingType);
|
||||||
@@ -54,7 +54,7 @@ public class GridSettingsUpdateMessage {
|
|||||||
buf.writeInt(message.tabPage);
|
buf.writeInt(message.tabPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void handle(GridSettingsUpdateMessage message, Supplier<NetworkEvent.Context> ctx) {
|
public static void handle(WirelessGridSettingsUpdateMessage message, Supplier<NetworkEvent.Context> ctx) {
|
||||||
PlayerEntity player = ctx.get().getSender();
|
PlayerEntity player = ctx.get().getSender();
|
||||||
|
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
@@ -62,6 +62,7 @@ public class GridSettingsUpdateMessage {
|
|||||||
if (player.openContainer instanceof GridContainer) {
|
if (player.openContainer instanceof GridContainer) {
|
||||||
IGrid grid = ((GridContainer) player.openContainer).getGrid();
|
IGrid grid = ((GridContainer) player.openContainer).getGrid();
|
||||||
|
|
||||||
|
// TODO Duplicate for portable grid.
|
||||||
if (grid instanceof WirelessGrid || grid instanceof PortableGrid) {
|
if (grid instanceof WirelessGrid || grid instanceof PortableGrid) {
|
||||||
ItemStack stack = grid instanceof WirelessGrid ? ((WirelessGrid) grid).getStack() : ((PortableGrid) grid).getStack();
|
ItemStack stack = grid instanceof WirelessGrid ? ((WirelessGrid) grid).getStack() : ((PortableGrid) grid).getStack();
|
||||||
|
|
@@ -26,9 +26,9 @@ public class KeyInputListener {
|
|||||||
|
|
||||||
if (RSKeyBindings.OPEN_WIRELESS_GRID.isKeyDown()) {
|
if (RSKeyBindings.OPEN_WIRELESS_GRID.isKeyDown()) {
|
||||||
findAndOpen(inv, (error) -> Minecraft.getInstance().player.sendMessage(error), RSItems.WIRELESS_GRID, RSItems.CREATIVE_WIRELESS_GRID);
|
findAndOpen(inv, (error) -> Minecraft.getInstance().player.sendMessage(error), RSItems.WIRELESS_GRID, RSItems.CREATIVE_WIRELESS_GRID);
|
||||||
}/* TODO else if (RSKeyBindings.OPEN_WIRELESS_FLUID_GRID.isKeyDown()) {
|
} else if (RSKeyBindings.OPEN_WIRELESS_FLUID_GRID.isKeyDown()) {
|
||||||
findAndOpen(inv, RSItems.WIRELESS_FLUID_GRID);
|
findAndOpen(inv, (error) -> Minecraft.getInstance().player.sendMessage(error), RSItems.WIRELESS_FLUID_GRID, RSItems.CREATIVE_WIRELESS_FLUID_GRID);
|
||||||
} else if (RSKeyBindings.OPEN_PORTABLE_GRID.isKeyDown()) {
|
}/* TODO else if (RSKeyBindings.OPEN_PORTABLE_GRID.isKeyDown()) {
|
||||||
findAndOpen(inv, Item.getItemFromBlock(RSBlocks.PORTABLE_GRID));
|
findAndOpen(inv, Item.getItemFromBlock(RSBlocks.PORTABLE_GRID));
|
||||||
} else if (RSKeyBindings.OPEN_WIRELESS_CRAFTING_MONITOR.isKeyDown()) {
|
} else if (RSKeyBindings.OPEN_WIRELESS_CRAFTING_MONITOR.isKeyDown()) {
|
||||||
findAndOpen(inv, RSItems.WIRELESS_CRAFTING_MONITOR);
|
findAndOpen(inv, RSItems.WIRELESS_CRAFTING_MONITOR);
|
||||||
|
@@ -1,29 +1,36 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile.grid;
|
package com.raoulvdberge.refinedstorage.tile.grid;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.RS;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.*;
|
import com.raoulvdberge.refinedstorage.api.network.grid.*;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||||
|
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
||||||
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCache;
|
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCache;
|
||||||
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCacheListener;
|
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCacheListener;
|
||||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.FluidGridStorageCacheListener;
|
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.FluidGridStorageCacheListener;
|
||||||
|
import com.raoulvdberge.refinedstorage.capability.NetworkNodeProxyCapability;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
|
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
|
||||||
|
import com.raoulvdberge.refinedstorage.item.WirelessFluidGridItem;
|
||||||
|
import com.raoulvdberge.refinedstorage.network.grid.WirelessFluidGridSettingsUpdateMessage;
|
||||||
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
|
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
|
||||||
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
|
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
|
||||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
import net.minecraft.entity.player.ServerPlayerEntity;
|
||||||
import net.minecraft.inventory.CraftResultInventory;
|
import net.minecraft.inventory.CraftResultInventory;
|
||||||
import net.minecraft.inventory.CraftingInventory;
|
import net.minecraft.inventory.CraftingInventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.CompoundNBT;
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.text.ITextComponent;
|
import net.minecraft.util.text.ITextComponent;
|
||||||
import net.minecraft.util.text.TranslationTextComponent;
|
import net.minecraft.util.text.TranslationTextComponent;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.dimension.DimensionType;
|
||||||
|
import net.minecraftforge.common.DimensionManager;
|
||||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
@@ -31,12 +38,11 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class WirelessFluidGrid implements INetworkAwareGrid {
|
public class WirelessFluidGrid implements INetworkAwareGrid {
|
||||||
public static int ID;
|
|
||||||
|
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
|
@Nullable
|
||||||
private int networkDimension;
|
private final MinecraftServer server;
|
||||||
private BlockPos network;
|
private final DimensionType nodeDimension;
|
||||||
|
private final BlockPos nodePos;
|
||||||
|
|
||||||
private int sortingType;
|
private int sortingType;
|
||||||
private int sortingDirection;
|
private int sortingDirection;
|
||||||
@@ -56,18 +62,18 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
|
|||||||
StackUtils.writeItems(handler, 0, stack.getTag());
|
StackUtils.writeItems(handler, 0, stack.getTag());
|
||||||
}));
|
}));
|
||||||
|
|
||||||
public WirelessFluidGrid(ItemStack stack) {
|
public WirelessFluidGrid(ItemStack stack, @Nullable MinecraftServer server) {
|
||||||
/* TODO this.networkDimension = ItemWirelessFluidGrid.getDimensionId(stack);
|
|
||||||
this.network = new BlockPos(ItemWirelessFluidGrid.getX(stack), ItemWirelessFluidGrid.getY(stack), ItemWirelessFluidGrid.getZ(stack));
|
|
||||||
|
|
||||||
this.stack = stack;
|
this.stack = stack;
|
||||||
|
this.server = server;
|
||||||
|
this.nodeDimension = WirelessFluidGridItem.getDimension(stack);
|
||||||
|
this.nodePos = new BlockPos(WirelessFluidGridItem.getX(stack), WirelessFluidGridItem.getY(stack), WirelessFluidGridItem.getZ(stack));
|
||||||
|
|
||||||
this.sortingType = ItemWirelessFluidGrid.getSortingType(stack);
|
this.sortingType = WirelessFluidGridItem.getSortingType(stack);
|
||||||
this.sortingDirection = ItemWirelessFluidGrid.getSortingDirection(stack);
|
this.sortingDirection = WirelessFluidGridItem.getSortingDirection(stack);
|
||||||
this.searchBoxMode = ItemWirelessFluidGrid.getSearchBoxMode(stack);
|
this.searchBoxMode = WirelessFluidGridItem.getSearchBoxMode(stack);
|
||||||
this.tabSelected = ItemWirelessFluidGrid.getTabSelected(stack);
|
this.tabSelected = WirelessFluidGridItem.getTabSelected(stack);
|
||||||
this.tabPage = ItemWirelessFluidGrid.getTabPage(stack);
|
this.tabPage = WirelessFluidGridItem.getTabPage(stack);
|
||||||
this.size = ItemWirelessFluidGrid.getSize(stack);*/
|
this.size = WirelessFluidGridItem.getSize(stack);
|
||||||
|
|
||||||
if (stack.hasTag()) {
|
if (stack.hasTag()) {
|
||||||
StackUtils.readItems(filter, 0, stack.getTag());
|
StackUtils.readItems(filter, 0, stack.getTag());
|
||||||
@@ -86,13 +92,18 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
|
|||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public INetwork getNetwork() {
|
public INetwork getNetwork() {
|
||||||
// TODO World world = DimensionManager.getWorld(networkDimension);
|
World world = DimensionManager.getWorld(server, nodeDimension, true, true);
|
||||||
World world = null;
|
|
||||||
|
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
TileEntity tile = world.getTileEntity(network);
|
TileEntity tile = world.getTileEntity(nodePos);
|
||||||
|
|
||||||
return tile instanceof INetwork ? (INetwork) tile : null;
|
if (tile != null) {
|
||||||
|
INetworkNodeProxy proxy = tile.getCapability(NetworkNodeProxyCapability.NETWORK_NODE_PROXY_CAPABILITY).orElse(null);
|
||||||
|
|
||||||
|
if (proxy != null) {
|
||||||
|
return proxy.getNode().getNetwork();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -187,7 +198,7 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingTypeChanged(int type) {
|
public void onSortingTypeChanged(int type) {
|
||||||
// TODO RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), type, getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessFluidGridSettingsUpdateMessage(getSortingDirection(), type, getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.sortingType = type;
|
this.sortingType = type;
|
||||||
|
|
||||||
@@ -196,7 +207,7 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingDirectionChanged(int direction) {
|
public void onSortingDirectionChanged(int direction) {
|
||||||
// TODO RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(direction, getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessFluidGridSettingsUpdateMessage(direction, getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.sortingDirection = direction;
|
this.sortingDirection = direction;
|
||||||
|
|
||||||
@@ -205,27 +216,25 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSearchBoxModeChanged(int searchBoxMode) {
|
public void onSearchBoxModeChanged(int searchBoxMode) {
|
||||||
// TODO RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), searchBoxMode, getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessFluidGridSettingsUpdateMessage(getSortingDirection(), getSortingType(), searchBoxMode, getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.searchBoxMode = searchBoxMode;
|
this.searchBoxMode = searchBoxMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSizeChanged(int size) {
|
public void onSizeChanged(int size) {
|
||||||
// TODO RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), getSearchBoxMode(), size, getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessFluidGridSettingsUpdateMessage(getSortingDirection(), getSortingType(), getSearchBoxMode(), size, getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.size = size;
|
this.size = size;
|
||||||
|
|
||||||
if (Minecraft.getInstance().currentScreen != null) {
|
BaseScreen.executeLater(GridScreen.class, BaseScreen::init);
|
||||||
// TODO Minecraft.getInstance().currentScreen.init();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTabSelectionChanged(int tab) {
|
public void onTabSelectionChanged(int tab) {
|
||||||
this.tabSelected = tab == tabSelected ? -1 : tab;
|
this.tabSelected = tab == tabSelected ? -1 : tab;
|
||||||
|
|
||||||
// TODO RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), tabSelected, getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessFluidGridSettingsUpdateMessage(getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), tabSelected, getTabPage()));
|
||||||
|
|
||||||
BaseScreen.executeLater(GridScreen.class, grid -> grid.getView().sort());
|
BaseScreen.executeLater(GridScreen.class, grid -> grid.getView().sort());
|
||||||
}
|
}
|
||||||
@@ -233,7 +242,7 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
|
|||||||
@Override
|
@Override
|
||||||
public void onTabPageChanged(int page) {
|
public void onTabPageChanged(int page) {
|
||||||
if (page >= 0 && page <= getTotalTabPages()) {
|
if (page >= 0 && page <= getTotalTabPages()) {
|
||||||
// TODO RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), page));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessFluidGridSettingsUpdateMessage(getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), page));
|
||||||
|
|
||||||
this.tabPage = page;
|
this.tabPage = page;
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.ItemGridSt
|
|||||||
import com.raoulvdberge.refinedstorage.capability.NetworkNodeProxyCapability;
|
import com.raoulvdberge.refinedstorage.capability.NetworkNodeProxyCapability;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
|
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
|
||||||
import com.raoulvdberge.refinedstorage.item.WirelessGridItem;
|
import com.raoulvdberge.refinedstorage.item.WirelessGridItem;
|
||||||
import com.raoulvdberge.refinedstorage.network.grid.GridSettingsUpdateMessage;
|
import com.raoulvdberge.refinedstorage.network.grid.WirelessGridSettingsUpdateMessage;
|
||||||
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
|
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
|
||||||
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
|
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
|
||||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||||
@@ -39,6 +39,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class WirelessGrid implements INetworkAwareGrid {
|
public class WirelessGrid implements INetworkAwareGrid {
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
|
@Nullable
|
||||||
private final MinecraftServer server;
|
private final MinecraftServer server;
|
||||||
private final DimensionType nodeDimension;
|
private final DimensionType nodeDimension;
|
||||||
private final BlockPos nodePos;
|
private final BlockPos nodePos;
|
||||||
@@ -195,7 +196,7 @@ public class WirelessGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewTypeChanged(int type) {
|
public void onViewTypeChanged(int type) {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(type, getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(type, getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.viewType = type;
|
this.viewType = type;
|
||||||
|
|
||||||
@@ -204,7 +205,7 @@ public class WirelessGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingTypeChanged(int type) {
|
public void onSortingTypeChanged(int type) {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(getViewType(), getSortingDirection(), type, getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(getViewType(), getSortingDirection(), type, getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.sortingType = type;
|
this.sortingType = type;
|
||||||
|
|
||||||
@@ -213,7 +214,7 @@ public class WirelessGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingDirectionChanged(int direction) {
|
public void onSortingDirectionChanged(int direction) {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(getViewType(), direction, getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(getViewType(), direction, getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.sortingDirection = direction;
|
this.sortingDirection = direction;
|
||||||
|
|
||||||
@@ -222,14 +223,14 @@ public class WirelessGrid implements INetworkAwareGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSearchBoxModeChanged(int searchBoxMode) {
|
public void onSearchBoxModeChanged(int searchBoxMode) {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), searchBoxMode, getSize(), getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), searchBoxMode, getSize(), getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.searchBoxMode = searchBoxMode;
|
this.searchBoxMode = searchBoxMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSizeChanged(int size) {
|
public void onSizeChanged(int size) {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), size, getTabSelected(), getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), size, getTabSelected(), getTabPage()));
|
||||||
|
|
||||||
this.size = size;
|
this.size = size;
|
||||||
|
|
||||||
@@ -240,7 +241,7 @@ public class WirelessGrid implements INetworkAwareGrid {
|
|||||||
public void onTabSelectionChanged(int tab) {
|
public void onTabSelectionChanged(int tab) {
|
||||||
this.tabSelected = tab == tabSelected ? -1 : tab;
|
this.tabSelected = tab == tabSelected ? -1 : tab;
|
||||||
|
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), tabSelected, getTabPage()));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), tabSelected, getTabPage()));
|
||||||
|
|
||||||
BaseScreen.executeLater(GridScreen.class, grid -> grid.getView().sort());
|
BaseScreen.executeLater(GridScreen.class, grid -> grid.getView().sort());
|
||||||
}
|
}
|
||||||
@@ -248,7 +249,7 @@ public class WirelessGrid implements INetworkAwareGrid {
|
|||||||
@Override
|
@Override
|
||||||
public void onTabPageChanged(int page) {
|
public void onTabPageChanged(int page) {
|
||||||
if (page >= 0 && page <= getTotalTabPages()) {
|
if (page >= 0 && page <= getTotalTabPages()) {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), page));
|
RS.NETWORK_HANDLER.sendToServer(new WirelessGridSettingsUpdateMessage(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected(), page));
|
||||||
|
|
||||||
this.tabPage = page;
|
this.tabPage = page;
|
||||||
}
|
}
|
||||||
|
@@ -229,8 +229,8 @@
|
|||||||
"item.refinedstorage.creative_fluid_storage_disk": "Creative Fluid Storage Disk",
|
"item.refinedstorage.creative_fluid_storage_disk": "Creative Fluid Storage Disk",
|
||||||
"item.refinedstorage.wireless_grid": "Wireless Grid",
|
"item.refinedstorage.wireless_grid": "Wireless Grid",
|
||||||
"item.refinedstorage.creative_wireless_grid": "Creative Wireless Grid",
|
"item.refinedstorage.creative_wireless_grid": "Creative Wireless Grid",
|
||||||
"item.refinedstorage:wireless_fluid_grid.0": "Wireless Fluid Grid",
|
"item.refinedstorage.wireless_fluid_grid": "Wireless Fluid Grid",
|
||||||
"item.refinedstorage:wireless_fluid_grid.1": "Creative Wireless Fluid Grid",
|
"item.refinedstorage.creative_wireless_fluid_grid": "Creative Wireless Fluid Grid",
|
||||||
"item.refinedstorage:wireless_crafting_monitor.0": "Wireless Crafting Monitor",
|
"item.refinedstorage:wireless_crafting_monitor.0": "Wireless Crafting Monitor",
|
||||||
"item.refinedstorage:wireless_crafting_monitor.1": "Creative Wireless Crafting Monitor",
|
"item.refinedstorage:wireless_crafting_monitor.1": "Creative Wireless Crafting Monitor",
|
||||||
"item.refinedstorage.quartz_enriched_iron": "Quartz Enriched Iron",
|
"item.refinedstorage.quartz_enriched_iron": "Quartz Enriched Iron",
|
||||||
|
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "refinedstorage:item/wireless_fluid_grid_disconnected"
|
||||||
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"predicate": {
|
||||||
|
"connected": 0
|
||||||
|
},
|
||||||
|
"model": "refinedstorage:item/wireless_fluid_grid_disconnected"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"predicate": {
|
||||||
|
"connected": 1
|
||||||
|
},
|
||||||
|
"model": "refinedstorage:item/wireless_fluid_grid_connected"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -10,18 +10,16 @@
|
|||||||
"item": "refinedstorage:quartz_enriched_iron"
|
"item": "refinedstorage:quartz_enriched_iron"
|
||||||
},
|
},
|
||||||
"P": {
|
"P": {
|
||||||
"item": "minecraft:ender_pearl"
|
"tag": "forge:ender_pearls"
|
||||||
},
|
},
|
||||||
"G": {
|
"G": {
|
||||||
"item": "refinedstorage:grid",
|
"item": "refinedstorage:fluid_grid"
|
||||||
"data": 3
|
|
||||||
},
|
},
|
||||||
"A": {
|
"A": {
|
||||||
"item": "#advanced_processor"
|
"item": "refinedstorage:advanced_processor"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"item": "refinedstorage:wireless_fluid_grid",
|
"item": "refinedstorage:wireless_fluid_grid"
|
||||||
"data": 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user