diff --git a/common/src/main/java/trinsdar/gt4r/block/BlockMaterialChest.java b/common/src/main/java/trinsdar/gt4r/block/BlockMaterialChest.java deleted file mode 100644 index e12a97bf..00000000 --- a/common/src/main/java/trinsdar/gt4r/block/BlockMaterialChest.java +++ /dev/null @@ -1,157 +0,0 @@ -package trinsdar.gt4r.block; - -import io.github.gregtechintergalactical.gtcore.machine.BlockMachineMaterial; -import it.unimi.dsi.fastutil.floats.Float2FloatFunction; -import muramasa.antimatter.datagen.providers.AntimatterItemModelProvider; -import muramasa.antimatter.machine.Tier; -import muramasa.antimatter.machine.types.Machine; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.DoubleBlockCombiner; -import net.minecraft.world.level.block.RenderShape; -import net.minecraft.world.level.block.SimpleWaterloggedBlock; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.entity.LidBlockEntity; -import net.minecraft.world.level.block.state.BlockState; -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.BooleanProperty; -import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.material.Fluids; -import net.minecraft.world.level.pathfinder.PathComputationType; -import net.minecraft.world.phys.shapes.CollisionContext; -import net.minecraft.world.phys.shapes.VoxelShape; -import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.blockentity.single.BlockEntityChest; - -import java.util.function.BiPredicate; - - -public class BlockMaterialChest extends BlockMachineMaterial implements SimpleWaterloggedBlock { - - public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; - protected static final VoxelShape AABB = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 14.0D, 15.0D); - public BlockMaterialChest(Machine type, Tier tier) { - super(type, tier); - type.setClientTicking(); - } - - - public FluidState getFluidState(BlockState pState) { - return pState.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(pState); - } - - @Override - public BlockState updateShape(BlockState stateIn, Direction facing, BlockState facingState, LevelAccessor worldIn, BlockPos currentPos, BlockPos facingPos) { - if (stateIn.getValue(WATERLOGGED)) { - worldIn.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(worldIn)); - } - - return super.updateShape(stateIn, facing, facingState, worldIn, currentPos, facingPos); - } - - @Override - public boolean isPathfindable(BlockState pState, BlockGetter pLevel, BlockPos pPos, PathComputationType pType) { - return false; - } - - @Override - public RenderShape getRenderShape(BlockState pState) { - return RenderShape.ENTITYBLOCK_ANIMATED; - } - - @Override - public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { - return AABB; - } - - @Override - public boolean hasAnalogOutputSignal(BlockState pState) { - return true; - } - - @Override - public int getAnalogOutputSignal(BlockState pBlockState, Level pLevel, BlockPos pPos) { - BlockEntity tile = pLevel.getBlockEntity(pPos); - if (tile instanceof BlockEntityChest){ - return AbstractContainerMenu.getRedstoneSignalFromContainer((BlockEntityChest) tile); - } - return 0; - } - - protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { - super.createBlockStateDefinition(pBuilder); - pBuilder.add(WATERLOGGED); - } - - @Override - public void onItemModelBuild(ItemLike item, AntimatterItemModelProvider prov) { - prov.getBuilder(item).parent(prov.existing(GT4RRef.ID, "block/material_chest")); - } - - @Override - public BlockState getStateForPlacement(BlockPlaceContext context) { - FluidState fluidstate = context.getLevel().getFluidState(context.getClickedPos()); - return this.defaultBlockState().setValue(BlockStateProperties.HORIZONTAL_FACING, context.getHorizontalDirection().getOpposite()).setValue(WATERLOGGED, fluidstate.getType() == Fluids.WATER); - } - - @Override - public boolean triggerEvent(BlockState state, Level worldIn, BlockPos pos, int id, int param) { - super.triggerEvent(state, worldIn, pos, id, param); - BlockEntity tileentity = worldIn.getBlockEntity(pos); - return tileentity != null && tileentity.triggerEvent(id, param); - } - - @Environment(EnvType.CLIENT) - public static DoubleBlockCombiner.Combiner getLid(final LidBlockEntity p_226917_0_) { - return new DoubleBlockCombiner.Combiner() { - @Override - public Float2FloatFunction acceptDouble(BlockEntityChest p_225539_1_, BlockEntityChest p_225539_2_) { - return (p_226921_2_) -> { - return Math.max(p_225539_1_.getOpenNess(p_226921_2_), p_225539_2_.getOpenNess(p_226921_2_)); - }; - } - - @Override - public Float2FloatFunction acceptSingle(BlockEntityChest p_225538_1_) { - return p_225538_1_::getOpenNess; - } - - @Override - public Float2FloatFunction acceptNone() { - return p_226917_0_::getOpenNess; - } - }; - } - - public DoubleBlockCombiner.NeighborCombineResult getWrapper(BlockState blockState, Level world, BlockPos blockPos, boolean p_225536_4_) { - BiPredicate biPredicate; - if (p_225536_4_) { - biPredicate = (p_226918_0_, p_226918_1_) -> false; - } - else { - biPredicate = BlockEntityChest::isChestBlockedAt; - } - - return DoubleBlockCombiner.combineWithNeigbour(((BlockEntityType)this.getType().getTileType()), BlockMaterialChest::getMergerType, BlockMaterialChest::getDirectionToAttached, BlockStateProperties.HORIZONTAL_FACING, blockState, world, blockPos, biPredicate); - } - - public static DoubleBlockCombiner.BlockType getMergerType(BlockState blockState) { - return DoubleBlockCombiner.BlockType.SINGLE; - } - - public static Direction getDirectionToAttached(BlockState state) { - Direction direction = state.getValue(BlockStateProperties.HORIZONTAL_FACING); - return direction.getCounterClockWise(); - } -} diff --git a/common/src/main/java/trinsdar/gt4r/blockentity/single/BlockEntityCabinet.java b/common/src/main/java/trinsdar/gt4r/blockentity/single/BlockEntityCabinet.java deleted file mode 100644 index e6f23f46..00000000 --- a/common/src/main/java/trinsdar/gt4r/blockentity/single/BlockEntityCabinet.java +++ /dev/null @@ -1,92 +0,0 @@ -package trinsdar.gt4r.blockentity.single; - - -import io.github.gregtechintergalactical.gtcore.blockentity.BlockEntityMaterial; -import io.github.gregtechintergalactical.gtcore.machine.MaterialMachine; -import muramasa.antimatter.capability.item.ITrackedHandler; -import muramasa.antimatter.gui.SlotType; -import net.minecraft.core.BlockPos; -import net.minecraft.world.Container; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.state.BlockState; - -public class BlockEntityCabinet extends BlockEntityMaterial { - final int ySize; - public BlockEntityCabinet(MaterialMachine type, BlockPos pos, BlockState state, int ySize) { - super(type, pos, state); - this.ySize = ySize; - } - - @Override - public int guiHeight() { - return ySize; - } - - @Override - public int guiSize() { - return 184; - } - - public Container getContents(){ - return this.itemHandler.map(i -> new HandlerWrapper(i.getHandler(SlotType.STORAGE))).orElse(null); - } - - public static class HandlerWrapper implements Container { - final ITrackedHandler trackedHandler; - - public HandlerWrapper(ITrackedHandler trackedHandler){ - this.trackedHandler = trackedHandler; - } - - @Override - public int getContainerSize() { - return trackedHandler.getSlots(); - } - - @Override - public boolean isEmpty() { - int fill = 0; - for (int slot = 0; slot < trackedHandler.getSlots(); slot ++){ - if (!trackedHandler.getStackInSlot(slot).isEmpty()){ - fill ++; - } - } - return fill == 0; - } - - @Override - public ItemStack getItem(int pIndex) { - return trackedHandler.getStackInSlot(pIndex); - } - - @Override - public ItemStack removeItem(int pIndex, int pCount) { - return trackedHandler.extractItem(pIndex, pCount, false); - } - - @Override - public ItemStack removeItemNoUpdate(int pIndex) { - return trackedHandler.extractItem(pIndex, 1, true); - } - - @Override - public void setItem(int pIndex, ItemStack pStack) { - trackedHandler.setStackInSlot(pIndex, pStack); - } - - @Override - public void setChanged() { - - } - - @Override - public boolean stillValid(Player pPlayer) { - return true; - } - - @Override - public void clearContent() { - } - } -} diff --git a/common/src/main/java/trinsdar/gt4r/blockentity/single/BlockEntityChest.java b/common/src/main/java/trinsdar/gt4r/blockentity/single/BlockEntityChest.java deleted file mode 100644 index 20870ad1..00000000 --- a/common/src/main/java/trinsdar/gt4r/blockentity/single/BlockEntityChest.java +++ /dev/null @@ -1,198 +0,0 @@ -package trinsdar.gt4r.blockentity.single; - - -import io.github.gregtechintergalactical.gtcore.machine.MaterialMachine; -import muramasa.antimatter.capability.item.ITrackedHandler; -import muramasa.antimatter.gui.SlotType; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.core.BlockPos; -import net.minecraft.sounds.SoundEvent; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.sounds.SoundSource; -import net.minecraft.world.Container; -import net.minecraft.world.entity.animal.Cat; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.entity.ChestLidController; -import net.minecraft.world.level.block.entity.ContainerOpenersCounter; -import net.minecraft.world.level.block.entity.LidBlockEntity; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.AABB; -import trinsdar.gt4r.gui.ContainerCabinet; - -import java.util.List; - -//TODO needed? -//@Environment(value = EnvType.CLIENT, _interface = LidBlockEntity.class) -public class BlockEntityChest extends BlockEntityCabinet implements LidBlockEntity, Container { - protected float lidAngle; - protected float prevLidAngle; - protected int numPlayersUsing; - private int ticksSinceSync; - - private final ChestLidController lidController; - private final ContainerOpenersCounter manager = new ContainerOpenersCounter() { - @Override - protected void onOpen(Level world, BlockPos pos, BlockState state) { - BlockEntityChest.playSound(world, pos, state, SoundEvents.CHEST_OPEN); - } - - @Override - protected void onClose(Level world, BlockPos pos, BlockState state) { - BlockEntityChest.playSound(world, pos, state, SoundEvents.CHEST_CLOSE); - } - - @Override - protected void openerCountChanged(Level world, BlockPos pos, BlockState state, int oldCount, int newCount) { - world.blockEvent(pos, state.getBlock(), 1, newCount); - } - - @Override - protected boolean isOwnContainer(Player player) { - return player.containerMenu instanceof ContainerCabinet handler && - handler.handler.handler instanceof BlockEntityChest chest && chest.getBlockPos().equals(BlockEntityChest.this.getBlockPos()); - } - }; - - - public BlockEntityChest(MaterialMachine type, BlockPos pos, BlockState state, int ySize) { - super(type, pos, state, ySize); - lidController = new ChestLidController(); - - } - - @Override - public void clientTick(Level level, BlockPos pos, BlockState state) { - super.clientTick(level, pos, state); - } - - @Override - protected void tick(Level level, BlockPos pos, BlockState state) { - super.tick(level, pos, state); - lidController.tickLid(); - } - - @Override - public boolean triggerEvent(int event, int value) { - if (event == 1) { - lidController.shouldBeOpen(value > 0); - return true; - } - return super.triggerEvent(event, value); - } - - - @Override - public boolean canPlayerOpenGui(Player playerEntity) { - return super.canPlayerOpenGui(playerEntity) && !isChestBlockedAt(playerEntity.level, this.getBlockPos()); - } - - public static boolean isChestBlockedAt(LevelAccessor p_220108_0_, BlockPos p_220108_1_) { - return isBlockedChestByBlock(p_220108_0_, p_220108_1_) || isCatSittingOnChest(p_220108_0_, p_220108_1_); - } - - private static boolean isBlockedChestByBlock(BlockGetter pLevel, BlockPos pPos) { - BlockPos blockpos = pPos.above(); - return pLevel.getBlockState(blockpos).isRedstoneConductor(pLevel, blockpos); - } - - private static boolean isCatSittingOnChest(LevelAccessor pLevel, BlockPos pPos) { - List list = pLevel.getEntitiesOfClass(Cat.class, new AABB((double)pPos.getX(), (double)(pPos.getY() + 1), (double)pPos.getZ(), (double)(pPos.getX() + 1), (double)(pPos.getY() + 2), (double)(pPos.getZ() + 1))); - if (!list.isEmpty()) { - for(Cat catentity : list) { - if (catentity.isInSittingPose()) { - return true; - } - } - } - - return false; - } - - private static void playSound(Level world, BlockPos pos, BlockState state, SoundEvent soundIn) { - double d0 = (double) pos.getX() + 0.5D; - double d1 = (double) pos.getY() + 0.5D; - double d2 = (double) pos.getZ() + 0.5D; - - world.playSound((Player) null, d0, d1, d2, soundIn, SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); - } - - @Override - @Environment(EnvType.CLIENT) - public float getOpenNess(float partialTicks) { - return lidController.getOpenness(partialTicks); - //return Mth.lerp(partialTicks, this.prevLidAngle, this.lidAngle); - } - - @Override - public void startOpen(Player player) { - if (!remove && !player.isSpectator()) { - this.manager.incrementOpeners(player, this.getLevel(), this.getBlockPos(), this.getBlockState()); - } - } - - - @Override - public void stopOpen(Player player) { - if (!remove && !player.isSpectator()) { - manager.decrementOpeners(player, this.getLevel(), this.getBlockPos(), this.getBlockState()); - } - } - - @Override - public int getContainerSize() { - return itemHandler.map(i -> i.getHandler(SlotType.STORAGE).getSlots()).orElse(0); - } - - @Override - public boolean isEmpty() { - return itemHandler.map(i -> { - int fill = 0; - ITrackedHandler trackedHandler = i.getHandler(SlotType.STORAGE); - for (int slot = 0; slot < trackedHandler.getSlots(); slot ++){ - if (!trackedHandler.getStackInSlot(slot).isEmpty()){ - fill ++; - } - } - return fill == 0; - }).orElse(true); - } - - @Override - public ItemStack getItem(int pIndex) { - return itemHandler.map(i -> i.getHandler(SlotType.STORAGE).getStackInSlot(pIndex)).orElse(ItemStack.EMPTY); - } - - @Override - public ItemStack removeItem(int pIndex, int pCount) { - return itemHandler.map(i -> i.getHandler(SlotType.STORAGE).extractItem(pIndex, pCount, false)).orElse(ItemStack.EMPTY); - } - - @Override - public ItemStack removeItemNoUpdate(int pIndex) { - return itemHandler.map(i -> i.getHandler(SlotType.STORAGE).extractItem(pIndex, 1, true)).orElse(ItemStack.EMPTY); - } - - @Override - public void setItem(int pIndex, ItemStack pStack) { - itemHandler.ifPresent(i -> i.getHandler(SlotType.STORAGE).setStackInSlot(pIndex, pStack)); - } - - @Override - public void setChanged() { - - } - - @Override - public boolean stillValid(Player pPlayer) { - return true; - } - - @Override - public void clearContent() { - } -} diff --git a/common/src/main/java/trinsdar/gt4r/client/MaterialChestRenderer.java b/common/src/main/java/trinsdar/gt4r/client/MaterialChestRenderer.java deleted file mode 100644 index 26c67a1c..00000000 --- a/common/src/main/java/trinsdar/gt4r/client/MaterialChestRenderer.java +++ /dev/null @@ -1,106 +0,0 @@ -package trinsdar.gt4r.client; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; -import muramasa.antimatter.machine.Tier; -import net.minecraft.client.model.geom.ModelLayers; -import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.Sheets; -import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; -import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -import net.minecraft.client.renderer.blockentity.BrightnessCombiner; -import net.minecraft.client.resources.model.Material; -import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.DoubleBlockCombiner; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.block.BlockMaterialChest; -import trinsdar.gt4r.blockentity.single.BlockEntityChest; - -import java.awt.Color; - -public class MaterialChestRenderer implements BlockEntityRenderer { - public static final ResourceLocation MATERIAL_CHEST_BASE = new ResourceLocation(GT4RRef.ID, "model/material_chest_base"); - public static final ResourceLocation MATERIAL_CHEST_OVERLAY = new ResourceLocation(GT4RRef.ID, "model/material_chest_overlay"); - private final ModelPart chestLid; - private final ModelPart chestBottom; - private final ModelPart chestLock; - - public MaterialChestRenderer(BlockEntityRendererProvider.Context ctx) { - - ModelPart modelpart = ctx.bakeLayer(ModelLayers.CHEST); - this.chestBottom = modelpart.getChild("bottom"); - this.chestLid = modelpart.getChild("lid"); - this.chestLock = modelpart.getChild("lock"); - } - - private static float getLidOpenness(float delta) { - delta = 1 - delta; - delta = 1 - delta * delta * delta; - return -delta * Mth.HALF_PI; - } - - - @Override - public void render(T pBlockEntity, float pPartialTicks, PoseStack pMatrixStack, MultiBufferSource pBuffer, int pCombinedLight, int pCombinedOverlay) { - BlockEntityChest tileEntity = (BlockEntityChest) pBlockEntity; - - Level world = tileEntity.getLevel(); - boolean flag = world != null; - - BlockState blockstate = flag ? tileEntity.getBlockState() : tileEntity.getMachineType().getBlockState(Tier.LV).defaultBlockState().setValue(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH); - Block block = blockstate.getBlock(); - - - if (block instanceof BlockMaterialChest materialChest) { - - pMatrixStack.pushPose(); - float f = blockstate.getValue(BlockStateProperties.HORIZONTAL_FACING).toYRot(); - pMatrixStack.translate(0.5D, 0.5D, 0.5D); - pMatrixStack.mulPose(Vector3f.YP.rotationDegrees(-f)); - pMatrixStack.translate(-0.5D, -0.5D, -0.5D); - - DoubleBlockCombiner.NeighborCombineResult iCallbackWrapper; - if (flag) { - iCallbackWrapper = materialChest.getWrapper(blockstate, world, tileEntity.getBlockPos(), true); - } else { - iCallbackWrapper = DoubleBlockCombiner.Combiner::acceptNone; - } - - float f1 = iCallbackWrapper.apply(BlockMaterialChest.getLid(tileEntity)).get(pPartialTicks); - f1 = 1.0F - f1; - f1 = 1.0F - f1 * f1 * f1; - int i = iCallbackWrapper.apply(new BrightnessCombiner<>()).applyAsInt(pCombinedLight); - - Material material = new Material(Sheets.CHEST_SHEET, MATERIAL_CHEST_BASE); - VertexConsumer ivertexbuilder = material.buffer(pBuffer, RenderType::entityCutout); - this.handleModelRender(pMatrixStack, ivertexbuilder, f1, i, pCombinedOverlay, materialChest.getBlockColor(blockstate, world, tileEntity.getBlockPos(), 0), getLidOpenness(((BlockEntityChest) pBlockEntity).getOpenNess(pPartialTicks))); - - material = new Material(Sheets.CHEST_SHEET, MATERIAL_CHEST_OVERLAY); - ivertexbuilder = material.buffer(pBuffer, RenderType::entityCutout); - - this.handleModelRender(pMatrixStack, ivertexbuilder, f1, i, pCombinedOverlay, materialChest.getBlockColor(blockstate, world, tileEntity.getBlockPos(), 1), getLidOpenness(((BlockEntityChest) pBlockEntity).getOpenNess(pPartialTicks))); - - pMatrixStack.popPose(); - } - } - - private void handleModelRender(PoseStack matrixStackIn, VertexConsumer iVertexBuilder, float f1, int i, int pCombinedOverlay, int color, float openness) { - chestLid.xRot = openness; - chestLock.xRot = chestLid.xRot; - Color colorValue = new Color(color); - float[] colorArray = colorValue.getRGBColorComponents(null); - chestLid.render(matrixStackIn, iVertexBuilder, i, pCombinedOverlay, colorArray[0], colorArray[1], colorArray[2], 1.0F); - chestLock.render(matrixStackIn, iVertexBuilder, i, pCombinedOverlay); - chestBottom.render(matrixStackIn, iVertexBuilder, i, pCombinedOverlay, colorArray[0], colorArray[1], colorArray[2], 1.0F); - } -} diff --git a/common/src/main/java/trinsdar/gt4r/data/GT4RMaterialEvents.java b/common/src/main/java/trinsdar/gt4r/data/GT4RMaterialEvents.java index 6cfd1bf0..5506937c 100644 --- a/common/src/main/java/trinsdar/gt4r/data/GT4RMaterialEvents.java +++ b/common/src/main/java/trinsdar/gt4r/data/GT4RMaterialEvents.java @@ -327,7 +327,7 @@ private static void flags(MaterialEvent event){ GT4RMaterialTags.ELEC120.add(AntimatterMaterials.Emerald, Grossular, Clay, StainlessSteel, Sodalite, Bauxite, Obsidian, Pyrope, Uvarovite, Almandine, Andradite, Lazurite, Spessartine, PotassiumFeldspar, Biotite); GT4RMaterialTags.ROCK_CUTTER.add(AntimatterMaterials.Diamond, Ruby, Sapphire, AntimatterMaterials.NetherizedDiamond, Amethyst); - GT4RMaterialTags.CABINET.add(AntimatterMaterials.Iron, Aluminium, WroughtIron, Brass, Cupronickel, Electrum, AntimatterMaterials.Gold, Silver, Magnalium, Platinum, Osmium); + GT4RMaterialTags.CABINET.add(AntimatterMaterials.Iron, Aluminium, WroughtIron, Brass); GT4RMaterialTags.CABINET.all().forEach(m -> event.setMaterial(m).flags(AntimatterMaterialTypes.ROD)); GT4RMaterialTags.DRUM.add(Bronze, Steel, StainlessSteel, Invar, Tungsten, TungstenSteel, AntimatterMaterials.Netherite); GT4RMaterialTags.DRUM.all().forEach(m -> event.setMaterial(m).flags(AntimatterMaterialTypes.ROD, AntimatterMaterialTypes.PLATE)); diff --git a/common/src/main/java/trinsdar/gt4r/data/Guis.java b/common/src/main/java/trinsdar/gt4r/data/Guis.java index cc108076..8c963dea 100644 --- a/common/src/main/java/trinsdar/gt4r/data/Guis.java +++ b/common/src/main/java/trinsdar/gt4r/data/Guis.java @@ -83,82 +83,12 @@ private static void initMaterialMachine(Side side){ BiFunction textures = (c, l) -> new ResourceLocation(GT4RRef.ID, "textures/gui/machine/" + (c ? "charging_" : "") + l + ".png"); QUANTUM_CHEST.setGUI(MenuHandlers.QUANTUM_CHEST_HANDLER); DIGITAL_CHEST.setGUI(MenuHandlers.DIGITAL_CHEST_HANDLER); - IRON_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - ALUMINIUM_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - WROUGHT_IRON_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - BRASS_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - CUPRONICKEL_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - ELECTRUM_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - GOLD_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - SILVER_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - MAGNALIUM_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - PLATINUM_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_EIGHT); - OSMIUM_CABINET.setGUI(MenuHandlers.CABINET_HANDLER_NINE); - IRON_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - ALUMINIUM_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - WROUGHT_IRON_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - BRASS_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - CUPRONICKEL_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - ELECTRUM_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - GOLD_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - SILVER_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - MAGNALIUM_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - PLATINUM_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_eight")); - OSMIUM_CABINET.getGui().setOverrideLocation(textures.apply(false, "cabinet_nine")); - - IRON_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - ALUMINIUM_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - WROUGHT_IRON_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - BRASS_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - CUPRONICKEL_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SIX); - ELECTRUM_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - GOLD_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - SILVER_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - MAGNALIUM_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_SEVEN); - PLATINUM_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_EIGHT); - OSMIUM_CHEST.setGUI(MenuHandlers.CABINET_HANDLER_NINE); - IRON_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - ALUMINIUM_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - WROUGHT_IRON_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - BRASS_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - CUPRONICKEL_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_six")); - ELECTRUM_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - GOLD_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - SILVER_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - MAGNALIUM_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_seven")); - PLATINUM_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_eight")); - OSMIUM_CHEST.getGui().setOverrideLocation(textures.apply(false, "cabinet_nine")); - for (int i = 0; i < 9; i++){ + + + + for (int i = 0; i < 6; i++){ for (int j = 0; j < 9; ++j) { - if (i < 6){ - IRON_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - ALUMINIUM_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - WROUGHT_IRON_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - BRASS_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - CUPRONICKEL_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - IRON_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - ALUMINIUM_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - WROUGHT_IRON_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - BRASS_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - CUPRONICKEL_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - DIGITAL_CHEST.add(STORAGE, 8 + j * 18, 8 + (i * 18)); - } - if (i < 7){ - ELECTRUM_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - GOLD_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - SILVER_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - MAGNALIUM_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - ELECTRUM_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - GOLD_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - SILVER_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - MAGNALIUM_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - } - if (i < 8){ - PLATINUM_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - PLATINUM_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - } - OSMIUM_CABINET.add(STORAGE, 12 + j * 18, 18 + (i * 18)); - OSMIUM_CHEST.add(STORAGE, 12 + j * 18, 18 + (i * 18)); + DIGITAL_CHEST.add(STORAGE, 8 + j * 18, 8 + (i * 18)); } } DIGITAL_CHEST.add(DATA, 80, 119); @@ -384,14 +314,6 @@ public static void widgets(){ t.addWidget(CoalBoilerWidget.build().setSize(70, 25, 36, 54)) .addWidget(CoalBoilerFuelWidget.build().setSize(115, 43, 18, 18)); }); - PLATINUM_CABINET.getCallbacks().remove(0); - OSMIUM_CABINET.getCallbacks().remove(0); - PLATINUM_CABINET.addGuiCallback(t -> t.addWidget(BackgroundWidget.build(t.handler.getGuiTexture(),t.handler.guiSize(), t.handler.guiHeight(), 256, 266))); - OSMIUM_CABINET.addGuiCallback(t -> t.addWidget(BackgroundWidget.build(t.handler.getGuiTexture(),t.handler.guiSize(), t.handler.guiHeight(), 256, 276))); - PLATINUM_CHEST.getCallbacks().remove(0); - OSMIUM_CHEST.getCallbacks().remove(0); - PLATINUM_CHEST.addGuiCallback(t -> t.addWidget(BackgroundWidget.build(t.handler.getGuiTexture(),t.handler.guiSize(), t.handler.guiHeight(), 256, 266))); - OSMIUM_CHEST.addGuiCallback(t -> t.addWidget(BackgroundWidget.build(t.handler.getGuiTexture(),t.handler.guiSize(), t.handler.guiHeight(), 256, 276))); FUSION_REACTOR.addGuiCallback(t -> { t.addButton(155, 23, ButtonOverlay.NO_OVERLAY, false).addButton(155, 41, ButtonOverlay.NO_OVERLAY, false).addButton(155, 59, ButtonOverlay.NO_OVERLAY, false).addWidget(makeProgress()).addWidget(FusionButtonWidget.build()); }); diff --git a/common/src/main/java/trinsdar/gt4r/data/Machines.java b/common/src/main/java/trinsdar/gt4r/data/Machines.java index bb02122e..3de051a3 100644 --- a/common/src/main/java/trinsdar/gt4r/data/Machines.java +++ b/common/src/main/java/trinsdar/gt4r/data/Machines.java @@ -2,6 +2,7 @@ import io.github.gregtechintergalactical.gtcore.data.GTCoreBlocks; +import io.github.gregtechintergalactical.gtcore.data.GTCoreMaterials; import io.github.gregtechintergalactical.gtcore.machine.DrumMachine; import io.github.gregtechintergalactical.gtcore.machine.LockerMachine; import io.github.gregtechintergalactical.gtcore.machine.MaterialMachine; @@ -129,29 +130,15 @@ public class Machines { public static DrumMachine TUNGSTENSTEEL_DRUM = GTCoreBlocks.createDrum(Materials.TungstenSteel, 256000); public static DrumMachine NETHERITE_DRUM = GTCoreBlocks.createDrum(AntimatterMaterials.Netherite, 128000); - public static MaterialMachine IRON_CABINET = new MaterialMachine(GT4RRef.ID, "iron_cabinet", AntimatterMaterials.Iron).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 222)); - public static MaterialMachine ALUMINIUM_CABINET = new MaterialMachine(GT4RRef.ID, "aluminium_cabinet", Materials.Aluminium).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 222)); - public static MaterialMachine WROUGHT_IRON_CABINET = new MaterialMachine(GT4RRef.ID, "wrought_iron_cabinet", Materials.WroughtIron).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 222)); - public static MaterialMachine BRASS_CABINET = new MaterialMachine(GT4RRef.ID, "brass_cabinet", Materials.Brass).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 222)); - public static MaterialMachine CUPRONICKEL_CABINET = new MaterialMachine(GT4RRef.ID, "cupronickel_cabinet", Materials.Cupronickel).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 222)); - public static MaterialMachine ELECTRUM_CABINET = new MaterialMachine(GT4RRef.ID, "electrum_cabinet", Materials.Electrum).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 240)); - public static MaterialMachine GOLD_CABINET = new MaterialMachine(GT4RRef.ID, "gold_cabinet", AntimatterMaterials.Gold).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 240)); - public static MaterialMachine SILVER_CABINET = new MaterialMachine(GT4RRef.ID, "silver_cabinet", Materials.Silver).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 240)); - public static MaterialMachine MAGNALIUM_CABINET = new MaterialMachine(GT4RRef.ID, "magnalium_cabinet", Materials.Magnalium).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 240)); - public static MaterialMachine PLATINUM_CABINET = new MaterialMachine(GT4RRef.ID, "platinum_cabinet", Materials.Platinum).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 258)); - public static MaterialMachine OSMIUM_CABINET = new MaterialMachine(GT4RRef.ID, "osmium_cabinet", Materials.Osmium).addFlags(ITEM, GUI, COVERABLE).overlayTexture(Textures.CABINET_OVERLAY_HANDLER).baseTexture(Textures.CABINET_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityCabinet(m, p, s, 276)); - - public static MaterialMachine IRON_CHEST = new ChestMachine(GT4RRef.ID, "iron_chest", AntimatterMaterials.Iron).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 222)).tesr().noCovers(); - public static MaterialMachine ALUMINIUM_CHEST = new ChestMachine(GT4RRef.ID, "aluminium_chest", Materials.Aluminium).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 222)).tesr().noCovers(); - public static MaterialMachine WROUGHT_IRON_CHEST = new ChestMachine(GT4RRef.ID, "wrought_iron_chest", Materials.WroughtIron).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 222)).tesr().noCovers(); - public static MaterialMachine BRASS_CHEST = new ChestMachine(GT4RRef.ID, "brass_chest", Materials.Brass).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 222)).tesr().noCovers(); - public static MaterialMachine CUPRONICKEL_CHEST = new ChestMachine(GT4RRef.ID, "cupronickel_chest", Materials.Cupronickel).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 222)).tesr().noCovers(); - public static MaterialMachine ELECTRUM_CHEST = new ChestMachine(GT4RRef.ID, "electrum_chest", Materials.Electrum).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 240)).tesr().noCovers(); - public static MaterialMachine GOLD_CHEST = new ChestMachine(GT4RRef.ID, "gold_chest", AntimatterMaterials.Gold).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 240)).tesr().noCovers(); - public static MaterialMachine SILVER_CHEST = new ChestMachine(GT4RRef.ID, "silver_chest", Materials.Silver).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 240)).tesr().noCovers(); - public static MaterialMachine MAGNALIUM_CHEST = new ChestMachine(GT4RRef.ID, "magnalium_chest", Materials.Magnalium).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 240)).tesr().noCovers(); - public static MaterialMachine PLATINUM_CHEST = new ChestMachine(GT4RRef.ID, "platinum_chest", Materials.Platinum).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 258)).tesr().noCovers(); - public static MaterialMachine OSMIUM_CHEST = new ChestMachine(GT4RRef.ID, "osmium_chest", Materials.Osmium).addFlags(ITEM, GUI).overlayTexture(Textures.CHEST_OVERLAY_HANDLER).baseTexture(Textures.CHEST_HANDLER).setTiers(LV).setTile((m, p, s) -> new BlockEntityChest(m, p, s, 276)).tesr().noCovers(); + public static MaterialMachine IRON_CABINET = GTCoreBlocks.createBarrel(AntimatterMaterials.Iron); + public static MaterialMachine ALUMINIUM_CABINET = GTCoreBlocks.createBarrel(GTCoreMaterials.Aluminium); + public static MaterialMachine WROUGHT_IRON_CABINET = GTCoreBlocks.createBarrel(GTCoreMaterials.WroughtIron); + public static MaterialMachine BRASS_CABINET = GTCoreBlocks.createBarrel(GTCoreMaterials.Brass); + + public static MaterialMachine IRON_CHEST = GTCoreBlocks.createChest(AntimatterMaterials.Iron); + public static MaterialMachine ALUMINIUM_CHEST = GTCoreBlocks.createChest(GTCoreMaterials.Aluminium); + public static MaterialMachine WROUGHT_IRON_CHEST = GTCoreBlocks.createChest(GTCoreMaterials.WroughtIron); + public static MaterialMachine BRASS_CHEST = GTCoreBlocks.createChest(GTCoreMaterials.Brass); public static WorkbenchMachine BRONZE_WORKBENCH = GTCoreBlocks.createWorkbench(Materials.Bronze, false); public static WorkbenchMachine IRON_WORKBENCH = GTCoreBlocks.createWorkbench(AntimatterMaterials.Iron, false); diff --git a/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java b/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java index 2281986b..c9f706d6 100644 --- a/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java +++ b/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java @@ -1,6 +1,5 @@ package trinsdar.gt4r.data; -import io.github.gregtechintergalactical.gtcore.blockentity.BlockEntityMaterial; import muramasa.antimatter.blockentity.BlockEntityMachine; import muramasa.antimatter.capability.IGuiHandler; import muramasa.antimatter.gui.MenuHandlerMachine; @@ -9,7 +8,6 @@ import muramasa.antimatter.blockentity.multi.BlockEntityMultiMachine; import net.minecraft.world.entity.player.Inventory; import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.gui.ContainerCabinet; import trinsdar.gt4r.gui.ContainerDigitalChest; import trinsdar.gt4r.gui.ContainerQuantumChest; import trinsdar.gt4r.gui.MenuHandlerCrafting; @@ -34,70 +32,6 @@ public String screenID() { return "fusion_reactor"; } }; - public static MenuHandlerMachine CABINET_HANDLER_SIX = new MenuHandlerMachine(GT4RRef.ID, "container_cabinet_six") { - @Override - public ContainerCabinet getMenu(IGuiHandler tile, Inventory playerInv, int windowId) { - return tile instanceof BlockEntityMaterial ? new ContainerCabinet((BlockEntityMaterial) tile, playerInv, this, windowId) : null; - } - - @Override - public String screenDomain() { - return GT4RRef.ID; - } - - @Override - public String screenID() { - return "cabinet_six"; - } - }; - public static MenuHandlerMachine CABINET_HANDLER_SEVEN = new MenuHandlerMachine(GT4RRef.ID, "container_cabinet_seven") { - @Override - public ContainerCabinet getMenu(IGuiHandler tile, Inventory playerInv, int windowId) { - return tile instanceof BlockEntityMaterial ? new ContainerCabinet((BlockEntityMaterial) tile, playerInv, this, windowId) : null; - } - - @Override - public String screenDomain() { - return GT4RRef.ID; - } - - @Override - public String screenID() { - return "cabinet_seven"; - } - }; - public static MenuHandlerMachine CABINET_HANDLER_EIGHT = new MenuHandlerMachine(GT4RRef.ID, "container_cabinet_eight") { - @Override - public ContainerCabinet getMenu(IGuiHandler tile, Inventory playerInv, int windowId) { - return tile instanceof BlockEntityMaterial ? new ContainerCabinet((BlockEntityMaterial) tile, playerInv, this, windowId) : null; - } - - @Override - public String screenDomain() { - return GT4RRef.ID; - } - - @Override - public String screenID() { - return "cabinet_eight"; - } - }; - public static MenuHandlerMachine CABINET_HANDLER_NINE = new MenuHandlerMachine(GT4RRef.ID, "container_cabinet_nine") { - @Override - public ContainerCabinet getMenu(IGuiHandler tile, Inventory playerInv, int windowId) { - return tile instanceof BlockEntityMaterial ? new ContainerCabinet((BlockEntityMaterial) tile, playerInv, this, windowId) : null; - } - - @Override - public String screenDomain() { - return GT4RRef.ID; - } - - @Override - public String screenID() { - return "cabinet_nine"; - } - }; public static MenuHandlerMachine QUANTUM_CHEST_HANDLER = new MenuHandlerMachine(GT4RRef.ID, "container_quantum_chest") { @Override diff --git a/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java b/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java index 3a422191..7f3fcd95 100644 --- a/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java +++ b/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java @@ -6,19 +6,13 @@ import net.minecraft.client.gui.screens.inventory.CraftingScreen; import net.minecraft.world.inventory.CraftingMenu; import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.gui.ContainerCabinet; import trinsdar.gt4r.gui.ContainerDigitalChest; -import trinsdar.gt4r.gui.screen.ScreenCabinet; import trinsdar.gt4r.gui.screen.ScreenDigitalChest; import trinsdar.gt4r.gui.screen.ScreenFusionReactor; public class ScreenFactories { public final static MenuScreens.ScreenConstructor SCREEN_FUSION_REACTOR = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "fusion_reactor", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenFusionReactor<>((ContainerMultiMachine) a,b,c)); public final static MenuScreens.ScreenConstructor SCREEN_DIGITAL_CHEST = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "digital_chest", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenDigitalChest((ContainerDigitalChest) a,b,c)); - public final static MenuScreens.ScreenConstructor SCREEN_CABINET_SIX = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "cabinet_six", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenCabinet.ScreenCabinetSix<>((ContainerCabinet) a,b,c)); - public final static MenuScreens.ScreenConstructor SCREEN_CABINET_SEVEN = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "cabinet_seven", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenCabinet.ScreenCabinetSeven<>((ContainerCabinet) a,b,c)); - public final static MenuScreens.ScreenConstructor SCREEN_CABINET_EIGHT = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "cabinet_eight", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenCabinet.ScreenCabinetEight<>((ContainerCabinet) a,b,c)); - public final static MenuScreens.ScreenConstructor SCREEN_CABINET_NINE = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "cabinet_nine", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenCabinet.ScreenCabinetNine<>((ContainerCabinet) a,b,c)); public final static MenuScreens.ScreenConstructor SCREEN_CRAFTING_TABLE = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "crafting_table", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new CraftingScreen((CraftingMenu) a, b, c)); public static void init(){ diff --git a/common/src/main/java/trinsdar/gt4r/datagen/GT4RBlockTagProvider.java b/common/src/main/java/trinsdar/gt4r/datagen/GT4RBlockTagProvider.java index 0c0d2bed..e116f79c 100644 --- a/common/src/main/java/trinsdar/gt4r/datagen/GT4RBlockTagProvider.java +++ b/common/src/main/java/trinsdar/gt4r/datagen/GT4RBlockTagProvider.java @@ -27,9 +27,6 @@ public void processTags(String domain) { AntimatterAPI.all(BlockCasing.class, GT4RRef.ID, cas -> { this.tag(AntimatterDefaultTools.PICKAXE.getToolType()).add(cas); }); - AntimatterAPI.all(BlockMaterialChest.class, GT4RRef.ID, cas -> { - this.tag(AntimatterDefaultTools.WRENCH.getToolType()).add(cas); - }); AntimatterAPI.all(BlockNonSolidMachine.class, GT4RRef.ID, cas -> { this.tag(AntimatterDefaultTools.WRENCH.getToolType()).add(cas); }); diff --git a/common/src/main/java/trinsdar/gt4r/events/ClientEvents.java b/common/src/main/java/trinsdar/gt4r/events/ClientEvents.java index 622d6d6b..6a5f14aa 100644 --- a/common/src/main/java/trinsdar/gt4r/events/ClientEvents.java +++ b/common/src/main/java/trinsdar/gt4r/events/ClientEvents.java @@ -1,20 +1,6 @@ package trinsdar.gt4r.events; -import net.minecraft.client.renderer.Sheets; -import net.minecraft.client.renderer.texture.TextureAtlas; -import net.minecraft.resources.ResourceLocation; -import trinsdar.gt4r.client.MaterialChestRenderer; - -import java.util.function.Consumer; - public class ClientEvents { - public static void onStitch(TextureAtlas atlas, Consumer spriteFunction) { - if (!atlas.location().equals(Sheets.CHEST_SHEET)) { - return; - } - spriteFunction.accept(MaterialChestRenderer.MATERIAL_CHEST_BASE); - spriteFunction.accept(MaterialChestRenderer.MATERIAL_CHEST_OVERLAY); - } } diff --git a/common/src/main/java/trinsdar/gt4r/gui/ContainerCabinet.java b/common/src/main/java/trinsdar/gt4r/gui/ContainerCabinet.java deleted file mode 100644 index 52ff4da7..00000000 --- a/common/src/main/java/trinsdar/gt4r/gui/ContainerCabinet.java +++ /dev/null @@ -1,51 +0,0 @@ -package trinsdar.gt4r.gui; - -import io.github.gregtechintergalactical.gtcore.blockentity.BlockEntityMaterial; -import muramasa.antimatter.gui.MenuHandlerMachine; -import muramasa.antimatter.gui.container.ContainerBasicMachine; -import muramasa.antimatter.material.Material; -import net.minecraft.world.Container; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.Slot; - -import static muramasa.antimatter.data.AntimatterMaterials.Gold; -import static trinsdar.gt4r.data.Materials.*; - -public class ContainerCabinet> extends ContainerBasicMachine { - public ContainerCabinet(T tile, Inventory playerInv, MenuHandlerMachine handler, int windowId) { - super(tile, playerInv, handler, windowId); - if (tile instanceof Container){ - ((Container)tile).startOpen(playerInv.player); - } - - } - - @Override - public void removed(Player playerIn) { - super.removed(playerIn); - if (tile instanceof Container){ - ((Container)tile).stopOpen(playerIn); - } - } - - @Override - protected void addPlayerSlots() { - if (playerInv == null) return; - int playerOffset = getOffset(); - for (int i = 0; i < 3; ++i) { //Inventory Slots - for (int j = 0; j < 9; ++j) { - int y = 140 + playerOffset; - this.addSlot(new Slot(playerInv, j + i * 9 + 9, 12 + j * 18, (y) + (i * 18))); - } - } - for (int k = 0; k < 9; ++k) { //HotBar Slots - this.addSlot(new Slot(playerInv, k, 12 + k * 18, 198 + playerOffset)); - } - } - - protected int getOffset(){ - Material m = tile.getMaterial(); - return m == Electrum || m == Gold || m == Silver || m == Magnalium ? 18 : m == Platinum ? 36 : m == Osmium ? 54 : 0; - } -} diff --git a/common/src/main/java/trinsdar/gt4r/gui/screen/ScreenCabinet.java b/common/src/main/java/trinsdar/gt4r/gui/screen/ScreenCabinet.java deleted file mode 100644 index 69b911e6..00000000 --- a/common/src/main/java/trinsdar/gt4r/gui/screen/ScreenCabinet.java +++ /dev/null @@ -1,50 +0,0 @@ -package trinsdar.gt4r.gui.screen; - -import io.github.gregtechintergalactical.gtcore.blockentity.BlockEntityMaterial; -import muramasa.antimatter.gui.screen.ScreenMachine; -import net.minecraft.network.chat.Component; -import net.minecraft.world.entity.player.Inventory; -import trinsdar.gt4r.gui.ContainerCabinet; - -public abstract class ScreenCabinet> extends ScreenMachine> { - int guiY; - public ScreenCabinet(ContainerCabinet container, Inventory inv, Component name, String suffix, int maxY, int guiY) { - super(container, inv, name); - //TODO - //gui = new ResourceLocation(Ref.ID, "textures/gui/machine/cabinet_" + suffix + ".png"); - this.imageHeight = maxY; - this.guiY = guiY; - this.imageWidth = 184; - } - //TODO - /*@Override - protected void drawGuiContainerBackgroundLayer(MatrixStack stack, float partialTicks, int mouseX, int mouseY) { - RenderSystem.color4f(1, 1, 1, 1); - //Minecraft.getInstance().textureManager.bindTexture(gui); - blit(stack, guiLeft, guiTop, 0, 0, xSize, ySize, 256, guiY); - }*/ - - public static class ScreenCabinetSix> extends ScreenCabinet { - public ScreenCabinetSix(ContainerCabinet container, Inventory inv, Component name) { - super(container, inv, name, "six", 222, 256); - } - } - - public static class ScreenCabinetSeven> extends ScreenCabinet { - public ScreenCabinetSeven(ContainerCabinet container, Inventory inv, Component name) { - super(container, inv, name, "seven", 240, 256); - } - } - - public static class ScreenCabinetEight> extends ScreenCabinet { - public ScreenCabinetEight(ContainerCabinet container, Inventory inv, Component name) { - super(container, inv, name, "eight", 258, 266); - } - } - - public static class ScreenCabinetNine> extends ScreenCabinet { - public ScreenCabinetNine(ContainerCabinet container, Inventory inv, Component name) { - super(container, inv, name, "nine", 276, 276); - } - } -} diff --git a/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java b/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java index 0893a47c..3eac0ef5 100644 --- a/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java +++ b/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java @@ -1,6 +1,7 @@ package trinsdar.gt4r.loader.crafting; import com.google.common.collect.ImmutableMap; +import io.github.gregtechintergalactical.gtcore.GTCore; import muramasa.antimatter.data.AntimatterDefaultTools; import muramasa.antimatter.data.AntimatterMaterialTypes; import muramasa.antimatter.data.AntimatterMaterials; @@ -208,8 +209,8 @@ private static void loadUtilityBlockRecipes(Consumer output, Ant provider.addItemRecipe(output, GT4RRef.ID, "computer_cube", "machines", "has_basic_machine", provider.hasSafeItem(MACHINE_HULLS_BASIC), COMPUTER_CUBE.getItem(LV), of('C', CIRCUITS_MASTER, 'c', ComputerMonitor, 'B', MACHINE_HULLS_BASIC, 'D', CIRCUITS_ULTIMATE), "DcC", "cBc", "CcD"); GT4RMaterialTags.CABINET.all().forEach(m -> { - provider.addItemRecipe(output, GT4RRef.ID, "cabinet_" + m.getId(), "machines", "has_chest", provider.hasSafeItem(ForgeCTags.CHESTS_WOODEN), Machine.get(m.getId() + "_cabinet", GT4RRef.ID).map(mch -> mch.getItem(LV)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN), "PPP", "CPC", "PPP"); - provider.addItemRecipe(output, GT4RRef.ID, "chest_" + m.getId(), "machines", "has_chest", provider.hasSafeItem(ForgeCTags.CHESTS_WOODEN), Machine.get(m.getId() + "_chest", GT4RRef.ID).map(mch -> mch.getItem(LV)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN, 'R', AntimatterMaterialTypes.ROD.getMaterialTag(m), 'S', AntimatterDefaultTools.SAW.getTag(), 'W', AntimatterDefaultTools.WRENCH.getTag()), "SPW", "RCR", "PPP"); + provider.addItemRecipe(output, GT4RRef.ID, "barrel_" + m.getId(), "machines", "has_chest", provider.hasSafeItem(ForgeCTags.CHESTS_WOODEN), Machine.get(m.getId() + "_barrel", GTCore.ID).map(mch -> mch.getItem(NONE)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN), "PPP", "CPC", "PPP"); + provider.addItemRecipe(output, GT4RRef.ID, "chest_" + m.getId(), "machines", "has_chest", provider.hasSafeItem(ForgeCTags.CHESTS_WOODEN), Machine.get(m.getId() + "_chest", GTCore.ID).map(mch -> mch.getItem(NONE)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN, 'R', AntimatterMaterialTypes.ROD.getMaterialTag(m), 'S', AntimatterDefaultTools.SAW.getTag(), 'W', AntimatterDefaultTools.WRENCH.getTag()), "SPW", "RCR", "PPP"); }); /*GT4RMaterialTags.LOCKER.all().forEach(m -> { diff --git a/common/src/main/java/trinsdar/gt4r/machine/ChestMachine.java b/common/src/main/java/trinsdar/gt4r/machine/ChestMachine.java deleted file mode 100644 index c3c00b17..00000000 --- a/common/src/main/java/trinsdar/gt4r/machine/ChestMachine.java +++ /dev/null @@ -1,23 +0,0 @@ -package trinsdar.gt4r.machine; - - -import io.github.gregtechintergalactical.gtcore.machine.MaterialMachine; -import muramasa.antimatter.AntimatterAPI; -import muramasa.antimatter.machine.Tier; -import muramasa.antimatter.machine.types.Machine; -import muramasa.antimatter.material.Material; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import trinsdar.gt4r.block.BlockMaterialChest; - -import static muramasa.antimatter.machine.MachineFlag.COVERABLE; - -public class ChestMachine extends MaterialMachine { - public ChestMachine(String domain, String id, Material material) { - super(domain, id, material); - setBlock(BlockMaterialChest::new); - setItemBlockClass(() -> BlockMaterialChest.class); - COVERABLE.remove(this); - } -} diff --git a/common/src/main/java/trinsdar/gt4r/proxy/ClientHandler.java b/common/src/main/java/trinsdar/gt4r/proxy/ClientHandler.java index ec55649b..dd55fc9b 100644 --- a/common/src/main/java/trinsdar/gt4r/proxy/ClientHandler.java +++ b/common/src/main/java/trinsdar/gt4r/proxy/ClientHandler.java @@ -10,9 +10,7 @@ import net.minecraft.world.level.Level; import trinsdar.gt4r.GT4Reimagined; import trinsdar.gt4r.block.BlockCasing; -import trinsdar.gt4r.block.BlockMaterialChest; import trinsdar.gt4r.block.BlockRedstoneMachine; -import trinsdar.gt4r.client.MaterialChestRenderer; import trinsdar.gt4r.data.Machines; import java.io.File; @@ -32,10 +30,8 @@ public static void setup() { AntimatterAPI.runLaterClient(() -> { ModelUtils.setRenderLayer(((BlockItem)Machines.DUSTBIN.getItem(LV)).getBlock(), RenderType.cutout()); AntimatterAPI.all(BlockCasing.class, t -> ModelUtils.setRenderLayer(t, RenderType.cutout())); - AntimatterAPI.all(BlockMaterialChest.class, b -> ModelUtils.setRenderLayer(b, RenderType.cutout())); AntimatterAPI.all(BlockRedstoneMachine.class, b -> ModelUtils.setRenderLayer(b, RenderType.cutout())); }); - AntimatterAPI.all(BlockMaterialChest.class, b -> muramasa.antimatter.proxy.ClientHandler.registerBlockEntityRenderer(b.getType().getTileType(), MaterialChestRenderer::new)); copyProgrammerArtIfMissing(); } diff --git a/fabric/src/main/java/trinsdar/gt4r/client/fabric/GT4RClientInitializer.java b/fabric/src/main/java/trinsdar/gt4r/client/fabric/GT4RClientInitializer.java index 6dbe4b46..33432737 100644 --- a/fabric/src/main/java/trinsdar/gt4r/client/fabric/GT4RClientInitializer.java +++ b/fabric/src/main/java/trinsdar/gt4r/client/fabric/GT4RClientInitializer.java @@ -10,6 +10,5 @@ public class GT4RClientInitializer implements IAntimatterClientInitializer { @Override public void onInitializeClient() { ClientHandler.setup(); - TextureStitchCallback.PRE.register((ClientEvents::onStitch)); } } diff --git a/forge/src/main/java/trinsdar/gt4r/events/forge/ModClientEvents.java b/forge/src/main/java/trinsdar/gt4r/events/forge/ModClientEvents.java deleted file mode 100644 index 5efb90cf..00000000 --- a/forge/src/main/java/trinsdar/gt4r/events/forge/ModClientEvents.java +++ /dev/null @@ -1,17 +0,0 @@ -package trinsdar.gt4r.events.forge; - -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.TextureStitchEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.events.ClientEvents; - - -@Mod.EventBusSubscriber(modid = GT4RRef.ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) -public class ModClientEvents { - @SubscribeEvent - public static void onStitch(TextureStitchEvent.Pre event) { - ClientEvents.onStitch(event.getAtlas(), event::addSprite); - } -}