From 4ec705dd748b9fe2b9dee92d01fdee133bb565eb Mon Sep 17 00:00:00 2001 From: Alexandre Tardif Date: Fri, 12 Aug 2022 18:41:48 -0400 Subject: [PATCH] Button works! --- .../client/gui/GuiBaseFluidPatternTerminalEx.java | 10 +++++----- .../client/gui/container/FCBasePartContainerEx.java | 1 + .../common/parts/PartFluidPatternTerminalEx.java | 11 ++++++++--- .../FluidPatternTerminalRecipeTransferHandler.java | 8 +++++++- .../com/glodblock/github/nei/recipes/FluidRecipe.java | 8 ++------ .../github/network/CPacketFluidPatternTermBtns.java | 3 +++ 6 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java b/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java index 67ef6169..593cf0ce 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java @@ -72,7 +72,7 @@ public class GuiBaseFluidPatternTerminalEx extends GuiFCBaseMonitor { } else if( this.fluidPrioritizedEnabledBtn == btn || this.fluidPrioritizedDisabledBtn == btn ) { - FluidCraft.proxy.netHandler.sendToServer( new CPacketFluidPatternTermBtns( "PatternTerminalEx.Prioritize", this.fluidPrioritizedEnabledBtn == btn ? PRIORITY_DISABLE : PRIORITY_ENABLE ) ); + FluidCraft.proxy.netHandler.sendToServer( new CPacketFluidPatternTermBtns( "PatternTerminalEx.Prioritize", container.prioritize ? PRIORITY_DISABLE : PRIORITY_ENABLE ) ); } else if( this.invertBtn == btn ) { @@ -146,14 +146,14 @@ public class GuiBaseFluidPatternTerminalEx extends GuiFCBaseMonitor { } if( this.container.prioritize ) { - this.fluidPrioritizedEnabledBtn.visible = true; - this.fluidPrioritizedDisabledBtn.visible = false; + this.fluidPrioritizedEnabledBtn.visible = false; + this.fluidPrioritizedDisabledBtn.visible = true; // MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText("ENABLED")); } else { - this.fluidPrioritizedEnabledBtn.visible = false; - this.fluidPrioritizedDisabledBtn.visible = true; + this.fluidPrioritizedEnabledBtn.visible = true; + this.fluidPrioritizedDisabledBtn.visible = false; //MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText("DISABLED")); } diff --git a/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java b/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java index 87071843..f395263b 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java +++ b/src/main/java/com/glodblock/github/client/gui/container/FCBasePartContainerEx.java @@ -310,6 +310,7 @@ public class FCBasePartContainerEx extends FCBaseMonitorContain implements IAEAp if( Platform.isServer() ) { this.substitute = this.patternTerminal.isSubstitution(); + this.prioritize = this.patternTerminal.isPrioritize(); if (inverted != patternTerminal.isInverted() || activePage != patternTerminal.getActivePage()) { inverted = patternTerminal.isInverted(); activePage = patternTerminal.getActivePage(); diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidPatternTerminalEx.java b/src/main/java/com/glodblock/github/common/parts/PartFluidPatternTerminalEx.java index b6ef4b02..fdff9119 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidPatternTerminalEx.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidPatternTerminalEx.java @@ -38,7 +38,7 @@ public class PartFluidPatternTerminalEx extends FCBasePart { private final AppEngInternalInventory pattern = new AppEngInternalInventory( this, 2 ); private boolean substitute = false; - private boolean priorization = false; + private boolean prioritize = false; private boolean inverted = false; private int activePage = 0; @@ -97,7 +97,7 @@ public class PartFluidPatternTerminalEx extends FCBasePart { this.pattern.writeToNBT( data, "pattern" ); this.output.writeToNBT( data, "outputList" ); this.crafting.writeToNBT( data, "craftingGrid" ); - data.setBoolean("priorization", this.priorization); + data.setBoolean("priorization", this.prioritize); data.setBoolean( "substitute", this.substitute ); data.setBoolean( "inverted", this.inverted ); data.setInteger( "activePage", this.activePage ); @@ -206,13 +206,18 @@ public class PartFluidPatternTerminalEx extends FCBasePart { return this.substitute; } + public boolean isPrioritize() + { + return this.prioritize; + } + public void setSubstitution( boolean canSubstitute ) { this.substitute = canSubstitute; } public void setPrioritization( boolean canPrioritize ) { - this.priorization = canPrioritize; + this.prioritize = canPrioritize; } public void onChangeCrafting(IAEItemStack[] newCrafting, IAEItemStack[] newOutput) { diff --git a/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java b/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java index 2464d90f..b337ff11 100644 --- a/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java +++ b/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java @@ -4,8 +4,10 @@ import codechicken.nei.api.IOverlayHandler; import codechicken.nei.recipe.IRecipeHandler; import codechicken.nei.recipe.TemplateRecipeHandler; import com.glodblock.github.FluidCraft; +import com.glodblock.github.client.gui.GuiBaseFluidPatternTerminalEx; import com.glodblock.github.client.gui.GuiFluidPatternTerminal; import com.glodblock.github.client.gui.GuiFluidPatternTerminalEx; +import com.glodblock.github.client.gui.container.FluidPrioritization; import com.glodblock.github.nei.object.OrderStack; import com.glodblock.github.nei.recipes.FluidRecipe; import com.glodblock.github.network.CPacketTransferRecipe; @@ -30,7 +32,11 @@ public class FluidPatternTerminalRecipeTransferHandler implements IOverlayHandle @Override public void overlayRecipe(GuiContainer firstGui, IRecipeHandler recipe, int recipeIndex, boolean shift) { if (isCorrectGui(firstGui)) { - List> in = FluidRecipe.getPackageInputs(recipe, recipeIndex); + boolean priority = false; + if (firstGui instanceof GuiBaseFluidPatternTerminalEx) { + priority = ((GuiBaseFluidPatternTerminalEx)firstGui).container.prioritize; + } + List> in = FluidRecipe.getPackageInputs(recipe, recipeIndex, priority); List> out = FluidRecipe.getPackageOutputs(recipe, recipeIndex, !notUseOther(recipe)); boolean craft = shouldCraft(recipe); FluidCraft.proxy.netHandler.sendToServer(new CPacketTransferRecipe(in, out, craft)); diff --git a/src/main/java/com/glodblock/github/nei/recipes/FluidRecipe.java b/src/main/java/com/glodblock/github/nei/recipes/FluidRecipe.java index 2c3556c1..27f59232 100644 --- a/src/main/java/com/glodblock/github/nei/recipes/FluidRecipe.java +++ b/src/main/java/com/glodblock/github/nei/recipes/FluidRecipe.java @@ -32,18 +32,14 @@ public final class FluidRecipe { } } - public static List> getPackageInputs(IRecipeHandler recipe, int index) { + public static List> getPackageInputs(IRecipeHandler recipe, int index, boolean priority) { TemplateRecipeHandler tRecipe = (TemplateRecipeHandler) recipe; if (tRecipe == null || !IdentifierMap.containsKey(tRecipe.getOverlayIdentifier())) return new ArrayList<>(); if (tRecipe.getOverlayIdentifier() == null) return getPackageInputsLegacy(recipe, index); IRecipeExtractor extractor = IdentifierMap.get(tRecipe.getOverlayIdentifier()); if (extractor == null) return new ArrayList<>(); List tmp = new ArrayList<>(tRecipe.getIngredientStacks(index)); - FluidPrioritization fluid = FluidPrioritization.ENABLED; - switch(fluid) { - case ENABLED: - MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText("hi")); - + if (priority) { for (int i = 0; i < tmp.size(); i++) { if(tmp.get(i).toString().contains("GregTech_FluidDisplay")) { MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText(String.valueOf(tmp.size()))); diff --git a/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java b/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java index f30ae254..f7953e67 100644 --- a/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java +++ b/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java @@ -106,6 +106,9 @@ public class CPacketFluidPatternTermBtns implements IMessage { case "PatternTerminalEx.ActivePage": cpt.getPatternTerminal().setActivePage(Integer.parseInt(Value)); break; + case "PatternTerminalEx.Prioritize": + cpt.getPatternTerminal().setPrioritization(Value.equals("1")); + break; } } else if(Name.equals( "Terminal.Cpu" ) && c instanceof ContainerFluidCraftConfirm) { final ContainerFluidCraftConfirm qk = (ContainerFluidCraftConfirm) c;