diff --git a/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java b/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java index 23faebb612a..eaa75ad63c0 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java @@ -223,12 +223,11 @@ public BlockState rotate(BlockState pState, Rotation pRotation) { @Override public List getDrops(BlockState state, LootParams.Builder builder) { - BlockEntity tileEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY); var drops = super.getDrops(state, builder); - if (tileEntity instanceof MetaMachine machine) { - if (machine instanceof IMachineModifyDrops machineModifyDrops) { - machineModifyDrops.onDrops(drops); - } + + BlockEntity be = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY); + if (be instanceof MetaMachine machine) { + machine.modifyDrops(drops); if (machine instanceof IDropSaveMachine dropSaveMachine && dropSaveMachine.saveBreak()) { for (ItemStack drop : drops) { if (drop.getItem() instanceof MetaMachineItem item && item.getBlock() == this) { diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java index b91971fd66a..6ccd7c4d28d 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java @@ -51,7 +51,6 @@ import com.lowdragmc.lowdraglib.utils.DummyWorld; import net.minecraft.ChatFormatting; -import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.BlockRenderDispatcher; import net.minecraft.client.resources.model.BakedModel; @@ -100,10 +99,6 @@ import java.util.function.Consumer; import java.util.function.Predicate; -import javax.annotation.ParametersAreNonnullByDefault; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault public class MetaMachine extends ManagedSyncBlockEntity implements IGregtechBlockEntity, IToolable, IToolGridHighlight, IFancyTooltip, IPaintable, IMachineFeature, ICopyable { @@ -211,6 +206,8 @@ public void onMachineDestroyed() { } } + public void modifyDrops(List drops) {} + ////////////////////////////////////// // ***** Tickable Manager ****// ////////////////////////////////////// @@ -279,7 +276,7 @@ private void executeTick() { ////////////////////////////////////// /** - * Called when a player clicks this meta tile entity with a tool + * Called when a player clicks this machine with a tool * * @return SUCCESS / CONSUME (will damage tool) / FAIL if something happened, so tools will get damaged and * animations will be played diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java index 3118841420b..1e23a3f118b 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java @@ -23,7 +23,6 @@ import net.minecraft.resources.ResourceLocation; import com.google.common.collect.Tables; -import com.mojang.blaze3d.MethodsReturnNonnullByDefault; import it.unimi.dsi.fastutil.ints.Int2IntFunction; import lombok.Getter; import org.jetbrains.annotations.NotNull; @@ -33,10 +32,6 @@ import java.util.LinkedHashMap; import java.util.function.BiFunction; -import javax.annotation.ParametersAreNonnullByDefault; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault public class SimpleGeneratorMachine extends WorkableTieredMachine implements IFancyUIMachine, IEnvironmentalHazardEmitter { diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java index fa1118e2c56..4813b617777 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java @@ -40,7 +40,6 @@ import net.minecraft.resources.ResourceLocation; import com.google.common.collect.Tables; -import com.mojang.blaze3d.MethodsReturnNonnullByDefault; import it.unimi.dsi.fastutil.ints.Int2IntFunction; import lombok.Getter; import org.jetbrains.annotations.Nullable; @@ -48,13 +47,9 @@ import java.util.*; import java.util.function.*; -import javax.annotation.ParametersAreNonnullByDefault; - /** * All simple single machines are implemented here. */ -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault public class SimpleTieredMachine extends WorkableTieredMachine implements IFancyUIMachine, IHasCircuitSlot { diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/WorkableTieredMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/WorkableTieredMachine.java index d00ba7f5959..cef70a3cc6a 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/WorkableTieredMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/WorkableTieredMachine.java @@ -11,7 +11,6 @@ import com.gregtechceu.gtceu.utils.GTUtil; import com.gregtechceu.gtceu.utils.ISubscription; -import com.mojang.blaze3d.MethodsReturnNonnullByDefault; import it.unimi.dsi.fastutil.ints.Int2IntFunction; import lombok.Getter; import lombok.Setter; @@ -22,10 +21,6 @@ import java.util.*; import java.util.function.Function; -import javax.annotation.ParametersAreNonnullByDefault; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault public abstract class WorkableTieredMachine extends TieredEnergyMachine implements IRecipeLogicMachine, IMufflableMachine, IOverclockMachine { diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/feature/IMachineModifyDrops.java b/src/main/java/com/gregtechceu/gtceu/api/machine/feature/IMachineModifyDrops.java deleted file mode 100644 index e7b57207514..00000000000 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/feature/IMachineModifyDrops.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gregtechceu.gtceu.api.machine.feature; - -import net.minecraft.world.item.ItemStack; - -import java.util.List; - -public interface IMachineModifyDrops extends IMachineFeature { - - /** - * Modify or append drops. - * - * @param drops existing drops. - */ - void onDrops(List drops); -} diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/hpca/HPCAComponentPartMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/hpca/HPCAComponentPartMachine.java index 8506fb1d581..84a2b92f994 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/hpca/HPCAComponentPartMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/hpca/HPCAComponentPartMachine.java @@ -2,7 +2,6 @@ import com.gregtechceu.gtceu.api.blockentity.BlockEntityCreationInfo; import com.gregtechceu.gtceu.api.capability.IHPCAComponentHatch; -import com.gregtechceu.gtceu.api.machine.feature.IMachineModifyDrops; import com.gregtechceu.gtceu.api.machine.multiblock.part.MultiblockPartMachine; import com.gregtechceu.gtceu.api.machine.property.GTMachineModelProperties; import com.gregtechceu.gtceu.api.sync_system.annotations.RerenderOnChanged; @@ -24,7 +23,7 @@ @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault public abstract class HPCAComponentPartMachine extends MultiblockPartMachine - implements IHPCAComponentHatch, IMachineModifyDrops { + implements IHPCAComponentHatch { @SaveField @SyncToClient @@ -89,7 +88,7 @@ public void setActive(boolean active) { } @Override - public void onDrops(List drops) { + public void modifyDrops(List drops) { for (int i = 0; i < drops.size(); ++i) { ItemStack drop = drops.get(i); if (drop.getItem() == this.getDefinition().getItem()) {