|
2 | 2 |
|
3 | 3 | import de.dafuqs.spectrum.*;
|
4 | 4 | import de.dafuqs.spectrum.api.pastel.*;
|
| 5 | +import de.dafuqs.spectrum.blocks.pastel_network.*; |
| 6 | +import de.dafuqs.spectrum.blocks.pastel_network.network.*; |
5 | 7 | import de.dafuqs.spectrum.helpers.*;
|
| 8 | +import de.dafuqs.spectrum.helpers.ColorHelper; |
6 | 9 | import de.dafuqs.spectrum.registries.*;
|
7 | 10 | import net.minecraft.client.*;
|
8 | 11 | import net.minecraft.client.model.*;
|
@@ -135,17 +138,35 @@ public void render(PastelNodeBlockEntity node, float tickDelta, MatrixStack matr
|
135 | 138 | } else {
|
136 | 139 | matrices.multiply(RotationAxis.POSITIVE_Y.rotation(node.crystalRotation));
|
137 | 140 | }
|
| 141 | + |
| 142 | + var color = ColorHelper.colorIntToVec(node.networkUUID.flatMap(id -> Pastel.getClientInstance().getNetwork(id)).map(PastelNetwork::getColor).orElse(0xFFFFFF)); |
| 143 | + color = ColorHelper.colorIntToVec(ColorHelper.interpolate(color, ColorHelper.WASH, 0.2125F)); |
138 | 144 |
|
139 | 145 | var ringHeight = node.crystalHeight - 0.3F;
|
140 | 146 | var innerRing = vertexConsumers.getBuffer(RenderLayer.getEntityTranslucent(node.getInnerRing().map(PastelUpgradeSignature::innerRing).orElse(INNER_RING)));
|
141 |
| - RenderHelper.renderFlatTransWithZYOffset(matrices, innerRing, true, 3.75F + ringHeight / 2F, 7F, node.ringAlpha, 1F, overlay); |
| 147 | + if (node.getInnerRing().isPresent()) { |
| 148 | + RenderHelper.renderFlatTransWithZYOffset(matrices, innerRing, true, 3.75F + ringHeight / 2F, 7F, node.ringAlpha, 1F, overlay); |
| 149 | + } |
| 150 | + else { |
| 151 | + RenderHelper.renderFlatTransWithZYOffsetAndColor(matrices, innerRing, true, 3.75F + ringHeight / 2F, 7F, node.ringAlpha, 1F, overlay, color.x, color.y, color.z); |
| 152 | + } |
142 | 153 |
|
143 | 154 | var redstoneRing = vertexConsumers.getBuffer(RenderLayer.getEntityTranslucent(node.getRedstoneRing().map(PastelUpgradeSignature::outerRing).orElse(REDSTONE_RING)));
|
144 |
| - RenderHelper.renderFlatTransWithZYOffset(matrices, redstoneRing, true, 5F + ringHeight, 15F, node.ringAlpha * node.getRedstoneAlphaMult(), 1F, overlay); |
| 155 | + if (node.getRedstoneRing().isPresent()) { |
| 156 | + RenderHelper.renderFlatTransWithZYOffset(matrices, redstoneRing, true, 5F + ringHeight, 15F, node.ringAlpha * node.getRedstoneAlphaMult(), 1F, overlay); |
| 157 | + } |
| 158 | + else { |
| 159 | + RenderHelper.renderFlatTransWithZYOffsetAndColor(matrices, redstoneRing, true, 5F + ringHeight, 15F, node.ringAlpha * node.getRedstoneAlphaMult(), 1F, overlay, color.x, color.y, color.z); |
| 160 | + } |
145 | 161 |
|
146 | 162 | if (crystal.hasOuterRing()) {
|
147 | 163 | var outerRing = vertexConsumers.getBuffer(RenderLayer.getEntityTranslucent(node.getOuterRing().map(PastelUpgradeSignature::outerRing).orElse(OUTER_RING)));
|
148 |
| - RenderHelper.renderFlatTransWithZYOffset(matrices, outerRing, true, 5.75F + ringHeight * 2, 11F, node.ringAlpha, 1F, overlay); |
| 164 | + if (node.getOuterRing().isPresent()) { |
| 165 | + RenderHelper.renderFlatTransWithZYOffset(matrices, outerRing, true, 5.75F + ringHeight * 2, 11F, node.ringAlpha, 1F, overlay); |
| 166 | + } |
| 167 | + else { |
| 168 | + RenderHelper.renderFlatTransWithZYOffsetAndColor(matrices, outerRing, true, 5.75F + ringHeight * 2, 11F, node.ringAlpha, 1F, overlay, color.x, color.y, color.z); |
| 169 | + } |
149 | 170 | }
|
150 | 171 |
|
151 | 172 | matrices.translate(0.0, node.crystalHeight + crystal.yOffset, 0.0);
|
|
0 commit comments