diff --git a/enderio-machines/src/generated/resources/assets/enderio/blockstates/primitive_alloy_smelter.json b/enderio-machines/src/generated/resources/assets/enderio/blockstates/primitive_alloy_smelter.json deleted file mode 100644 index 7c1df91d25..0000000000 --- a/enderio-machines/src/generated/resources/assets/enderio/blockstates/primitive_alloy_smelter.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "variants": { - "facing=east,powered=false": { - "model": "enderio:block/primitive_alloy_smelter_combined", - "y": 90 - }, - "facing=east,powered=true": { - "model": "enderio:block/primitive_alloy_smelter_active_combined", - "y": 90 - }, - "facing=north,powered=false": { - "model": "enderio:block/primitive_alloy_smelter_combined" - }, - "facing=north,powered=true": { - "model": "enderio:block/primitive_alloy_smelter_active_combined" - }, - "facing=south,powered=false": { - "model": "enderio:block/primitive_alloy_smelter_combined", - "y": 180 - }, - "facing=south,powered=true": { - "model": "enderio:block/primitive_alloy_smelter_active_combined", - "y": 180 - }, - "facing=west,powered=false": { - "model": "enderio:block/primitive_alloy_smelter_combined", - "y": 270 - }, - "facing=west,powered=true": { - "model": "enderio:block/primitive_alloy_smelter_active_combined", - "y": 270 - } - } -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/assets/enderio/lang/en_us.json b/enderio-machines/src/generated/resources/assets/enderio/lang/en_us.json index cfc8481a3c..3af9879913 100644 --- a/enderio-machines/src/generated/resources/assets/enderio/lang/en_us.json +++ b/enderio-machines/src/generated/resources/assets/enderio/lang/en_us.json @@ -18,7 +18,6 @@ "block.enderio.painting_machine": "Painting Machine", "block.enderio.powered_spawner": "Powered Spawner", "block.enderio.pressurized_fluid_tank": "Pressurized Fluid Tank", - "block.enderio.primitive_alloy_smelter": "Primitive Alloy Smelter", "block.enderio.pulsating_photovoltaic_module": "Pulsating Photovoltaic Module", "block.enderio.relocator_obelisk": "Relocator Obelisk", "block.enderio.sag_mill": "SAG Mill", diff --git a/enderio-machines/src/generated/resources/assets/enderio/models/block/primitive_alloy_smelter_active_combined.json b/enderio-machines/src/generated/resources/assets/enderio/models/block/primitive_alloy_smelter_active_combined.json deleted file mode 100644 index 957279d3b2..0000000000 --- a/enderio-machines/src/generated/resources/assets/enderio/models/block/primitive_alloy_smelter_active_combined.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "machine": { - "parent": "enderio:block/primitive_alloy_smelter_active" - }, - "overlay": { - "parent": "enderio:block/io_overlay" - } - }, - "item_render_order": [ - "machine", - "overlay" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "enderio:block/primitive_alloy_smelter_front" - } -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/assets/enderio/models/block/primitive_alloy_smelter_combined.json b/enderio-machines/src/generated/resources/assets/enderio/models/block/primitive_alloy_smelter_combined.json deleted file mode 100644 index ebebdc76d5..0000000000 --- a/enderio-machines/src/generated/resources/assets/enderio/models/block/primitive_alloy_smelter_combined.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "minecraft:block/block", - "children": { - "machine": { - "parent": "enderio:block/primitive_alloy_smelter" - }, - "overlay": { - "parent": "enderio:block/io_overlay" - } - }, - "item_render_order": [ - "machine", - "overlay" - ], - "loader": "neoforge:composite", - "textures": { - "particle": "enderio:block/primitive_alloy_smelter_front" - } -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/assets/enderio/models/item/primitive_alloy_smelter.json b/enderio-machines/src/generated/resources/assets/enderio/models/item/primitive_alloy_smelter.json deleted file mode 100644 index c9002be329..0000000000 --- a/enderio-machines/src/generated/resources/assets/enderio/models/item/primitive_alloy_smelter.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "enderio:block/primitive_alloy_smelter" -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/data/enderio/advancement/recipes/misc/primitive_alloy_smelter.json b/enderio-machines/src/generated/resources/data/enderio/advancement/recipes/misc/primitive_alloy_smelter.json deleted file mode 100644 index 324182ab99..0000000000 --- a/enderio-machines/src/generated/resources/data/enderio/advancement/recipes/misc/primitive_alloy_smelter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ingredient": { - "conditions": { - "items": [ - { - "items": "enderio:grains_of_infinity" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "enderio:primitive_alloy_smelter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ingredient" - ] - ], - "rewards": { - "recipes": [ - "enderio:primitive_alloy_smelter" - ] - } -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/data/enderio/loot_table/blocks/primitive_alloy_smelter.json b/enderio-machines/src/generated/resources/data/enderio/loot_table/blocks/primitive_alloy_smelter.json deleted file mode 100644 index d9bdb4b3ba..0000000000 --- a/enderio-machines/src/generated/resources/data/enderio/loot_table/blocks/primitive_alloy_smelter.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:copy_components", - "source": "block_entity" - } - ], - "name": "enderio:primitive_alloy_smelter" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "enderio:blocks/primitive_alloy_smelter" -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/data/enderio/recipe/primitive_alloy_smelter.json b/enderio-machines/src/generated/resources/data/enderio/recipe/primitive_alloy_smelter.json deleted file mode 100644 index b5784ca150..0000000000 --- a/enderio-machines/src/generated/resources/data/enderio/recipe/primitive_alloy_smelter.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "minecraft:deepslate" - }, - "F": { - "item": "minecraft:furnace" - }, - "G": { - "tag": "c:dusts/grains_of_infinity" - } - }, - "pattern": [ - "FFF", - "DGD", - "DDD" - ], - "result": { - "count": 1, - "id": "enderio:primitive_alloy_smelter" - } -} \ No newline at end of file diff --git a/enderio-machines/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/enderio-machines/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json index 68d29e12d6..1c9e60f7a0 100644 --- a/enderio-machines/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json +++ b/enderio-machines/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -3,7 +3,6 @@ "enderio:fluid_tank", "enderio:pressurized_fluid_tank", "enderio:enchanter", - "enderio:primitive_alloy_smelter", "enderio:alloy_smelter", "enderio:painting_machine", "enderio:wired_charger", diff --git a/enderio-machines/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json b/enderio-machines/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json index 0c6db54e14..64a36c9684 100644 --- a/enderio-machines/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json +++ b/enderio-machines/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json @@ -3,7 +3,6 @@ "enderio:fluid_tank", "enderio:pressurized_fluid_tank", "enderio:enchanter", - "enderio:primitive_alloy_smelter", "enderio:alloy_smelter", "enderio:painting_machine", "enderio:wired_charger", diff --git a/enderio-machines/src/main/java/com/enderio/machines/client/gui/screen/PrimitiveAlloySmelterScreen.java b/enderio-machines/src/main/java/com/enderio/machines/client/gui/screen/PrimitiveAlloySmelterScreen.java deleted file mode 100644 index 53bf80ba98..0000000000 --- a/enderio-machines/src/main/java/com/enderio/machines/client/gui/screen/PrimitiveAlloySmelterScreen.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.enderio.machines.client.gui.screen; - -import com.enderio.base.api.EnderIO; -import com.enderio.machines.client.gui.screen.base.MachineScreen; -import com.enderio.machines.client.gui.widget.ProgressWidget; -import com.enderio.machines.common.blocks.alloy.PrimitiveAlloySmelterMenu; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.player.Inventory; - -public class PrimitiveAlloySmelterScreen extends MachineScreen { - public static final ResourceLocation BG_TEXTURE = EnderIO - .loc("textures/gui/screen/primitive_alloy_smelter.png"); - private static final int WIDTH = 176; - private static final int HEIGHT = 166; - - public PrimitiveAlloySmelterScreen(PrimitiveAlloySmelterMenu pMenu, Inventory pPlayerInventory, Component pTitle) { - super(pMenu, pPlayerInventory, pTitle); - imageWidth = WIDTH; - imageHeight = HEIGHT; - } - - @Override - protected void init() { - super.init(); - addRenderableOnly(new ProgressWidget.BottomUp(BG_TEXTURE, menu::getBurnProgress, getGuiLeft() + 41, - getGuiTop() + 37, 14, 14, 176, 0, false)); - addRenderableOnly(new ProgressWidget.LeftRight(BG_TEXTURE, menu::getCraftingProgress, getGuiLeft() + 79, - getGuiTop() + 35, 24, 17, 176, 14)); - } - - @Override - protected void renderBg(GuiGraphics pGuiGraphics, float pPartialTick, int pMouseX, int pMouseY) { - pGuiGraphics.blit(BG_TEXTURE, leftPos, topPos, 0, 0, imageWidth, imageHeight); - } -} diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/AlloySmelterBlockEntity.java b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/AlloySmelterBlockEntity.java index 9bbadd34b0..7d2d7801ef 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/AlloySmelterBlockEntity.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/AlloySmelterBlockEntity.java @@ -34,7 +34,6 @@ import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.neoforged.neoforge.common.crafting.SizedIngredient; import org.jetbrains.annotations.NotNull; @@ -63,14 +62,9 @@ public class AlloySmelterBlockEntity extends PoweredMachineBlockEntity { private static final Logger LOGGER = LogUtils.getLogger(); - public static AlloySmelterBlockEntity factory(BlockPos pWorldPosition, BlockState pBlockState) { - return new AlloySmelterBlockEntity(MachineBlockEntities.ALLOY_SMELTER.get(), pWorldPosition, pBlockState, - CapacitorSupport.REQUIRED); - } - - protected AlloySmelterBlockEntity(BlockEntityType pType, BlockPos pWorldPosition, BlockState pBlockState, - CapacitorSupport capacitorSupport) { - super(pType, pWorldPosition, pBlockState, true, capacitorSupport, EnergyIOMode.Input, CAPACITY, USAGE); + public AlloySmelterBlockEntity(BlockPos pWorldPosition, BlockState pBlockState) { + super(MachineBlockEntities.ALLOY_SMELTER.get(), pWorldPosition, pBlockState, true, CapacitorSupport.REQUIRED, + EnergyIOMode.Input, CAPACITY, USAGE); // Crafting task host craftingTaskHost = new AlloySmeltingMachineTaskHost(this, this::canAcceptTask, @@ -117,26 +111,6 @@ public void onLoad() { craftingTaskHost.onLevelReady(); } - // region Primitive Smelter Shims - - /** - * Whether the mode is restricted. - * Used to disable serialization of the mode and sync of the slot when this is the primitive variant. - */ - public boolean isPrimitiveSmelter() { - return false; - } - - protected MultiSlotAccess getInputsSlotAccess() { - return INPUTS; - } - - protected SingleSlotAccess getOutputSlotAccess() { - return OUTPUT; - } - - // endregion - // region Inventory @Override @@ -152,15 +126,14 @@ public MachineInventoryLayout createInventoryLayout() { protected boolean acceptSlotInput(int slot, ItemStack stack) { if (getMode().canAlloy()) { - if (RecipeCaches.ALLOY_SMELTING_ONLY_ALLOY.hasValidRecipeIf(getInventory(), getInputsSlotAccess(), slot, - stack)) { + if (RecipeCaches.ALLOY_SMELTING_ONLY_ALLOY.hasValidRecipeIf(getInventory(), INPUTS, slot, stack)) { return true; } } if (getMode().canSmelt()) { // Check all items are the same, or will be - var currentStacks = getInputsSlotAccess().getAccesses() + var currentStacks = INPUTS.getAccesses() .stream() .map(i -> i.isSlot(slot) ? stack : i.getItemStack(getInventory())) .filter(i -> !i.isEmpty()) @@ -181,7 +154,7 @@ protected void onInventoryContentsChanged(int slot) { } private AlloySmeltingRecipe.Input createRecipeInput() { - return new AlloySmeltingRecipe.Input(getInputsSlotAccess().getItemStacks(getInventory()), 1); + return new AlloySmeltingRecipe.Input(INPUTS.getItemStacks(getInventory()), 1); } // endregion @@ -199,8 +172,8 @@ public boolean isActive() { protected AlloySmeltingMachineTask createTask(Level level, AlloySmeltingRecipe.Input recipeInput, @Nullable RecipeHolder recipe) { - return new AlloySmeltingMachineTask(level, getInventory(), getEnergyStorage(), recipeInput, - getInputsSlotAccess(), getOutputSlotAccess(), recipe); + return new AlloySmeltingMachineTask(level, getInventory(), getEnergyStorage(), recipeInput, INPUTS, OUTPUT, + recipe); } protected static class AlloySmeltingMachineTask @@ -338,11 +311,7 @@ protected Optional> findRecipe() { @Override public void saveAdditional(CompoundTag pTag, HolderLookup.Provider lookupProvider) { craftingTaskHost.save(lookupProvider, pTag); - - if (!isPrimitiveSmelter()) { - pTag.putInt(MachineNBTKeys.MACHINE_MODE, this.mode.ordinal()); - } - + pTag.putInt(MachineNBTKeys.MACHINE_MODE, this.mode.ordinal()); super.saveAdditional(pTag, lookupProvider); } @@ -350,14 +319,12 @@ public void saveAdditional(CompoundTag pTag, HolderLookup.Provider lookupProvide public void loadAdditional(CompoundTag pTag, HolderLookup.Provider lookupProvider) { craftingTaskHost.load(lookupProvider, pTag); - if (!isPrimitiveSmelter()) { - try { - mode = AlloySmelterMode.values()[pTag.getInt(MachineNBTKeys.MACHINE_MODE)]; - } catch (IndexOutOfBoundsException ex) { // In case something happens in the future. - LOGGER.error("Invalid alloy smelter mode loaded from NBT. Ignoring."); - } + // TODO: EnderIO 8 - swap to serializing the enum name. + try { + mode = AlloySmelterMode.values()[pTag.getInt(MachineNBTKeys.MACHINE_MODE)]; + } catch (IndexOutOfBoundsException ex) { // In case something happens in the future. + LOGGER.error("Invalid alloy smelter mode loaded from NBT. Ignoring."); } - super.loadAdditional(pTag, lookupProvider); } @@ -366,19 +333,13 @@ protected void applyImplicitComponents(DataComponentInput components) { super.applyImplicitComponents(components); // TODO: 1.21: Write crafting host into the item components. - - if (!isPrimitiveSmelter()) { - mode = components.getOrDefault(MachineDataComponents.ALLOY_SMELTER_MODE, AlloySmelterMode.ALL); - } + mode = components.getOrDefault(MachineDataComponents.ALLOY_SMELTER_MODE, AlloySmelterMode.ALL); } @Override protected void collectImplicitComponents(DataComponentMap.Builder components) { super.collectImplicitComponents(components); - - if (!isPrimitiveSmelter()) { - components.set(MachineDataComponents.ALLOY_SMELTER_MODE, mode); - } + components.set(MachineDataComponents.ALLOY_SMELTER_MODE, mode); } @Override diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/PrimitiveAlloySmelterBlockEntity.java b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/PrimitiveAlloySmelterBlockEntity.java deleted file mode 100644 index 03986e70ca..0000000000 --- a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/PrimitiveAlloySmelterBlockEntity.java +++ /dev/null @@ -1,204 +0,0 @@ -package com.enderio.machines.common.blocks.alloy; - -import com.enderio.machines.common.MachineNBTKeys; -import com.enderio.machines.common.blocks.base.blockentity.flags.CapacitorSupport; -import com.enderio.machines.common.blocks.base.energy.PoweredMachineEnergyStorage; -import com.enderio.machines.common.blocks.base.inventory.MachineInventoryLayout; -import com.enderio.machines.common.blocks.base.inventory.MultiSlotAccess; -import com.enderio.machines.common.blocks.base.inventory.SingleSlotAccess; -import com.enderio.machines.common.config.MachinesConfig; -import com.enderio.machines.common.init.MachineBlockEntities; -import com.enderio.machines.common.init.MachineDataComponents; -import net.minecraft.core.BlockPos; -import net.minecraft.core.HolderLookup; -import net.minecraft.core.component.DataComponentMap; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.RecipeType; -import net.minecraft.world.level.block.state.BlockState; -import org.jetbrains.annotations.Nullable; - -/** - * The primitive variant of the alloy smelter burns coal instead of using an energy buffer. - * In order to keep implementation logic together, we do some kinda hacky stuff to emulate an internal buffer. - * This buffer cannot be accessed via external means, however. - */ -public class PrimitiveAlloySmelterBlockEntity extends AlloySmelterBlockEntity { - // TODO: Currently smelts really slowly. Needs addressed when we deal with burn - // -> FE rates. - private int burnTime; - private int burnDuration; - public static final SingleSlotAccess FUEL = new SingleSlotAccess(); - public static final MultiSlotAccess INPUTS = new MultiSlotAccess(); - public static final SingleSlotAccess OUTPUT = new SingleSlotAccess(); - - public PrimitiveAlloySmelterBlockEntity(BlockPos pWorldPosition, BlockState pBlockState) { - super(MachineBlockEntities.PRIMITIVE_ALLOY_SMELTER.get(), pWorldPosition, pBlockState, CapacitorSupport.NONE); - } - - @Override - public boolean isPrimitiveSmelter() { - return true; - } - - @Override - protected MultiSlotAccess getInputsSlotAccess() { - return INPUTS; - } - - @Override - protected SingleSlotAccess getOutputSlotAccess() { - return OUTPUT; - } - - @Override - public MachineInventoryLayout createInventoryLayout() { - return MachineInventoryLayout.builder() - .inputSlot((s, i) -> i.getBurnTime(RecipeType.SMELTING) > 0) - .slotAccess(FUEL) - .inputSlot(3, this::acceptSlotInput) - .slotAccess(INPUTS) - .outputSlot() - .slotAccess(OUTPUT) - .build(); - } - - @Override - public AlloySmelterMode getMode() { - // Force alloys only - return AlloySmelterMode.ALLOYS; - } - - @Override - public @Nullable AbstractContainerMenu createMenu(int containerId, Inventory inventory, Player player) { - return new PrimitiveAlloySmelterMenu(containerId, inventory, this); - } - - @Override - public void serverTick() { - super.serverTick(); - - // Tick burn time even if redstone activation has stopped. - if (isBurning()) { - burnTime--; - } - - // Only continue burning if redstone is enabled - if (canAct() && !isBurning() && craftingTaskHost.hasTask() - && !craftingTaskHost.getCurrentTask().isCompleted()) { - // Get the fuel - ItemStack fuel = FUEL.getItemStack(this); - if (!fuel.isEmpty()) { - // Get the burn time. - int burningTime = fuel.getBurnTime(RecipeType.SMELTING); - - // If this item can burn, burn it. - if (burningTime > 0) { - burnTime = burningTime; - burnDuration = burnTime; - - // Remove the fuel - if (fuel.hasCraftingRemainingItem()) { - FUEL.setStackInSlot(getInventory(), fuel.getCraftingRemainingItem()); - } else { - fuel.shrink(1); - } - } - } - } - } - - @Override - protected boolean canAcceptTask() { - return super.canAcceptTask() || !FUEL.getItemStack(this).isEmpty(); - } - - // Deprecated because this BE is implemented in a gross way :) - @SuppressWarnings("removal") - @Override - protected PoweredMachineEnergyStorage createEnergyStorage() { - return new PoweredMachineEnergyStorage(this) { - @Override - public int getEnergyStored() { - if (isBurning()) { - return getBurnToFE(); - } - - return 0; - } - - @Override - public int consumeEnergy(int energyToConsume, boolean simulate) { - // We burn fuel, this energy storage is merely a wrapper now. - if (isBurning()) { - return getBurnToFE(); - } - return 0; - } - }; - } - - public boolean isBurning() { - return burnTime > 0; - } - - public float getBurnProgress() { - if (burnDuration == 0) { - return 0; - } - - return burnTime / (float) burnDuration; - } - - public int getBurnToFE() { - return MachinesConfig.COMMON.ENERGY.STIRLING_GENERATOR_PRODUCTION.get() / 2; - } - - @Override - public boolean isActive() { - // Ignores power. - return canAct() && isBurning(); - } - - @Override - public void saveAdditional(CompoundTag pTag, HolderLookup.Provider lookupProvider) { - pTag.putInt(MachineNBTKeys.BURN_TIME, burnTime); - pTag.putInt(MachineNBTKeys.BURN_DURATION, burnDuration); - super.saveAdditional(pTag, lookupProvider); - } - - @Override - public void loadAdditional(CompoundTag pTag, HolderLookup.Provider lookupProvider) { - burnTime = pTag.getInt(MachineNBTKeys.BURN_TIME); - burnDuration = pTag.getInt(MachineNBTKeys.BURN_DURATION); - super.loadAdditional(pTag, lookupProvider); - } - - @Override - protected void applyImplicitComponents(DataComponentInput components) { - super.applyImplicitComponents(components); - - burnTime = components.getOrDefault(MachineDataComponents.PRIMITIVE_ALLOY_SMELTER_BURN_TIME, 0); - burnDuration = components.getOrDefault(MachineDataComponents.PRIMITIVE_ALLOY_SMELTER_BURN_DURATION, 0); - } - - @Override - protected void collectImplicitComponents(DataComponentMap.Builder components) { - super.collectImplicitComponents(components); - - if (isBurning()) { - components.set(MachineDataComponents.PRIMITIVE_ALLOY_SMELTER_BURN_TIME, burnTime); - components.set(MachineDataComponents.PRIMITIVE_ALLOY_SMELTER_BURN_DURATION, burnDuration); - } - } - - @Override - public void removeComponentsFromTag(CompoundTag tag) { - super.removeComponentsFromTag(tag); - tag.remove(MachineNBTKeys.BURN_TIME); - tag.remove(MachineNBTKeys.BURN_DURATION); - } -} diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/PrimitiveAlloySmelterMenu.java b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/PrimitiveAlloySmelterMenu.java deleted file mode 100644 index 7cf3710021..0000000000 --- a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/alloy/PrimitiveAlloySmelterMenu.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.enderio.machines.common.blocks.alloy; - -import com.enderio.core.common.network.menu.FloatSyncSlot; -import com.enderio.machines.common.blocks.base.menu.MachineMenu; -import com.enderio.machines.common.blocks.base.menu.MachineSlot; -import com.enderio.machines.common.init.MachineBlockEntities; -import com.enderio.machines.common.init.MachineMenus; -import net.minecraft.network.RegistryFriendlyByteBuf; -import net.minecraft.world.entity.player.Inventory; - -public class PrimitiveAlloySmelterMenu extends MachineMenu { - public static int INPUTS_INDEX = 0; - public static int INPUT_COUNT = 3; - public static int LAST_INDEX = 4; - - private final FloatSyncSlot craftingProgressSlot; - private final FloatSyncSlot burnProgressSlot; - - public PrimitiveAlloySmelterMenu(int pContainerId, Inventory inventory, - PrimitiveAlloySmelterBlockEntity blockEntity) { - super(MachineMenus.PRIMITIVE_ALLOY_SMELTER.get(), pContainerId, inventory, blockEntity); - addSlots(); - - craftingProgressSlot = addSyncSlot(FloatSyncSlot.readOnly(blockEntity::getCraftingProgress)); - burnProgressSlot = addSyncSlot(FloatSyncSlot.readOnly(blockEntity::getBurnProgress)); - } - - public PrimitiveAlloySmelterMenu(int containerId, Inventory playerInventory, RegistryFriendlyByteBuf buf) { - super(MachineMenus.PRIMITIVE_ALLOY_SMELTER.get(), containerId, playerInventory, buf, - MachineBlockEntities.PRIMITIVE_ALLOY_SMELTER.get()); - addSlots(); - - craftingProgressSlot = addSyncSlot(FloatSyncSlot.standalone()); - burnProgressSlot = addSyncSlot(FloatSyncSlot.standalone()); - } - - private void addSlots() { - addSlot(new MachineSlot(getMachineInventory(), PrimitiveAlloySmelterBlockEntity.FUEL, 40, 53)); - addSlot(new MachineSlot(getMachineInventory(), PrimitiveAlloySmelterBlockEntity.INPUTS.get(0), 20, 17)); - addSlot(new MachineSlot(getMachineInventory(), PrimitiveAlloySmelterBlockEntity.INPUTS.get(1), 40, 17)); - addSlot(new MachineSlot(getMachineInventory(), PrimitiveAlloySmelterBlockEntity.INPUTS.get(2), 60, 17)); - addSlot(new MachineSlot(getMachineInventory(), PrimitiveAlloySmelterBlockEntity.OUTPUT, 116, 35)); - - addPlayerInventorySlots(8, 84); - } - - public float getBurnProgress() { - return burnProgressSlot.get(); - } - - public float getCraftingProgress() { - return craftingProgressSlot.get(); - } -} diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlockEntities.java b/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlockEntities.java index c15bd4682f..3f8ec703e9 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlockEntities.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlockEntities.java @@ -16,7 +16,6 @@ import com.enderio.machines.common.blockentity.solar.SolarPanelBlockEntity; import com.enderio.machines.common.blockentity.solar.SolarPanelTier; import com.enderio.machines.common.blocks.alloy.AlloySmelterBlockEntity; -import com.enderio.machines.common.blocks.alloy.PrimitiveAlloySmelterBlockEntity; import com.enderio.machines.common.blocks.base.blockentity.MachineBlockEntity; import com.enderio.machines.common.blocks.base.blockentity.PoweredMachineBlockEntity; import com.enderio.machines.common.blocks.crafter.CrafterBlockEntity; @@ -73,12 +72,8 @@ public class MachineBlockEntities { public static final RegiliteBlockEntity ENCHANTER = register("enchanter", EnchanterBlockEntity::new, MachineBlocks.ENCHANTER); - public static final RegiliteBlockEntity PRIMITIVE_ALLOY_SMELTER = register( - "primitive_alloy_smelter", PrimitiveAlloySmelterBlockEntity::new, MachineBlocks.PRIMITIVE_ALLOY_SMELTER) - .apply(MachineBlockEntities::machineBlockEntityCapabilities); - public static final RegiliteBlockEntity ALLOY_SMELTER = register("alloy_smelter", - AlloySmelterBlockEntity::factory, MachineBlocks.ALLOY_SMELTER) + AlloySmelterBlockEntity::new, MachineBlocks.ALLOY_SMELTER) .apply(MachineBlockEntities::poweredMachineBlockEntityCapabilities); public static final RegiliteBlockEntity CREATIVE_POWER = register("creative_power", @@ -228,11 +223,6 @@ private static void poweredMachineBlockEntityCapabilities( blockEntity.addCapability(Capabilities.EnergyStorage.BLOCK, PoweredMachineBlockEntity.ENERGY_STORAGE_PROVIDER); } - private static void legacyFluidHandlerCapability( - RegiliteBlockEntity blockEntity) { - blockEntity.addCapability(Capabilities.FluidHandler.BLOCK, FluidTankUser.FLUID_HANDLER_PROVIDER); - } - private static void fluidHandlerCapability(RegiliteBlockEntity blockEntity) { blockEntity.addCapability(Capabilities.FluidHandler.BLOCK, FluidTankUser.FLUID_HANDLER_PROVIDER); } diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlocks.java b/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlocks.java index 9f28273217..c47b1c0d5c 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlocks.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineBlocks.java @@ -80,9 +80,8 @@ public class MachineBlocks { .customLoader(CompositeModelBuilder::begin) .child("tank", ModelHelper.getExistingAsBuilder(prov.models(), - EnderIO.loc(String.format("block/%s_body", ctx.getName())))) - .child("overlay", - ModelHelper.getExistingAsBuilder(prov.models(), EnderIO.loc("block/io_overlay"))) + EnderIO.loc(String.format("block/%s_body", ctx.getName())))) + .child("overlay", ModelHelper.getExistingAsBuilder(prov.models(), EnderIO.loc("block/io_overlay"))) .end() .texture("particle", EnderIO.loc("block/machine_side")))) .createBlockItem(ITEM_REGISTRY, block -> new FluidTankBlockItem(block, new Item.Properties(), 16000), @@ -105,9 +104,8 @@ public class MachineBlocks { .customLoader(CompositeModelBuilder::begin) .child("tank", ModelHelper.getExistingAsBuilder(prov.models(), - EnderIO.loc(String.format("block/%s_body", ctx.getName())))) - .child("overlay", - ModelHelper.getExistingAsBuilder(prov.models(), EnderIO.loc("block/io_overlay"))) + EnderIO.loc(String.format("block/%s_body", ctx.getName())))) + .child("overlay", ModelHelper.getExistingAsBuilder(prov.models(), EnderIO.loc("block/io_overlay"))) .end() .texture("particle", EnderIO.loc("block/machine_side")))) .createBlockItem(ITEM_REGISTRY, (block) -> new FluidTankBlockItem(block, new Item.Properties(), 32000), @@ -127,9 +125,6 @@ public class MachineBlocks { .setBlockStateProvider(MachineModelUtil::machineBlock) .createBlockItem(ITEM_REGISTRY, item -> item.setTab(EIOCreativeTabs.MACHINES)); - public static final RegiliteBlock> PRIMITIVE_ALLOY_SMELTER = progressMachine( - "primitive_alloy_smelter", () -> MachineBlockEntities.PRIMITIVE_ALLOY_SMELTER); - public static final RegiliteBlock> ALLOY_SMELTER = progressMachine("alloy_smelter", () -> MachineBlockEntities.ALLOY_SMELTER); @@ -256,8 +251,7 @@ public class MachineBlocks { .registerBlock("block_detector", BlockDetectorBlock::new, BlockBehaviour.Properties.ofFullCopy(Blocks.OBSERVER)) .addBlockTags(BlockTags.MINEABLE_WITH_PICKAXE) - .setBlockStateProvider( - (prov, ctx) -> prov.models().getExistingFile(EnderIO.loc("block/" + ctx.getName()))) + .setBlockStateProvider((prov, ctx) -> prov.models().getExistingFile(EnderIO.loc("block/" + ctx.getName()))) .createBlockItem(ITEM_REGISTRY, item -> item.setTab((EIOCreativeTabs.MACHINES))); public static final RegiliteBlock> XP_OBELISK = BLOCK_REGISTRY diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineMenus.java b/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineMenus.java index d8453509de..2a4df699f7 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineMenus.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/init/MachineMenus.java @@ -12,7 +12,6 @@ import com.enderio.machines.client.gui.screen.InhibitorObeliskScreen; import com.enderio.machines.client.gui.screen.PaintingMachineScreen; import com.enderio.machines.client.gui.screen.PoweredSpawnerScreen; -import com.enderio.machines.client.gui.screen.PrimitiveAlloySmelterScreen; import com.enderio.machines.client.gui.screen.RelocatorObeliskScreen; import com.enderio.machines.client.gui.screen.SagMillScreen; import com.enderio.machines.client.gui.screen.SlicerScreen; @@ -26,7 +25,6 @@ import com.enderio.machines.client.gui.screen.XPObeliskScreen; import com.enderio.machines.client.gui.screen.XPVacuumScreen; import com.enderio.machines.common.blocks.alloy.AlloySmelterMenu; -import com.enderio.machines.common.blocks.alloy.PrimitiveAlloySmelterMenu; import com.enderio.machines.common.blocks.crafter.CrafterMenu; import com.enderio.machines.common.blocks.drain.DrainMenu; import com.enderio.machines.common.blocks.enchanter.EnchanterMenu; @@ -63,8 +61,6 @@ private MachineMenus() { FluidTankMenu::new, () -> FluidTankScreen::new); public static final RegiliteMenu ENCHANTER = MENU_REGISTRY.registerMenu("enchanter", EnchanterMenu::new, () -> EnchanterScreen::new); - public static final RegiliteMenu PRIMITIVE_ALLOY_SMELTER = MENU_REGISTRY.registerMenu( - "primitive_alloy_smelter", PrimitiveAlloySmelterMenu::new, () -> PrimitiveAlloySmelterScreen::new); public static final RegiliteMenu ALLOY_SMELTER = MENU_REGISTRY.registerMenu("alloy_smelter", AlloySmelterMenu::new, () -> AlloySmelterScreen::new); public static final RegiliteMenu SAG_MILL = MENU_REGISTRY.registerMenu("sag_mill", SagMillMenu::new, diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachineJEIRecipes.java b/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachineJEIRecipes.java index 3b16d7b693..70eca2805f 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachineJEIRecipes.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachineJEIRecipes.java @@ -9,15 +9,14 @@ import com.enderio.machines.common.init.MachineRecipes; import com.enderio.machines.common.integrations.jei.util.WrappedEnchanterRecipe; import com.enderio.machines.common.souldata.EngineSoul; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeManager; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - public class MachineJEIRecipes { private final RecipeManager recipeManager; @@ -28,15 +27,6 @@ public MachineJEIRecipes() { } public List> getAlloySmeltingRecipes() { - var recipes = recipeManager.getAllRecipesFor(MachineRecipes.ALLOY_SMELTING.type().get()) - .stream() - .filter(recipe -> !recipe.value().isSmelting()) - .toList(); - - return recipes; - } - - public List> getAlloySmeltingRecipesWithSmelting() { List> recipes = new ArrayList<>(); recipes.addAll(recipeManager.getAllRecipesFor(MachineRecipes.ALLOY_SMELTING.type().get())); return recipes; diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachinesJEI.java b/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachinesJEI.java index 616db32d66..d348aae1cd 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachinesJEI.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/MachinesJEI.java @@ -5,14 +5,12 @@ import com.enderio.machines.client.gui.screen.AlloySmelterScreen; import com.enderio.machines.client.gui.screen.EnchanterScreen; import com.enderio.machines.client.gui.screen.FluidTankScreen; -import com.enderio.machines.client.gui.screen.PrimitiveAlloySmelterScreen; import com.enderio.machines.client.gui.screen.SagMillScreen; import com.enderio.machines.client.gui.screen.SlicerScreen; import com.enderio.machines.client.gui.screen.SoulBinderScreen; import com.enderio.machines.client.gui.screen.VatScreen; import com.enderio.machines.client.gui.screen.base.MachineScreen; import com.enderio.machines.common.blocks.alloy.AlloySmelterMenu; -import com.enderio.machines.common.blocks.alloy.PrimitiveAlloySmelterMenu; import com.enderio.machines.common.blocks.enchanter.EnchanterMenu; import com.enderio.machines.common.blocks.sag_mill.SagMillMenu; import com.enderio.machines.common.blocks.slicer.SlicerMenu; @@ -22,7 +20,6 @@ import com.enderio.machines.common.init.MachineMenus; import com.enderio.machines.common.integrations.jei.category.AlloySmeltingCategory; import com.enderio.machines.common.integrations.jei.category.EnchanterCategory; -import com.enderio.machines.common.integrations.jei.category.PrimitiveAlloySmeltingCategory; import com.enderio.machines.common.integrations.jei.category.SagMillCategory; import com.enderio.machines.common.integrations.jei.category.SlicingRecipeCategory; import com.enderio.machines.common.integrations.jei.category.SoulBindingCategory; @@ -51,8 +48,6 @@ public ResourceLocation getPluginUid() { @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { - registration.addRecipeCatalyst(new ItemStack(MachineBlocks.PRIMITIVE_ALLOY_SMELTER.get()), - PrimitiveAlloySmeltingCategory.TYPE); registration.addRecipeCatalyst(new ItemStack(MachineBlocks.ALLOY_SMELTER.get()), AlloySmeltingCategory.TYPE, RecipeTypes.SMELTING); registration.addRecipeCatalyst(new ItemStack(MachineBlocks.ENCHANTER.get()), EnchanterCategory.TYPE); @@ -69,8 +64,6 @@ public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { public void registerCategories(IRecipeCategoryRegistration registration) { registration.addRecipeCategories(new AlloySmeltingCategory(registration.getJeiHelpers().getGuiHelper())); registration.addRecipeCategories(new EnchanterCategory(registration.getJeiHelpers().getGuiHelper())); - registration - .addRecipeCategories(new PrimitiveAlloySmeltingCategory(registration.getJeiHelpers().getGuiHelper())); registration.addRecipeCategories(new SagMillCategory(registration.getJeiHelpers().getGuiHelper())); registration.addRecipeCategories(new SlicingRecipeCategory(registration.getJeiHelpers().getGuiHelper())); registration.addRecipeCategories(new SoulBindingCategory(registration.getJeiHelpers().getGuiHelper())); @@ -83,9 +76,8 @@ public void registerCategories(IRecipeCategoryRegistration registration) { public void registerRecipes(IRecipeRegistration registration) { MachineJEIRecipes recipes = new MachineJEIRecipes(); - registration.addRecipes(AlloySmeltingCategory.TYPE, recipes.getAlloySmeltingRecipesWithSmelting()); + registration.addRecipes(AlloySmeltingCategory.TYPE, recipes.getAlloySmeltingRecipes()); registration.addRecipes(EnchanterCategory.TYPE, recipes.getEnchanterRecipes()); - registration.addRecipes(PrimitiveAlloySmeltingCategory.TYPE, recipes.getAlloySmeltingRecipes()); registration.addRecipes(SagMillCategory.TYPE, recipes.getSagMillingRecipes()); registration.addRecipes(SlicingRecipeCategory.TYPE, recipes.getSlicingRecipes()); registration.addRecipes(SoulBindingCategory.TYPE, recipes.getSoulBindingRecipes()); @@ -103,11 +95,6 @@ public void registerRecipeTransferHandlers(IRecipeTransferRegistration registrat registration.addRecipeTransferHandler(EnchanterMenu.class, MachineMenus.ENCHANTER.get(), EnchanterCategory.TYPE, EnchanterMenu.INPUTS_INDEX, EnchanterMenu.INPUT_COUNT, EnchanterMenu.LAST_INDEX + 1, 36); - registration.addRecipeTransferHandler(PrimitiveAlloySmelterMenu.class, - MachineMenus.PRIMITIVE_ALLOY_SMELTER.get(), AlloySmeltingCategory.TYPE, - PrimitiveAlloySmelterMenu.INPUTS_INDEX, PrimitiveAlloySmelterMenu.INPUT_COUNT, - PrimitiveAlloySmelterMenu.LAST_INDEX + 1, 36); - registration.addRecipeTransferHandler(SagMillMenu.class, MachineMenus.SAG_MILL.get(), SagMillCategory.TYPE, SagMillMenu.INPUTS_INDEX, SagMillMenu.INPUT_COUNT, SagMillMenu.LAST_INDEX + 1, 36); @@ -155,8 +142,6 @@ public void registerGuiHandlers(IGuiHandlerRegistration registration) { // TODO: Painting machine needs a viewer - registration.addRecipeClickArea(PrimitiveAlloySmelterScreen.class, 79, 35, 24, 17, - PrimitiveAlloySmeltingCategory.TYPE); registration.addRecipeClickArea(SagMillScreen.class, 80, 47, 16, 24, SagMillCategory.TYPE); registration.addRecipeClickArea(SlicerScreen.class, 98, 61, 24, 16, SlicingRecipeCategory.TYPE); registration.addRecipeClickArea(SoulBinderScreen.class, 80, 34, 24, 17, SoulBindingCategory.TYPE); diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/category/PrimitiveAlloySmeltingCategory.java b/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/category/PrimitiveAlloySmeltingCategory.java deleted file mode 100644 index 6284956098..0000000000 --- a/enderio-machines/src/main/java/com/enderio/machines/common/integrations/jei/category/PrimitiveAlloySmeltingCategory.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.enderio.machines.common.integrations.jei.category; - -import com.enderio.base.api.EnderIO; -import com.enderio.base.common.integrations.jei.JEIUtils; -import com.enderio.machines.client.gui.screen.PrimitiveAlloySmelterScreen; -import com.enderio.machines.client.gui.screen.StirlingGeneratorScreen; -import com.enderio.machines.common.blocks.alloy.AlloySmeltingRecipe; -import com.enderio.machines.common.init.MachineBlocks; -import com.enderio.machines.common.integrations.jei.util.MachineRecipeCategory; -import com.enderio.machines.common.integrations.jei.util.RecipeUtil; -import com.enderio.machines.common.lang.MachineLang; -import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; -import mezz.jei.api.gui.drawable.IDrawable; -import mezz.jei.api.gui.drawable.IDrawableAnimated; -import mezz.jei.api.gui.drawable.IDrawableStatic; -import mezz.jei.api.gui.ingredient.IRecipeSlotsView; -import mezz.jei.api.helpers.IGuiHelper; -import mezz.jei.api.recipe.IFocusGroup; -import mezz.jei.api.recipe.RecipeType; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.RecipeHolder; -import net.neoforged.neoforge.common.crafting.SizedIngredient; -import org.jetbrains.annotations.Nullable; - -import java.util.Arrays; -import java.util.List; - -import static mezz.jei.api.recipe.RecipeIngredientRole.*; - -// TODO: Not a massive fan of how the primitive alloy smelter has been implemented and the resulting complexity... -public class PrimitiveAlloySmeltingCategory extends MachineRecipeCategory> { - - public static final RecipeType> TYPE = JEIUtils - .createRecipeType(EnderIO.NAMESPACE, "primitive_alloy_smelting", AlloySmeltingRecipe.class); - - private final IDrawable background; - private final IDrawable icon; - private final IDrawableStatic staticFlame; - private final IDrawable animatedFlame; - - public PrimitiveAlloySmeltingCategory(IGuiHelper guiHelper) { - this.background = guiHelper.createDrawable(PrimitiveAlloySmelterScreen.BG_TEXTURE, 19, 16, 118, 54); - this.icon = guiHelper.createDrawableItemStack(new ItemStack(MachineBlocks.PRIMITIVE_ALLOY_SMELTER.get())); - - staticFlame = guiHelper.createDrawable(StirlingGeneratorScreen.BG_TEXTURE, 176, 0, 14, 14); - animatedFlame = guiHelper.createAnimatedDrawable(staticFlame, 300, IDrawableAnimated.StartDirection.TOP, true); - } - - @Override - public @Nullable ResourceLocation getRegistryName(RecipeHolder recipe) { - // Prevent overlap with normal alloy smelter recipes - return ResourceLocation.fromNamespaceAndPath(recipe.id().getNamespace(), "primitive_" + recipe.id().getPath()); - } - - @Override - public RecipeType> getRecipeType() { - return TYPE; - } - - @Override - public Component getTitle() { - return MachineLang.CATEGORY_PRIMITIVE_ALLOY_SMELTING; - } - - @Override - public IDrawable getBackground() { - return background; - } - - @Override - public IDrawable getIcon() { - return icon; - } - - @Override - public void setRecipe(IRecipeLayoutBuilder builder, RecipeHolder recipe, IFocusGroup focuses) { - List inputs = recipe.value().inputs(); - - if (!inputs.isEmpty()) { - builder.addSlot(INPUT, 1, 1).addItemStacks(Arrays.stream(inputs.get(0).getItems()).toList()); - } - - if (inputs.size() > 1) { - builder.addSlot(INPUT, 21, 1).addItemStacks(Arrays.stream(inputs.get(1).getItems()).toList()); - } else { - builder.addSlot(RENDER_ONLY, 21, 1); - } - - if (inputs.size() > 2) { - builder.addSlot(INPUT, 41, 1).addItemStacks(Arrays.stream(inputs.get(2).getItems()).toList()); - } else { - builder.addSlot(RENDER_ONLY, 41, 1); - } - - builder.addSlot(OUTPUT, 97, 19).addItemStacks(List.of(RecipeUtil.getResultStacks(recipe).get(0).getItem())); - - builder.addSlot(RENDER_ONLY, 21, 37); - } - - @Override - public void draw(RecipeHolder recipe, IRecipeSlotsView recipeSlotsView, - GuiGraphics guiGraphics, double mouseX, double mouseY) { - animatedFlame.draw(guiGraphics, 22, 20); - - // TODO: Draw time to smelt - } -} diff --git a/enderio-machines/src/main/java/com/enderio/machines/data/recipes/MachineRecipeProvider.java b/enderio-machines/src/main/java/com/enderio/machines/data/recipes/MachineRecipeProvider.java index 6be79a6244..faad1d3420 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/data/recipes/MachineRecipeProvider.java +++ b/enderio-machines/src/main/java/com/enderio/machines/data/recipes/MachineRecipeProvider.java @@ -8,6 +8,7 @@ import com.enderio.machines.common.blockentity.capacitorbank.CapacitorTier; import com.enderio.machines.common.blockentity.solar.SolarPanelTier; import com.enderio.machines.common.init.MachineBlocks; +import java.util.concurrent.CompletableFuture; import net.minecraft.advancements.critereon.InventoryChangeTrigger; import net.minecraft.advancements.critereon.ItemPredicate; import net.minecraft.core.HolderLookup; @@ -22,8 +23,6 @@ import net.minecraft.world.level.block.Blocks; import net.neoforged.neoforge.common.Tags; -import java.util.concurrent.CompletableFuture; - public class MachineRecipeProvider extends RecipeProvider { public MachineRecipeProvider(PackOutput packOutput, CompletableFuture registries) { @@ -32,393 +31,399 @@ public MachineRecipeProvider(PackOutput packOutput, CompletableFuture