From 8d7e76ed8110e16b84892e97d8892d5067557fe4 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Thu, 17 Mar 2022 00:36:49 -0700 Subject: [PATCH] Attempting to update NMS (Part 1 of ...) --- .../java/com/volmit/iris/core/nms/INMS.java | 4 ++-- .../com/volmit/iris/core/nms/NMSVersion.java | 4 ++++ .../NMSBinding18_2.java} | 22 +++++++++---------- .../volmit/iris/engine/object/IrisLoot.java | 2 +- 4 files changed, 17 insertions(+), 15 deletions(-) rename src/main/java/com/volmit/iris/core/nms/{v18_1/NMSBinding18_1.java => v18_2/NMSBinding18_2.java} (96%) diff --git a/src/main/java/com/volmit/iris/core/nms/INMS.java b/src/main/java/com/volmit/iris/core/nms/INMS.java index 57ab87c32..4228dc965 100644 --- a/src/main/java/com/volmit/iris/core/nms/INMS.java +++ b/src/main/java/com/volmit/iris/core/nms/INMS.java @@ -20,7 +20,7 @@ package com.volmit.iris.core.nms; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; -import com.volmit.iris.core.nms.v18_1.NMSBinding18_1; +import com.volmit.iris.core.nms.v18_2.NMSBinding18_2; import com.volmit.iris.core.nms.v1X.NMSBinding1X; import com.volmit.iris.util.collection.KMap; import org.bukkit.Bukkit; @@ -28,7 +28,7 @@ import org.bukkit.Bukkit; public class INMS { //@builder private static final KMap> bindings = new KMap>() - .qput("v1_18_R1", NMSBinding18_1.class); + .qput("v1_18_R2", NMSBinding18_2.class); //@done private static final INMSBinding binding = bind(); diff --git a/src/main/java/com/volmit/iris/core/nms/NMSVersion.java b/src/main/java/com/volmit/iris/core/nms/NMSVersion.java index 5c12d9f71..a4268495d 100644 --- a/src/main/java/com/volmit/iris/core/nms/NMSVersion.java +++ b/src/main/java/com/volmit/iris/core/nms/NMSVersion.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.List; public enum NMSVersion { + R1_18_2, R1_18, R1_17, R1_16, @@ -98,6 +99,9 @@ public enum NMSVersion { if(tryVersion("1_18_R1")) { return R1_18; } + if(tryVersion("1_18_R2")) { + return R1_18_2; + } return null; } diff --git a/src/main/java/com/volmit/iris/core/nms/v18_1/NMSBinding18_1.java b/src/main/java/com/volmit/iris/core/nms/v18_2/NMSBinding18_2.java similarity index 96% rename from src/main/java/com/volmit/iris/core/nms/v18_1/NMSBinding18_1.java rename to src/main/java/com/volmit/iris/core/nms/v18_2/NMSBinding18_2.java index 069c71fe4..7526d3506 100644 --- a/src/main/java/com/volmit/iris/core/nms/v18_1/NMSBinding18_1.java +++ b/src/main/java/com/volmit/iris/core/nms/v18_2/NMSBinding18_2.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.core.nms.v18_1; +package com.volmit.iris.core.nms.v18_2; import com.volmit.iris.Iris; @@ -36,10 +36,7 @@ import com.volmit.iris.util.nbt.mca.palette.MCAPalettedContainer; import com.volmit.iris.util.nbt.mca.palette.MCAWrappedPalettedContainer; import com.volmit.iris.util.nbt.tag.CompoundTag; import it.unimi.dsi.fastutil.objects.Object2IntMap; -import net.minecraft.core.BlockPos; -import net.minecraft.core.IdMap; -import net.minecraft.core.Registry; -import net.minecraft.core.RegistryAccess; +import net.minecraft.core.*; import net.minecraft.nbt.NbtIo; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; @@ -52,9 +49,10 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; -import org.bukkit.craftbukkit.v1_18_R1.CraftServer; -import org.bukkit.craftbukkit.v1_18_R1.CraftWorld; -import org.bukkit.craftbukkit.v1_18_R1.block.data.CraftBlockData; + +import org.bukkit.craftbukkit.v1_18_R2.CraftServer; +import org.bukkit.craftbukkit.v1_18_R2.CraftWorld; +import org.bukkit.craftbukkit.v1_18_R2.block.data.CraftBlockData; import org.bukkit.entity.Entity; import org.bukkit.generator.ChunkGenerator; import org.jetbrains.annotations.NotNull; @@ -70,7 +68,7 @@ import java.util.Iterator; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -public class NMSBinding18_1 implements INMSBinding { +public class NMSBinding18_2 implements INMSBinding { private final KMap baseBiomeCache = new KMap<>(); private final BlockData AIR = Material.AIR.createBlockData(); @@ -229,13 +227,13 @@ public class NMSBinding18_1 implements INMSBinding { return v; } //noinspection unchecked - v = org.bukkit.craftbukkit.v1_18_R1.block.CraftBlock.biomeToBiomeBase((Registry) registry, biome); + v = org.bukkit.craftbukkit.v1_18_R2.block.CraftBlock.biomeToBiomeBase((Registry) registry, biome); if(v == null) { // Ok so there is this new biome name called "CUSTOM" in Paper's new releases. // But, this does NOT exist within CraftBukkit which makes it return an error. // So, we will just return the ID that the plains biome returns instead. //noinspection unchecked - return org.bukkit.craftbukkit.v1_18_R1.block.CraftBlock.biomeToBiomeBase((Registry) registry, Biome.PLAINS); + return org.bukkit.craftbukkit.v1_18_R2.block.CraftBlock.biomeToBiomeBase((Registry) registry, Biome.PLAINS); } baseBiomeCache.put(biome, v); return v; @@ -334,7 +332,7 @@ public class NMSBinding18_1 implements INMSBinding { public void forceBiomeInto(int x, int y, int z, Object somethingVeryDirty, ChunkGenerator.BiomeGrid chunk) { try { ChunkAccess s = (ChunkAccess) getFieldForBiomeStorage(chunk).get(chunk); - s.setBiome(x, y, z, (net.minecraft.world.level.biome.Biome) somethingVeryDirty); + s.setBiome(x, y, z, (Holder) somethingVeryDirty); // probably not safe? it said it wanted a holder, so i made it a holder... } catch(IllegalAccessException e) { Iris.reportError(e); e.printStackTrace(); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisLoot.java b/src/main/java/com/volmit/iris/engine/object/IrisLoot.java index 1ebc0ddf3..a697171a6 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisLoot.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisLoot.java @@ -44,7 +44,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.TagParser; import org.bukkit.DyeColor; import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack; +import org.bukkit.craftbukkit.v1_18_R2.inventory.CraftItemStack; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable;