From 011834c732a43a81f488b569a45036b074df0000 Mon Sep 17 00:00:00 2001 From: Flanks255 <32142731+Flanks255@users.noreply.github.com> Date: Wed, 27 Jul 2022 13:06:26 -0500 Subject: [PATCH] Colorful lasers --- .../api/internal/IAtomicReconstructor.java | 1 + .../mod/blocks/render/ReconstructorRenderer.java | 3 ++- .../mod/tile/TileEntityAtomicReconstructor.java | 11 +++++++++++ .../ellpeck/actuallyadditions/mod/util/AssetUtil.java | 3 ++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java index 202fa09bf..aefa0ec0b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/internal/IAtomicReconstructor.java @@ -26,5 +26,6 @@ public interface IAtomicReconstructor extends IEnergyTile { Direction getOrientation(); void resetBeam(int maxAge); + void resetBeam(int maxAge, int color); int getTTL(); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/ReconstructorRenderer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/ReconstructorRenderer.java index e38e8f3cc..e86b21708 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/ReconstructorRenderer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/ReconstructorRenderer.java @@ -40,6 +40,7 @@ public class ReconstructorRenderer extends TileEntityRenderer 0) { - AssetUtil.renderLaser(matrices, buffer, 0, 0, 0, rot, pitch, 5, 0, 0x1b6dff, 0.8f * tile.getProgress(), 0.2f); + AssetUtil.renderLaser(matrices, buffer, 0, 0, 0, rot, pitch, 5, 0, color, 0.8f * tile.getProgress(), 0.2f); tile.decTTL(); } if (stack.isEmpty() || !(stack.getItem() instanceof ILensItem)) { diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java index 0476770be..a2269fe19 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityAtomicReconstructor.java @@ -41,6 +41,7 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple private int oldEnergy; private int ttl = 0; private int maxAge = 0; + private int beamColor = 0x1b6dff; public TileEntityAtomicReconstructor() { super(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.getTileEntityType(), 1); @@ -62,8 +63,18 @@ public class TileEntityAtomicReconstructor extends TileEntityInventoryBase imple @Override public void resetBeam(int maxAge) { + this.resetBeam(maxAge, 0x1b6dff); + } + + @Override + public void resetBeam(int maxAge, int color) { this.ttl = maxAge; this.maxAge = maxAge; + this.beamColor = color; + } + + public int getBeamColor() { + return this.beamColor; } public float getProgress(){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java index 62fc1f407..84dbd06bc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java @@ -230,7 +230,7 @@ public final class AssetUtil { Minecraft mc = Minecraft.getInstance(); TileEntity tile = mc.level.getBlockEntity(new BlockPos(startX, startY, startZ)); if(tile instanceof TileEntityAtomicReconstructor) - ((TileEntityAtomicReconstructor) tile).resetBeam(maxAge); + ((TileEntityAtomicReconstructor) tile).resetBeam(maxAge, color); /* if (mc.player.distanceToSqr(startX, startY, startZ) <= 64 || mc.player.distanceToSqr(endX, endY, endZ) <= 64) { @@ -251,6 +251,7 @@ public final class AssetUtil { int g = (color >> 8) & 0xFF; int b = color & 0xFF; int a = (int) (alpha * 255); + ActuallyAdditions.LOGGER.info("Laser: " + a); int lightmap = LightTexture.pack(MAX_LIGHT_X, MAX_LIGHT_Y);