mirror of
https://github.com/GTNewHorizons/Applied-Energistics-2-Unofficial.git
synced 2026-10-25 20:22:23 +00:00
Pins cleanup (#1181)
This commit is contained in:
1 parent
f2070ef0d1
commit
33d6241129
10 files changed
+53
-133
No files matched your search
@@ -37,5 +37,6 @@ public enum ActionItems {
|
||||
TOGGLE_SHOW_ONLY_SUBSTITUTE_OFF,
|
||||
NEXT_PARTITION,
|
||||
CONTROL_BUTTON_VALUES_OFF,
|
||||
CONTROL_BUTTON_VALUES_ON
|
||||
CONTROL_BUTTON_VALUES_ON,
|
||||
PINS
|
||||
}
|
||||
@@ -90,9 +90,6 @@ public enum Settings {
|
||||
|
||||
CRAFTING_ALLOW(EnumSet.allOf(CraftingAllow.class)),
|
||||
|
||||
CRAFTING_PINS_ROWS(EnumSet.allOf(PinsRows.class)),
|
||||
PLAYER_PINS_ROWS(EnumSet.allOf(PinsRows.class)),
|
||||
|
||||
PAUSE_WHEN_HOLDING_SHIFT(EnumSet.of(YesNo.YES, YesNo.NO));
|
||||
|
||||
private final EnumSet<? extends Enum<?>> values;
|
||||
|
||||
@@ -38,6 +38,7 @@ import net.minecraftforge.common.MinecraftForge;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import appeng.api.config.ActionItems;
|
||||
import appeng.api.config.CraftingStatus;
|
||||
import appeng.api.config.PinSectionOrder;
|
||||
import appeng.api.config.PinsRows;
|
||||
@@ -178,8 +179,8 @@ public class GuiMEMonitorable extends AEBaseGui
|
||||
|
||||
this.configSrc = ((IConfigurableObject) this.inventorySlots).getConfigManager();
|
||||
|
||||
craftingPinsRows = (PinsRows) configSrc.getSetting(Settings.CRAFTING_PINS_ROWS);
|
||||
playerPinsRows = (PinsRows) configSrc.getSetting(Settings.PLAYER_PINS_ROWS);
|
||||
craftingPinsRows = PinsRows.DISABLED;
|
||||
playerPinsRows = PinsRows.DISABLED;
|
||||
|
||||
(this.monitorableContainer = (ContainerMEMonitorable) this.inventorySlots).setGui(this);
|
||||
|
||||
@@ -251,19 +252,7 @@ public class GuiMEMonitorable extends AEBaseGui
|
||||
NetworkHandler.instance.sendToServer(new PacketSwitchGuis(GuiBridge.GUI_CRAFTING_STATUS));
|
||||
}
|
||||
|
||||
if (!(btn instanceof GuiImgButton iBtn) || iBtn.getSetting() == Settings.ACTIONS) return;
|
||||
|
||||
final Enum cv = iBtn.getCurrentValue();
|
||||
final boolean backwards = Mouse.isButtonDown(1);
|
||||
final Enum next = Platform.rotateEnum(cv, backwards, iBtn.getSetting().getPossibleValues());
|
||||
|
||||
if (btn == this.terminalStyleBox) {
|
||||
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
|
||||
} else if (btn == this.searchBoxSettings) {
|
||||
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
|
||||
} else if (btn == this.searchStringSave) {
|
||||
AEConfig.instance.preserveSearchBar = next == YesNo.YES;
|
||||
} else if (btn == this.pinsStateButton) {
|
||||
if (btn == this.pinsStateButton) {
|
||||
try {
|
||||
boolean rmb = Mouse.isButtonDown(1);
|
||||
boolean ctrl = GuiScreen.isCtrlKeyDown();
|
||||
@@ -286,6 +275,20 @@ public class GuiMEMonitorable extends AEBaseGui
|
||||
}
|
||||
reinitalize();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(btn instanceof GuiImgButton iBtn) || iBtn.getSetting() == Settings.ACTIONS) return;
|
||||
|
||||
final Enum cv = iBtn.getCurrentValue();
|
||||
final boolean backwards = Mouse.isButtonDown(1);
|
||||
final Enum next = Platform.rotateEnum(cv, backwards, iBtn.getSetting().getPossibleValues());
|
||||
|
||||
if (btn == this.terminalStyleBox) {
|
||||
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
|
||||
} else if (btn == this.searchBoxSettings) {
|
||||
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
|
||||
} else if (btn == this.searchStringSave) {
|
||||
AEConfig.instance.preserveSearchBar = next == YesNo.YES;
|
||||
} else {
|
||||
try {
|
||||
NetworkHandler.instance.sendToServer(new PacketValueConfig(iBtn.getSetting().name(), next.name()));
|
||||
@@ -508,11 +511,9 @@ public class GuiMEMonitorable extends AEBaseGui
|
||||
this.pinsStateButton = new GuiImgButton(
|
||||
getPinButtonX(),
|
||||
getPinButtonY(),
|
||||
Settings.CRAFTING_PINS_ROWS,
|
||||
PinsRows.ONE));
|
||||
this.repo.setVisiblePinRows(
|
||||
((PinsRows) configSrc.getSetting(Settings.CRAFTING_PINS_ROWS)).ordinal(),
|
||||
((PinsRows) configSrc.getSetting(Settings.PLAYER_PINS_ROWS)).ordinal());
|
||||
Settings.ACTIONS,
|
||||
ActionItems.PINS));
|
||||
this.repo.setVisiblePinRows(this.craftingPinsRows.ordinal(), this.playerPinsRows.ordinal());
|
||||
}
|
||||
|
||||
// Enum setting = AEConfig.INSTANCE.getSetting( "Terminal", SearchBoxMode.class, SearchBoxMode.AUTOSEARCH );
|
||||
@@ -1011,13 +1012,6 @@ public class GuiMEMonitorable extends AEBaseGui
|
||||
this.ViewBox.set(this.configSrc.getSetting(Settings.VIEW_MODE));
|
||||
}
|
||||
|
||||
if (this.pinsStateButton != null) {
|
||||
craftingPinsRows = (PinsRows) this.configSrc.getSetting(Settings.CRAFTING_PINS_ROWS);
|
||||
playerPinsRows = (PinsRows) this.configSrc.getSetting(Settings.PLAYER_PINS_ROWS);
|
||||
this.repo.setVisiblePinRows(craftingPinsRows.ordinal(), playerPinsRows.ordinal());
|
||||
reinitalize();
|
||||
}
|
||||
|
||||
this.repo.updateView();
|
||||
}
|
||||
|
||||
@@ -1136,16 +1130,13 @@ public class GuiMEMonitorable extends AEBaseGui
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCraftingPinsRows(PinsRows rows) {
|
||||
configSrc.putSetting(Settings.CRAFTING_PINS_ROWS, rows);
|
||||
repo.setVisiblePinRows(rows.ordinal(), ((PinsRows) configSrc.getSetting(Settings.PLAYER_PINS_ROWS)).ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerPinsRows(PinsRows rows) {
|
||||
configSrc.putSetting(Settings.PLAYER_PINS_ROWS, rows);
|
||||
repo.setVisiblePinRows(
|
||||
((PinsRows) configSrc.getSetting(Settings.CRAFTING_PINS_ROWS)).ordinal(),
|
||||
rows.ordinal());
|
||||
public void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
|
||||
if (this.pinsStateButton != null) {
|
||||
if (craftingRows != craftingPinsRows || playerRows != playerPinsRows) {
|
||||
craftingPinsRows = craftingRows;
|
||||
playerPinsRows = playerRows;
|
||||
reinitalize();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -42,7 +42,6 @@ import appeng.api.config.LockCraftingMode;
|
||||
import appeng.api.config.OperationMode;
|
||||
import appeng.api.config.PatternBeSubstitution;
|
||||
import appeng.api.config.PatternSlotConfig;
|
||||
import appeng.api.config.PinsRows;
|
||||
import appeng.api.config.PowerUnits;
|
||||
import appeng.api.config.PriorityCardMode;
|
||||
import appeng.api.config.RedstoneMode;
|
||||
@@ -59,7 +58,6 @@ import appeng.api.config.TerminalStyle;
|
||||
import appeng.api.config.ViewItems;
|
||||
import appeng.api.config.YesNo;
|
||||
import appeng.client.texture.ExtraBlockTextures;
|
||||
import appeng.core.AEConfig;
|
||||
import appeng.core.localization.ButtonToolTips;
|
||||
import appeng.core.localization.GuiText;
|
||||
import appeng.util.Platform;
|
||||
@@ -877,44 +875,12 @@ public class GuiImgButton extends GuiButton implements ITooltip {
|
||||
ButtonToolTips.CPUOnlyAllowNonPlayerDesc);
|
||||
|
||||
this.registerApp(
|
||||
16 * 15 + 14,
|
||||
Settings.CRAFTING_PINS_ROWS,
|
||||
PinsRows.DISABLED,
|
||||
16 * 15 + 13,
|
||||
Settings.ACTIONS,
|
||||
ActionItems.PINS,
|
||||
ButtonToolTips.PinsSection,
|
||||
ButtonToolTips.PinsSection);
|
||||
int maxCrafting = AEConfig.instance != null ? AEConfig.instance.maxCraftingPinRows
|
||||
: PinsRows.values().length - 1;
|
||||
for (PinsRows r : PinsRows.values()) {
|
||||
if (r == PinsRows.DISABLED) continue;
|
||||
if (r.ordinal() > maxCrafting) continue;
|
||||
this.registerApp(
|
||||
16 * 15 + 13,
|
||||
Settings.CRAFTING_PINS_ROWS,
|
||||
r,
|
||||
ButtonToolTips.PinsSection,
|
||||
ButtonToolTips.PinsSectionActive,
|
||||
ButtonToolTips.PinsSectionHint);
|
||||
}
|
||||
|
||||
this.registerApp(
|
||||
16 * 15 + 14,
|
||||
Settings.PLAYER_PINS_ROWS,
|
||||
PinsRows.DISABLED,
|
||||
ButtonToolTips.PinsSection,
|
||||
ButtonToolTips.PinsSection);
|
||||
int maxPlayer = AEConfig.instance != null ? AEConfig.instance.maxPlayerPinRows
|
||||
: PinsRows.values().length - 1;
|
||||
for (PinsRows r : PinsRows.values()) {
|
||||
if (r == PinsRows.DISABLED) continue;
|
||||
if (r.ordinal() > maxPlayer) continue;
|
||||
this.registerApp(
|
||||
16 * 15 + 13,
|
||||
Settings.PLAYER_PINS_ROWS,
|
||||
r,
|
||||
ButtonToolTips.PinsSection,
|
||||
ButtonToolTips.PinsSectionActive,
|
||||
ButtonToolTips.PinsSectionHint);
|
||||
}
|
||||
ButtonToolTips.PinsSectionActive,
|
||||
ButtonToolTips.PinsSectionHint);
|
||||
|
||||
this.registerApp(
|
||||
16 * 3 + 7,
|
||||
|
||||
@@ -142,8 +142,6 @@ public class ContainerMEMonitorable extends AEBaseContainer
|
||||
this.clientCM.registerSetting(Settings.SORT_BY, SortOrder.NAME);
|
||||
this.clientCM.registerSetting(Settings.VIEW_MODE, ViewItems.ALL);
|
||||
this.clientCM.registerSetting(Settings.SORT_DIRECTION, SortDir.ASCENDING);
|
||||
this.clientCM.registerSetting(Settings.CRAFTING_PINS_ROWS, PinsRows.DISABLED);
|
||||
this.clientCM.registerSetting(Settings.PLAYER_PINS_ROWS, PinsRows.DISABLED);
|
||||
|
||||
if (Platform.isServer()) {
|
||||
if (monitorable instanceof ITerminalPins t) {
|
||||
@@ -235,14 +233,7 @@ public class ContainerMEMonitorable extends AEBaseContainer
|
||||
}
|
||||
|
||||
if (pinsHandler != null) {
|
||||
if (clientCM.getSetting(Settings.CRAFTING_PINS_ROWS) != pinsHandler.getCraftingPinsRows()
|
||||
|| clientCM.getSetting(Settings.PLAYER_PINS_ROWS) != pinsHandler.getPlayerPinsRows()) {
|
||||
this.clientCM.putSetting(Settings.CRAFTING_PINS_ROWS, pinsHandler.getCraftingPinsRows());
|
||||
this.clientCM.putSetting(Settings.PLAYER_PINS_ROWS, pinsHandler.getPlayerPinsRows());
|
||||
updatePins(true);
|
||||
} else {
|
||||
updatePins(false);
|
||||
}
|
||||
updatePins(false);
|
||||
}
|
||||
|
||||
if (this.needListUpdate) {
|
||||
@@ -498,7 +489,7 @@ public class ContainerMEMonitorable extends AEBaseContainer
|
||||
return getMonitor(ITEM_STACK_TYPE);
|
||||
}
|
||||
|
||||
private int lastUpdate = 0;
|
||||
private int lastUpdate = 20;
|
||||
|
||||
public void updatePins(boolean forceUpdate) {
|
||||
if (pinsHandler == null || !(host instanceof ITerminalPins itp)) return;
|
||||
@@ -562,17 +553,10 @@ public class ContainerMEMonitorable extends AEBaseContainer
|
||||
return pinsHandler.getPin(idx);
|
||||
}
|
||||
|
||||
public void setCraftingPinsRows(PinsRows rows) {
|
||||
@Override
|
||||
public void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
|
||||
if (pinsHandler == null) return;
|
||||
clientCM.putSetting(Settings.CRAFTING_PINS_ROWS, rows);
|
||||
pinsHandler.setCraftingPinsRows(rows);
|
||||
updatePins(true);
|
||||
}
|
||||
|
||||
public void setPlayerPinsRows(PinsRows rows) {
|
||||
if (pinsHandler == null) return;
|
||||
clientCM.putSetting(Settings.PLAYER_PINS_ROWS, rows);
|
||||
pinsHandler.setPlayerPinsRows(rows);
|
||||
pinsHandler.setPinsRows(craftingRows, playerRows);
|
||||
updatePins(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import appeng.api.config.CondenserOutput;
|
||||
import appeng.api.config.CraftingSortOrder;
|
||||
import appeng.api.config.CraftingStatus;
|
||||
import appeng.api.config.PinSectionOrder;
|
||||
import appeng.api.config.PinsRows;
|
||||
import appeng.api.config.PowerMultiplier;
|
||||
import appeng.api.config.PowerUnits;
|
||||
import appeng.api.config.SearchBoxFocusPriority;
|
||||
@@ -185,8 +184,6 @@ public final class AEConfig extends Configuration implements IConfigurableObject
|
||||
this.settings.registerSetting(Settings.SORT_DIRECTION, SortDir.ASCENDING);
|
||||
this.settings.registerSetting(Settings.TERMINAL_FONT_SIZE, TerminalFontSize.SMALL);
|
||||
this.settings.registerSetting(Settings.INTERFACE_TERMINAL_SECTION_ORDER, StringOrder.NATURAL);
|
||||
this.settings.registerSetting(Settings.CRAFTING_PINS_ROWS, PinsRows.DISABLED);
|
||||
this.settings.registerSetting(Settings.PLAYER_PINS_ROWS, PinsRows.DISABLED);
|
||||
this.settings.registerSetting(Settings.PAUSE_WHEN_HOLDING_SHIFT, YesNo.YES);
|
||||
|
||||
this.spawnChargedChance = (float) (1.0
|
||||
|
||||
@@ -85,8 +85,7 @@ public class PacketPinsUpdate extends AppEngPacket {
|
||||
if (gs instanceof IPinsHandler iph) {
|
||||
int craftOrd = Math.max(0, Math.min(craftingRowsOrdinal, PinsRows.values().length - 1));
|
||||
int playerOrd = Math.max(0, Math.min(playerRowsOrdinal, PinsRows.values().length - 1));
|
||||
iph.setCraftingPinsRows(PinsRows.values()[craftOrd]);
|
||||
iph.setPlayerPinsRows(PinsRows.values()[playerOrd]);
|
||||
iph.setPinsRows(PinsRows.values()[craftOrd], PinsRows.values()[playerOrd]);
|
||||
if (list != null) iph.setAEPins(list);
|
||||
}
|
||||
}
|
||||
@@ -97,8 +96,7 @@ public class PacketPinsUpdate extends AppEngPacket {
|
||||
if (sender.openContainer instanceof IPinsHandler container) {
|
||||
int craftOrd = Math.max(0, Math.min(craftingRowsOrdinal, PinsRows.values().length - 1));
|
||||
int playerOrd = Math.max(0, Math.min(playerRowsOrdinal, PinsRows.values().length - 1));
|
||||
container.setCraftingPinsRows(PinsRows.values()[craftOrd]);
|
||||
container.setPlayerPinsRows(PinsRows.values()[playerOrd]);
|
||||
container.setPinsRows(PinsRows.values()[craftOrd], PinsRows.values()[playerOrd]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,15 +30,11 @@ public interface IPinsHandler {
|
||||
return PinsRows.DISABLED;
|
||||
}
|
||||
|
||||
default void setCraftingPinsRows(PinsRows rows) {
|
||||
throw new UnsupportedOperationException("setCraftingPinsRows is not supported by this handler");
|
||||
}
|
||||
|
||||
default PinsRows getPlayerPinsRows() {
|
||||
return PinsRows.DISABLED;
|
||||
}
|
||||
|
||||
default void setPlayerPinsRows(PinsRows rows) {
|
||||
default void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
|
||||
throw new UnsupportedOperationException("setPlayerPinsRows is not supported by this handler");
|
||||
}
|
||||
}
|
||||
@@ -90,18 +90,12 @@ public class PinsHandler {
|
||||
holder.markDirty();
|
||||
}
|
||||
|
||||
public void setCraftingPinsRows(PinsRows rows) {
|
||||
if (craftingPinsRows == rows) return;
|
||||
craftingPinsRows = rows;
|
||||
holder.setCraftingPinsRows(player, rows);
|
||||
update(false);
|
||||
}
|
||||
|
||||
public void setPlayerPinsRows(PinsRows rows) {
|
||||
if (playerPinsRows == rows) return;
|
||||
playerPinsRows = rows;
|
||||
holder.setPlayerPinsRows(player, rows);
|
||||
update(false);
|
||||
public void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
|
||||
if (craftingPinsRows == craftingRows && playerPinsRows == playerRows) return;
|
||||
craftingPinsRows = craftingRows;
|
||||
playerPinsRows = playerRows;
|
||||
holder.setPinsRows(player, craftingRows, playerRows);
|
||||
update(true);
|
||||
}
|
||||
|
||||
public PinsRows getCraftingPinsRows() {
|
||||
|
||||
@@ -142,8 +142,9 @@ public class PinsHolder implements IAEAppEngInventory {
|
||||
return this.craftingPinsRowsMap.computeIfAbsent(player.getPersistentID(), k -> PinsRows.DISABLED);
|
||||
}
|
||||
|
||||
public void setCraftingPinsRows(EntityPlayer player, PinsRows rows) {
|
||||
this.craftingPinsRowsMap.put(player.getPersistentID(), rows);
|
||||
public void setPinsRows(EntityPlayer player, PinsRows craftingRows, PinsRows playerRows) {
|
||||
this.craftingPinsRowsMap.put(player.getPersistentID(), craftingRows);
|
||||
this.playerPinsRowsMap.put(player.getPersistentID(), playerRows);
|
||||
markDirty();
|
||||
}
|
||||
|
||||
@@ -151,11 +152,6 @@ public class PinsHolder implements IAEAppEngInventory {
|
||||
return this.playerPinsRowsMap.computeIfAbsent(player.getPersistentID(), k -> PinsRows.DISABLED);
|
||||
}
|
||||
|
||||
public void setPlayerPinsRows(EntityPlayer player, PinsRows rows) {
|
||||
this.playerPinsRowsMap.put(player.getPersistentID(), rows);
|
||||
markDirty();
|
||||
}
|
||||
|
||||
public void markDirty() {
|
||||
if (holder == null || !initialized) return;
|
||||
this.writeToNBT(Platform.openNbtData(holder), "pins");
|
||||
|
||||
Reference in new issue
Block a user