Skip to content

Commit d4c4967

Browse files
committed
- 简化 StellarPooledNBT 的结构以提高 NBTTagPrimitivePool 功能的兼容性。
1 parent 2f2d758 commit d4c4967

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagCompound.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import java.util.Map;
1515

1616
@Mixin(NBTTagCompound.class)
17-
public class MixinNBTTagCompound {
17+
public class MixinNBTTagCompound implements StellarPooledNBT {
1818

1919
@Final
2020
@Shadow
@@ -96,4 +96,10 @@ public void setDouble(String key, double value) {
9696
this.tagMap.put(key, NBTTagPrimitivePool.getTagDouble(value));
9797
}
9898

99+
@SuppressWarnings("RedundantCast")
100+
@Override
101+
public Object stellar_core$getPooledNBT() {
102+
return (Object) this;
103+
}
104+
99105
}

src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagList.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
@SuppressWarnings("MethodMayBeStatic")
1313
@Mixin(NBTTagList.class)
14-
public class MixinNBTTagList {
14+
public class MixinNBTTagList implements StellarPooledNBT {
1515

1616
/**
1717
* @author Kasumi_Nova
@@ -32,4 +32,10 @@ private Object redirectSet(final List<Object> instance, final int i, final Objec
3232
return instance.set(i, StellarPooledNBT.stellar_core$getPooledNBT((NBTBase) element));
3333
}
3434

35+
@SuppressWarnings("RedundantCast")
36+
@Override
37+
public Object stellar_core$getPooledNBT() {
38+
return (Object) this;
39+
}
40+
3541
}

src/main/java/github/kasuminova/stellarcore/mixin/minecraft/nbtpool/MixinNBTTagString.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package github.kasuminova.stellarcore.mixin.minecraft.nbtpool;
22

3+
import github.kasuminova.stellarcore.mixin.util.StellarPooledNBT;
34
import net.minecraft.nbt.NBTTagString;
45
import org.spongepowered.asm.mixin.Mixin;
56
import org.spongepowered.asm.mixin.Overwrite;
@@ -10,7 +11,7 @@
1011
import javax.annotation.Nonnull;
1112

1213
@Mixin(NBTTagString.class)
13-
public class MixinNBTTagString {
14+
public class MixinNBTTagString implements StellarPooledNBT {
1415

1516
/**
1617
* @author Kasumi_Nova
@@ -22,6 +23,11 @@ public NBTTagString copy() {
2223
return (NBTTagString) (Object) this;
2324
}
2425

26+
@Override
27+
public Object stellar_core$getPooledNBT() {
28+
return copy();
29+
}
30+
2531
/**
2632
* @author Kasumi_Nova
2733
* @reason Constant Tag.

0 commit comments

Comments
 (0)