Skip to content

Commit

Permalink
- 兼容某些模组的沟槽反射 x2。
Browse files Browse the repository at this point in the history
  • Loading branch information
KasumiNova committed Oct 8, 2024
1 parent ef416e7 commit ced5fb0
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package github.kasuminova.stellarcore.common.itemstack;

import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;

import java.util.UUID;

public class SharedEmptyTag {

public static final NBTTagCompound EMPTY_TAG = new NBTTagCompound() {

@Override
public void setTag(final String key, final NBTBase value) {
}

@Override
public void setByte(final String key, final byte value) {
}

@Override
public void setShort(final String key, final short value) {
}

@Override
public void setInteger(final String key, final int value) {
}

@Override
public void setLong(final String key, final long value) {
}

@Override
public void setUniqueId(final String key, final UUID value) {
}

@Override
public void setFloat(final String key, final float value) {
}

@Override
public void setDouble(final String key, final double value) {
}

@Override
public void setString(final String key, final String value) {
}

@Override
public void setByteArray(final String key, final byte[] value) {
}

@Override
public void setIntArray(final String key, final int[] value) {
}

@Override
public void setBoolean(final String key, final boolean value) {
}

};

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import github.kasuminova.stellarcore.common.itemstack.ItemStackCapInitTask;
import github.kasuminova.stellarcore.common.itemstack.ItemStackCapInitializer;
import github.kasuminova.stellarcore.common.itemstack.SharedEmptyTag;
import github.kasuminova.stellarcore.mixin.util.StellarItemStack;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
Expand All @@ -23,9 +24,6 @@
@Mixin(ItemStack.class)
public abstract class MixinItemStack implements StellarItemStack {

@Unique
private static final NBTTagCompound stellar_core$EMPTY_TAG = new NBTTagCompound();

@Nullable
@Shadow(remap = false)
protected abstract Item getItemRaw();
Expand Down Expand Up @@ -216,7 +214,7 @@ private void injectAreCapsCompatible(final ItemStack other, final CallbackInfoRe
@Override
public NBTTagCompound stellar_core$getCapNBT() {
stellar_core$ensureCapNBTInitialized();
return this.capNBT == null ? stellar_core$EMPTY_TAG : this.capNBT;
return this.capNBT == null ? SharedEmptyTag.EMPTY_TAG : this.capNBT;
}

}

0 comments on commit ced5fb0

Please sign in to comment.