diff --git a/gradle.properties b/gradle.properties index 6c7881e..6d15f69 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ registrate_version = MC1.20-1.3.3 maven_group = me.duquee archives_base_name = createutilities -mod_version = 0.1.4 +mod_version = 0.2.0 forge_version = 47.1.43 minecraft_version = 1.20.1 diff --git a/src/main/java/me/duquee/createutilities/CreateUtilities.java b/src/main/java/me/duquee/createutilities/CreateUtilities.java index 3e07f85..49bfc33 100644 --- a/src/main/java/me/duquee/createutilities/CreateUtilities.java +++ b/src/main/java/me/duquee/createutilities/CreateUtilities.java @@ -3,9 +3,9 @@ import com.simibubi.create.foundation.data.CreateRegistrate; import me.duquee.createutilities.blocks.CUBlocks; -import me.duquee.createutilities.blocks.CUPartialsModels; import me.duquee.createutilities.blocks.CUTileEntities; import me.duquee.createutilities.blocks.voidtypes.CUContainerTypes; +import me.duquee.createutilities.blocks.voidtypes.battery.VoidBatteryData; import me.duquee.createutilities.blocks.voidtypes.chest.VoidChestInventoriesData; import me.duquee.createutilities.blocks.voidtypes.tank.VoidTanksData; import me.duquee.createutilities.items.CUItems; @@ -16,6 +16,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.common.Mod; @@ -35,7 +36,9 @@ public class CreateUtilities { public static final VoidMotorNetworkHandler VOID_MOTOR_LINK_NETWORK_HANDLER = new VoidMotorNetworkHandler(); public static VoidChestInventoriesData VOID_CHEST_INVENTORIES_DATA; + public static VoidTanksData VOID_TANKS_DATA; + public static VoidBatteryData VOID_BATTERIES_DATA; public CreateUtilities() { onCtor(); @@ -44,6 +47,7 @@ public CreateUtilities() { public static void onCtor() { IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + IEventBus forgeEventBus = MinecraftForge.EVENT_BUS; REGISTRATE.registerEventListeners(modEventBus); @@ -54,7 +58,9 @@ public static void onCtor() { CUCreativeTabs.register(modEventBus); modEventBus.addListener(CreateUtilities::init); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> CUPartialsModels::init); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> + CreateUtilitiesClient.onCtorClient(modEventBus, forgeEventBus) + ); } diff --git a/src/main/java/me/duquee/createutilities/CreateUtilitiesClient.java b/src/main/java/me/duquee/createutilities/CreateUtilitiesClient.java index 97d69f0..c2f5521 100644 --- a/src/main/java/me/duquee/createutilities/CreateUtilitiesClient.java +++ b/src/main/java/me/duquee/createutilities/CreateUtilitiesClient.java @@ -1,7 +1,13 @@ package me.duquee.createutilities; +import me.duquee.createutilities.blocks.CUPartialsModels; +import me.duquee.createutilities.blocks.voidtypes.VoidStorageClient; +import me.duquee.createutilities.blocks.voidtypes.battery.VoidBattery; import me.duquee.createutilities.blocks.voidtypes.tank.VoidTank; +import me.duquee.createutilities.ponder.CUPonderIndex; +import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fluids.capability.templates.FluidTank; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; public class CreateUtilitiesClient { @@ -11,4 +17,13 @@ public class CreateUtilitiesClient { public static final VoidStorageClient VOID_BATTERIES = new VoidStorageClient<>( VoidBattery::new); + public static void onCtorClient(IEventBus modEventBus, IEventBus forgeEventBus) { + modEventBus.addListener(CreateUtilitiesClient::clientInit); + } + + public static void clientInit(final FMLClientSetupEvent event) { + CUPartialsModels.init(); + CUPonderIndex.register(); + } + } diff --git a/src/main/java/me/duquee/createutilities/blocks/lgearbox/LShapedGearboxBlock.java b/src/main/java/me/duquee/createutilities/blocks/lgearbox/LShapedGearboxBlock.java index 73a8e4d..12e5007 100644 --- a/src/main/java/me/duquee/createutilities/blocks/lgearbox/LShapedGearboxBlock.java +++ b/src/main/java/me/duquee/createutilities/blocks/lgearbox/LShapedGearboxBlock.java @@ -8,13 +8,10 @@ import com.simibubi.create.foundation.block.IBE; import me.duquee.createutilities.blocks.CUTileEntities; -import net.fabricmc.fabric.api.block.BlockPickInteractionAware; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; @@ -24,9 +21,8 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.DirectionProperty; -import net.minecraft.world.phys.HitResult; -public class LShapedGearboxBlock extends KineticBlock implements IBE, BlockPickInteractionAware, ITransformableBlock { +public class LShapedGearboxBlock extends KineticBlock implements IBE, ITransformableBlock { public static final DirectionProperty FACING_1 = BlockStateProperties.HORIZONTAL_FACING; public static final DirectionProperty FACING_2 = DirectionProperty.create("facing_2", @@ -86,11 +82,6 @@ public Direction.Axis getRotationAxis(BlockState state) { return Direction.Axis.Y; } - @Override - public ItemStack getPickedStack(BlockState state, BlockGetter view, BlockPos pos, Player player, HitResult result) { - return new ItemStack(this); - } - @Override public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { return hasShaftTowards(state, face); diff --git a/src/main/java/me/duquee/createutilities/blocks/voidtypes/VoidStorageClient.java b/src/main/java/me/duquee/createutilities/blocks/voidtypes/VoidStorageClient.java index 3a3b496..070ab31 100644 --- a/src/main/java/me/duquee/createutilities/blocks/voidtypes/VoidStorageClient.java +++ b/src/main/java/me/duquee/createutilities/blocks/voidtypes/VoidStorageClient.java @@ -2,14 +2,14 @@ import me.duquee.createutilities.blocks.voidtypes.motor.VoidMotorNetworkHandler; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import java.util.HashMap; import java.util.Map; import java.util.function.Function; -@Environment(EnvType.CLIENT) +@OnlyIn(Dist.CLIENT) public class VoidStorageClient { public final Map storages = new HashMap<>(); diff --git a/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBattery.java b/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBattery.java index c219ae9..6c9802d 100644 --- a/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBattery.java +++ b/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBattery.java @@ -4,11 +4,11 @@ import me.duquee.createutilities.blocks.voidtypes.motor.VoidMotorNetworkHandler.NetworkKey; import me.duquee.createutilities.networking.CUPackets; import me.duquee.createutilities.networking.packets.VoidBatteryUpdatePacket; -import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; import net.minecraft.nbt.CompoundTag; -import team.reborn.energy.api.base.SimpleEnergyStorage; +import net.minecraftforge.energy.EnergyStorage; +import net.minecraftforge.network.PacketDistributor; -public class VoidBattery extends SimpleEnergyStorage { +public class VoidBattery extends EnergyStorage { private final NetworkKey key; @@ -18,40 +18,36 @@ public VoidBattery(NetworkKey key) { } public boolean isEmpty() { - return amount == 0; - } - - public CompoundTag serializeNBT() { - CompoundTag nbt = new CompoundTag(); - nbt.putLong("Energy", amount); - return nbt; - } - - public void deserializeNBT(CompoundTag nbt) { - amount = nbt.getLong("Energy"); + return energy == 0; } @Override - protected void onFinalCommit() { - if (CreateUtilities.VOID_BATTERIES_DATA != null) CreateUtilities.VOID_BATTERIES_DATA.setDirty(); - } - - @Override - public long insert(long maxAmount, TransactionContext transaction) { - long inserted = super.insert(maxAmount, transaction); + public int receiveEnergy(int maxReceive, boolean simulate) { + int inserted = super.receiveEnergy(maxReceive, simulate); if (inserted != 0) onContentsChanged(); return inserted; } @Override - public long extract(long maxAmount, TransactionContext transaction) { - long extracted = super.extract(maxAmount, transaction); + public int extractEnergy(int maxExtract, boolean simulate) { + int extracted = super.extractEnergy(maxExtract, simulate); if (extracted != 0) onContentsChanged(); return extracted; } private void onContentsChanged() { - CUPackets.channel.sendToClientsInCurrentServer(new VoidBatteryUpdatePacket(key, this)); + if (CreateUtilities.VOID_BATTERIES_DATA != null) CreateUtilities.VOID_BATTERIES_DATA.setDirty(); + CUPackets.channel.send(PacketDistributor.ALL.noArg(), new VoidBatteryUpdatePacket(key, this)); + } + + public CompoundTag serializeNBT() { + CompoundTag nbt = new CompoundTag(); + nbt.putLong("Energy", energy); + return nbt; + } + + public void deserializeNBT(CompoundTag nbt) { + energy = nbt.getInt("Energy"); } } diff --git a/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryRenderer.java b/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryRenderer.java index 74dd9c3..6cd5682 100644 --- a/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryRenderer.java +++ b/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryRenderer.java @@ -6,9 +6,6 @@ import com.simibubi.create.foundation.render.CachedBufferer; -import com.simibubi.create.foundation.utility.animation.LerpedFloat; - -import me.duquee.createutilities.CreateUtilitiesClient; import me.duquee.createutilities.blocks.CUPartialsModels; import me.duquee.createutilities.blocks.voidtypes.VoidTileRenderer; import net.minecraft.client.model.SkullModel; @@ -42,7 +39,7 @@ protected void renderDial(VoidBatteryTileEntity te, float partialTicks, PoseStac VertexConsumer vb = buffer.getBuffer(RenderType.solid()); VoidBattery battery = te.getBattery(); - float progress = (float) battery.amount / battery.capacity; + float progress = (float) battery.getEnergyStored() / battery.getMaxEnergyStored(); Direction direction = state.getValue(VoidBatteryBlock.FACING); Vector3f vec = new Vector3f(.5f, .375f, .5f) diff --git a/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryTileEntity.java b/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryTileEntity.java index 99dad1c..8a0ec89 100644 --- a/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryTileEntity.java +++ b/src/main/java/me/duquee/createutilities/blocks/voidtypes/battery/VoidBatteryTileEntity.java @@ -4,16 +4,18 @@ import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; -import com.simibubi.create.foundation.utility.Lang; - import com.simibubi.create.foundation.utility.LangBuilder; import me.duquee.createutilities.CreateUtilitiesClient; import net.minecraft.ChatFormatting; +import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.minecraftforge.common.util.LazyOptional; import org.apache.commons.lang3.tuple.Triple; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; @@ -26,6 +28,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class VoidBatteryTileEntity extends SmartBlockEntity implements IHaveGoggleInformation { @@ -55,16 +59,24 @@ private boolean hasPersistentData() { return level != null && !level.isClientSide; } - private static VoidBatteryData getPersistentData() { + private static VoidBatteryData getPersistentStorageData() { return CreateUtilities.VOID_BATTERIES_DATA; } public VoidBattery getBattery() { return hasPersistentData() ? - getPersistentData().computeStorageIfAbsent(link.getNetworkKey()) : + getPersistentStorageData().computeStorageIfAbsent(link.getNetworkKey()) : CreateUtilitiesClient.VOID_BATTERIES.computeStorageIfAbsent(link.getNetworkKey()); } + @Override + public @NotNull LazyOptional getCapability(@NotNull Capability cap, @Nullable Direction side) { + if (cap == ForgeCapabilities.FLUID_HANDLER) { + return LazyOptional.of(this::getBattery).cast(); + } + return super.getCapability(cap, side); + } + @Override protected void read(CompoundTag tag, boolean clientPacket) { super.read(tag, clientPacket); @@ -93,13 +105,13 @@ public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneak new LangBuilder(CreateUtilities.ID) .add(new LangBuilder(CreateUtilities.ID) - .text(battery.amount+ "fe") + .text(battery.getEnergyStored() + "fe") .style(ChatFormatting.GOLD)) .add(new LangBuilder(CreateUtilities.ID) .text(" / ") .style(ChatFormatting.GRAY)) .add(new LangBuilder(CreateUtilities.ID) - .text(battery.capacity + "fe") + .text(battery.getMaxEnergyStored() + "fe") .style(ChatFormatting.DARK_GRAY)) .forGoggles(tooltip, 1); diff --git a/src/main/java/me/duquee/createutilities/blocks/voidtypes/tank/VoidTankTileEntity.java b/src/main/java/me/duquee/createutilities/blocks/voidtypes/tank/VoidTankTileEntity.java index c14e6db..959d552 100644 --- a/src/main/java/me/duquee/createutilities/blocks/voidtypes/tank/VoidTankTileEntity.java +++ b/src/main/java/me/duquee/createutilities/blocks/voidtypes/tank/VoidTankTileEntity.java @@ -1,6 +1,5 @@ package me.duquee.createutilities.blocks.voidtypes.tank; -import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; @@ -20,7 +19,6 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.templates.FluidTank; import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; @@ -84,6 +82,6 @@ public boolean isClosed() { @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - return containedFluidTooltip(tooltip, isPlayerSneaking, getFluidStorage()); + return containedFluidTooltip(tooltip, isPlayerSneaking, getCapability(ForgeCapabilities.FLUID_HANDLER)); } } diff --git a/src/main/java/me/duquee/createutilities/mixins/MountedStorageMixin.java b/src/main/java/me/duquee/createutilities/mixins/MountedStorageMixin.java index fe084e7..864c7e8 100644 --- a/src/main/java/me/duquee/createutilities/mixins/MountedStorageMixin.java +++ b/src/main/java/me/duquee/createutilities/mixins/MountedStorageMixin.java @@ -32,7 +32,7 @@ private void returnForVoidChest(BlockEntity te, CallbackInfo ci) { if (te instanceof VoidChestTileEntity) ci.cancel(); } - @Inject(method = "serialize()Lnet/minecraft/nbt/CompoundTag;", at = @At("HEAD"), cancellable = true) + @Inject(method = "serialize()Lnet/minecraft/nbt/CompoundTag;", at = @At("HEAD"), cancellable = true, remap = false) private void serializeVoidChest(CallbackInfoReturnable cir) { if (!(handler instanceof VoidChestInventory voidChest)) return; @@ -52,7 +52,7 @@ private void serializeVoidChest(CallbackInfoReturnable cir) { } - @Inject(method = "deserialize(Lnet/minecraft/nbt/CompoundTag;)Lcom/simibubi/create/content/contraptions/MountedStorage;", at = @At("HEAD"), cancellable = true) + @Inject(method = "deserialize(Lnet/minecraft/nbt/CompoundTag;)Lcom/simibubi/create/content/contraptions/MountedStorage;", at = @At("HEAD"), cancellable = true, remap = false) private static void deserializeVoidChest(CompoundTag nbt, CallbackInfoReturnable cir) { if (nbt == null) return; @@ -69,7 +69,7 @@ private static void deserializeVoidChest(CompoundTag nbt, CallbackInfoReturnable } - @Inject(method = "canUseAsStorage(Lnet/minecraft/world/level/block/entity/BlockEntity;)Z", at = @At("HEAD"), cancellable = true) + @Inject(method = "canUseAsStorage(Lnet/minecraft/world/level/block/entity/BlockEntity;)Z", at = @At("HEAD"), cancellable = true, remap = false) private static void canUseVoidChestAsStorage(BlockEntity be, CallbackInfoReturnable cir) { if (be instanceof VoidChestTileEntity) cir.setReturnValue(true); diff --git a/src/main/java/me/duquee/createutilities/networking/packets/VoidBatteryUpdatePacket.java b/src/main/java/me/duquee/createutilities/networking/packets/VoidBatteryUpdatePacket.java index f6e0cd6..01c306c 100644 --- a/src/main/java/me/duquee/createutilities/networking/packets/VoidBatteryUpdatePacket.java +++ b/src/main/java/me/duquee/createutilities/networking/packets/VoidBatteryUpdatePacket.java @@ -1,15 +1,14 @@ package me.duquee.createutilities.networking.packets; import com.simibubi.create.foundation.networking.SimplePacketBase; -import com.simibubi.create.foundation.utility.animation.LerpedFloat; -import com.tterrag.registrate.fabric.EnvExecutor; import me.duquee.createutilities.CreateUtilitiesClient; import me.duquee.createutilities.blocks.voidtypes.battery.VoidBattery; import me.duquee.createutilities.blocks.voidtypes.motor.VoidMotorNetworkHandler.NetworkKey; -import net.fabricmc.api.EnvType; import net.minecraft.network.FriendlyByteBuf; -import team.reborn.energy.api.base.SimpleEnergyStorage; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.DistExecutor; +import net.minecraftforge.network.NetworkEvent; public class VoidBatteryUpdatePacket extends SimplePacketBase { @@ -34,8 +33,8 @@ public void write(FriendlyByteBuf buffer) { } @Override - public boolean handle(Context context) { - context.enqueueWork(() -> EnvExecutor.runWhenOn(EnvType.CLIENT, () -> () -> + public boolean handle(NetworkEvent.Context context) { + context.enqueueWork(() -> DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> CreateUtilitiesClient.VOID_BATTERIES.storages.put(key, battery) )); return true; diff --git a/src/main/java/me/duquee/createutilities/networking/packets/VoidTankUpdatePacket.java b/src/main/java/me/duquee/createutilities/networking/packets/VoidTankUpdatePacket.java index c4badd7..83ee6eb 100644 --- a/src/main/java/me/duquee/createutilities/networking/packets/VoidTankUpdatePacket.java +++ b/src/main/java/me/duquee/createutilities/networking/packets/VoidTankUpdatePacket.java @@ -36,7 +36,7 @@ public void write(FriendlyByteBuf buffer) { @Override public boolean handle(NetworkEvent.Context context) { context.enqueueWork(() -> DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> - CreateUtilitiesClient.VOID_TANKS.clientTanks.put(key, tank))); + CreateUtilitiesClient.VOID_TANKS.storages.put(key, tank))); return true; } diff --git a/src/main/java/me/duquee/createutilities/ponder/VoidScenes.java b/src/main/java/me/duquee/createutilities/ponder/VoidScenes.java index 5e7b247..d4ec78b 100644 --- a/src/main/java/me/duquee/createutilities/ponder/VoidScenes.java +++ b/src/main/java/me/duquee/createutilities/ponder/VoidScenes.java @@ -12,13 +12,10 @@ import com.simibubi.create.foundation.ponder.element.InputWindowElement; import com.simibubi.create.foundation.utility.Pointing; -import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; -import io.github.fabricators_of_create.porting_lib.util.FluidStack; import me.duquee.createutilities.blocks.voidtypes.battery.VoidBatteryTileEntity; import me.duquee.createutilities.blocks.voidtypes.chest.VoidChestTileEntity; import me.duquee.createutilities.blocks.voidtypes.motor.VoidMotorTileEntity; import me.duquee.createutilities.blocks.voidtypes.tank.VoidTankTileEntity; -import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; @@ -28,6 +25,8 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.Vec3; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler; import java.util.function.Consumer; @@ -159,15 +158,15 @@ public static void voidTank(SceneBuilder scene, SceneBuildingUtil util) { ParallelInstruction parallel = new ParallelInstruction(scene); - FluidStack honey = new FluidStack(AllFluids.HONEY.get(), FluidConstants.BOTTLE * 2); - FluidStack lava = new FluidStack(Fluids.LAVA, FluidConstants.BOTTLE * 2); + FluidStack honey = new FluidStack(AllFluids.HONEY.get(), 500); + FluidStack lava = new FluidStack(Fluids.LAVA, 500); for (int i = 0; i < 8; i++) { parallel.scene.world.modifyBlockEntity(sourcePos, VoidTankTileEntity.class, - te -> TransferUtil.insertFluid(te.getFluidStorage(), honey)); + te -> te.getFluidStorage().fill(honey, IFluidHandler.FluidAction.EXECUTE)); parallel.scene.world.modifyBlockEntity(secSourcePos, VoidTankTileEntity.class, - te -> TransferUtil.insertFluid(te.getFluidStorage(), lava)); + te -> te.getFluidStorage().fill(lava, IFluidHandler.FluidAction.EXECUTE)); parallel.scene.idle(15); } @@ -183,7 +182,7 @@ public static void voidTank(SceneBuilder scene, SceneBuildingUtil util) { (pos) -> {}, (pos) -> scene.world.modifyBlockEntity(pos, VoidTankTileEntity.class, te -> { - lava.setAmount(FluidConstants.BOTTLE * 16); + lava.setAmount(4000); te.getFluidStorage().setFluid(lava); }), false, true diff --git a/src/main/resources/createutilities.mixins.json b/src/main/resources/createutilities.mixins.json index f3c946d..fec887d 100644 --- a/src/main/resources/createutilities.mixins.json +++ b/src/main/resources/createutilities.mixins.json @@ -7,7 +7,6 @@ "ContraptionInvWrapperMixin", "MountedStorageAccessor", "MountedStorageMixin", - "MountedStorageManagerMixin", "SceneBuilderAccessor" ], "client": [