Skip to content

Commit 78fc555

Browse files
Expose some item- and inventory utilities
1 parent ce41d3d commit 78fc555

20 files changed

Lines changed: 159 additions & 128 deletions

invui-kotlin/src/main/kotlin/xyz/xenondevs/invui/dsl/WindowDsl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import xyz.xenondevs.commons.provider.mutableProvider
1111
import xyz.xenondevs.commons.provider.provider
1212
import xyz.xenondevs.invui.ClickEvent
1313
import xyz.xenondevs.invui.ExperimentalReactiveApi
14-
import xyz.xenondevs.invui.internal.util.InventoryUtils
14+
import xyz.xenondevs.invui.internal.util.InventoryUtils2
1515
import xyz.xenondevs.invui.window.Window
1616
import xyz.xenondevs.invui.window.setCloseable
1717
import xyz.xenondevs.invui.window.setTitle
@@ -488,7 +488,7 @@ internal abstract class AbstractSplitWindowDsl<W : Window, B : Window.Builder.Sp
488488
viewer: Player
489489
) : AbstractWindowDsl<W, B>(viewer), SplitWindowDsl {
490490

491-
override val lowerGui = GuiDslProperty(9, 4) { InventoryUtils.createPlayerReferencingInventoryGui(viewer) }
491+
override val lowerGui = GuiDslProperty(9, 4) { InventoryUtils2.createPlayerReferencingInventoryGui(viewer) }
492492

493493
override fun applyToBuilder(builder: B) {
494494
super.applyToBuilder(builder)

invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomCartographyMenu.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
import net.minecraft.network.protocol.game.ClientboundMapItemDataPacket;
88
import net.minecraft.world.inventory.MenuType;
99
import net.minecraft.world.level.saveddata.maps.*;
10-
import org.bukkit.Material;
1110
import org.bukkit.craftbukkit.inventory.CraftItemStack;
1211
import org.bukkit.entity.Player;
1312
import org.bukkit.inventory.ItemStack;
13+
import org.bukkit.inventory.ItemType;
1414
import org.jspecify.annotations.Nullable;
1515
import xyz.xenondevs.invui.internal.network.PacketListener;
16-
import xyz.xenondevs.invui.internal.util.ItemUtils2;
1716
import xyz.xenondevs.invui.internal.util.MathUtils;
17+
import xyz.xenondevs.invui.util.ItemUtils;
1818
import xyz.xenondevs.invui.window.CartographyWindow;
1919
import xyz.xenondevs.invui.window.CartographyWindow.MapIcon;
2020
import xyz.xenondevs.invui.window.CartographyWindow.MapPatch;
@@ -55,12 +55,12 @@ public void setItem(int slot, @Nullable ItemStack item) {
5555
super.setItem(slot, clone);
5656
} else if (slot == 1 && item != null) {
5757
var targetType = switch (view) {
58-
case NORMAL -> Material.STONE;
59-
case SMALL -> Material.PAPER;
60-
case DUPLICATE -> Material.MAP;
61-
case LOCK -> Material.GLASS_PANE;
58+
case NORMAL -> ItemType.STONE;
59+
case SMALL -> ItemType.PAPER;
60+
case DUPLICATE -> ItemType.MAP;
61+
case LOCK -> ItemType.GLASS_PANE;
6262
};
63-
super.setItem(slot, ItemUtils2.asType(item, targetType));
63+
super.setItem(slot, ItemUtils.asType(item, targetType));
6464
} else {
6565
super.setItem(slot, item);
6666
}

invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomContainerMenu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,12 @@ protected CustomContainerMenu(MenuType<?> menuType, org.bukkit.entity.Player pla
171171
this.serverPlayer = ((CraftPlayer) player).getHandle();
172172
this.containerId = serverPlayer.nextContainerCounter();
173173

174-
int size = InventoryUtils.getSizeOf(menuType) + LOWER_INVENTORY_SIZE;
174+
int size = InventoryUtils2.getSizeOf(menuType) + LOWER_INVENTORY_SIZE;
175175
this.items = ArrayUtils.newArray(ItemStack[]::new, size, ItemStack.EMPTY);
176176
this.remoteSlots = ArrayUtils.newArrayBy(RemoteSlot.Synchronized[]::new, size, _ -> remoteSlot(ItemStack.EMPTY));
177177
this.remoteOffHand = remoteSlot(serverPlayer.getOffhandItem());
178178

179-
int dataSize = InventoryUtils.getDataSlotCountOf(menuType);
179+
int dataSize = InventoryUtils2.getDataSlotCountOf(menuType);
180180
this.dataSlots = new int[dataSize];
181181
this.remoteDataSlots = new int[dataSize];
182182

invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomPlainMenu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package xyz.xenondevs.invui.internal.menu;
22

33
import org.bukkit.entity.Player;
4-
import xyz.xenondevs.invui.internal.util.InventoryUtils;
4+
import xyz.xenondevs.invui.internal.util.InventoryUtils2;
55

66
/**
77
* A packet-based generic menu.
@@ -18,7 +18,7 @@ public class CustomPlainMenu extends CustomContainerMenu {
1818
* @throws IllegalArgumentException if there is no matching generic menu type
1919
*/
2020
public CustomPlainMenu(int width, int height, Player player) {
21-
super(InventoryUtils.getMatchingGenericMenuType(width, height), player);
21+
super(InventoryUtils2.getMatchingGenericMenuType(width, height), player);
2222
}
2323

2424
}

invui/src/main/java/xyz/xenondevs/invui/internal/util/ArrayUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import java.util.Set;
88
import java.util.function.IntFunction;
99

10-
public class ArrayUtils {
10+
public final class ArrayUtils {
11+
12+
private ArrayUtils() {}
1113

1214
/**
1315
* Concatenates a single element with an array.

invui/src/main/java/xyz/xenondevs/invui/internal/util/CollectionUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
import java.util.function.Consumer;
1111
import java.util.function.Function;
1212

13-
public class CollectionUtils {
13+
public final class CollectionUtils {
14+
15+
private CollectionUtils() {}
1416

1517
/**
1618
* Creates an unmodifiable view of the specified list, while performing an unchecked cast

invui/src/main/java/xyz/xenondevs/invui/internal/util/ComponentUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
import net.kyori.adventure.text.format.Style;
66
import net.kyori.adventure.text.format.TextDecoration;
77

8-
public class ComponentUtils {
8+
public final class ComponentUtils {
9+
10+
private ComponentUtils() {}
911

1012
private static final Style FORMATTING_TEMPLATE = Style.style()
1113
.color(NamedTextColor.WHITE)

invui/src/main/java/xyz/xenondevs/invui/internal/util/DataUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414

1515
import java.io.*;
1616

17-
public class DataUtils {
17+
public final class DataUtils {
18+
19+
private DataUtils() {}
1820

1921
public static byte[] readByteArray(DataInputStream din) throws IOException {
2022
int size = din.readInt();

invui/src/main/java/xyz/xenondevs/invui/internal/util/FakeInventoryView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.jspecify.annotations.Nullable;
1111

1212
@SuppressWarnings("UnstableApiUsage")
13-
public class FakeInventoryView implements InventoryView {
13+
public final class FakeInventoryView implements InventoryView {
1414

1515
private final Player player;
1616
private final Inventory top;

invui/src/main/java/xyz/xenondevs/invui/internal/util/FuncUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
import java.util.function.Supplier;
88

9-
public class FuncUtils {
9+
public final class FuncUtils {
10+
11+
private FuncUtils() {}
1012

1113
/**
1214
* Resolves the value from the given supplier, catching any exceptions that may occur and

0 commit comments

Comments
 (0)