Skip to content
This repository was archived by the owner on Jun 3, 2024. It is now read-only.

Commit 430eb8e

Browse files
committed
Replace empty check with default entry comparison
1 parent 068e339 commit 430eb8e

4 files changed

Lines changed: 27 additions & 21 deletions

File tree

patchwork-extensions/src/main/java/com/patchworkmc/mixin/extension/MixinEnchantedBookItem.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import net.minecraftforge.common.extensions.IForgeItem;
2424

2525
import net.minecraft.item.EnchantedBookItem;
26+
import net.minecraft.item.Item;
2627
import net.minecraft.item.ItemStack;
2728
import net.minecraft.nbt.ListTag;
2829
import net.minecraft.util.Identifier;
@@ -32,9 +33,11 @@
3233
public abstract class MixinEnchantedBookItem implements IForgeItem {
3334
@Override
3435
public String getCreatorModId(ItemStack itemStack) {
35-
final Identifier id = Registry.ITEM.getId(itemStack.getItem());
36+
final Item item = itemStack.getItem();
37+
final Identifier defaultId = Registry.ITEM.getDefaultId();
38+
final Identifier id = Registry.ITEM.getId(item);
3639

37-
if (!itemStack.isEmpty() && Registry.ITEM.getDefaultId().equals(id)) {
40+
if (defaultId.equals(id) && item != Registry.ITEM.get(defaultId)) {
3841
return null;
3942
} else {
4043
final String namespace = id.getNamespace();

patchwork-extensions/src/main/java/com/patchworkmc/mixin/extension/MixinPotionItems.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,38 +22,38 @@
2222
import org.spongepowered.asm.mixin.Mixin;
2323
import net.minecraftforge.common.extensions.IForgeItem;
2424

25+
import net.minecraft.item.Item;
2526
import net.minecraft.item.ItemStack;
2627
import net.minecraft.item.PotionItem;
2728
import net.minecraft.item.TippedArrowItem;
2829
import net.minecraft.potion.Potion;
2930
import net.minecraft.potion.PotionUtil;
30-
import net.minecraft.potion.Potions;
3131
import net.minecraft.util.Identifier;
3232
import net.minecraft.util.registry.Registry;
3333

34-
@Mixin({ PotionItem.class, TippedArrowItem.class })
34+
@Mixin({PotionItem.class, TippedArrowItem.class})
3535
public abstract class MixinPotionItems implements IForgeItem {
3636
@Override
3737
public String getCreatorModId(ItemStack itemStack) {
38-
Identifier id = Registry.ITEM.getId(itemStack.getItem());
38+
final Item item = itemStack.getItem();
39+
Identifier defaultId = Registry.ITEM.getDefaultId();
40+
Identifier id = Registry.ITEM.getId(item);
3941

40-
if (!itemStack.isEmpty() && Registry.ITEM.getDefaultId().equals(id)) {
42+
if (defaultId.equals(id) && item != Registry.ITEM.get(defaultId)) {
4143
return null;
4244
} else {
4345
final String namespace = id.getNamespace();
4446

4547
if ("minecraft".equals(namespace)) {
4648
final Potion potion = PotionUtil.getPotion(itemStack);
49+
defaultId = Registry.POTION.getDefaultId();
50+
id = Registry.POTION.getId(potion);
4751

48-
if (potion != Potions.EMPTY) {
49-
id = Registry.POTION.getId(potion);
50-
51-
if (Registry.POTION.getDefaultId().equals(id)) {
52-
return namespace;
53-
}
54-
55-
return id.getNamespace();
52+
if (defaultId.equals(id) && potion != Registry.POTION.get(defaultId)) {
53+
return namespace;
5654
}
55+
56+
return id.getNamespace();
5757
}
5858

5959
return namespace;

patchwork-extensions/src/main/java/com/patchworkmc/mixin/extension/MixinSpawnEggItem.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,20 @@ public abstract class MixinSpawnEggItem implements IForgeItem {
3434
@Override
3535
public String getCreatorModId(ItemStack itemStack) {
3636
final Item item = itemStack.getItem();
37+
Identifier defaultId = Registry.ITEM.getDefaultId();
3738
Identifier id = Registry.ITEM.getId(item);
3839

39-
if (!itemStack.isEmpty() && Registry.ITEM.getDefaultId().equals(id)) {
40+
if (defaultId.equals(id) && item != Registry.ITEM.get(defaultId)) {
4041
return null;
4142
} else {
4243
final String namespace = id.getNamespace();
4344

4445
if ("minecraft".equals(namespace)) {
45-
final EntityType<?> type = ((SpawnEggItem) item).getEntityType(null);
46+
final EntityType<?> type = ((SpawnEggItem) item).getEntityType(itemStack.getTag());
4647
id = Registry.ENTITY_TYPE.getId(type);
48+
defaultId = Registry.ENTITY_TYPE.getDefaultId();
4749

48-
final Identifier defaultId = Registry.ENTITY_TYPE.getDefaultId();
49-
50-
if (type != Registry.ENTITY_TYPE.get(defaultId) && defaultId.equals(id)) {
50+
if (defaultId.equals(id) && type != Registry.ENTITY_TYPE.get(defaultId)) {
5151
return namespace;
5252
}
5353

patchwork-extensions/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -682,8 +682,11 @@ default boolean canContinueUsing(ItemStack oldStack, ItemStack newStack) {
682682
*/
683683
@Nullable
684684
default String getCreatorModId(ItemStack itemStack) {
685-
final Identifier id = Registry.ITEM.getId(itemStack.getItem());
686-
return !itemStack.isEmpty() && Registry.ITEM.getDefaultId().equals(id) ? null : id.getNamespace();
685+
final Item item = itemStack.getItem();
686+
final Identifier defaultId = Registry.ITEM.getDefaultId();
687+
final Identifier id = Registry.ITEM.getId(item);
688+
689+
return defaultId.equals(id) && item != Registry.ITEM.get(defaultId) ? null : id.getNamespace();
687690
}
688691

689692
// TODO: Call locations: Patches: ItemStack

0 commit comments

Comments
 (0)