JEI synchronization, doesn't actually sync yet though... JEI bug?
This commit is contained in:
@@ -10,9 +10,11 @@ import net.minecraft.inventory.Slot;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.block.EnumGridType;
|
||||
import refinedstorage.container.ContainerGrid;
|
||||
import refinedstorage.gui.sidebutton.SideButtonGridSearchBoxMode;
|
||||
import refinedstorage.gui.sidebutton.SideButtonGridSortingDirection;
|
||||
import refinedstorage.gui.sidebutton.SideButtonGridSortingType;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.jei.PluginRefinedStorage;
|
||||
import refinedstorage.network.MessageGridCraftingClear;
|
||||
import refinedstorage.network.MessageGridCraftingPush;
|
||||
import refinedstorage.network.MessageStoragePull;
|
||||
@@ -52,6 +54,10 @@ public class GuiGrid extends GuiBase {
|
||||
addSideButton(new SideButtonGridSortingDirection(grid));
|
||||
addSideButton(new SideButtonGridSortingType(grid));
|
||||
|
||||
if (PluginRefinedStorage.isJeiLoaded()) {
|
||||
addSideButton(new SideButtonGridSearchBoxMode(grid));
|
||||
}
|
||||
|
||||
searchField = new GuiTextField(0, fontRendererObj, x + 80 + 1, y + 6 + 1, 88 - 6, fontRendererObj.FONT_HEIGHT);
|
||||
searchField.setEnableBackgroundDrawing(false);
|
||||
searchField.setVisible(true);
|
||||
@@ -287,6 +293,9 @@ public class GuiGrid extends GuiBase {
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException {
|
||||
if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode)) {
|
||||
if (PluginRefinedStorage.isJeiLoaded()) {
|
||||
PluginRefinedStorage.INSTANCE.getRuntime().getItemListOverlay().setFilterText(searchField.getText());
|
||||
}
|
||||
} else {
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
|
||||
44
src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSearchBoxMode.java
Executable file
44
src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSearchBoxMode.java
Executable file
@@ -0,0 +1,44 @@
|
||||
package refinedstorage.gui.sidebutton;
|
||||
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageGridSettingsUpdate;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class SideButtonGridSearchBoxMode extends SideButton {
|
||||
private TileGrid grid;
|
||||
|
||||
public SideButtonGridSearchBoxMode(TileGrid grid) {
|
||||
this.grid = grid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:grid.search_box_mode")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(gui.t("sidebutton.refinedstorage:grid.search_box_mode." + grid.getSearchBoxMode()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x - 1, y + 2 - 1, 0, 96, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
int mode = grid.getSearchBoxMode();
|
||||
|
||||
if (mode == TileGrid.SEARCH_BOX_MODE_NORMAL) {
|
||||
mode = TileGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED;
|
||||
} else if (mode == TileGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED) {
|
||||
mode = TileGrid.SEARCH_BOX_MODE_NORMAL;
|
||||
}
|
||||
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSettingsUpdate(grid, grid.getSortingDirection(), grid.getSortingType(), mode));
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package refinedstorage.gui.sidebutton;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageGridSortingUpdate;
|
||||
import refinedstorage.network.MessageGridSettingsUpdate;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class SideButtonGridSortingDirection extends SideButton {
|
||||
@@ -17,8 +17,8 @@ public class SideButtonGridSortingDirection extends SideButton {
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.direction")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(gui.t("sidebutton.refinedstorage:sorting.direction." + grid.getSortingDirection()));
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:grid.sorting.direction")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(gui.t("sidebutton.refinedstorage:grid.sorting.direction." + grid.getSortingDirection()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
@@ -39,6 +39,6 @@ public class SideButtonGridSortingDirection extends SideButton {
|
||||
dir = TileGrid.SORTING_DIRECTION_ASCENDING;
|
||||
}
|
||||
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, dir, grid.getSortingType()));
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSettingsUpdate(grid, dir, grid.getSortingType(), grid.getSearchBoxMode()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package refinedstorage.gui.sidebutton;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageGridSortingUpdate;
|
||||
import refinedstorage.network.MessageGridSettingsUpdate;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class SideButtonGridSortingType extends SideButton {
|
||||
@@ -17,8 +17,8 @@ public class SideButtonGridSortingType extends SideButton {
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.type")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(gui.t("sidebutton.refinedstorage:sorting.type." + grid.getSortingType()));
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:grid.sorting.type")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(gui.t("sidebutton.refinedstorage:grid.sorting.type." + grid.getSortingType()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
@@ -39,6 +39,6 @@ public class SideButtonGridSortingType extends SideButton {
|
||||
type = TileGrid.SORTING_TYPE_QUANTITY;
|
||||
}
|
||||
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, grid.getSortingDirection(), type));
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSettingsUpdate(grid, grid.getSortingDirection(), type, grid.getSearchBoxMode()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package refinedstorage.jei;
|
||||
|
||||
import mezz.jei.api.BlankModPlugin;
|
||||
import mezz.jei.api.IJeiRuntime;
|
||||
import mezz.jei.api.IModPlugin;
|
||||
import mezz.jei.api.IModRegistry;
|
||||
import mezz.jei.api.JEIPlugin;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -10,9 +11,15 @@ import refinedstorage.storage.DiskStorage;
|
||||
import refinedstorage.tile.TileStorage;
|
||||
|
||||
@JEIPlugin
|
||||
public class PluginRefinedStorage extends BlankModPlugin {
|
||||
public class PluginRefinedStorage implements IModPlugin {
|
||||
public static PluginRefinedStorage INSTANCE;
|
||||
|
||||
private IJeiRuntime runtime;
|
||||
|
||||
@Override
|
||||
public void register(IModRegistry registry) {
|
||||
INSTANCE = this;
|
||||
|
||||
registry.getRecipeTransferRegistry().addRecipeTransferHandler(new GridRecipeTransferHandler());
|
||||
|
||||
registry.addRecipeCategories(new SoldererRecipeCategory(registry.getJeiHelpers().getGuiHelper()));
|
||||
@@ -24,4 +31,17 @@ public class PluginRefinedStorage extends BlankModPlugin {
|
||||
registry.getJeiHelpers().getNbtIgnoreList().ignoreNbtTagNames(RefinedStorageItems.STORAGE_DISK, DiskStorage.NBT_ITEMS, DiskStorage.NBT_STORED);
|
||||
registry.getJeiHelpers().getNbtIgnoreList().ignoreNbtTagNames(Item.getItemFromBlock(RefinedStorageBlocks.STORAGE), TileStorage.NBT_STORAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRuntimeAvailable(IJeiRuntime runtime) {
|
||||
this.runtime = runtime;
|
||||
}
|
||||
|
||||
public IJeiRuntime getRuntime() {
|
||||
return runtime;
|
||||
}
|
||||
|
||||
public static boolean isJeiLoaded() {
|
||||
return INSTANCE != null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,22 +7,24 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class MessageGridSortingUpdate extends MessageHandlerPlayerToServer<MessageGridSortingUpdate> implements IMessage {
|
||||
public class MessageGridSettingsUpdate extends MessageHandlerPlayerToServer<MessageGridSettingsUpdate> implements IMessage {
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
private int sortingDirection;
|
||||
private int sortingType;
|
||||
private int searchBoxMode;
|
||||
|
||||
public MessageGridSortingUpdate() {
|
||||
public MessageGridSettingsUpdate() {
|
||||
}
|
||||
|
||||
public MessageGridSortingUpdate(TileGrid grid, int sortingDirection, int sortingType) {
|
||||
public MessageGridSettingsUpdate(TileGrid grid, int sortingDirection, int sortingType, int searchBoxMode) {
|
||||
this.x = grid.getPos().getX();
|
||||
this.y = grid.getPos().getY();
|
||||
this.z = grid.getPos().getZ();
|
||||
this.sortingDirection = sortingDirection;
|
||||
this.sortingType = sortingType;
|
||||
this.searchBoxMode = searchBoxMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -32,6 +34,7 @@ public class MessageGridSortingUpdate extends MessageHandlerPlayerToServer<Messa
|
||||
z = buf.readInt();
|
||||
sortingDirection = buf.readInt();
|
||||
sortingType = buf.readInt();
|
||||
searchBoxMode = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,10 +44,11 @@ public class MessageGridSortingUpdate extends MessageHandlerPlayerToServer<Messa
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(sortingDirection);
|
||||
buf.writeInt(sortingType);
|
||||
buf.writeInt(searchBoxMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(MessageGridSortingUpdate message, EntityPlayerMP player) {
|
||||
public void handle(MessageGridSettingsUpdate message, EntityPlayerMP player) {
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileGrid) {
|
||||
@@ -55,6 +59,10 @@ public class MessageGridSortingUpdate extends MessageHandlerPlayerToServer<Messa
|
||||
if (message.sortingType == TileGrid.SORTING_TYPE_QUANTITY || message.sortingType == TileGrid.SORTING_TYPE_NAME) {
|
||||
((TileGrid) tile).setSortingType(message.sortingType);
|
||||
}
|
||||
|
||||
if (message.searchBoxMode == TileGrid.SEARCH_BOX_MODE_NORMAL || message.searchBoxMode == TileGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED) {
|
||||
((TileGrid) tile).setSearchBoxMode(message.searchBoxMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ public class CommonProxy {
|
||||
RefinedStorage.NETWORK.registerMessage(MessageDetectorAmountUpdate.class, MessageDetectorAmountUpdate.class, 7, Side.SERVER);
|
||||
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingClear.class, MessageGridCraftingClear.class, 9, Side.SERVER);
|
||||
RefinedStorage.NETWORK.registerMessage(MessagePriorityUpdate.class, MessagePriorityUpdate.class, 10, Side.SERVER);
|
||||
RefinedStorage.NETWORK.registerMessage(MessageGridSortingUpdate.class, MessageGridSortingUpdate.class, 11, Side.SERVER);
|
||||
RefinedStorage.NETWORK.registerMessage(MessageGridSettingsUpdate.class, MessageGridSettingsUpdate.class, 11, Side.SERVER);
|
||||
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingPush.class, MessageGridCraftingPush.class, 12, Side.SERVER);
|
||||
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingTransfer.class, MessageGridCraftingTransfer.class, 13, Side.SERVER);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import java.util.List;
|
||||
public class TileGrid extends TileMachine {
|
||||
public static final String NBT_SORTING_DIRECTION = "SortingDirection";
|
||||
public static final String NBT_SORTING_TYPE = "SortingType";
|
||||
public static final String NBT_SEARCH_BOX_MODE = "SearchBoxMode";
|
||||
|
||||
public static final int SORTING_DIRECTION_ASCENDING = 0;
|
||||
public static final int SORTING_DIRECTION_DESCENDING = 1;
|
||||
@@ -28,6 +29,9 @@ public class TileGrid extends TileMachine {
|
||||
public static final int SORTING_TYPE_QUANTITY = 0;
|
||||
public static final int SORTING_TYPE_NAME = 1;
|
||||
|
||||
public static final int SEARCH_BOX_MODE_NORMAL = 0;
|
||||
public static final int SEARCH_BOX_MODE_JEI_SYNCHRONIZED = 1;
|
||||
|
||||
private Container craftingContainer = new Container() {
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
@@ -44,6 +48,7 @@ public class TileGrid extends TileMachine {
|
||||
|
||||
private int sortingDirection = SORTING_DIRECTION_DESCENDING;
|
||||
private int sortingType = SORTING_TYPE_NAME;
|
||||
private int searchBoxMode = SEARCH_BOX_MODE_NORMAL;
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
@@ -176,6 +181,14 @@ public class TileGrid extends TileMachine {
|
||||
this.sortingType = sortingType;
|
||||
}
|
||||
|
||||
public int getSearchBoxMode() {
|
||||
return searchBoxMode;
|
||||
}
|
||||
|
||||
public void setSearchBoxMode(int searchBoxMode) {
|
||||
this.searchBoxMode = searchBoxMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
@@ -189,6 +202,10 @@ public class TileGrid extends TileMachine {
|
||||
if (nbt.hasKey(NBT_SORTING_TYPE)) {
|
||||
sortingType = nbt.getInteger(NBT_SORTING_TYPE);
|
||||
}
|
||||
|
||||
if (nbt.hasKey(NBT_SEARCH_BOX_MODE)) {
|
||||
searchBoxMode = nbt.getInteger(NBT_SEARCH_BOX_MODE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -199,6 +216,7 @@ public class TileGrid extends TileMachine {
|
||||
|
||||
nbt.setInteger(NBT_SORTING_DIRECTION, sortingDirection);
|
||||
nbt.setInteger(NBT_SORTING_TYPE, sortingType);
|
||||
nbt.setInteger(NBT_SEARCH_BOX_MODE, searchBoxMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -207,6 +225,7 @@ public class TileGrid extends TileMachine {
|
||||
|
||||
buf.writeInt(sortingDirection);
|
||||
buf.writeInt(sortingType);
|
||||
buf.writeInt(searchBoxMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -215,6 +234,7 @@ public class TileGrid extends TileMachine {
|
||||
|
||||
sortingDirection = buf.readInt();
|
||||
sortingType = buf.readInt();
|
||||
searchBoxMode = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -47,13 +47,15 @@ sidebutton.refinedstorage:redstone_mode.0=Ignore redstone signal
|
||||
sidebutton.refinedstorage:redstone_mode.1=Only work with redstone signal
|
||||
sidebutton.refinedstorage:redstone_mode.2=Only work without redstone signal
|
||||
|
||||
sidebutton.refinedstorage:sorting.direction=Sorting Direction
|
||||
sidebutton.refinedstorage:sorting.direction.0=Ascending
|
||||
sidebutton.refinedstorage:sorting.direction.1=Descending
|
||||
|
||||
sidebutton.refinedstorage:sorting.type=Sorting Type
|
||||
sidebutton.refinedstorage:sorting.type.0=Quantity
|
||||
sidebutton.refinedstorage:sorting.type.1=Name
|
||||
sidebutton.refinedstorage:grid.sorting.direction=Sorting Direction
|
||||
sidebutton.refinedstorage:grid.sorting.direction.0=Ascending
|
||||
sidebutton.refinedstorage:grid.sorting.direction.1=Descending
|
||||
sidebutton.refinedstorage:grid.sorting.type=Sorting Type
|
||||
sidebutton.refinedstorage:grid.sorting.type.0=Quantity
|
||||
sidebutton.refinedstorage:grid.sorting.type.1=Name
|
||||
sidebutton.refinedstorage:grid.search_box_mode=Search Box Mode
|
||||
sidebutton.refinedstorage:grid.search_box_mode.0=Normal
|
||||
sidebutton.refinedstorage:grid.search_box_mode.1=JEI Synchronized
|
||||
|
||||
sidebutton.refinedstorage:mode=Mode
|
||||
sidebutton.refinedstorage:mode.whitelist=Whitelist
|
||||
|
||||
@@ -47,13 +47,15 @@ sidebutton.refinedstorage:redstone_mode.0=Redstone negeren
|
||||
sidebutton.refinedstorage:redstone_mode.1=Alleen werken met redstone signaal
|
||||
sidebutton.refinedstorage:redstone_mode.2=Alleen werken zonder redstone signaal
|
||||
|
||||
sidebutton.refinedstorage:sorting.direction=Sorteer Richting
|
||||
sidebutton.refinedstorage:sorting.direction.0=Oplopend
|
||||
sidebutton.refinedstorage:sorting.direction.1=Aflopend
|
||||
|
||||
sidebutton.refinedstorage:sorting.type=Sorteer Type
|
||||
sidebutton.refinedstorage:sorting.type.0=Hoeveelheid
|
||||
sidebutton.refinedstorage:sorting.type.1=Naam
|
||||
sidebutton.refinedstorage:grid.sorting.direction=Sorteer Richting
|
||||
sidebutton.refinedstorage:grid.sorting.direction.0=Oplopend
|
||||
sidebutton.refinedstorage:grid.sorting.direction.1=Aflopend
|
||||
sidebutton.refinedstorage:grid.sorting.type=Sorteer Type
|
||||
sidebutton.refinedstorage:grid.sorting.type.0=Hoeveelheid
|
||||
sidebutton.refinedstorage:grid.sorting.type.1=Naam
|
||||
sidebutton.refinedstorage:grid.search_box_mode=Zoekbalk Mode
|
||||
sidebutton.refinedstorage:grid.search_box_mode.0=Normaal
|
||||
sidebutton.refinedstorage:grid.search_box_mode.1=JEI Gesynchronizeerd
|
||||
|
||||
sidebutton.refinedstorage:mode=Mode
|
||||
sidebutton.refinedstorage:mode.whitelist=Whitelist
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Reference in New Issue
Block a user