Skip to content

Commit babad46

Browse files
Fix several incompatibilities with 1.14
This commit introduces support for 1.14.0, 1.14.1, 1.14.2 and 1.14.3 with the new inventory-access-r1 and inventory-access-r2 modules. All subsequent revisions have been pushed down by two versions. (ex.: inventory-access-r15 is inventory-access-r17 now) Other changes include: - Introduced ItemUtils#setSkullGameProfile inventory-access method - Removed all usages of fastutil classes, as those are relocated to a different path on older versions and therefore not accessible - Removed all usages of Material#isAir and ClickType#SWAP_OFFHAND, as those did not exist in 1.14 - invui-core now depends on spigot 1.14 instead of 1.20.2. This should prevent any future issues regarding the usage of methods and properties that have only been introduced later
1 parent 08411eb commit babad46

File tree

111 files changed

+2439
-1073
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+2439
-1073
lines changed

inventoryaccess/inventory-access-r1/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<dependency>
2222
<groupId>org.spigotmc</groupId>
2323
<artifactId>spigot</artifactId>
24-
<version>1.14.4-R0.1-SNAPSHOT</version>
24+
<version>1.14-R0.1-SNAPSHOT</version>
2525
<scope>provided</scope>
2626
</dependency>
2727
<dependency>

inventoryaccess/inventory-access-r1/src/main/java/xyz/xenondevs/inventoryaccess/r1/CartographyInventoryImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
class CartographyInventoryImpl extends ContainerCartography implements CartographyInventory {
1919

20-
private static final Field RESULT_CONTAINER_FIELD = ReflectionUtils.getField(ContainerCartography.class, true, "resultInventory");
20+
private static final Field RESULT_CONTAINER_FIELD = ReflectionUtils.getField(ContainerCartography.class, true, "f");
2121

2222
private final InventoryCraftResult resultInventory = ReflectionUtils.getFieldValue(RESULT_CONTAINER_FIELD, this);
2323
private final IChatBaseComponent title;

inventoryaccess/inventory-access-r1/src/main/java/xyz/xenondevs/inventoryaccess/r1/ItemUtilsImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package xyz.xenondevs.inventoryaccess.r1;
22

3+
import com.mojang.authlib.GameProfile;
34
import net.minecraft.server.v1_14_R1.ItemStack;
45
import net.minecraft.server.v1_14_R1.NBTCompressedStreamTools;
56
import net.minecraft.server.v1_14_R1.NBTTagCompound;
@@ -12,11 +13,16 @@
1213
import xyz.xenondevs.inventoryaccess.util.ReflectionUtils;
1314

1415
import java.io.*;
16+
import java.lang.reflect.Field;
1517
import java.util.List;
1618
import java.util.stream.Collectors;
1719

1820
class ItemUtilsImpl implements ItemUtils {
1921

22+
private static final Field CRAFT_META_SKULL_GAME_PROFILE_FIELD = ReflectionUtils.getField(
23+
ReflectionRegistry.CB_CRAFT_META_SKULL_CLASS, true, "profile"
24+
);
25+
2026
@Override
2127
public byte[] serializeItemStack(org.bukkit.inventory.@NotNull ItemStack itemStack, boolean compressed) {
2228
ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -88,4 +94,9 @@ public void setLore(@NotNull ItemMeta itemMeta, @NotNull List<@NotNull Component
8894
);
8995
}
9096

97+
@Override
98+
public void setSkullGameProfile(@NotNull ItemMeta itemMeta, @NotNull GameProfile gameProfile) {
99+
ReflectionUtils.setFieldValue(CRAFT_META_SKULL_GAME_PROFILE_FIELD, itemMeta, gameProfile);
100+
}
101+
91102
}

inventoryaccess/inventory-access-r10/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<properties>
1616
<maven.compiler.source>17</maven.compiler.source>
1717
<maven.compiler.target>17</maven.compiler.target>
18-
<spigot.version>1.19-R0.1-SNAPSHOT</spigot.version>
18+
<spigot.version>1.18-R0.1-SNAPSHOT</spigot.version>
1919
</properties>
2020

2121
<dependencies>

inventoryaccess/inventory-access-r10/src/main/java/xyz/xenondevs/inventoryaccess/r10/AnvilInventoryImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
import net.minecraft.world.inventory.ContainerLevelAccess;
1515
import net.minecraft.world.inventory.MenuType;
1616
import net.minecraft.world.item.ItemStack;
17-
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
18-
import org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory;
19-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftInventoryAnvil;
20-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftInventoryView;
21-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack;
17+
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
18+
import org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory;
19+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftInventoryAnvil;
20+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftInventoryView;
21+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
2222
import org.bukkit.event.inventory.PrepareAnvilEvent;
2323
import org.bukkit.inventory.Inventory;
2424
import org.jetbrains.annotations.NotNull;

inventoryaccess/inventory-access-r10/src/main/java/xyz/xenondevs/inventoryaccess/r10/CartographyInventoryImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import net.minecraft.world.Container;
1111
import net.minecraft.world.inventory.*;
1212
import net.minecraft.world.item.ItemStack;
13-
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
14-
import org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory;
15-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftInventoryCartography;
16-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftInventoryView;
17-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack;
13+
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
14+
import org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory;
15+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftInventoryCartography;
16+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftInventoryView;
17+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
1818
import org.bukkit.entity.Player;
1919
import org.bukkit.inventory.Inventory;
2020
import org.jetbrains.annotations.NotNull;

inventoryaccess/inventory-access-r10/src/main/java/xyz/xenondevs/inventoryaccess/r10/InventoryUtilsImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
import net.minecraft.world.MenuProvider;
88
import net.minecraft.world.inventory.AbstractContainerMenu;
99
import net.minecraft.world.inventory.MenuType;
10-
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
11-
import org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory;
12-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftContainer;
13-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftInventory;
14-
import org.bukkit.craftbukkit.v1_19_R1.util.CraftChatMessage;
10+
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
11+
import org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory;
12+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftContainer;
13+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftInventory;
14+
import org.bukkit.craftbukkit.v1_18_R1.util.CraftChatMessage;
1515
import org.bukkit.entity.Player;
1616
import org.bukkit.inventory.Inventory;
1717
import org.jetbrains.annotations.NotNull;

inventoryaccess/inventory-access-r10/src/main/java/xyz/xenondevs/inventoryaccess/r10/ItemUtilsImpl.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package xyz.xenondevs.inventoryaccess.r10;
22

3+
import com.mojang.authlib.GameProfile;
34
import net.minecraft.nbt.CompoundTag;
45
import net.minecraft.nbt.NbtIo;
56
import net.minecraft.world.item.ItemStack;
6-
import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack;
7+
import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack;
78
import org.bukkit.inventory.meta.ItemMeta;
89
import org.jetbrains.annotations.NotNull;
910
import xyz.xenondevs.inventoryaccess.abstraction.util.ItemUtils;
@@ -12,11 +13,16 @@
1213
import xyz.xenondevs.inventoryaccess.util.ReflectionUtils;
1314

1415
import java.io.*;
16+
import java.lang.reflect.Method;
1517
import java.util.List;
1618
import java.util.stream.Collectors;
1719

1820
class ItemUtilsImpl implements ItemUtils {
1921

22+
private static final Method CRAFT_META_SKULL_SET_PROFILE_METHOD = ReflectionUtils.getMethod(
23+
ReflectionRegistry.CB_CRAFT_META_SKULL_CLASS, true, "setProfile", GameProfile.class
24+
);
25+
2026
@Override
2127
public byte[] serializeItemStack(org.bukkit.inventory.@NotNull ItemStack itemStack, boolean compressed) {
2228
ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -88,4 +94,9 @@ public void setLore(@NotNull ItemMeta itemMeta, @NotNull List<@NotNull Component
8894
);
8995
}
9096

97+
@Override
98+
public void setSkullGameProfile(@NotNull ItemMeta itemMeta, @NotNull GameProfile gameProfile) {
99+
ReflectionUtils.invokeMethod(CRAFT_META_SKULL_SET_PROFILE_METHOD, itemMeta, gameProfile);
100+
}
101+
91102
}

inventoryaccess/inventory-access-r10/src/main/java/xyz/xenondevs/inventoryaccess/r10/PlayerUtilsImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import net.minecraft.world.level.saveddata.maps.MapDecoration;
99
import net.minecraft.world.level.saveddata.maps.MapItemSavedData;
1010
import org.bukkit.Bukkit;
11-
import org.bukkit.craftbukkit.v1_19_R1.CraftServer;
12-
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer;
11+
import org.bukkit.craftbukkit.v1_18_R1.CraftServer;
12+
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
1313
import org.bukkit.entity.Player;
1414
import org.jetbrains.annotations.NotNull;
1515
import org.jetbrains.annotations.Nullable;

inventoryaccess/inventory-access-r11/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<properties>
1616
<maven.compiler.source>17</maven.compiler.source>
1717
<maven.compiler.target>17</maven.compiler.target>
18-
<spigot.version>1.19.1-R0.1-SNAPSHOT</spigot.version>
18+
<spigot.version>1.18.2-R0.1-SNAPSHOT</spigot.version>
1919
</properties>
2020

2121
<dependencies>

0 commit comments

Comments
 (0)