diff --git a/build.gradle.kts b/build.gradle.kts index bf7cb79..3741c6f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ plugins { // Project properties group = "github.kasuminova.stellarcore" -version = "1.5.19" +version = "1.5.20" // Set the toolchain version to decouple the Java we run Gradle with from the Java used to compile and run the mod java { diff --git a/src/main/java/github/kasuminova/stellarcore/common/pool/NBTTagPrimitivePool.java b/src/main/java/github/kasuminova/stellarcore/common/pool/NBTTagPrimitivePool.java index 1da4da7..6803f7c 100644 --- a/src/main/java/github/kasuminova/stellarcore/common/pool/NBTTagPrimitivePool.java +++ b/src/main/java/github/kasuminova/stellarcore/common/pool/NBTTagPrimitivePool.java @@ -1,7 +1,6 @@ package github.kasuminova.stellarcore.common.pool; import github.kasuminova.stellarcore.common.util.StellarLog; -import github.kasuminova.stellarcore.mixin.util.StellarPooledNBT; import net.minecraft.nbt.*; import java.util.Arrays; @@ -30,19 +29,10 @@ public class NBTTagPrimitivePool { Arrays.setAll(TAG_LONGS, i -> new NBTTagLong (i - SHORT_OFFSET)); Arrays.setAll(TAG_FLOATS, i -> new NBTTagFloat (i - SHORT_OFFSET)); Arrays.setAll(TAG_DOUBLES, i -> new NBTTagDouble(i - SHORT_OFFSET)); - Arrays.stream(TAG_BYTES) .forEach(tag -> ((StellarPooledNBT) tag).stellar_core$setPooled(true)); - Arrays.stream(TAG_SHORTS) .forEach(tag -> ((StellarPooledNBT) tag).stellar_core$setPooled(true)); - Arrays.stream(TAG_INTS) .forEach(tag -> ((StellarPooledNBT) tag).stellar_core$setPooled(true)); - Arrays.stream(TAG_LONGS) .forEach(tag -> ((StellarPooledNBT) tag).stellar_core$setPooled(true)); - Arrays.stream(TAG_FLOATS) .forEach(tag -> ((StellarPooledNBT) tag).stellar_core$setPooled(true)); - Arrays.stream(TAG_DOUBLES).forEach(tag -> ((StellarPooledNBT) tag).stellar_core$setPooled(true)); StellarLog.LOG.info("[StellarCore-NBTTagPrimitivePool] PrimitiveType NBTTagPrimitivePool initialized, took {}ms.", System.currentTimeMillis() - start); } public static NBTTagByte getTagByte(final NBTTagByte tag) { - if (((StellarPooledNBT) tag).stellar_core$isPooled()) { - return tag; - } return TAG_BYTES[tag.getByte() + 128]; } @@ -51,9 +41,6 @@ public static NBTTagByte getTagByte(final byte b) { } public static NBTTagShort getTagShort(final NBTTagShort tag) { - if (((StellarPooledNBT) tag).stellar_core$isPooled()) { - return tag; - } return TAG_SHORTS[tag.getShort() + SHORT_OFFSET]; } @@ -62,9 +49,6 @@ public static NBTTagShort getTagShort(final short s) { } public static NBTTagInt getTagInt(final NBTTagInt tag) { - if (((StellarPooledNBT) tag).stellar_core$isPooled()) { - return tag; - } final int value = tag.getInt(); return value < MINIMUM || value > MAXIMUM ? tag @@ -78,9 +62,6 @@ public static NBTTagInt getTagInt(final int i) { } public static NBTTagLong getTagLong(final NBTTagLong tag) { - if (((StellarPooledNBT) tag).stellar_core$isPooled()) { - return tag; - } final long value = tag.getLong(); return value < MINIMUM || value > MAXIMUM ? tag @@ -94,9 +75,6 @@ public static NBTTagLong getTagLong(final long l) { } public static NBTTagFloat getTagFloat(final NBTTagFloat tag) { - if (((StellarPooledNBT) tag).stellar_core$isPooled()) { - return tag; - } final float value = tag.getFloat(); return isFloatInteger(value) ? value < MINIMUM || value > MAXIMUM ? tag : TAG_FLOATS[((int) value + SHORT_OFFSET)] @@ -110,9 +88,6 @@ public static NBTTagFloat getTagFloat(final float f) { } public static NBTTagDouble getTagDouble(final NBTTagDouble tag) { - if (((StellarPooledNBT) tag).stellar_core$isPooled()) { - return tag; - } final double value = tag.getDouble(); return isDoubleInteger(value) ? value < MINIMUM || value > MAXIMUM ? tag : TAG_DOUBLES[((int) value + SHORT_OFFSET)] diff --git a/src/main/java/github/kasuminova/stellarcore/mixin/botania/MixinTileRuneAltar.java b/src/main/java/github/kasuminova/stellarcore/mixin/botania/MixinTileRuneAltar.java index 0f9174c..494c905 100644 --- a/src/main/java/github/kasuminova/stellarcore/mixin/botania/MixinTileRuneAltar.java +++ b/src/main/java/github/kasuminova/stellarcore/mixin/botania/MixinTileRuneAltar.java @@ -28,7 +28,7 @@ public abstract class MixinTileRuneAltar extends TileSimpleInventory { @Shadow(remap = false) RecipeRuneAltar currentRecipe; - @Shadow + @Shadow(remap = false) List lastRecipe; @Unique diff --git a/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTBase.java b/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTBase.java deleted file mode 100644 index cd5f6e0..0000000 --- a/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTBase.java +++ /dev/null @@ -1,30 +0,0 @@ -package github.kasuminova.stellarcore.mixin.minecraft.nbtpool; - -import github.kasuminova.stellarcore.mixin.util.StellarPooledNBT; -import net.minecraft.nbt.NBTBase; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(NBTBase.class) -public class MixinNBTBase implements StellarPooledNBT { - - @Unique - private boolean stellar_core$pooled = false; - - @Override - @SuppressWarnings("RedundantCast") - public Object stellar_core$getPooledNBT() { - return (Object) this; - } - - @Override - public boolean stellar_core$isPooled() { - return stellar_core$pooled; - } - - @Override - public void stellar_core$setPooled(final boolean pooled) { - this.stellar_core$pooled = pooled; - } - -} diff --git a/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagByte.java b/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagByte.java index ed8cb58..2ca2ea7 100644 --- a/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagByte.java +++ b/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagByte.java @@ -26,7 +26,7 @@ public abstract class MixinNBTTagByte implements StellarPooledNBT { @Nonnull @Overwrite public NBTTagByte copy() { - return stellar_core$isPooled() ? (NBTTagByte) (Object) this : NBTTagPrimitivePool.getTagByte((NBTTagByte) (Object) this); + return NBTTagPrimitivePool.getTagByte((NBTTagByte) (Object) this); } /** diff --git a/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagShort.java b/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagShort.java index 39668db..614fd4b 100644 --- a/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagShort.java +++ b/src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagShort.java @@ -26,7 +26,7 @@ public abstract class MixinNBTTagShort implements StellarPooledNBT { @Nonnull @Overwrite public NBTTagShort copy() { - return stellar_core$isPooled() ? (NBTTagShort) (Object) this : NBTTagPrimitivePool.getTagShort((NBTTagShort) (Object) this); + return NBTTagPrimitivePool.getTagShort((NBTTagShort) (Object) this); } /** diff --git a/src/main/java/github/kasuminova/stellarcore/mixin/util/StellarPooledNBT.java b/src/main/java/github/kasuminova/stellarcore/mixin/util/StellarPooledNBT.java index 00e3ad0..bfd0778 100644 --- a/src/main/java/github/kasuminova/stellarcore/mixin/util/StellarPooledNBT.java +++ b/src/main/java/github/kasuminova/stellarcore/mixin/util/StellarPooledNBT.java @@ -17,8 +17,4 @@ public interface StellarPooledNBT { */ Object stellar_core$getPooledNBT(); - boolean stellar_core$isPooled(); - - void stellar_core$setPooled(boolean pooled); - }