diff options
| author | BucketBrigade <138534411+CookieBrigade@users.noreply.github.com> | 2024-09-13 18:00:19 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-14 01:00:19 +0200 |
| commit | e7a32141309838050e533e8fd422f7773e0d465c (patch) | |
| tree | c3b302130d85d34f3e311ff798d05ecbebdeb598 /src/main/java/goodgenerator/blocks/tileEntity | |
| parent | 82793acd17f82173fbd06f663d6a01a7e9e306d2 (diff) | |
| download | GT5-Unofficial-e7a32141309838050e533e8fd422f7773e0d465c.tar.gz GT5-Unofficial-e7a32141309838050e533e8fd422f7773e0d465c.tar.bz2 GT5-Unofficial-e7a32141309838050e533e8fd422f7773e0d465c.zip | |
Antimatter Finishing touches (#3181)
Diffstat (limited to 'src/main/java/goodgenerator/blocks/tileEntity')
| -rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java | 45 | ||||
| -rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/render/TileAntimatter.java | 8 |
2 files changed, 25 insertions, 28 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java b/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java index 8f5b522d3c..0fa1a539f3 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java @@ -107,6 +107,8 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo private long guiPassiveEnergy = 0; private long guiActiveEnergy = 0; + private boolean canRender = false; + private List<AntimatterOutputHatch> amOutputHatches = new ArrayList<>(16); private static final ClassValue<IStructureDefinition<AntimatterForge>> STRUCTURE_DEFINITION = new ClassValue<IStructureDefinition<AntimatterForge>>() { @@ -183,7 +185,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo .addInfo(EnumChatFormatting.LIGHT_PURPLE + "Dimensions not included!" + EnumChatFormatting.GRAY) .addInfo("Converts protomatter into antimatter") .addInfo( - "Consumes 10 000 000 + (" + EnumChatFormatting.DARK_BLUE + "Consumes 10 000 000 + (" + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + " * " @@ -194,7 +196,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo + EnumChatFormatting.GRAY + " EU/t passively. The consumption decays by 0.5% every tick when empty") .addInfo( - "Uses (" + EnumChatFormatting.DARK_BLUE + "Uses (" + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + " * " @@ -216,7 +218,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo + "10% of antimatter will be voided!" + EnumChatFormatting.GRAY) .addInfo( - "Produces (" + EnumChatFormatting.DARK_BLUE + "Produces (" + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + "^" @@ -228,14 +230,14 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo + String.valueOf(this.baseSkew) + EnumChatFormatting.GRAY + ", 1) of antimatter per cycle, consuming equal amounts of Protomatter") - .addInfo("The change can be negative! (N = Skewed Normal Distribution)") + .addInfo("The change can be negative! (N = Normal Distribution with mean of 0.2)") .addSeparator() .addInfo("Can be supplied with stabilization fluids to improve antimatter generation") .addInfo( EnumChatFormatting.GREEN + "Magnetic Stabilization" + EnumChatFormatting.GRAY + " (Uses " - + EnumChatFormatting.DARK_BLUE + + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + "^0.5 per cycle)") @@ -251,7 +253,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo EnumChatFormatting.DARK_PURPLE + "Gravity Stabilization" + EnumChatFormatting.GRAY + " (Uses " - + EnumChatFormatting.DARK_BLUE + + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + "^0.5 per cycle)") @@ -271,7 +273,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo EnumChatFormatting.GOLD + "Containment Stabilization" + EnumChatFormatting.GRAY + " (Uses " - + EnumChatFormatting.DARK_BLUE + + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + "^(2/7) per operation)") @@ -285,7 +287,7 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo EnumChatFormatting.AQUA + "Activation Stabilization" + EnumChatFormatting.GRAY + " (Uses " - + EnumChatFormatting.DARK_BLUE + + EnumChatFormatting.DARK_AQUA + "Antimatter" + EnumChatFormatting.GRAY + "^(1/3) per operation)") @@ -298,7 +300,6 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo + "+0.10" + EnumChatFormatting.GRAY) .addSeparator() - .addSeparator() .addCasingInfoMin("Antimatter Containment Casing", 512, false) .addCasingInfoMin("Magnetic Flux Casing", 2274, false) .addCasingInfoMin("Gravity Stabilization Casing", 623, false) @@ -886,22 +887,26 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo } public void updateAntimatterSize(float antimatterAmount) { - TileAntimatter render = forceGetAntimatterRender(); - - if (antimatterAmount < 0) { - setProtoRender(false); - render.setCoreSize(0); + if (antimatterAmount <= 0) { + destroyAntimatterRender(); return; } + TileAntimatter render = getAntimatterRender(); + if (render == null) { + createAntimatterRender(); + render = getAntimatterRender(); + } + float size = (float) Math.pow(antimatterAmount, 0.17); render.setCoreSize(size); } public void setProtoRender(boolean flag) { - TileAntimatter render = forceGetAntimatterRender(); + TileAntimatter render = getAntimatterRender(); + if (render == null) return; render.setProtomatterRender(flag); - if (flag) render.setRotationFields(getRotation(), getDirection()); + render.setRotationFields(getRotation(), getDirection()); } public TileAntimatter getAntimatterRender() { @@ -973,12 +978,4 @@ public class AntimatterForge extends MTEExtendedPowerMultiBlockBase<AntimatterFo world.setBlock(wX, wY, wZ, Blocks.air); world.setBlock(wX, wY, wZ, Loaders.antimatterRenderBlock); } - - public TileAntimatter forceGetAntimatterRender() { - TileAntimatter render = getAntimatterRender(); - if (render != null) return render; - else createAntimatterRender(); - return getAntimatterRender(); - } - } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/render/TileAntimatter.java b/src/main/java/goodgenerator/blocks/tileEntity/render/TileAntimatter.java index 8e2027b36d..13494f9234 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/render/TileAntimatter.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/render/TileAntimatter.java @@ -16,9 +16,9 @@ public class TileAntimatter extends TileEntity { public boolean shouldRender = true; // Antimatter Core settings - public static final float spikeR = 0.82f, spikeG = 0.92f, spikeB = 1f; - public static final float coreR = 0.43f, coreG = 0.40f, coreB = 1f; - public static final float maximalRadius = 9; // Includes core radius + spike length + public static final float spikeR = 0.153f, spikeG = 0.435f, spikeB = 1f; + public static final float coreR = 0.435f, coreG = 0.718f, coreB = 1f; + public static final float maximalRadius = 7; // Includes core radius + spike length // Due to being partially managed by a global timer, rotationSpeedMultiplier shouldn't change // Otherwise it'll cause a snapping effect public final float rotationSpeedMultiplier = 1; @@ -27,7 +27,7 @@ public class TileAntimatter extends TileEntity { public float coreScaleSnapshot = 1f; public final float coreScaleTransitionTime = 2.5f; public float timeSnapshot; - public float spikeFactor = 1f; + public float spikeFactor = .01f; // Protomatter Settings public static float protoSpiralMaxRadius = .5f; |
