Directly access the data version from MC

Spigot recently made a breaking change to CraftMagicNumbers which breaks
this code, by using MC directly we avoid this issue ever occuring in the
future
This commit is contained in:
Octavia Togami 2024-10-16 07:28:35 -07:00
parent 31a795a365
commit bae1b650fc
No known key found for this signature in database
GPG Key ID: CC364524D1983C99

View File

@ -68,6 +68,7 @@
import com.sk89q.worldedit.world.generation.ConfiguredFeatureType;
import com.sk89q.worldedit.world.generation.StructureType;
import com.sk89q.worldedit.world.item.ItemType;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Holder;
@ -146,7 +147,6 @@
import org.bukkit.craftbukkit.entity.CraftEntity;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
import org.bukkit.generator.ChunkGenerator;
@ -216,7 +216,7 @@ public PaperweightAdapter() throws NoSuchFieldException, NoSuchMethodException {
// A simple test
CraftServer.class.cast(Bukkit.getServer());
int dataVersion = CraftMagicNumbers.INSTANCE.getDataVersion();
int dataVersion = SharedConstants.getCurrentVersion().getDataVersion().getVersion();
if (dataVersion != 3953 && dataVersion != 3955) {
throw new UnsupportedClassVersionError("Not 1.21(.1)!");
}
@ -235,7 +235,7 @@ public PaperweightAdapter() throws NoSuchFieldException, NoSuchMethodException {
);
chunkProviderExecutorField.setAccessible(true);
this.dataFixer = new PaperweightDataConverters(CraftMagicNumbers.INSTANCE.getDataVersion(), this);
this.dataFixer = new PaperweightDataConverters(dataVersion, this);
Watchdog watchdog;
try {