diff --git a/src/generated/resources/assets/gtceu/lang/en_ud.json b/src/generated/resources/assets/gtceu/lang/en_ud.json index 3aae8660ce..473b5e7ab6 100644 --- a/src/generated/resources/assets/gtceu/lang/en_ud.json +++ b/src/generated/resources/assets/gtceu/lang/en_ud.json @@ -3799,6 +3799,7 @@ "gtceu.multiblock.universal.problem.soft_mallet": ")ㄥ§ʇǝןןɐW ʇɟoSɐ§( ˙ʞɔnʇs sı buıɥʇǝɯoSㄥ§%s", "gtceu.multiblock.universal.problem.wire_cutter": ")ㄥ§ɹǝʇʇnƆ ǝɹıMɐ§( ˙ʇno pǝuɹnq sǝɹıMㄥ§%s", "gtceu.multiblock.universal.problem.wrench": ")ㄥ§ɥɔuǝɹMɐ§( ˙ǝsooן sı ǝdıԀㄥ§%s", + "gtceu.multiblock.universal.rotor_obstructed": "¡pǝʇɔnɹʇsqO sı ɹoʇoᴚ", "gtceu.multiblock.uv_fusion_reactor.description": "˙W0ㄣ9 ɟo ɯnɯıxɐɯ ɐ sɐɥ puɐ '∩Ǝ W0ㄣ ʎq sǝsɐǝɹɔuı ɹǝɟɟnq sʇı 'sɐɥ ʇı ɥɔʇɐH ʎɹǝʌǝ ɹoℲ ˙sǝɥɔʇɐH ʎbɹǝuƎ Λ∩ ǝsn ʎןuo uɐɔ ʇI ˙sǝuo ɹǝıʌɐǝɥ oʇuı sʇuǝɯǝןǝ buısnɟ ɹoɟ pǝsn ǝɹnʇɔnɹʇs ʞɔoןqıʇןnɯ ǝbɹɐן ɐ sı Ɛ ʞW ɹoʇɔɐǝᴚ uoısnℲ ǝɥ⟘", "gtceu.multiblock.vacuum_freezer.description": "˙ɹǝʇɐM sɐ ɥɔns 'sǝɔuɐʇsqns ɹǝɥʇo ǝzǝǝɹɟ osןɐ uɐɔ ʇı 'ɹǝʌǝʍoH ˙sʇobuI ɹɐןnbǝɹ oʇuı sʇobuI ʇoH buızǝǝɹɟ ɹoɟ pǝsn ʎןuıɐɯ ǝɹnʇɔnɹʇs ʞɔoןqıʇןnɯ ɐ sı ɹǝzǝǝɹℲ ɯnnɔɐΛ ǝɥ⟘", "gtceu.multiblock.validation_failed": "˙sʇndʇno/sʇnduı ɟo ʇunoɯɐ pıןɐʌuI", diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 92018f1bca..a76576de2e 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -3799,6 +3799,7 @@ "gtceu.multiblock.universal.problem.soft_mallet": "%s§7Something is stuck. (§aSoft Mallet§7)", "gtceu.multiblock.universal.problem.wire_cutter": "%s§7Wires burned out. (§aWire Cutter§7)", "gtceu.multiblock.universal.problem.wrench": "%s§7Pipe is loose. (§aWrench§7)", + "gtceu.multiblock.universal.rotor_obstructed": "Rotor is Obstructed!", "gtceu.multiblock.uv_fusion_reactor.description": "The Fusion Reactor MK 3 is a large multiblock structure used for fusing elements into heavier ones. It can only use UV Energy Hatches. For every Hatch it has, its buffer increases by 40M EU, and has a maximum of 640M.", "gtceu.multiblock.vacuum_freezer.description": "The Vacuum Freezer is a multiblock structure mainly used for freezing Hot Ingots into regular Ingots. However, it can also freeze other substances, such as Water.", "gtceu.multiblock.validation_failed": "Invalid amount of inputs/outputs.", diff --git a/src/generated/resources/data/gtceu/tags/items/step_boots.json b/src/generated/resources/data/gtceu/tags/items/step_boots.json new file mode 100644 index 0000000000..0e822f6152 --- /dev/null +++ b/src/generated/resources/data/gtceu/tags/items/step_boots.json @@ -0,0 +1,6 @@ +{ + "values": [ + "gtceu:nanomuscle_boots", + "gtceu:quarktech_boots" + ] +} \ No newline at end of file diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java index f6e402f8c1..355a64c1a0 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java @@ -206,7 +206,7 @@ default void attachFancyTooltipsToController(IMultiController controller, Toolti default void attachTooltips(TooltipsPanel tooltipsPanel) { tooltipsPanel.attachTooltips(new IFancyTooltip.Basic( () -> GuiTextures.INDICATOR_NO_STEAM.get(false), - () -> List.of(Component.translatable("gtceu.multiblock.universal.muffler_obstructed") + () -> List.of(Component.translatable("gtceu.multiblock.universal.rotor_obstructed") .setStyle(Style.EMPTY.withColor(ChatFormatting.RED))), () -> !isFrontFaceFree(), () -> null)); diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/BatteryBufferRenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/BatteryBufferRenderer.java index 51951f856d..afb2430313 100644 --- a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/BatteryBufferRenderer.java +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/BatteryBufferRenderer.java @@ -3,9 +3,6 @@ import com.gregtechceu.gtceu.GTCEu; import com.gregtechceu.gtceu.api.machine.MachineDefinition; import com.gregtechceu.gtceu.api.machine.MetaMachine; -import com.gregtechceu.gtceu.client.util.StaticFaceBakery; - -import com.lowdragmc.lowdraglib.client.model.ModelFactory; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.resources.model.ModelState; @@ -18,6 +15,8 @@ import java.util.List; +import static com.gregtechceu.gtceu.client.renderer.machine.OverlayEnergyIORenderer.*; + /** * @author KilaBash * @date 2023/3/10 @@ -39,10 +38,10 @@ public void renderMachine(List quads, MachineDefinition definition, @ ModelState modelState) { super.renderMachine(quads, definition, machine, frontFacing, side, rand, modelFacing, modelState); if (side == frontFacing && modelFacing != null) { - var texture = inventorySize <= 4 ? TransformerRenderer.ENERGY_OUT : - inventorySize <= 8 ? TransformerRenderer.ENERGY_OUT_MULTI : - TransformerRenderer.ENERGY_OUT_ULTRA; - quads.add(StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(texture), modelState, 2)); + var texture = inventorySize <= 4 ? ENERGY_OUT_4A : + inventorySize <= 8 ? ENERGY_OUT_8A : + ENERGY_OUT_16A; + texture.renderOverlay(quads, modelFacing, modelState, 2); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/ConverterRenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/ConverterRenderer.java index b5bdc232c7..dc14480b15 100644 --- a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/ConverterRenderer.java +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/ConverterRenderer.java @@ -22,15 +22,35 @@ import java.util.List; import java.util.function.Consumer; +import static com.gregtechceu.gtceu.client.renderer.machine.OverlayEnergyIORenderer.*; + public class ConverterRenderer extends TieredHullMachineRenderer { - private static final ResourceLocation ENERGY_IN = GTCEu.id("block/overlay/machine/overlay_energy_in"), - ENERGY_OUT = GTCEu.id("block/overlay/machine/overlay_energy_out"), - CONVERTER_NATIVE_IN = GTCEu.id("block/overlay/converter/converter_native_in"), - CONVERTER_NATIVE_OUT = GTCEu.id("block/overlay/converter/converter_native_out"); + private static final ResourceLocation CONVERTER_FE_IN = GTCEu.id("block/overlay/converter/converter_native_in"); + private static final ResourceLocation CONVERTER_FE_OUT = GTCEu.id("block/overlay/converter/converter_native_out"); + private final OverlayEnergyIORenderer ENERGY_IN; + private final OverlayEnergyIORenderer ENERGY_OUT; - public ConverterRenderer(int tier) { + public ConverterRenderer(int tier, int baseAmp) { super(tier, GTCEu.id("block/machine/hull_machine")); + switch (baseAmp) { + case 4: + ENERGY_IN = ENERGY_IN_4A; + ENERGY_OUT = ENERGY_OUT_4A; + break; + case 8: + ENERGY_IN = ENERGY_IN_8A; + ENERGY_OUT = ENERGY_OUT_8A; + break; + case 16: + ENERGY_IN = ENERGY_IN_16A; + ENERGY_OUT = ENERGY_OUT_16A; + break; + default: + ENERGY_IN = ENERGY_IN_1A; + ENERGY_OUT = ENERGY_OUT_1A; + break; + } } @Override @@ -39,18 +59,24 @@ public void renderMachine(List quads, MachineDefinition definition, @ Direction frontFacing, @Nullable Direction side, RandomSource rand, Direction modelFacing, ModelState modelState) { super.renderMachine(quads, definition, machine, frontFacing, side, rand, modelFacing, modelState); - var otherFaceTexture = ENERGY_IN; - var frontFaceTexture = CONVERTER_NATIVE_OUT; + var isFeToEu = false; if (machine instanceof ConverterMachine converter) { - otherFaceTexture = converter.isFeToEu() ? CONVERTER_NATIVE_IN : otherFaceTexture; - frontFaceTexture = converter.isFeToEu() ? ENERGY_OUT : frontFaceTexture; + isFeToEu = converter.isFeToEu(); } if (side == frontFacing && modelFacing != null) { - quads.add( - StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(frontFaceTexture), modelState)); + if (isFeToEu) { + ENERGY_OUT.renderOverlay(quads, modelFacing, modelState, 2); + } else { + quads.add(StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(CONVERTER_FE_OUT), + modelState, -1)); + } } else if (side != null && modelFacing != null) { - quads.add( - StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(otherFaceTexture), modelState)); + if (isFeToEu) { + quads.add(StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(CONVERTER_FE_IN), + modelState, -1)); + } else { + ENERGY_IN.renderOverlay(quads, modelFacing, modelState, 2); + } } } @@ -58,8 +84,8 @@ public void renderMachine(List quads, MachineDefinition definition, @ public void onPrepareTextureAtlas(ResourceLocation atlasName, Consumer register) { super.onPrepareTextureAtlas(atlasName, register); if (atlasName.equals(TextureAtlas.LOCATION_BLOCKS)) { - register.accept(CONVERTER_NATIVE_IN); - register.accept(CONVERTER_NATIVE_OUT); + register.accept(CONVERTER_FE_IN); + register.accept(CONVERTER_FE_OUT); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/DiodeRenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/DiodeRenderer.java new file mode 100644 index 0000000000..9a532aa481 --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/DiodeRenderer.java @@ -0,0 +1,64 @@ +package com.gregtechceu.gtceu.client.renderer.machine; + +import com.gregtechceu.gtceu.GTCEu; +import com.gregtechceu.gtceu.api.machine.MachineDefinition; +import com.gregtechceu.gtceu.api.machine.MetaMachine; +import com.gregtechceu.gtceu.common.machine.multiblock.part.DiodePartMachine; + +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.ModelState; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.gregtechceu.gtceu.client.renderer.machine.OverlayEnergyIORenderer.*; + +public class DiodeRenderer extends TieredHullMachineRenderer { + + public DiodeRenderer(int tier) { + super(tier, GTCEu.id("block/machine/hull_machine")); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void renderMachine(List quads, MachineDefinition definition, @Nullable MetaMachine machine, + Direction frontFacing, @Nullable Direction side, RandomSource rand, Direction modelFacing, + ModelState modelState) { + super.renderMachine(quads, definition, machine, frontFacing, side, rand, modelFacing, modelState); + OverlayEnergyIORenderer energyIn = ENERGY_IN_1A; + OverlayEnergyIORenderer energyOut = ENERGY_OUT_1A; + var amps = 1; + if (machine instanceof DiodePartMachine diode) { + amps = diode.getAmps(); + } + switch (amps) { + case 2 -> { + energyIn = ENERGY_IN_2A; + energyOut = ENERGY_OUT_2A; + } + case 4 -> { + energyIn = ENERGY_IN_4A; + energyOut = ENERGY_OUT_4A; + } + case 8 -> { + energyIn = ENERGY_IN_8A; + energyOut = ENERGY_OUT_8A; + } + case 16 -> { + energyIn = ENERGY_IN_16A; + energyOut = ENERGY_OUT_16A; + } + } + + if (side == frontFacing && modelFacing != null) { + energyOut.renderOverlay(quads, modelFacing, modelState, 2); + } else if (side != null && modelFacing != null) { + energyIn.renderOverlay(quads, modelFacing, modelState, 2); + } + } +} diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/LargeBoilerRenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/LargeBoilerRenderer.java index fd0d841530..bb4ab52f18 100644 --- a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/LargeBoilerRenderer.java +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/LargeBoilerRenderer.java @@ -56,8 +56,9 @@ public void renderPartModel(List quads, IMultiController machine, IMu ModelFactory.getBlockSprite(firebox.side()), modelState)); if (machine instanceof IRecipeLogicMachine recipeLogicMachine && recipeLogicMachine.getRecipeLogic().isWorking()) { - quads.add(StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(BLOOM_OVERLAY), - modelState, -101, 15, true, false)); + quads.add(StaticFaceBakery.bakeFace(StaticFaceBakery.SLIGHTLY_OVER_BLOCK, + modelFacing, ModelFactory.getBlockSprite(BLOOM_OVERLAY), modelState, + -101, 15, true, false)); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/OverlayEnergyIORenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/OverlayEnergyIORenderer.java new file mode 100644 index 0000000000..61623a29ad --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/OverlayEnergyIORenderer.java @@ -0,0 +1,59 @@ +package com.gregtechceu.gtceu.client.renderer.machine; + +import com.gregtechceu.gtceu.GTCEu; +import com.gregtechceu.gtceu.client.util.StaticFaceBakery; + +import com.lowdragmc.lowdraglib.client.model.ModelFactory; + +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.ModelState; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; + +import java.util.List; + +public class OverlayEnergyIORenderer { + + public static final OverlayEnergyIORenderer ENERGY_IN_1A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_1a_tinted", "block/overlay/machine/overlay_energy_1a_in"); + public static final OverlayEnergyIORenderer ENERGY_IN_2A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_2a_tinted", "block/overlay/machine/overlay_energy_2a_in"); + public static final OverlayEnergyIORenderer ENERGY_IN_4A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_4a_tinted", "block/overlay/machine/overlay_energy_4a_in"); + public static final OverlayEnergyIORenderer ENERGY_IN_8A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_8a_tinted", "block/overlay/machine/overlay_energy_8a_in"); + public static final OverlayEnergyIORenderer ENERGY_IN_16A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_16a_tinted", "block/overlay/machine/overlay_energy_16a_in"); + public static final OverlayEnergyIORenderer ENERGY_IN_64A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_64a_tinted", "block/overlay/machine/overlay_energy_64a_in"); + + public static final OverlayEnergyIORenderer ENERGY_OUT_1A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_1a_tinted", "block/overlay/machine/overlay_energy_1a_out"); + public static final OverlayEnergyIORenderer ENERGY_OUT_2A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_2a_tinted", "block/overlay/machine/overlay_energy_2a_out"); + public static final OverlayEnergyIORenderer ENERGY_OUT_4A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_4a_tinted", "block/overlay/machine/overlay_energy_4a_out"); + public static final OverlayEnergyIORenderer ENERGY_OUT_8A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_8a_tinted", "block/overlay/machine/overlay_energy_8a_out"); + public static final OverlayEnergyIORenderer ENERGY_OUT_16A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_16a_tinted", "block/overlay/machine/overlay_energy_16a_out"); + public static final OverlayEnergyIORenderer ENERGY_OUT_64A = new OverlayEnergyIORenderer( + "block/overlay/machine/overlay_energy_64a_tinted", "block/overlay/machine/overlay_energy_64a_out"); + + private final ResourceLocation tintedPart; + private final ResourceLocation ioPart; + + public OverlayEnergyIORenderer(String tintedPart, String ioPart) { + this.tintedPart = GTCEu.id(tintedPart); + this.ioPart = GTCEu.id(ioPart); + } + + public void renderOverlay(List quads, Direction modelFacing, ModelState modelState, int tintIndex) { + quads.add(StaticFaceBakery.bakeFace( + StaticFaceBakery.SLIGHTLY_OVER_BLOCK, modelFacing, + ModelFactory.getBlockSprite(tintedPart), modelState, tintIndex, 0, true, true)); + quads.add(StaticFaceBakery.bakeFace( + StaticFaceBakery.SLIGHTLY_OVER_BLOCK, modelFacing, + ModelFactory.getBlockSprite(ioPart), modelState, -1, 0, true, true)); + } +} diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/SimpleGeneratorMachineRenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/SimpleGeneratorMachineRenderer.java index f529a9a250..5aa8e0ed40 100644 --- a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/SimpleGeneratorMachineRenderer.java +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/SimpleGeneratorMachineRenderer.java @@ -2,9 +2,6 @@ import com.gregtechceu.gtceu.api.machine.MachineDefinition; import com.gregtechceu.gtceu.api.machine.MetaMachine; -import com.gregtechceu.gtceu.client.util.StaticFaceBakery; - -import com.lowdragmc.lowdraglib.client.model.ModelFactory; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.resources.model.ModelState; @@ -16,6 +13,8 @@ import java.util.List; +import static com.gregtechceu.gtceu.client.renderer.machine.OverlayEnergyIORenderer.ENERGY_OUT_1A; + /** * @author KilaBash * @date 2023/3/17 @@ -33,9 +32,7 @@ public void renderMachine(List quads, MachineDefinition definition, @ ModelState modelState) { super.renderMachine(quads, definition, machine, frontFacing, side, rand, modelFacing, modelState); if (side == frontFacing && modelFacing != null) { - quads.add(StaticFaceBakery.bakeFace( - modelFacing, ModelFactory.getBlockSprite(TransformerRenderer.ENERGY_OUT), - modelState, 2)); + ENERGY_OUT_1A.renderOverlay(quads, modelFacing, modelState, 2); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/TransformerRenderer.java b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/TransformerRenderer.java index c1b5a06033..1974df920f 100644 --- a/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/TransformerRenderer.java +++ b/src/main/java/com/gregtechceu/gtceu/client/renderer/machine/TransformerRenderer.java @@ -3,16 +3,11 @@ import com.gregtechceu.gtceu.GTCEu; import com.gregtechceu.gtceu.api.machine.MachineDefinition; import com.gregtechceu.gtceu.api.machine.MetaMachine; -import com.gregtechceu.gtceu.client.util.StaticFaceBakery; import com.gregtechceu.gtceu.common.machine.electric.TransformerMachine; -import com.lowdragmc.lowdraglib.client.model.ModelFactory; - import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.resources.model.ModelState; import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -20,7 +15,8 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.function.Consumer; + +import static com.gregtechceu.gtceu.client.renderer.machine.OverlayEnergyIORenderer.*; /** * @author KilaBash @@ -29,15 +25,6 @@ */ public class TransformerRenderer extends TieredHullMachineRenderer { - public final static ResourceLocation ENERGY_IN = GTCEu.id("block/overlay/machine/overlay_energy_in"); - public final static ResourceLocation ENERGY_OUT = GTCEu.id("block/overlay/machine/overlay_energy_out"); - public final static ResourceLocation ENERGY_IN_HI = GTCEu.id("block/overlay/machine/overlay_energy_in_hi"); - public final static ResourceLocation ENERGY_OUT_HI = GTCEu.id("block/overlay/machine/overlay_energy_out_hi"); - public final static ResourceLocation ENERGY_IN_MULTI = GTCEu.id("block/overlay/machine/overlay_energy_in_multi"); - public final static ResourceLocation ENERGY_OUT_MULTI = GTCEu.id("block/overlay/machine/overlay_energy_out_multi"); - public final static ResourceLocation ENERGY_IN_ULTRA = GTCEu.id("block/overlay/machine/overlay_energy_in_ultra"); - public final static ResourceLocation ENERGY_OUT_ULTRA = GTCEu.id("block/overlay/machine/overlay_energy_out_ultra"); - private final int baseAmp; public TransformerRenderer(int tier, int baseAmp) { @@ -51,8 +38,8 @@ public void renderMachine(List quads, MachineDefinition definition, @ Direction frontFacing, @Nullable Direction side, RandomSource rand, Direction modelFacing, ModelState modelState) { super.renderMachine(quads, definition, machine, frontFacing, side, rand, modelFacing, modelState); - var otherFaceTexture = ENERGY_OUT; - var frontFaceTexture = ENERGY_IN_MULTI; + OverlayEnergyIORenderer otherFaceTexture = ENERGY_OUT_4A; + OverlayEnergyIORenderer frontFaceTexture = ENERGY_IN_1A; var isTransformUp = false; if (machine instanceof TransformerMachine transformer) { isTransformUp = transformer.isTransformUp(); @@ -60,43 +47,28 @@ public void renderMachine(List quads, MachineDefinition definition, @ switch (baseAmp) { case 1 -> { // 1A <-> 4A - otherFaceTexture = isTransformUp ? ENERGY_IN : otherFaceTexture; - frontFaceTexture = isTransformUp ? ENERGY_OUT_MULTI : frontFaceTexture; + otherFaceTexture = isTransformUp ? ENERGY_IN_4A : otherFaceTexture; + frontFaceTexture = isTransformUp ? ENERGY_OUT_1A : frontFaceTexture; } case 2 -> { // 2A <-> 8A - otherFaceTexture = isTransformUp ? ENERGY_IN_MULTI : ENERGY_OUT_MULTI; - frontFaceTexture = isTransformUp ? ENERGY_OUT_HI : ENERGY_IN_HI; + otherFaceTexture = isTransformUp ? ENERGY_IN_8A : ENERGY_OUT_8A; + frontFaceTexture = isTransformUp ? ENERGY_OUT_2A : ENERGY_IN_2A; + } + case 4 -> { // 4A <-> 16A + otherFaceTexture = isTransformUp ? ENERGY_IN_16A : ENERGY_OUT_16A; + frontFaceTexture = isTransformUp ? ENERGY_OUT_4A : ENERGY_IN_4A; } - // 4A <-> 16A default -> { // 16A <-> 64A or more - otherFaceTexture = isTransformUp ? ENERGY_IN_HI : ENERGY_OUT_HI; - frontFaceTexture = isTransformUp ? ENERGY_OUT_ULTRA : ENERGY_IN_ULTRA; + otherFaceTexture = isTransformUp ? ENERGY_IN_64A : ENERGY_OUT_64A; + frontFaceTexture = isTransformUp ? ENERGY_OUT_16A : ENERGY_IN_16A; } } if (side == frontFacing && modelFacing != null) { - quads.add(StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(frontFaceTexture), modelState, - 2)); + frontFaceTexture.renderOverlay(quads, modelFacing, modelState, 2); } else if (side != null && modelFacing != null) { - quads.add(StaticFaceBakery.bakeFace(modelFacing, ModelFactory.getBlockSprite(otherFaceTexture), modelState, - 3)); - } - } - - @Override - @OnlyIn(Dist.CLIENT) - public void onPrepareTextureAtlas(ResourceLocation atlasName, Consumer register) { - super.onPrepareTextureAtlas(atlasName, register); - if (atlasName.equals(TextureAtlas.LOCATION_BLOCKS)) { - register.accept(ENERGY_IN); - register.accept(ENERGY_OUT); - register.accept(ENERGY_IN_MULTI); - register.accept(ENERGY_OUT_MULTI); - register.accept(ENERGY_IN_HI); - register.accept(ENERGY_OUT_HI); - register.accept(ENERGY_IN_ULTRA); - register.accept(ENERGY_OUT_ULTRA); + otherFaceTexture.renderOverlay(quads, modelFacing, modelState, 3); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java index 5f1f4d465a..38aa18f060 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java @@ -2503,6 +2503,7 @@ public Component getItemName(ItemStack stack) { .lang("NanoMuscle™ Suite Boots") .properties(p -> p.rarity(Rarity.UNCOMMON)) .tag(Tags.Items.ARMORS_BOOTS) + .tag(CustomTags.STEP_BOOTS) .register(); public static ItemEntry NANO_HELMET = REGISTRATE .item("nanomuscle_helmet", (p) -> new ArmorComponentItem(GTArmorMaterials.ARMOR, ArmorItem.Type.HELMET, p) @@ -2614,6 +2615,7 @@ public Component getItemName(ItemStack stack) { .properties(p -> p.rarity(Rarity.RARE)) .tag(Tags.Items.ARMORS_BOOTS) .tag(CustomTags.PPE_ARMOR) + .tag(CustomTags.STEP_BOOTS) .register(); public static ItemEntry QUANTUM_HELMET = REGISTRATE .item("quarktech_helmet", (p) -> new ArmorComponentItem(GTArmorMaterials.ARMOR, ArmorItem.Type.HELMET, p) diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java index e65044bbe0..940745a8cb 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java @@ -931,7 +931,7 @@ public static BiConsumer> createTankTooltips(String n .rotationState(RotationState.ALL) .abilities(PartAbility.SUBSTATION_INPUT_ENERGY) .tooltips(Component.translatable("gtceu.machine.substation_hatch.input.tooltip")) - .overlayTieredHullRenderer("energy_hatch.input_16a") + .overlayTieredHullRenderer("energy_hatch.input_64a") .compassNode("energy_hatch") .register(), GTValues.tiersBetween(EV, GTCEuAPI.isHighTier() ? MAX : UHV)); @@ -944,7 +944,7 @@ public static BiConsumer> createTankTooltips(String n .rotationState(RotationState.ALL) .abilities(PartAbility.SUBSTATION_OUTPUT_ENERGY) .tooltips(Component.translatable("gtceu.machine.substation_hatch.output.tooltip")) - .overlayTieredHullRenderer("energy_hatch.output_16a") + .overlayTieredHullRenderer("energy_hatch.output_64a") .compassNode("energy_hatch") .register(), GTValues.tiersBetween(EV, GTCEuAPI.isHighTier() ? MAX : UHV)); @@ -1160,7 +1160,7 @@ public static BiConsumer> createTankTooltips(String n .langValue("%s Diode".formatted(VNF[tier])) .rotationState(RotationState.ALL) .abilities(PartAbility.PASSTHROUGH_HATCH) - .overlayTieredHullRenderer("diode") + .renderer(() -> new DiodeRenderer(tier)) .tooltips(Component.translatable("gtceu.machine.diode.tooltip_general"), Component.translatable("gtceu.machine.diode.tooltip_starts_at"), Component.translatable("gtceu.universal.tooltip.voltage_in_out", @@ -2722,7 +2722,7 @@ public static MachineDefinition[] registerConverter(int amperage) { (tier, builder) -> builder .rotationState(RotationState.ALL) .langValue("%s %sA Energy Converter".formatted(VN[tier], amperage)) - .renderer(() -> new ConverterRenderer(tier)) + .renderer(() -> new ConverterRenderer(tier, amperage)) .tooltips(Component.translatable("gtceu.machine.energy_converter.description"), Component.translatable("gtceu.machine.energy_converter.tooltip_tool_usage"), Component.translatable("gtceu.machine.energy_converter.tooltip_conversion_native", diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java index 784fd8dc0c..58735fc4b9 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java @@ -61,7 +61,7 @@ public class GTResearchMachines { .multiblock("research_station", ResearchStationMachine::new) .rotationState(RotationState.NON_Y_AXIS) .recipeType(GTRecipeTypes.RESEARCH_STATION_RECIPES) - .appearanceBlock(COMPUTER_CASING) + .appearanceBlock(ADVANCED_COMPUTER_CASING) .tooltips(LangHandler.getMultiLang("gtceu.machine.research_station.tooltip").toArray(Component[]::new)) .pattern(defintion -> FactoryBlockPattern.start() .aisle("XXX", "VVV", "PPP", "PPP", "PPP", "VVV", "XXX") @@ -198,7 +198,9 @@ public class GTResearchMachines { .multiblock("high_performance_computation_array", HPCAMachine::new) .langValue("High Performance Computation Array (HPCA)") .rotationState(RotationState.NON_Y_AXIS) - .appearanceBlock(ADVANCED_COMPUTER_CASING) + // TODO : Make a controllerAppearanceBlock() so the controller CTM's to the correct casings - Also just a + // good API addition for packdevs + .appearanceBlock(COMPUTER_CASING) .recipeType(GTRecipeTypes.DUMMY_RECIPES) .tooltips(LangHandler.getMultiLang("gtceu.machine.high_performance_computation_array.tooltip") .toArray(Component[]::new)) diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedJetpack.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedJetpack.java index ed491625ae..1b25127db8 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedJetpack.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedJetpack.java @@ -1,22 +1,13 @@ package com.gregtechceu.gtceu.common.item.armor; import com.gregtechceu.gtceu.GTCEu; -import com.gregtechceu.gtceu.api.capability.GTCapabilityHelper; -import com.gregtechceu.gtceu.api.capability.IElectricItem; -import com.gregtechceu.gtceu.utils.input.KeyBind; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; - -import org.jetbrains.annotations.NotNull; public class AdvancedJetpack extends Jetpack { @@ -24,47 +15,6 @@ public AdvancedJetpack(int energyPerUse, long capacity, int tier) { super(energyPerUse, capacity, tier); } - @Override - public void onArmorTick(Level world, Player player, @NotNull ItemStack stack) { - IElectricItem cont = GTCapabilityHelper.getElectricItem(stack); - if (cont == null) { - return; - } - CompoundTag data = stack.getOrCreateTag(); - boolean hoverMode = data.contains("hover") && data.getBoolean("hover"); - byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0; - boolean jetpackEnabled = !data.contains("enabled") || data.getBoolean("enabled"); - - if (toggleTimer == 0 && KeyBind.ARMOR_HOVER.isKeyDown(player)) { - hoverMode = !hoverMode; - toggleTimer = 5; - data.putBoolean("hover", hoverMode); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable")), true); - } - } - - if (toggleTimer == 0 && KeyBind.JETPACK_ENABLE.isKeyDown(player)) { - jetpackEnabled = !jetpackEnabled; - toggleTimer = 5; - data.putBoolean("enabled", jetpackEnabled); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable")), - true); - } - } - - performFlying(player, jetpackEnabled, hoverMode, stack); - - if (toggleTimer > 0) toggleTimer--; - - data.putBoolean("hover", hoverMode); - data.putBoolean("enabled", jetpackEnabled); - data.putByte("toggleTimer", toggleTimer); - } - @Override public double getSprintEnergyModifier() { return 2.5D; diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java index 0885243587..241955a76c 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedNanoMuscleSuite.java @@ -49,49 +49,49 @@ public void onArmorTick(Level world, Player player, @NotNull ItemStack item) { } CompoundTag data = item.getOrCreateTag(); - boolean hoverMode = data.contains("hover") && data.getBoolean("hover"); - byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0; - boolean canShare = data.contains("canShare") && data.getBoolean("canShare"); - boolean jetpackEnabled = !data.contains("enabled") || data.getBoolean("enabled"); - - if (toggleTimer == 0 && KeyBind.ARMOR_HOVER.isKeyDown(player)) { - hoverMode = !hoverMode; - toggleTimer = 5; - data.putBoolean("hover", hoverMode); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable")), true); - } + // Assume no tags exist if we don't see the enabled tag + if (!data.contains("enabled")) { + data.putBoolean("enabled", true); + data.putBoolean("hover", false); + data.putByte("toggleTimer", (byte) 0); + data.putBoolean("canShare", false); } - if (toggleTimer == 0 && KeyBind.JETPACK_ENABLE.isKeyDown(player)) { - jetpackEnabled = !jetpackEnabled; - toggleTimer = 5; - data.putBoolean("enabled", jetpackEnabled); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable")), - true); + boolean jetpackEnabled = data.getBoolean("enabled"); + boolean hoverMode = data.getBoolean("hover"); + byte toggleTimer = data.getByte("toggleTimer"); + boolean canShare = data.getBoolean("canShare"); + + String messageKey = null; + if (toggleTimer == 0) { + if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + jetpackEnabled = !jetpackEnabled; + messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); + data.putBoolean("enabled", jetpackEnabled); + } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + hoverMode = !hoverMode; + messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); + data.putBoolean("hover", hoverMode); + } else if (KeyBind.ARMOR_CHARGING.isKeyDown(player)) { + canShare = !canShare; + if (canShare && cont.getCharge() == 0) { // Only allow for charging to be enabled if charge is nonzero + messageKey = "metaarmor.nms.share.error"; + canShare = false; + } else { + messageKey = "metaarmor.nms.share." + (canShare ? "enable" : "disable"); + } + data.putBoolean("canShare", canShare); } - } - if (toggleTimer == 0 && KeyBind.ARMOR_CHARGING.isKeyDown(player)) { - canShare = !canShare; - toggleTimer = 5; - if (!world.isClientSide) { - if (canShare && cont.getCharge() == 0) - player.displayClientMessage(Component.translatable("metaarmor.nms.share.error"), true); - else if (canShare) - player.displayClientMessage(Component.translatable("metaarmor.nms.share.enable"), true); - else - player.displayClientMessage(Component.translatable("metaarmor.nms.share.disable"), true); + if (messageKey != null) { + toggleTimer = 5; + if (!world.isClientSide) player.displayClientMessage(Component.translatable(messageKey), true); } - - // Only allow for charging to be enabled if charge is nonzero - canShare = canShare && (cont.getCharge() != 0); - data.putBoolean("canShare", canShare); } + if (toggleTimer > 0) toggleTimer--; + data.putByte("toggleTimer", toggleTimer); + performFlying(player, jetpackEnabled, hoverMode, item); // Charging mechanics @@ -136,13 +136,6 @@ else if (canShare) } } - if (toggleTimer > 0) toggleTimer--; - - data.putBoolean("canShare", canShare); - data.putBoolean("hover", hoverMode); - data.putBoolean("enabled", jetpackEnabled); - data.putByte("toggleTimer", toggleTimer); - timer++; if (timer == Long.MAX_VALUE) timer = 0; diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java index 85789b65e1..4149da49fc 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/AdvancedQuarkTechSuite.java @@ -48,49 +48,49 @@ public void onArmorTick(Level world, Player player, ItemStack item) { } CompoundTag data = item.getOrCreateTag(); - boolean hoverMode = data.contains("hover") && data.getBoolean("hover"); - byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0; - boolean canShare = data.contains("canShare") && data.getBoolean("canShare"); - boolean jetpackEnabled = !data.contains("enabled") || data.getBoolean("enabled"); - - if (toggleTimer == 0 && KeyBind.ARMOR_HOVER.isKeyDown(player)) { - hoverMode = !hoverMode; - toggleTimer = 5; - data.putBoolean("hover", hoverMode); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable")), true); - } + // Assume no tags exist if we don't see the enabled tag + if (!data.contains("enabled")) { + data.putBoolean("enabled", true); + data.putBoolean("hover", false); + data.putByte("toggleTimer", (byte) 0); + data.putBoolean("canShare", false); } - if (toggleTimer == 0 && KeyBind.ARMOR_CHARGING.isKeyDown(player)) { - canShare = !canShare; - toggleTimer = 5; - if (!world.isClientSide) { - if (canShare && cont.getCharge() == 0) - player.displayClientMessage(Component.translatable("metaarmor.qts.share.error"), true); - else if (canShare) - player.displayClientMessage(Component.translatable("metaarmor.qts.share.enable"), true); - else - player.displayClientMessage(Component.translatable("metaarmor.qts.share.disable"), true); + boolean jetpackEnabled = data.getBoolean("enabled"); + boolean hoverMode = data.getBoolean("hover"); + byte toggleTimer = data.getByte("toggleTimer"); + boolean canShare = data.getBoolean("canShare"); + + String messageKey = null; + if (toggleTimer == 0) { + if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + jetpackEnabled = !jetpackEnabled; + messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); + data.putBoolean("enabled", jetpackEnabled); + } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + hoverMode = !hoverMode; + messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); + data.putBoolean("hover", hoverMode); + } else if (KeyBind.ARMOR_CHARGING.isKeyDown(player)) { + canShare = !canShare; + if (canShare && cont.getCharge() == 0) { // Only allow for charging to be enabled if charge is nonzero + messageKey = "metaarmor.qts.share.error"; + canShare = false; + } else { + messageKey = "metaarmor.qts.share." + (canShare ? "enable" : "disable"); + } + data.putBoolean("canShare", canShare); } - // Only allow for charging to be enabled if charge is nonzero - canShare = canShare && (cont.getCharge() != 0); - data.putBoolean("canShare", canShare); - } - - if (toggleTimer == 0 && KeyBind.JETPACK_ENABLE.isKeyDown(player)) { - jetpackEnabled = !jetpackEnabled; - toggleTimer = 5; - data.putBoolean("enabled", jetpackEnabled); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable")), - true); + if (messageKey != null) { + toggleTimer = 5; + if (!world.isClientSide) player.displayClientMessage(Component.translatable(messageKey), true); } } + if (toggleTimer > 0) toggleTimer--; + data.putByte("toggleTimer", toggleTimer); + performFlying(player, jetpackEnabled, hoverMode, item); if (player.isOnFire()) @@ -139,13 +139,6 @@ else if (canShare) } } - if (toggleTimer > 0) toggleTimer--; - - data.putBoolean("canShare", canShare); - data.putBoolean("hover", hoverMode); - data.putBoolean("enabled", jetpackEnabled); - data.putByte("toggleTimer", toggleTimer); - timer++; if (timer == Long.MAX_VALUE) timer = 0; @@ -249,7 +242,7 @@ public void drawHUD(ItemStack item, GuiGraphics guiGraphics) { * } * return new ArmorProperties(8, getDamageAbsorption() * getAbsorption(armor), damageLimit); * } - * + * * @Override * public boolean handleUnblockableDamage(EntityLivingBase entity, @NotNull ItemStack armor, DamageSource source, * double damage, EntityEquipmentSlot equipmentSlot) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/IJetpack.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/IJetpack.java index dd9673a3d3..faef8f6f3d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/IJetpack.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/IJetpack.java @@ -70,97 +70,84 @@ default float getFallDamageReduction() { default void performFlying(@NotNull Player player, boolean flightEnabled, boolean hover, ItemStack stack) { double deltaY = player.getDeltaMovement().y(); - if (!hover || !flightEnabled) { - if (player.position().y() < player.level().getMinBuildHeight() - 5) { - performEHover(stack, player); - } else { - if (!player.isCreative() && player.fallDistance - 1.2f >= player.getHealth()) { - if (!player.onGround() && !player.isSwimming()) { - performEHover(stack, player); - } - } - } - } - - if (!flightEnabled) { + if ((!flightEnabled || !hover) && player.getY() < player.level().getMinBuildHeight() - 5) { + performEHover(stack, player); + } else if (!flightEnabled) { return; } boolean flyKeyDown = KeyBind.VANILLA_JUMP.isKeyDown(player); boolean descendKeyDown = KeyBind.VANILLA_SNEAK.isKeyDown(player); - - double hoverSpeed = descendKeyDown ? getVerticalHoverSpeed() : getVerticalHoverSlowSpeed(); double currentAccel = getVerticalAcceleration() * (deltaY < 0.3D ? 2.5D : 1.0D); - double currentSpeedVertical = getVerticalSpeed() * (player.isInWater() ? 0.4D : 1.0D); - - if (!player.onGround() && canUseEnergy(stack, getEnergyPerUse())) { - drainEnergy(stack, (int) (player.isSprinting() ? - Math.round(getEnergyPerUse() * getSprintEnergyModifier()) : getEnergyPerUse())); - - double potentialY; - boolean editMotion = false; - if (hasEnergy(stack)) { - if (hover) { - if (flyKeyDown && descendKeyDown) { - potentialY = getVerticalHoverSlowSpeed(); - } else if (flyKeyDown) { - potentialY = getVerticalHoverSpeed(); - } else if (descendKeyDown) { - potentialY = -getVerticalHoverSpeed(); - } else { - potentialY = 0.0; - } - - if (player.isFallFlying()) { // if the player is hovering negate fall motion - player.stopFallFlying(); - } - editMotion = true; + + if (!player.onGround() && player.getSleepingPos().isEmpty() && canUseEnergy(stack, getEnergyPerUse())) { + double potentialY = 0; + boolean editMotion = true; + + if (hover) { + if (flyKeyDown && descendKeyDown) { + potentialY = getVerticalHoverSlowSpeed(); + } else if (flyKeyDown) { + potentialY = getVerticalHoverSpeed(); + } else if (descendKeyDown) { + potentialY = -getVerticalHoverSpeed(); } else { - if (flyKeyDown) { - potentialY = currentSpeedVertical; - editMotion = true; - if (descendKeyDown) { - potentialY -= currentSpeedVertical; - } - } else { - potentialY = -hoverSpeed; - } + potentialY = -getVerticalHoverSlowSpeed(); } - potentialY = Math.min(deltaY + currentAccel, potentialY); - if (editMotion) - setYMotion(player, potentialY); - - float speedSideways = (float) (player.isShiftKeyDown() ? getSidewaysSpeed() * 0.5f : - getSidewaysSpeed()); - float speedForward = (float) (player.isSprinting() ? speedSideways * getSprintSpeedModifier() : - speedSideways); - - // make sure they arent using elytra movement - if (!player.isFallFlying()) { - if (KeyBind.VANILLA_FORWARD.isKeyDown(player)) { - player.moveRelative(speedForward, new Vec3(0, 0, speedForward)); - } - if (KeyBind.VANILLA_BACKWARD.isKeyDown(player)) { - player.moveRelative(speedSideways * 0.8f, new Vec3(0, 0, -speedForward)); - } - if (KeyBind.VANILLA_LEFT.isKeyDown(player)) { - player.moveRelative(speedSideways, new Vec3(speedSideways, 0, 0)); - } - if (KeyBind.VANILLA_RIGHT.isKeyDown(player)) { - player.moveRelative(-speedSideways, new Vec3(speedSideways, 0, 0)); - } + + if (player.isFallFlying()) { // if the player is hovering negate fall motion + player.stopFallFlying(); + } + } else { + if (flyKeyDown && descendKeyDown) { + potentialY = 0; + } else if (flyKeyDown) { + potentialY = getVerticalSpeed() * (player.isInWater() ? 0.4D : 1.0D); + } else { // Free fall, don't need to edit motion + editMotion = false; } + } + + if (editMotion) { + potentialY = Math.min(deltaY + currentAccel, potentialY); + setYMotion(player, potentialY); + } - // ensure that the player is actually using the jetpack to cancel fall damage - if (!player.level().isClientSide && (hover || flyKeyDown)) { - player.fallDistance = 0; - if (player instanceof ServerPlayer serverPlayer) { - serverPlayer.connection.aboveGroundTickCount = 0; - } + float speedSideways = (float) (player.isShiftKeyDown() ? getSidewaysSpeed() * 0.5f : + getSidewaysSpeed()); + float speedForward = (float) (player.isSprinting() ? speedSideways * getSprintSpeedModifier() : + speedSideways); + + // Make sure they aren't using elytra movement + if (!player.isFallFlying()) { + Vec3 movement = new Vec3(0, 0, 0); + if (KeyBind.VANILLA_FORWARD.isKeyDown(player)) movement = movement.add(0, 0, speedForward); + if (KeyBind.VANILLA_BACKWARD.isKeyDown(player)) movement = movement.add(0, 0, -speedSideways * 0.8f); + if (KeyBind.VANILLA_LEFT.isKeyDown(player)) movement = movement.add(speedSideways, 0, 0); + if (KeyBind.VANILLA_RIGHT.isKeyDown(player)) movement = movement.add(-speedSideways, 0, 0); + + var dist = movement.length(); + if (dist >= 1.0E-7) { + player.moveRelative((float) dist, movement); + if (!editMotion) editMotion = true; } + } + if (editMotion) { + int energyUsed = (int) Math + .round(getEnergyPerUse() * (player.isSprinting() ? getSprintEnergyModifier() : 1)); + drainEnergy(stack, energyUsed); + ArmorUtils.spawnParticle(player.level(), player, getParticle(), -0.6D); } - ArmorUtils.spawnParticle(player.level(), player, getParticle(), -0.6D); + + // ensure that the player is actually using the jetpack to cancel fall damage + if (!player.level().isClientSide && (hover || flyKeyDown)) { + player.fallDistance = 0; + if (player instanceof ServerPlayer serverPlayer) { + serverPlayer.connection.aboveGroundTickCount = 0; + } + } + } } @@ -169,17 +156,14 @@ private static void setYMotion(Player player, double value) { player.setDeltaMovement(motion.x(), value, motion.z()); } - private static void performEHover(ItemStack stack, Player player) { + static void performEHover(ItemStack stack, Player player) { CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("enabled")) - tag.putBoolean("enabled", true); - if (tag.contains("hover")) - tag.putBoolean("hover", true); + tag.putBoolean("enabled", true); + tag.putBoolean("hover", true); player.displayClientMessage(Component.translatable("metaarmor.jetpack.emergency_hover_mode"), true); - stack.setTag(tag); + player.fallDistance = 0; if (!player.level().isClientSide) { - player.fallDistance = 0; if (player instanceof ServerPlayer) { ((ServerPlayer) player).connection.aboveGroundTickCount = 0; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java index 0a9d6d1e4d..08d5dcc8ce 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/Jetpack.java @@ -43,40 +43,46 @@ public Jetpack(int energyPerUse, long capacity, int tier) { } @Override - public void onArmorTick(Level world, Player player, @NotNull ItemStack stack) { - CompoundTag data = stack.getOrCreateTag(); - boolean hoverMode = data.contains("hover") && data.getBoolean("hover"); - byte toggleTimer = data.contains("toggleTimer") ? data.getByte("toggleTimer") : 0; - boolean jetpackEnabled = !data.contains("enabled") || data.getBoolean("enabled"); - - if (toggleTimer == 0 && KeyBind.ARMOR_HOVER.isKeyDown(player)) { - hoverMode = !hoverMode; - toggleTimer = 5; - data.putBoolean("hover", hoverMode); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable")), true); - } + public void onArmorTick(Level world, Player player, @NotNull ItemStack item) { + IElectricItem cont = GTCapabilityHelper.getElectricItem(item); + if (cont == null) { + return; } - if (toggleTimer == 0 && KeyBind.JETPACK_ENABLE.isKeyDown(player)) { - jetpackEnabled = !jetpackEnabled; - toggleTimer = 5; - data.putBoolean("enabled", jetpackEnabled); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable")), - true); - } + CompoundTag data = item.getOrCreateTag(); + // Assume no tags exist if we don't see the enabled tag + if (!data.contains("enabled")) { + data.putBoolean("enabled", true); + data.putBoolean("hover", false); + data.putByte("toggleTimer", (byte) 0); } - performFlying(player, jetpackEnabled, hoverMode, stack); + boolean jetpackEnabled = data.getBoolean("enabled"); + boolean hoverMode = data.getBoolean("hover"); + byte toggleTimer = data.getByte("toggleTimer"); + + String messageKey = null; + if (toggleTimer == 0) { + if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + jetpackEnabled = !jetpackEnabled; + messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); + data.putBoolean("enabled", jetpackEnabled); + } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + hoverMode = !hoverMode; + messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); + data.putBoolean("hover", hoverMode); + } - if (toggleTimer > 0) toggleTimer--; + if (messageKey != null) { + toggleTimer = 5; + if (!world.isClientSide) player.displayClientMessage(Component.translatable(messageKey), true); + } + } - data.putBoolean("hover", hoverMode); - data.putBoolean("enabled", jetpackEnabled); + if (toggleTimer > 0) toggleTimer--; data.putByte("toggleTimer", toggleTimer); + + performFlying(player, jetpackEnabled, hoverMode, item); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java index 5d1bfb8d4a..de83d20583 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/NanoMuscleSuite.java @@ -84,8 +84,6 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { } data.putBoolean("nightVision", nightVision); - } else if (type == ArmorItem.Type.BOOTS) { - updateStepHeight(player); } if (nightVisionTimer > 0) nightVisionTimer--; diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java index 4f6222feb0..78d2c974cf 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/PowerlessJetpack.java @@ -72,48 +72,46 @@ public void onArmorTick(Level world, Player player, @NotNull ItemStack stack) { return; CompoundTag data = stack.getOrCreateTag(); - byte toggleTimer = 0; if (data.contains("burnTimer")) burnTimer = data.getShort("burnTimer"); - if (data.contains("toggleTimer")) toggleTimer = data.getByte("toggleTimer"); - boolean hoverMode = data.contains("hover") && data.getBoolean("hover"); - boolean jetpackEnabled = !data.contains("enabled") || data.getBoolean("enabled"); - - if (toggleTimer == 0 && KeyBind.ARMOR_HOVER.isKeyDown(player)) { - hoverMode = !hoverMode; - toggleTimer = 5; - data.putBoolean("hover", hoverMode); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable")), true); - } + if (!data.contains("enabled")) { + data.putBoolean("enabled", true); + data.putBoolean("hover", false); + data.putByte("toggleTimer", (byte) 0); } - if (toggleTimer == 0 && KeyBind.JETPACK_ENABLE.isKeyDown(player)) { - jetpackEnabled = !jetpackEnabled; - toggleTimer = 5; - data.putBoolean("enabled", jetpackEnabled); - if (!world.isClientSide) { - player.displayClientMessage( - Component.translatable("metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable")), - true); + boolean jetpackEnabled = data.getBoolean("enabled"); + boolean hoverMode = data.getBoolean("hover"); + byte toggleTimer = data.getByte("toggleTimer"); + + String messageKey = null; + if (toggleTimer == 0) { + if (KeyBind.JETPACK_ENABLE.isKeyDown(player)) { + jetpackEnabled = !jetpackEnabled; + messageKey = "metaarmor.jetpack.flight." + (jetpackEnabled ? "enable" : "disable"); + data.putBoolean("enabled", jetpackEnabled); + } else if (KeyBind.ARMOR_HOVER.isKeyDown(player)) { + hoverMode = !hoverMode; + messageKey = "metaarmor.jetpack.hover." + (hoverMode ? "enable" : "disable"); + data.putBoolean("hover", hoverMode); + } + + if (messageKey != null) { + toggleTimer = 5; + if (!world.isClientSide) player.displayClientMessage(Component.translatable(messageKey), true); } } + if (toggleTimer > 0) toggleTimer--; + data.putByte("toggleTimer", toggleTimer); + // This causes a caching issue. currentRecipe is only set to null in findNewRecipe, so the fuel is never updated // Rewrite in Armor Rework if (currentRecipe == null) findNewRecipe(stack); performFlying(player, jetpackEnabled, hoverMode, stack); - - if (toggleTimer > 0) - toggleTimer--; - - data.putBoolean("hover", hoverMode); - data.putBoolean("enabled", jetpackEnabled); data.putShort("burnTimer", (short) burnTimer); - data.putByte("toggleTimer", toggleTimer); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java index 8a51448a12..c2dcc0cb7b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java @@ -199,7 +199,6 @@ public void onArmorTick(Level world, Player player, ItemStack itemStack) { } } } - updateStepHeight(player); data.putBoolean("boostedJump", boostedJump); if (boostedJumpTimer > 0) boostedJumpTimer--; diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/electric/ConverterMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/electric/ConverterMachine.java index 2bf1d6ffbe..9f62034eb6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/electric/ConverterMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/electric/ConverterMachine.java @@ -1,5 +1,6 @@ package com.gregtechceu.gtceu.common.machine.electric; +import com.gregtechceu.gtceu.api.GTValues; import com.gregtechceu.gtceu.api.capability.compat.FeCompat; import com.gregtechceu.gtceu.api.gui.GuiTextures; import com.gregtechceu.gtceu.api.item.tool.GTToolType; @@ -56,6 +57,14 @@ public ConverterTrait getConverterTrait() { return (ConverterTrait) energyContainer; } + @Override + public int tintColor(int index) { + if (index == 2) { + return GTValues.VC[getTier()]; + } + return super.tintColor(index); + } + ////////////////////////////////////// // ****** Interaction ******// ////////////////////////////////////// diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DiodePartMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DiodePartMachine.java index 2c1a80dd03..826a880069 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DiodePartMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DiodePartMachine.java @@ -7,6 +7,7 @@ import com.gregtechceu.gtceu.api.machine.trait.NotifiableEnergyContainer; import com.lowdragmc.lowdraglib.LDLib; +import com.lowdragmc.lowdraglib.syncdata.annotation.DescSynced; import com.lowdragmc.lowdraglib.syncdata.annotation.Persisted; import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder; @@ -18,6 +19,8 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.phys.BlockHitResult; +import lombok.Getter; + import javax.annotation.ParametersAreNonnullByDefault; @ParametersAreNonnullByDefault @@ -32,6 +35,8 @@ public class DiodePartMachine extends TieredIOPartMachine { @Persisted protected NotifiableEnergyContainer energyContainer; + @Getter + @DescSynced @Persisted(key = "amp_mode") private int amps; @@ -76,6 +81,14 @@ protected void reinitializeEnergyContainer() { this.energyContainer.setSideOutputCondition(s -> s == getFrontFacing()); } + @Override + public int tintColor(int index) { + if (index == 2) { + return GTValues.VC[getTier()]; + } + return super.tintColor(index); + } + @Override public boolean isFacingValid(Direction facing) { return true; @@ -84,11 +97,11 @@ public boolean isFacingValid(Direction facing) { @Override protected InteractionResult onSoftMalletClick(Player playerIn, InteractionHand hand, Direction gridSide, BlockHitResult hitResult) { + cycleAmpMode(); if (getLevel().isClientSide) { scheduleRenderUpdate(); return InteractionResult.CONSUME; } - cycleAmpMode(); playerIn.sendSystemMessage(Component.translatable("gtceu.machine.diode.message", amps)); return InteractionResult.CONSUME; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java index 77a11c03ee..5f81345f7f 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java @@ -24,7 +24,6 @@ import com.lowdragmc.lowdraglib.gui.widget.ComponentPanelWidget; import com.lowdragmc.lowdraglib.gui.widget.DraggableScrollableWidgetGroup; import com.lowdragmc.lowdraglib.gui.widget.LabelWidget; -import com.lowdragmc.lowdraglib.side.fluid.FluidHelper; import net.minecraft.ChatFormatting; import net.minecraft.MethodsReturnNonnullByDefault; @@ -46,7 +45,7 @@ public class SteamParallelMultiblockMachine extends WorkableMultiblockMachine im public static final int MAX_PARALLELS = 8; // if in millibuckets, this is 0.5, Meaning 2mb of steam -> 1 EU - private static final double CONVERSION_RATE = FluidHelper.getBucket() * 2 / 1000.0D; + private static final double CONVERSION_RATE = 0.5D; public SteamParallelMultiblockMachine(IMachineBlockEntity holder, Object... args) { super(holder, args); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index 8565349992..77097d5b59 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -1090,6 +1090,7 @@ public static void init(RegistrateLangProvider provider) { provider.add("gtceu.multiblock.universal.muffler_obstructed", "Muffler Hatch is Obstructed!"); provider.add("gtceu.multiblock.universal.muffler_obstructed.tooltip", "Muffler Hatch must have a block of airspace in front of it."); + provider.add("gtceu.multiblock.universal.rotor_obstructed", "Rotor is Obstructed!"); provider.add("gtceu.multiblock.universal.distinct", "Distinct Buses:"); provider.add("gtceu.multiblock.universal.distinct.no", "No"); provider.add("gtceu.multiblock.universal.distinct.yes", "Yes"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/CustomTags.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/CustomTags.java index 354198346f..04e1d1cdc4 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/CustomTags.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/CustomTags.java @@ -90,6 +90,7 @@ public class CustomTags { }; public static final TagKey PPE_ARMOR = TagUtil.createModItemTag("ppe_armor"); + public static final TagKey STEP_BOOTS = TagUtil.createModItemTag("step_boots"); // Platform-dependent tags public static final TagKey NEEDS_WOOD_TOOL = TagUtil.createBlockTag("needs_wood_tool"); diff --git a/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java b/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java index 2842e172e3..1f85406430 100644 --- a/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java +++ b/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java @@ -29,6 +29,7 @@ import com.gregtechceu.gtceu.common.data.GTMachines; import com.gregtechceu.gtceu.common.data.machines.GTAEMachines; import com.gregtechceu.gtceu.common.item.ToggleEnergyConsumerBehavior; +import com.gregtechceu.gtceu.common.item.armor.IJetpack; import com.gregtechceu.gtceu.common.network.GTNetwork; import com.gregtechceu.gtceu.common.network.packets.*; import com.gregtechceu.gtceu.common.network.packets.hazard.SPacketAddHazardZone; @@ -38,6 +39,7 @@ import com.gregtechceu.gtceu.data.loader.BedrockFluidLoader; import com.gregtechceu.gtceu.data.loader.BedrockOreLoader; import com.gregtechceu.gtceu.data.loader.GTOreLoader; +import com.gregtechceu.gtceu.data.recipe.CustomTags; import com.gregtechceu.gtceu.utils.TaskHandler; import net.minecraft.core.Direction; @@ -62,6 +64,7 @@ import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.event.*; import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.MobSpawnEvent; import net.minecraftforge.event.entity.player.PlayerEvent; @@ -267,27 +270,41 @@ public static void onDatapackSync(OnDatapackSyncEvent event) { @SubscribeEvent(priority = EventPriority.LOW) public static void onEntityLivingFallEvent(LivingFallEvent event) { if (event.getEntity() instanceof ServerPlayer player) { - ItemStack armor = player.getItemBySlot(EquipmentSlot.FEET); - ItemStack jet = player.getItemBySlot(EquipmentSlot.CHEST); - if (player.fallDistance < 3.2f) return; - if (!armor.isEmpty() && armor.getItem() instanceof ArmorComponentItem valueItem) { - valueItem.getArmorLogic().damageArmor(player, armor, player.damageSources().fall(), + ItemStack boots = player.getItemBySlot(EquipmentSlot.FEET); + ItemStack chest = player.getItemBySlot(EquipmentSlot.CHEST); + + if (boots.is(CustomTags.STEP_BOOTS) && boots.getItem() instanceof ArmorComponentItem armor) { + armor.getArmorLogic().damageArmor(player, boots, player.damageSources().fall(), (int) (player.fallDistance - 1.2f), EquipmentSlot.FEET); player.fallDistance = 0; event.setCanceled(true); - } else if (!jet.isEmpty() && jet.getItem() instanceof ArmorComponentItem valueItem && - jet.getOrCreateTag().contains("flyMode")) { - valueItem.getArmorLogic().damageArmor(player, jet, player.damageSources().fall(), - (int) (player.fallDistance - 1.2f), EquipmentSlot.FEET); + } else if (chest.getItem() instanceof ArmorComponentItem armor && + armor.getArmorLogic() instanceof IJetpack jetpack && + jetpack.canUseEnergy(chest, jetpack.getEnergyPerUse()) && + player.fallDistance >= player.getHealth() + 3.2f) { + IJetpack.performEHover(chest, player); player.fallDistance = 0; event.setCanceled(true); } } } + @SubscribeEvent + public static void stepAssistHandler(LivingEvent.LivingTickEvent event) { + float MAGIC_STEP_HEIGHT = 1.0023f; + if (event.getEntity() == null || !(event.getEntity() instanceof Player player)) return; + if (!player.isCrouching() && player.getItemBySlot(EquipmentSlot.FEET).is(CustomTags.STEP_BOOTS)) { + if (player.getStepHeight() < MAGIC_STEP_HEIGHT) { + player.setMaxUpStep(MAGIC_STEP_HEIGHT); + } + } else if (player.getStepHeight() == MAGIC_STEP_HEIGHT) { + player.setMaxUpStep(0.6f); + } + } + @SubscribeEvent public static void onEntityDie(LivingDeathEvent event) { if (event.getEntity() instanceof Player player) { diff --git a/src/main/resources/assets/gtceu/models/block/fire_box_active.json b/src/main/resources/assets/gtceu/models/block/fire_box_active.json index 4ed27e3b6b..bb104c4559 100644 --- a/src/main/resources/assets/gtceu/models/block/fire_box_active.json +++ b/src/main/resources/assets/gtceu/models/block/fire_box_active.json @@ -9,8 +9,8 @@ }, "elements": [ { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], + "from": [-0.001, -0.001, -0.001], + "to": [ 16.001, 16.001, 16.001 ], "faces": { "up": { "texture": "#top", "cullface": "up" }, "down": { "texture": "#bottom", "cullface": "down" }, @@ -21,8 +21,8 @@ } }, { - "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], + "from": [-0.002, -0.002, -0.002], + "to": [ 16.002, 16.002, 16.002 ], "shade": false, "faces": { "north": { "texture": "#active_side", "cullface": "north", "tintindex": -101, "emissivity": 15}, diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/diode.json b/src/main/resources/assets/gtceu/models/block/machine/part/diode.json deleted file mode 100644 index 40fd7fdf62..0000000000 --- a/src/main/resources/assets/gtceu/models/block/machine/part/diode.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "overlay_energy_in_multi": "gtceu:block/overlay/machine/overlay_energy_in_multi", - "overlay_energy_out": "gtceu:block/overlay/machine/overlay_energy_out" - }, - "elements": [ - { - "from": [0, 0, 0], - "to": [16, 16, 16], - "faces": { - "north": {"texture": "#overlay_energy_in_multi", "cullface": "north", "tintindex": 2}, - "east": {"texture": "#overlay_energy_out", "cullface": "east", "tintindex": 2}, - "south": {"texture": "#overlay_energy_out", "cullface": "south", "tintindex": 2}, - "west": {"texture": "#overlay_energy_out", "cullface": "west", "tintindex": 2}, - "up": {"texture": "#overlay_energy_out", "cullface": "up", "tintindex": 2}, - "down": {"texture": "#overlay_energy_out", "cullface": "down", "tintindex": 2} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input.json index ae20f1ab35..4c70d12506 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_out_multi" + "overlay": "gtceu:block/overlay/machine/overlay_energy_2a_in", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_2a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_16a.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_16a.json index 16b34cb3b5..0408e48e59 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_16a.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_16a.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_out_ultra" + "overlay": "gtceu:block/overlay/machine/overlay_energy_16a_in", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_16a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_4a.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_4a.json index 884a82169c..bf7829f7b2 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_4a.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_4a.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_out_hi" + "overlay": "gtceu:block/overlay/machine/overlay_energy_4a_in", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_4a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_64a.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_64a.json new file mode 100644 index 0000000000..eab2b5af88 --- /dev/null +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.input_64a.json @@ -0,0 +1,7 @@ +{ + "parent": "gtceu:block/overlay/tinted/front_2", + "textures": { + "overlay": "gtceu:block/overlay/machine/overlay_energy_64a_in", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_64a_tinted" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output.json index 9c9a4a9306..f1906442ae 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_in_multi" + "overlay": "gtceu:block/overlay/machine/overlay_energy_2a_out", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_2a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_16a.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_16a.json index 6a3051263a..6755eddb8c 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_16a.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_16a.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_in_ultra" + "overlay": "gtceu:block/overlay/machine/overlay_energy_16a_out", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_16a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_4a.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_4a.json index c5fb59a5e2..049199482b 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_4a.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_4a.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_in_hi" + "overlay": "gtceu:block/overlay/machine/overlay_energy_4a_out", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_4a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_64a.json b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_64a.json new file mode 100644 index 0000000000..6c945db68d --- /dev/null +++ b/src/main/resources/assets/gtceu/models/block/machine/part/energy_hatch.output_64a.json @@ -0,0 +1,7 @@ +{ + "parent": "gtceu:block/overlay/tinted/front_2", + "textures": { + "overlay": "gtceu:block/overlay/machine/overlay_energy_64a_out", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_64a_tinted" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/hull.json b/src/main/resources/assets/gtceu/models/block/machine/part/hull.json index 294e781765..d8b4d48e68 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/hull.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/hull.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_energy_out" + "overlay": "gtceu:block/overlay/machine/overlay_energy_1a_out", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_energy_1a_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.source.json b/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.source.json index 24adad1422..c3d15d1665 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.source.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.source.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_laser_source" + "overlay": "gtceu:block/overlay/machine/overlay_laser_source", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_laser_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.target.json b/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.target.json index de007f3f42..c372e303fc 100644 --- a/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.target.json +++ b/src/main/resources/assets/gtceu/models/block/machine/part/laser_hatch.target.json @@ -1,6 +1,7 @@ { "parent": "gtceu:block/overlay/tinted/front_2", "textures": { - "overlay": "gtceu:block/overlay/machine/overlay_laser_target" + "overlay": "gtceu:block/overlay/machine/overlay_laser_target", + "overlay_tinted": "gtceu:block/overlay/machine/overlay_laser_tinted" } } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/models/block/overlay/front.json b/src/main/resources/assets/gtceu/models/block/overlay/front.json index 4fed708a12..6403eecf85 100644 --- a/src/main/resources/assets/gtceu/models/block/overlay/front.json +++ b/src/main/resources/assets/gtceu/models/block/overlay/front.json @@ -3,8 +3,8 @@ "parent": "block/block", "elements": [ { - "from": [0, 0, 0], - "to": [16, 16, 0], + "from": [-0.001, -0.001, -0.001], + "to": [16.001, 16.001, 0], "faces": { "north": {"uv": [0, 0, 16, 16], "texture": "#overlay", "cullface": "north" } } diff --git a/src/main/resources/assets/gtceu/models/block/overlay/front_emissive.json b/src/main/resources/assets/gtceu/models/block/overlay/front_emissive.json index 3257027c0b..e09f2d78bc 100644 --- a/src/main/resources/assets/gtceu/models/block/overlay/front_emissive.json +++ b/src/main/resources/assets/gtceu/models/block/overlay/front_emissive.json @@ -3,14 +3,14 @@ "parent": "block/block", "elements": [ { - "from": [0, 0, 0], + "from": [-0.001, -0.001, -0.001], "to": [16, 16, 0], "faces": { "north": {"uv": [0, 0, 16, 16], "texture": "#overlay", "cullface": "north"} } }, { - "from": [0, 0, 0], + "from": [-0.001, -0.001, -0.001], "to": [16, 16, 0], "faces": { "north": {"uv": [0, 0, 16, 16], "texture": "#overlay_emissive", "cullface": "north", "tintindex": -101, "emissivity": 15} diff --git a/src/main/resources/assets/gtceu/models/block/overlay/tinted/front_2.json b/src/main/resources/assets/gtceu/models/block/overlay/tinted/front_2.json index 62a5160411..be898cd09d 100644 --- a/src/main/resources/assets/gtceu/models/block/overlay/tinted/front_2.json +++ b/src/main/resources/assets/gtceu/models/block/overlay/tinted/front_2.json @@ -2,11 +2,18 @@ "credit": "Made with Blockbench", "parent": "block/block", "elements": [ + { + "from": [-0.001, -0.001, -0.001], + "to": [16, 16, 0], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#overlay", "cullface": "north"} + } + }, { "from": [0, 0, 0], "to": [16, 16, 0], "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#overlay", "cullface": "north", "tintindex": 2 } + "north": {"uv": [0, 0, 16, 16], "texture": "#overlay_tinted", "cullface": "north", "tintindex": 2 } } } ] diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png index 716ac0256d..7111dfdcc6 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png.mcmeta new file mode 100644 index 0000000000..42e07d2dea --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/advanced_computer_casing/back_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back_ctm.png new file mode 100644 index 0000000000..172510a670 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/back_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png index a8a7bddf0a..7a18ad192c 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png.mcmeta new file mode 100644 index 0000000000..8c187a0684 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/advanced_computer_casing/bottom_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom_ctm.png new file mode 100644 index 0000000000..172510a670 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/bottom_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png index 716ac0256d..7111dfdcc6 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png.mcmeta new file mode 100644 index 0000000000..c57c972dc1 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/advanced_computer_casing/front_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front_ctm.png new file mode 100644 index 0000000000..172510a670 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/front_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png index 716ac0256d..7111dfdcc6 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png.mcmeta new file mode 100644 index 0000000000..961092b3f9 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/advanced_computer_casing/side_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side_ctm.png new file mode 100644 index 0000000000..172510a670 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/side_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png index a8a7bddf0a..7a18ad192c 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png.mcmeta new file mode 100644 index 0000000000..7e23f5cded --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/advanced_computer_casing/top_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top_ctm.png new file mode 100644 index 0000000000..172510a670 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/advanced_computer_casing/top_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png index 46997fa276..87a412d97a 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png.mcmeta new file mode 100644 index 0000000000..5878953ae0 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_casing/back_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back_ctm.png new file mode 100644 index 0000000000..7bcf61b920 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/back_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png index 00a1020fec..33a4492f76 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png.mcmeta new file mode 100644 index 0000000000..9fb2a643fd --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_casing/bottom_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom_ctm.png new file mode 100644 index 0000000000..cd48d7b2a3 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/bottom_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png index 46997fa276..87a412d97a 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png.mcmeta new file mode 100644 index 0000000000..303678ceb2 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_casing/front_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front_ctm.png new file mode 100644 index 0000000000..7bcf61b920 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/front_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png index 46997fa276..87a412d97a 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png.mcmeta new file mode 100644 index 0000000000..cc1c5d48c5 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_casing/side_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side_ctm.png new file mode 100644 index 0000000000..7bcf61b920 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/side_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png index 00a1020fec..33a4492f76 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png.mcmeta new file mode 100644 index 0000000000..d4805c1485 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_casing/top_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top_ctm.png new file mode 100644 index 0000000000..cd48d7b2a3 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_casing/top_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png index 7ca5c68e8f..be70230cb8 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png.mcmeta new file mode 100644 index 0000000000..c50ce958d8 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_heat_vent_side_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side_ctm.png new file mode 100644 index 0000000000..f08b98ba18 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_side_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png index 25dc8bba1d..87a412d97a 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png.mcmeta new file mode 100644 index 0000000000..f41eea02b1 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "gtceu:block/casings/hpca/computer_heat_vent_top_bot_ctm" + } +} diff --git a/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot_ctm.png b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot_ctm.png new file mode 100644 index 0000000000..7bcf61b920 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/casings/hpca/computer_heat_vent_top_bot_ctm.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_in.png index 193dc483fd..fbf182e120 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_in.png and b/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_out.png index b422961111..c15db9a65c 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_out.png and b/src/main/resources/assets/gtceu/textures/block/overlay/converter/converter_native_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_in.png new file mode 100644 index 0000000000..1cc92d3ce7 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_out.png new file mode 100644 index 0000000000..52d71bab76 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_tinted.png new file mode 100644 index 0000000000..d800def7d8 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_16a_tinted.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_in.png new file mode 100644 index 0000000000..aaec9dbdb1 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_out.png new file mode 100644 index 0000000000..6c11cca4a2 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_tinted.png new file mode 100644 index 0000000000..07f10b72aa Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_1a_tinted.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_in.png new file mode 100644 index 0000000000..fc90bca6cf Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_out.png new file mode 100644 index 0000000000..926e6da05b Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_tinted.png new file mode 100644 index 0000000000..855c4662f8 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_2a_tinted.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_in.png new file mode 100644 index 0000000000..8179ea816f Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_out.png new file mode 100644 index 0000000000..b7dac1a6ed Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_tinted.png new file mode 100644 index 0000000000..d59ef29d5b Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_4a_tinted.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_in.png new file mode 100644 index 0000000000..76373056d4 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_out.png new file mode 100644 index 0000000000..1359dde1f0 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_tinted.png new file mode 100644 index 0000000000..545d107ed2 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_64a_tinted.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_in.png new file mode 100644 index 0000000000..19b2ec7dcf Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_in.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_out.png new file mode 100644 index 0000000000..4e163a18a8 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_out.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_tinted.png new file mode 100644 index 0000000000..67cba11145 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_8a_tinted.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in.png deleted file mode 100644 index b2752cf7a1..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_hi.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_hi.png deleted file mode 100644 index 03cbedd930..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_hi.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_multi.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_multi.png deleted file mode 100644 index b8a04329a1..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_multi.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_ultra.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_ultra.png deleted file mode 100644 index 62361ab28b..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_ultra.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_ultra_max.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_ultra_max.png deleted file mode 100644 index 53218e178a..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_in_ultra_max.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out.png deleted file mode 100644 index 64d90270ba..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_hi.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_hi.png deleted file mode 100644 index 9a947aaa0e..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_hi.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_max.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_max.png deleted file mode 100644 index b22d166a18..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_max.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_multi.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_multi.png deleted file mode 100644 index 42d14f3595..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_multi.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_ultra.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_ultra.png deleted file mode 100644 index 675820a3ae..0000000000 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_energy_out_ultra.png and /dev/null differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_source.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_source.png index 9b3459adb8..340d619375 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_source.png and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_source.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_target.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_target.png index f9573040bb..1616a5a576 100644 Binary files a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_target.png and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_target.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_tinted.png b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_tinted.png new file mode 100644 index 0000000000..17f89bc024 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/overlay/machine/overlay_laser_tinted.png differ