Replace MixinItemStack with new API in Fabric.

Also remove un-used ExtendedRecipeRemainder
This commit is contained in:
modmuss50 2022-04-15 00:04:12 +01:00
parent cf6a8ae72c
commit 60fd7b1ab6
11 changed files with 23 additions and 167 deletions

View file

@ -48,7 +48,6 @@ import reborncore.common.screen.BuiltScreenHandler;
import reborncore.client.screen.builder.ScreenHandlerBuilder;
import reborncore.common.blockentity.MachineBaseBlockEntity;
import reborncore.common.powerSystem.PowerAcceptorBlockEntity;
import reborncore.common.recipes.ExtendedRecipeRemainder;
import reborncore.common.util.ItemUtils;
import reborncore.common.util.RebornInventory;
import techreborn.config.TechRebornConfig;
@ -240,12 +239,10 @@ public class AutoCraftingTableBlockEntity extends PowerAcceptorBlockEntity
}
private ItemStack getRemainderItem(ItemStack stack) {
if (stack.getItem() instanceof ExtendedRecipeRemainder) {
return ((ExtendedRecipeRemainder) stack.getItem()).getRemainderStack(stack);
} else if (stack.getItem().hasRecipeRemainder()) {
if (stack.getItem().hasRecipeRemainder()) {
return new ItemStack(stack.getItem().getRecipeRemainder());
}
return ItemStack.EMPTY;
}

View file

@ -24,7 +24,9 @@
package techreborn.items.armor;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.attribute.EntityAttribute;
@ -40,7 +42,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.collection.DefaultedList;
import reborncore.api.items.ArmorBlockEntityTicker;
import reborncore.api.items.ArmorRemoveHandler;
import reborncore.api.items.ItemStackModifiers;
import reborncore.common.powerSystem.RcEnergyItem;
import reborncore.common.powerSystem.RcEnergyTier;
import reborncore.common.util.ItemUtils;
@ -48,7 +49,7 @@ import techreborn.TechReborn;
import techreborn.config.TechRebornConfig;
import techreborn.utils.InitUtils;
public class QuantumSuitItem extends TRArmourItem implements ItemStackModifiers, ArmorBlockEntityTicker, ArmorRemoveHandler, RcEnergyItem {
public class QuantumSuitItem extends TRArmourItem implements ArmorBlockEntityTicker, ArmorRemoveHandler, RcEnergyItem {
public final long flyCost = TechRebornConfig.quantumSuitFlyingCost;
public final long swimCost = TechRebornConfig.quantumSuitSwimmingCost;
@ -65,7 +66,9 @@ public class QuantumSuitItem extends TRArmourItem implements ItemStackModifiers,
}
@Override
public void getAttributeModifiers(EquipmentSlot equipmentSlot, ItemStack stack, Multimap<EntityAttribute, EntityAttributeModifier> attributes) {
public Multimap<EntityAttribute, EntityAttributeModifier> getAttributeModifiers(ItemStack stack, EquipmentSlot equipmentSlot) {
var attributes = ArrayListMultimap.create(super.getAttributeModifiers(stack, slot));
attributes.removeAll(EntityAttributes.GENERIC_MOVEMENT_SPEED);
if (this.slot == EquipmentSlot.LEGS && equipmentSlot == EquipmentSlot.LEGS && enableSprint) {
@ -78,6 +81,8 @@ public class QuantumSuitItem extends TRArmourItem implements ItemStackModifiers,
attributes.put(EntityAttributes.GENERIC_ARMOR, new EntityAttributeModifier(MODIFIERS[slot.getEntitySlotId()], "Armor modifier", 20, EntityAttributeModifier.Operation.ADDITION));
attributes.put(EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(MODIFIERS[slot.getEntitySlotId()], "Knockback modifier", 2, EntityAttributeModifier.Operation.ADDITION));
}
return ImmutableMultimap.copyOf(attributes);
}
@Override

View file

@ -24,6 +24,8 @@
package techreborn.items.tool.industrial;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@ -47,7 +49,6 @@ import net.minecraft.util.TypedActionResult;
import net.minecraft.util.collection.DefaultedList;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
import reborncore.api.items.ItemStackModifiers;
import reborncore.common.powerSystem.RcEnergyItem;
import reborncore.common.powerSystem.RcEnergyTier;
import reborncore.common.util.ItemUtils;
@ -59,7 +60,7 @@ import techreborn.utils.MessageIDs;
import java.util.List;
public class NanosaberItem extends SwordItem implements RcEnergyItem, ItemStackModifiers {
public class NanosaberItem extends SwordItem implements RcEnergyItem {
public static final int maxCharge = TechRebornConfig.nanosaberCharge;
public int cost = TechRebornConfig.nanosaberCost;
@ -168,9 +169,10 @@ public class NanosaberItem extends SwordItem implements RcEnergyItem, ItemStackM
return ItemUtils.getColorForDurabilityBar(stack);
}
// ItemStackModifiers
@Override
public void getAttributeModifiers(EquipmentSlot slot, ItemStack stack, Multimap<EntityAttribute, EntityAttributeModifier> attributes) {
public Multimap<EntityAttribute, EntityAttributeModifier> getAttributeModifiers(ItemStack stack, EquipmentSlot slot) {
var attributes = ArrayListMultimap.create(super.getAttributeModifiers(stack, slot));
attributes.removeAll(EntityAttributes.GENERIC_ATTACK_DAMAGE);
attributes.removeAll(EntityAttributes.GENERIC_ATTACK_SPEED);
@ -178,5 +180,7 @@ public class NanosaberItem extends SwordItem implements RcEnergyItem, ItemStackM
attributes.put(EntityAttributes.GENERIC_ATTACK_DAMAGE, new EntityAttributeModifier(ATTACK_DAMAGE_MODIFIER_ID, "Weapon modifier", TechRebornConfig.nanosaberDamage, EntityAttributeModifier.Operation.ADDITION));
attributes.put(EntityAttributes.GENERIC_ATTACK_SPEED, new EntityAttributeModifier(ATTACK_SPEED_MODIFIER_ID, "Weapon modifier", 3, EntityAttributeModifier.Operation.ADDITION));
}
return ImmutableMultimap.copyOf(attributes);
}
}

View file

@ -21,10 +21,7 @@
],
"rei": [
"techreborn.compat.rei.ReiPlugin"
],
"autoswitch": [
"techreborn.compat.autoswitch.AutoSwitchApiImpl"
]
]
},
"custom": {
"dashloader:customobject": [
@ -34,7 +31,7 @@
},
"depends": {
"fabricloader": ">=0.13.3",
"fabric": ">=0.46.1",
"fabric": ">=0.50.0",
"reborncore": "*",
"team_reborn_energy": ">=2.2.0",
"fabric-biome-api-v1": ">=3.0.0",