diff --git a/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockEntityItemRequirement.java b/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockEntityItemRequirement.java index f5e6ec689..bfcb9ef69 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockEntityItemRequirement.java +++ b/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockEntityItemRequirement.java @@ -4,8 +4,6 @@ import net.minecraft.world.level.block.state.BlockState; public interface ISpecialBlockEntityItemRequirement { - default ItemRequirement getRequiredItems(BlockState state) { - return ItemRequirement.INVALID; - } + public ItemRequirement getRequiredItems(BlockState state); } diff --git a/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java b/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java index 8fa55d82b..26729dc49 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java +++ b/src/main/java/com/simibubi/create/content/schematics/ISpecialBlockItemRequirement.java @@ -5,8 +5,6 @@ import net.minecraft.world.level.block.state.BlockState; public interface ISpecialBlockItemRequirement { - default ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.INVALID; - } + public ItemRequirement getRequiredItems(BlockState state, BlockEntity te); } diff --git a/src/main/java/com/simibubi/create/content/schematics/ISpecialEntityItemRequirement.java b/src/main/java/com/simibubi/create/content/schematics/ISpecialEntityItemRequirement.java index f5bd10caf..7cdf23c5e 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ISpecialEntityItemRequirement.java +++ b/src/main/java/com/simibubi/create/content/schematics/ISpecialEntityItemRequirement.java @@ -2,8 +2,6 @@ package com.simibubi.create.content.schematics; public interface ISpecialEntityItemRequirement { - default ItemRequirement getRequiredItems() { - return ItemRequirement.INVALID; - } + public ItemRequirement getRequiredItems(); } diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java b/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java index f47e60031..1c91eeda8 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java +++ b/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java @@ -7,6 +7,7 @@ import java.util.Map; import java.util.function.Consumer; import com.simibubi.create.api.event.TileEntityBehaviourEvent; +import com.simibubi.create.content.schematics.ISpecialBlockEntityItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.foundation.advancement.AdvancementBehaviour; import com.simibubi.create.foundation.advancement.CreateAdvancement; @@ -25,7 +26,7 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.items.CapabilityItemHandler; -public abstract class SmartTileEntity extends CachedRenderBBTileEntity implements IPartialSafeNBT, IInteractionChecker { +public abstract class SmartTileEntity extends CachedRenderBBTileEntity implements IPartialSafeNBT, IInteractionChecker, ISpecialBlockEntityItemRequirement { private final Map, TileEntityBehaviour> behaviours = new HashMap<>(); private boolean initialized = false; @@ -176,7 +177,7 @@ public abstract class SmartTileEntity extends CachedRenderBBTileEntity implement behaviour.initialize(); } - public ItemRequirement getRequiredItems() { + public ItemRequirement getRequiredItems(BlockState state) { return behaviours.values() .stream() .reduce(ItemRequirement.NONE, (r, b) -> r.union(b.getRequiredItems()), (r, r1) -> r.union(r1));