Skip to content

Commit 33d6241

Browse files
authored
Pins cleanup (#1181)
1 parent f2070ef commit 33d6241

File tree

10 files changed

+53
-133
lines changed

10 files changed

+53
-133
lines changed

src/main/java/appeng/api/config/ActionItems.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,6 @@ public enum ActionItems {
3737
TOGGLE_SHOW_ONLY_SUBSTITUTE_OFF,
3838
NEXT_PARTITION,
3939
CONTROL_BUTTON_VALUES_OFF,
40-
CONTROL_BUTTON_VALUES_ON
40+
CONTROL_BUTTON_VALUES_ON,
41+
PINS
4142
}

src/main/java/appeng/api/config/Settings.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@ public enum Settings {
9090

9191
CRAFTING_ALLOW(EnumSet.allOf(CraftingAllow.class)),
9292

93-
CRAFTING_PINS_ROWS(EnumSet.allOf(PinsRows.class)),
94-
PLAYER_PINS_ROWS(EnumSet.allOf(PinsRows.class)),
95-
9693
PAUSE_WHEN_HOLDING_SHIFT(EnumSet.of(YesNo.YES, YesNo.NO));
9794

9895
private final EnumSet<? extends Enum<?>> values;

src/main/java/appeng/client/gui/implementations/GuiMEMonitorable.java

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.lwjgl.input.Keyboard;
3939
import org.lwjgl.input.Mouse;
4040

41+
import appeng.api.config.ActionItems;
4142
import appeng.api.config.CraftingStatus;
4243
import appeng.api.config.PinSectionOrder;
4344
import appeng.api.config.PinsRows;
@@ -178,8 +179,8 @@ public GuiMEMonitorable(final InventoryPlayer inventoryPlayer, final ITerminalHo
178179

179180
this.configSrc = ((IConfigurableObject) this.inventorySlots).getConfigManager();
180181

181-
craftingPinsRows = (PinsRows) configSrc.getSetting(Settings.CRAFTING_PINS_ROWS);
182-
playerPinsRows = (PinsRows) configSrc.getSetting(Settings.PLAYER_PINS_ROWS);
182+
craftingPinsRows = PinsRows.DISABLED;
183+
playerPinsRows = PinsRows.DISABLED;
183184

184185
(this.monitorableContainer = (ContainerMEMonitorable) this.inventorySlots).setGui(this);
185186

@@ -251,19 +252,7 @@ protected void actionPerformed(final GuiButton btn) {
251252
NetworkHandler.instance.sendToServer(new PacketSwitchGuis(GuiBridge.GUI_CRAFTING_STATUS));
252253
}
253254

254-
if (!(btn instanceof GuiImgButton iBtn) || iBtn.getSetting() == Settings.ACTIONS) return;
255-
256-
final Enum cv = iBtn.getCurrentValue();
257-
final boolean backwards = Mouse.isButtonDown(1);
258-
final Enum next = Platform.rotateEnum(cv, backwards, iBtn.getSetting().getPossibleValues());
259-
260-
if (btn == this.terminalStyleBox) {
261-
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
262-
} else if (btn == this.searchBoxSettings) {
263-
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
264-
} else if (btn == this.searchStringSave) {
265-
AEConfig.instance.preserveSearchBar = next == YesNo.YES;
266-
} else if (btn == this.pinsStateButton) {
255+
if (btn == this.pinsStateButton) {
267256
try {
268257
boolean rmb = Mouse.isButtonDown(1);
269258
boolean ctrl = GuiScreen.isCtrlKeyDown();
@@ -286,6 +275,20 @@ protected void actionPerformed(final GuiButton btn) {
286275
}
287276
reinitalize();
288277
return;
278+
}
279+
280+
if (!(btn instanceof GuiImgButton iBtn) || iBtn.getSetting() == Settings.ACTIONS) return;
281+
282+
final Enum cv = iBtn.getCurrentValue();
283+
final boolean backwards = Mouse.isButtonDown(1);
284+
final Enum next = Platform.rotateEnum(cv, backwards, iBtn.getSetting().getPossibleValues());
285+
286+
if (btn == this.terminalStyleBox) {
287+
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
288+
} else if (btn == this.searchBoxSettings) {
289+
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
290+
} else if (btn == this.searchStringSave) {
291+
AEConfig.instance.preserveSearchBar = next == YesNo.YES;
289292
} else {
290293
try {
291294
NetworkHandler.instance.sendToServer(new PacketValueConfig(iBtn.getSetting().name(), next.name()));
@@ -508,11 +511,9 @@ public void initGui() {
508511
this.pinsStateButton = new GuiImgButton(
509512
getPinButtonX(),
510513
getPinButtonY(),
511-
Settings.CRAFTING_PINS_ROWS,
512-
PinsRows.ONE));
513-
this.repo.setVisiblePinRows(
514-
((PinsRows) configSrc.getSetting(Settings.CRAFTING_PINS_ROWS)).ordinal(),
515-
((PinsRows) configSrc.getSetting(Settings.PLAYER_PINS_ROWS)).ordinal());
514+
Settings.ACTIONS,
515+
ActionItems.PINS));
516+
this.repo.setVisiblePinRows(this.craftingPinsRows.ordinal(), this.playerPinsRows.ordinal());
516517
}
517518

518519
// Enum setting = AEConfig.INSTANCE.getSetting( "Terminal", SearchBoxMode.class, SearchBoxMode.AUTOSEARCH );
@@ -1011,13 +1012,6 @@ public void updateSetting(final IConfigManager manager, final Enum settingName,
10111012
this.ViewBox.set(this.configSrc.getSetting(Settings.VIEW_MODE));
10121013
}
10131014

1014-
if (this.pinsStateButton != null) {
1015-
craftingPinsRows = (PinsRows) this.configSrc.getSetting(Settings.CRAFTING_PINS_ROWS);
1016-
playerPinsRows = (PinsRows) this.configSrc.getSetting(Settings.PLAYER_PINS_ROWS);
1017-
this.repo.setVisiblePinRows(craftingPinsRows.ordinal(), playerPinsRows.ordinal());
1018-
reinitalize();
1019-
}
1020-
10211015
this.repo.updateView();
10221016
}
10231017

@@ -1136,16 +1130,13 @@ public void setAEPins(IAEStack<?>[] pins) {
11361130
}
11371131

11381132
@Override
1139-
public void setCraftingPinsRows(PinsRows rows) {
1140-
configSrc.putSetting(Settings.CRAFTING_PINS_ROWS, rows);
1141-
repo.setVisiblePinRows(rows.ordinal(), ((PinsRows) configSrc.getSetting(Settings.PLAYER_PINS_ROWS)).ordinal());
1142-
}
1143-
1144-
@Override
1145-
public void setPlayerPinsRows(PinsRows rows) {
1146-
configSrc.putSetting(Settings.PLAYER_PINS_ROWS, rows);
1147-
repo.setVisiblePinRows(
1148-
((PinsRows) configSrc.getSetting(Settings.CRAFTING_PINS_ROWS)).ordinal(),
1149-
rows.ordinal());
1133+
public void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
1134+
if (this.pinsStateButton != null) {
1135+
if (craftingRows != craftingPinsRows || playerRows != playerPinsRows) {
1136+
craftingPinsRows = craftingRows;
1137+
playerPinsRows = playerRows;
1138+
reinitalize();
1139+
}
1140+
}
11501141
}
11511142
}

src/main/java/appeng/client/gui/widgets/GuiImgButton.java

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import appeng.api.config.OperationMode;
4343
import appeng.api.config.PatternBeSubstitution;
4444
import appeng.api.config.PatternSlotConfig;
45-
import appeng.api.config.PinsRows;
4645
import appeng.api.config.PowerUnits;
4746
import appeng.api.config.PriorityCardMode;
4847
import appeng.api.config.RedstoneMode;
@@ -59,7 +58,6 @@
5958
import appeng.api.config.ViewItems;
6059
import appeng.api.config.YesNo;
6160
import appeng.client.texture.ExtraBlockTextures;
62-
import appeng.core.AEConfig;
6361
import appeng.core.localization.ButtonToolTips;
6462
import appeng.core.localization.GuiText;
6563
import appeng.util.Platform;
@@ -877,44 +875,12 @@ public GuiImgButton(final int x, final int y, final Enum idx, final Enum val) {
877875
ButtonToolTips.CPUOnlyAllowNonPlayerDesc);
878876

879877
this.registerApp(
880-
16 * 15 + 14,
881-
Settings.CRAFTING_PINS_ROWS,
882-
PinsRows.DISABLED,
883-
ButtonToolTips.PinsSection,
884-
ButtonToolTips.PinsSection);
885-
int maxCrafting = AEConfig.instance != null ? AEConfig.instance.maxCraftingPinRows
886-
: PinsRows.values().length - 1;
887-
for (PinsRows r : PinsRows.values()) {
888-
if (r == PinsRows.DISABLED) continue;
889-
if (r.ordinal() > maxCrafting) continue;
890-
this.registerApp(
891-
16 * 15 + 13,
892-
Settings.CRAFTING_PINS_ROWS,
893-
r,
894-
ButtonToolTips.PinsSection,
895-
ButtonToolTips.PinsSectionActive,
896-
ButtonToolTips.PinsSectionHint);
897-
}
898-
899-
this.registerApp(
900-
16 * 15 + 14,
901-
Settings.PLAYER_PINS_ROWS,
902-
PinsRows.DISABLED,
878+
16 * 15 + 13,
879+
Settings.ACTIONS,
880+
ActionItems.PINS,
903881
ButtonToolTips.PinsSection,
904-
ButtonToolTips.PinsSection);
905-
int maxPlayer = AEConfig.instance != null ? AEConfig.instance.maxPlayerPinRows
906-
: PinsRows.values().length - 1;
907-
for (PinsRows r : PinsRows.values()) {
908-
if (r == PinsRows.DISABLED) continue;
909-
if (r.ordinal() > maxPlayer) continue;
910-
this.registerApp(
911-
16 * 15 + 13,
912-
Settings.PLAYER_PINS_ROWS,
913-
r,
914-
ButtonToolTips.PinsSection,
915-
ButtonToolTips.PinsSectionActive,
916-
ButtonToolTips.PinsSectionHint);
917-
}
882+
ButtonToolTips.PinsSectionActive,
883+
ButtonToolTips.PinsSectionHint);
918884

919885
this.registerApp(
920886
16 * 3 + 7,

src/main/java/appeng/container/implementations/ContainerMEMonitorable.java

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,6 @@ protected ContainerMEMonitorable(final InventoryPlayer ip, final ITerminalHost m
142142
this.clientCM.registerSetting(Settings.SORT_BY, SortOrder.NAME);
143143
this.clientCM.registerSetting(Settings.VIEW_MODE, ViewItems.ALL);
144144
this.clientCM.registerSetting(Settings.SORT_DIRECTION, SortDir.ASCENDING);
145-
this.clientCM.registerSetting(Settings.CRAFTING_PINS_ROWS, PinsRows.DISABLED);
146-
this.clientCM.registerSetting(Settings.PLAYER_PINS_ROWS, PinsRows.DISABLED);
147145

148146
if (Platform.isServer()) {
149147
if (monitorable instanceof ITerminalPins t) {
@@ -235,14 +233,7 @@ public void detectAndSendChanges() {
235233
}
236234

237235
if (pinsHandler != null) {
238-
if (clientCM.getSetting(Settings.CRAFTING_PINS_ROWS) != pinsHandler.getCraftingPinsRows()
239-
|| clientCM.getSetting(Settings.PLAYER_PINS_ROWS) != pinsHandler.getPlayerPinsRows()) {
240-
this.clientCM.putSetting(Settings.CRAFTING_PINS_ROWS, pinsHandler.getCraftingPinsRows());
241-
this.clientCM.putSetting(Settings.PLAYER_PINS_ROWS, pinsHandler.getPlayerPinsRows());
242-
updatePins(true);
243-
} else {
244-
updatePins(false);
245-
}
236+
updatePins(false);
246237
}
247238

248239
if (this.needListUpdate) {
@@ -498,7 +489,7 @@ public IMEMonitor<IAEItemStack> getItemMonitor() {
498489
return getMonitor(ITEM_STACK_TYPE);
499490
}
500491

501-
private int lastUpdate = 0;
492+
private int lastUpdate = 20;
502493

503494
public void updatePins(boolean forceUpdate) {
504495
if (pinsHandler == null || !(host instanceof ITerminalPins itp)) return;
@@ -562,17 +553,10 @@ public IAEStack<?> getPin(int idx) {
562553
return pinsHandler.getPin(idx);
563554
}
564555

565-
public void setCraftingPinsRows(PinsRows rows) {
566-
if (pinsHandler == null) return;
567-
clientCM.putSetting(Settings.CRAFTING_PINS_ROWS, rows);
568-
pinsHandler.setCraftingPinsRows(rows);
569-
updatePins(true);
570-
}
571-
572-
public void setPlayerPinsRows(PinsRows rows) {
556+
@Override
557+
public void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
573558
if (pinsHandler == null) return;
574-
clientCM.putSetting(Settings.PLAYER_PINS_ROWS, rows);
575-
pinsHandler.setPlayerPinsRows(rows);
559+
pinsHandler.setPinsRows(craftingRows, playerRows);
576560
updatePins(true);
577561
}
578562

src/main/java/appeng/core/AEConfig.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import appeng.api.config.CraftingSortOrder;
2727
import appeng.api.config.CraftingStatus;
2828
import appeng.api.config.PinSectionOrder;
29-
import appeng.api.config.PinsRows;
3029
import appeng.api.config.PowerMultiplier;
3130
import appeng.api.config.PowerUnits;
3231
import appeng.api.config.SearchBoxFocusPriority;
@@ -185,8 +184,6 @@ public AEConfig(final File configFile) {
185184
this.settings.registerSetting(Settings.SORT_DIRECTION, SortDir.ASCENDING);
186185
this.settings.registerSetting(Settings.TERMINAL_FONT_SIZE, TerminalFontSize.SMALL);
187186
this.settings.registerSetting(Settings.INTERFACE_TERMINAL_SECTION_ORDER, StringOrder.NATURAL);
188-
this.settings.registerSetting(Settings.CRAFTING_PINS_ROWS, PinsRows.DISABLED);
189-
this.settings.registerSetting(Settings.PLAYER_PINS_ROWS, PinsRows.DISABLED);
190187
this.settings.registerSetting(Settings.PAUSE_WHEN_HOLDING_SHIFT, YesNo.YES);
191188

192189
this.spawnChargedChance = (float) (1.0

src/main/java/appeng/core/sync/packets/PacketPinsUpdate.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@ public void clientPacketData(final INetworkInfo network, final AppEngPacket pack
8585
if (gs instanceof IPinsHandler iph) {
8686
int craftOrd = Math.max(0, Math.min(craftingRowsOrdinal, PinsRows.values().length - 1));
8787
int playerOrd = Math.max(0, Math.min(playerRowsOrdinal, PinsRows.values().length - 1));
88-
iph.setCraftingPinsRows(PinsRows.values()[craftOrd]);
89-
iph.setPlayerPinsRows(PinsRows.values()[playerOrd]);
88+
iph.setPinsRows(PinsRows.values()[craftOrd], PinsRows.values()[playerOrd]);
9089
if (list != null) iph.setAEPins(list);
9190
}
9291
}
@@ -97,8 +96,7 @@ public void serverPacketData(final INetworkInfo network, final AppEngPacket pack
9796
if (sender.openContainer instanceof IPinsHandler container) {
9897
int craftOrd = Math.max(0, Math.min(craftingRowsOrdinal, PinsRows.values().length - 1));
9998
int playerOrd = Math.max(0, Math.min(playerRowsOrdinal, PinsRows.values().length - 1));
100-
container.setCraftingPinsRows(PinsRows.values()[craftOrd]);
101-
container.setPlayerPinsRows(PinsRows.values()[playerOrd]);
99+
container.setPinsRows(PinsRows.values()[craftOrd], PinsRows.values()[playerOrd]);
102100
}
103101
}
104102
}

src/main/java/appeng/helpers/IPinsHandler.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,11 @@ default PinsRows getCraftingPinsRows() {
3030
return PinsRows.DISABLED;
3131
}
3232

33-
default void setCraftingPinsRows(PinsRows rows) {
34-
throw new UnsupportedOperationException("setCraftingPinsRows is not supported by this handler");
35-
}
36-
3733
default PinsRows getPlayerPinsRows() {
3834
return PinsRows.DISABLED;
3935
}
4036

41-
default void setPlayerPinsRows(PinsRows rows) {
37+
default void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
4238
throw new UnsupportedOperationException("setPlayerPinsRows is not supported by this handler");
4339
}
4440
}

src/main/java/appeng/items/contents/PinsHandler.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,12 @@ public void addItemsToPins(Iterable<IAEStack<?>> pinsList) {
9090
holder.markDirty();
9191
}
9292

93-
public void setCraftingPinsRows(PinsRows rows) {
94-
if (craftingPinsRows == rows) return;
95-
craftingPinsRows = rows;
96-
holder.setCraftingPinsRows(player, rows);
97-
update(false);
98-
}
99-
100-
public void setPlayerPinsRows(PinsRows rows) {
101-
if (playerPinsRows == rows) return;
102-
playerPinsRows = rows;
103-
holder.setPlayerPinsRows(player, rows);
104-
update(false);
93+
public void setPinsRows(PinsRows craftingRows, PinsRows playerRows) {
94+
if (craftingPinsRows == craftingRows && playerPinsRows == playerRows) return;
95+
craftingPinsRows = craftingRows;
96+
playerPinsRows = playerRows;
97+
holder.setPinsRows(player, craftingRows, playerRows);
98+
update(true);
10599
}
106100

107101
public PinsRows getCraftingPinsRows() {

src/main/java/appeng/items/contents/PinsHolder.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -142,20 +142,16 @@ public PinsRows getCraftingPinsRows(EntityPlayer player) {
142142
return this.craftingPinsRowsMap.computeIfAbsent(player.getPersistentID(), k -> PinsRows.DISABLED);
143143
}
144144

145-
public void setCraftingPinsRows(EntityPlayer player, PinsRows rows) {
146-
this.craftingPinsRowsMap.put(player.getPersistentID(), rows);
145+
public void setPinsRows(EntityPlayer player, PinsRows craftingRows, PinsRows playerRows) {
146+
this.craftingPinsRowsMap.put(player.getPersistentID(), craftingRows);
147+
this.playerPinsRowsMap.put(player.getPersistentID(), playerRows);
147148
markDirty();
148149
}
149150

150151
public PinsRows getPlayerPinsRows(EntityPlayer player) {
151152
return this.playerPinsRowsMap.computeIfAbsent(player.getPersistentID(), k -> PinsRows.DISABLED);
152153
}
153154

154-
public void setPlayerPinsRows(EntityPlayer player, PinsRows rows) {
155-
this.playerPinsRowsMap.put(player.getPersistentID(), rows);
156-
markDirty();
157-
}
158-
159155
public void markDirty() {
160156
if (holder == null || !initialized) return;
161157
this.writeToNBT(Platform.openNbtData(holder), "pins");

0 commit comments

Comments
 (0)