Skip to content

Commit e94e03d

Browse files
committed
HandGuiData -> PlayerInventoryGuiData
use casting methods
1 parent c21a501 commit e94e03d

9 files changed

Lines changed: 42 additions & 31 deletions

File tree

src/main/java/gregtech/api/items/gui/ItemUIFactory.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
import net.minecraftforge.fml.relauncher.SideOnly;
1111

1212
import com.cleanroommc.modularui.api.IGuiHolder;
13-
import com.cleanroommc.modularui.factory.HandGuiData;
13+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
1414
import com.cleanroommc.modularui.screen.ModularPanel;
1515
import com.cleanroommc.modularui.screen.ModularScreen;
1616
import com.cleanroommc.modularui.screen.UISettings;
1717
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
1818
import org.jetbrains.annotations.ApiStatus;
1919

20-
public interface ItemUIFactory extends IItemComponent, IGuiHolder<HandGuiData> {
20+
public interface ItemUIFactory extends IItemComponent, IGuiHolder<PlayerInventoryGuiData> {
2121

2222
/**
2323
* Creates new UI basing on given holder. Holder contains information
@@ -31,7 +31,7 @@ default ModularUI createUI(PlayerInventoryHolder holder, EntityPlayer entityPlay
3131
@ApiStatus.NonExtendable
3232
@SideOnly(Side.CLIENT)
3333
@Override
34-
default ModularScreen createScreen(HandGuiData creationContext, ModularPanel mainPanel) {
34+
default ModularScreen createScreen(PlayerInventoryGuiData creationContext, ModularPanel mainPanel) {
3535
return new GregTechGuiScreen(mainPanel, getUITheme());
3636
}
3737

@@ -40,7 +40,8 @@ default GTGuiTheme getUITheme() {
4040
}
4141

4242
@Override
43-
default ModularPanel buildUI(HandGuiData guiData, PanelSyncManager guiSyncManager, UISettings settings) {
43+
default ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager panelSyncManager,
44+
UISettings settings) {
4445
return null;
4546
}
4647
}

src/main/java/gregtech/api/items/toolitem/IGTTool.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@
6969
import cofh.api.item.IToolHammer;
7070
import com.cleanroommc.modularui.api.drawable.IKey;
7171
import com.cleanroommc.modularui.api.widget.IWidget;
72-
import com.cleanroommc.modularui.factory.HandGuiData;
7372
import com.cleanroommc.modularui.factory.ItemGuiFactory;
73+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
7474
import com.cleanroommc.modularui.screen.ModularPanel;
7575
import com.cleanroommc.modularui.screen.UISettings;
7676
import com.cleanroommc.modularui.utils.Alignment;
@@ -947,7 +947,7 @@ default void playSound(EntityPlayer player) {
947947
}
948948

949949
@Override
950-
default ModularPanel buildUI(HandGuiData guiData, PanelSyncManager manager, UISettings settings) {
950+
default ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager manager, UISettings settings) {
951951
final var usedStack = guiData.getUsedItemStack();
952952
final var behaviorsTag = getBehaviorsTag(usedStack);
953953
final var defaultDefinition = getMaxAoEDefinition(usedStack);

src/main/java/gregtech/api/mui/factory/MetaItemGuiFactory.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package gregtech.api.mui.factory;
22

3+
import com.cleanroommc.modularui.factory.inventory.InventoryTypes;
4+
5+
import com.cleanroommc.modularui.utils.Platform;
6+
37
import gregtech.api.items.metaitem.MetaItem;
48

59
import net.minecraft.entity.player.EntityPlayer;
@@ -11,12 +15,12 @@
1115
import com.cleanroommc.modularui.api.IGuiHolder;
1216
import com.cleanroommc.modularui.factory.AbstractUIFactory;
1317
import com.cleanroommc.modularui.factory.GuiManager;
14-
import com.cleanroommc.modularui.factory.HandGuiData;
18+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
1519
import org.jetbrains.annotations.NotNull;
1620

1721
import java.util.Objects;
1822

19-
public class MetaItemGuiFactory extends AbstractUIFactory<HandGuiData> {
23+
public class MetaItemGuiFactory extends AbstractUIFactory<PlayerInventoryGuiData> {
2024

2125
public static final MetaItemGuiFactory INSTANCE = new MetaItemGuiFactory();
2226

@@ -27,12 +31,13 @@ private MetaItemGuiFactory() {
2731
public static void open(EntityPlayer player, EnumHand hand) {
2832
Objects.requireNonNull(player);
2933
Objects.requireNonNull(hand);
30-
HandGuiData guiData = new HandGuiData(player, hand);
31-
GuiManager.open(INSTANCE, guiData, (EntityPlayerMP) player);
34+
int index = hand == EnumHand.OFF_HAND ? 40 : Platform.getClientPlayer().inventory.currentItem;
35+
PlayerInventoryGuiData guiData = new PlayerInventoryGuiData(player, InventoryTypes.PLAYER, index);
36+
GuiManager.open(INSTANCE, guiData, verifyServerSide(player));
3237
}
3338

3439
@Override
35-
public @NotNull IGuiHolder<HandGuiData> getGuiHolder(HandGuiData data) {
40+
public @NotNull IGuiHolder<PlayerInventoryGuiData> getGuiHolder(PlayerInventoryGuiData data) {
3641
ItemStack stack = data.getUsedItemStack();
3742
if (!(stack.getItem() instanceof MetaItem<?>metaItem)) {
3843
throw new IllegalArgumentException("Found item is not a valid MetaItem!");
@@ -45,12 +50,12 @@ public static void open(EntityPlayer player, EnumHand hand) {
4550
}
4651

4752
@Override
48-
public void writeGuiData(HandGuiData guiData, PacketBuffer buffer) {
49-
buffer.writeByte(guiData.getHand().ordinal());
53+
public void writeGuiData(PlayerInventoryGuiData guiData, PacketBuffer buffer) {
54+
buffer.writeByte(guiData.getSlotIndex());
5055
}
5156

5257
@Override
53-
public @NotNull HandGuiData readGuiData(EntityPlayer player, PacketBuffer buffer) {
54-
return new HandGuiData(player, EnumHand.values()[buffer.readByte()]);
58+
public @NotNull PlayerInventoryGuiData readGuiData(EntityPlayer player, PacketBuffer buffer) {
59+
return new PlayerInventoryGuiData(player, InventoryTypes.PLAYER, buffer.readByte());
5560
}
5661
}

src/main/java/gregtech/api/mui/factory/MetaTileEntityGuiFactory.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
55

66
import net.minecraft.entity.player.EntityPlayer;
7-
import net.minecraft.entity.player.EntityPlayerMP;
87
import net.minecraft.network.PacketBuffer;
98
import net.minecraft.tileentity.TileEntity;
109
import net.minecraft.util.math.BlockPos;
@@ -36,7 +35,7 @@ public static <T extends MetaTileEntity & IGuiHolder<PosGuiData>> void open(Enti
3635
}
3736
BlockPos pos = mte.getPos();
3837
PosGuiData data = new PosGuiData(player, pos.getX(), pos.getY(), pos.getZ());
39-
GuiManager.open(INSTANCE, data, (EntityPlayerMP) player);
38+
GuiManager.open(INSTANCE, data, verifyServerSide(player));
4039
}
4140

4241
@Override

src/main/java/gregtech/common/items/behaviors/filter/BaseFilterUIManager.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import gregtech.api.items.metaitem.stats.IItemBehaviour;
66
import gregtech.api.mui.GTGuiTheme;
77
import gregtech.api.mui.GTGuis;
8+
89
import gregtech.api.mui.factory.MetaItemGuiFactory;
910

1011
import net.minecraft.client.resources.I18n;
@@ -15,7 +16,7 @@
1516
import net.minecraft.util.EnumHand;
1617
import net.minecraft.world.World;
1718

18-
import com.cleanroommc.modularui.factory.HandGuiData;
19+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
1920
import com.cleanroommc.modularui.screen.ModularPanel;
2021
import com.cleanroommc.modularui.screen.UISettings;
2122
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
@@ -37,7 +38,8 @@ public final ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer
3738
}
3839

3940
@Override
40-
public abstract ModularPanel buildUI(HandGuiData guiData, PanelSyncManager guiSyncManager, UISettings settings);
41+
public abstract ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager panelSyncManager,
42+
UISettings settings);
4143

4244
protected final ModularPanel createBasePanel(ItemStack stack) {
4345
return GTGuis.createPanel(stack, 176, 188)

src/main/java/gregtech/common/items/behaviors/filter/OreDictFilterUIManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import gregtech.common.covers.filter.BaseFilter;
44

5-
import com.cleanroommc.modularui.factory.HandGuiData;
5+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
66
import com.cleanroommc.modularui.screen.ModularPanel;
77
import com.cleanroommc.modularui.screen.UISettings;
88
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
@@ -11,10 +11,11 @@
1111
public class OreDictFilterUIManager extends BaseFilterUIManager {
1212

1313
@Override
14-
public ModularPanel buildUI(HandGuiData guiData, PanelSyncManager guiSyncManager, UISettings settings) {
14+
public ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager panelSyncManager,
15+
UISettings settings) {
1516
var filter = BaseFilter.getFilterFromStack(guiData.getUsedItemStack());
1617
return createBasePanel(filter.getContainerStack()).height(160)
17-
.child(filter.createWidgets(guiSyncManager).top(22).margin(7, 0))
18+
.child(filter.createWidgets(panelSyncManager).top(22).margin(7, 0))
1819
.child(SlotGroupWidget.playerInventory(true));
1920
}
2021
}

src/main/java/gregtech/common/items/behaviors/filter/SimpleFilterUIManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import gregtech.common.covers.filter.BaseFilter;
44

5-
import com.cleanroommc.modularui.factory.HandGuiData;
5+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
66
import com.cleanroommc.modularui.screen.ModularPanel;
77
import com.cleanroommc.modularui.screen.UISettings;
88
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
@@ -11,11 +11,12 @@
1111
public class SimpleFilterUIManager extends BaseFilterUIManager {
1212

1313
@Override
14-
public ModularPanel buildUI(HandGuiData guiData, PanelSyncManager guiSyncManager, UISettings settings) {
14+
public ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager panelSyncManager,
15+
UISettings settings) {
1516
var filter = BaseFilter.getFilterFromStack(guiData.getUsedItemStack());
1617
return createBasePanel(filter.getContainerStack())
1718
.height(166)
18-
.child(filter.createWidgets(guiSyncManager)
19+
.child(filter.createWidgets(panelSyncManager)
1920
.top(22)
2021
.left(7))
2122
.child(SlotGroupWidget.playerInventory(true));

src/main/java/gregtech/common/items/behaviors/filter/SimpleFluidFilterUIManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import gregtech.common.covers.filter.BaseFilter;
44

5-
import com.cleanroommc.modularui.factory.HandGuiData;
5+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
66
import com.cleanroommc.modularui.screen.ModularPanel;
77
import com.cleanroommc.modularui.screen.UISettings;
88
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
@@ -11,11 +11,12 @@
1111
public class SimpleFluidFilterUIManager extends BaseFilterUIManager {
1212

1313
@Override
14-
public ModularPanel buildUI(HandGuiData guiData, PanelSyncManager guiSyncManager, UISettings settings) {
14+
public ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager panelSyncManager,
15+
UISettings settings) {
1516
var filter = BaseFilter.getFilterFromStack(guiData.getUsedItemStack());
1617
return createBasePanel(filter.getContainerStack())
1718
.height(166)
18-
.child(filter.createWidgets(guiSyncManager)
19+
.child(filter.createWidgets(panelSyncManager)
1920
.top(22)
2021
.left(7))
2122
.child(SlotGroupWidget.playerInventory(true));

src/main/java/gregtech/common/items/behaviors/filter/SmartFilterUIManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import gregtech.common.covers.filter.BaseFilter;
44

5-
import com.cleanroommc.modularui.factory.HandGuiData;
5+
import com.cleanroommc.modularui.factory.PlayerInventoryGuiData;
66
import com.cleanroommc.modularui.screen.ModularPanel;
77
import com.cleanroommc.modularui.screen.UISettings;
88
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
@@ -11,10 +11,11 @@
1111
public class SmartFilterUIManager extends BaseFilterUIManager {
1212

1313
@Override
14-
public ModularPanel buildUI(HandGuiData guiData, PanelSyncManager guiSyncManager, UISettings settings) {
14+
public ModularPanel buildUI(PlayerInventoryGuiData guiData, PanelSyncManager panelSyncManager,
15+
UISettings settings) {
1516
var filter = BaseFilter.getFilterFromStack(guiData.getUsedItemStack());
1617
return createBasePanel(filter.getContainerStack()).height(166)
17-
.child(filter.createWidgets(guiSyncManager).left(7).top(22))
18+
.child(filter.createWidgets(panelSyncManager).left(7).top(22))
1819
.child(SlotGroupWidget.playerInventory(true));
1920
}
2021
}

0 commit comments

Comments
 (0)