diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderTypes.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderTypes.java index 591fbbdd6..d30188560 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderTypes.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderTypes.java @@ -25,6 +25,7 @@ public class RenderTypes extends RenderType { .setOutputState(MAIN_TARGET) .setLightmapState(RenderStateShard.LIGHTMAP) .setCullState(RenderStateShard.NO_CULL) - .setShaderState(RenderStateShard.POSITION_COLOR_TEX_LIGHTMAP_SHADER) + .setShaderState(RenderStateShard.POSITION_COLOR_SHADER) .createCompositeState(true)); + } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/particle/ParticleBeam.java b/src/main/java/de/ellpeck/actuallyadditions/mod/particle/ParticleBeam.java index 664aeff31..d086a2fd7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/particle/ParticleBeam.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/particle/ParticleBeam.java @@ -38,7 +38,7 @@ public class ParticleBeam extends Particle { RenderSystem.disableCull(); RenderSystem.enableBlend(); RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE); - return tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); + return tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); } @Override @@ -100,7 +100,7 @@ public class ParticleBeam extends Particle { public static ParticleOptions createData(double endX, double endY, double endZ, int color, float alpha, int maxAge, double rotationTime, float size) { - return new BeamParticleData(endX, endY, endZ, color, maxAge, rotationTime, size); + return new BeamParticleData(endX, endY, endZ, FastColor.ARGB32.color((int)(alpha * 255F), color), maxAge, rotationTime, size); } } } 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 fcaa8b9d5..c770ee83a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/AssetUtil.java @@ -26,7 +26,6 @@ import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.renderer.texture.TextureAtlas; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.BlockPos; @@ -234,9 +233,9 @@ public final class AssetUtil { int g = (color >> 8) & 0xFF; int b = color & 0xFF; int a = (int) (alpha * 255);*/ - int r = (int)(((color >> 16) & 0xFF) * alpha); - int g = (int)(((color >> 8) & 0xFF) * alpha); - int b = (int)((color & 0xFF) * alpha); + int r = (int)(((color >> 16) & 0xFF) * alpha * 0.4F); + int g = (int)(((color >> 8) & 0xFF) * alpha * 0.4F); + int b = (int)((color & 0xFF) * alpha * 0.4F); int a = 255; int lightmap = LightTexture.pack(MAX_LIGHT_X, MAX_LIGHT_Y); @@ -254,35 +253,29 @@ public final class AssetUtil { Matrix4f matrix = matrixStack.last().pose(); - TextureAtlasSprite sprite = Minecraft.getInstance().getTextureAtlas(TextureAtlas.LOCATION_BLOCKS).apply(FORGE_WHITE); - float minU = sprite.getU0(); - float maxU = sprite.getU1(); - float minV = sprite.getV0(); - float maxV = sprite.getV1(); - //Draw laser tube faces for (int i = 1; i < 4; i++) { float width = beamWidth * (i / 4.0f); //top - builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a).setUv(minU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a).setUv(maxU, minV).setLight(lightmap); - builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); + builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a).setLight(lightmap); //bottom - builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a).setUv(minU, maxV).setLight(lightmap); - builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); - builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a).setUv(maxU, minV).setLight(lightmap); - builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); + builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a).setLight(lightmap); //left - builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); - builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); + builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a).setLight(lightmap); //right - builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); - builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); + builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a).setLight(lightmap); + builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a).setLight(lightmap); } @@ -334,37 +327,31 @@ public final class AssetUtil { Matrix4f matrix = matrixStack.last().pose(); - RenderSystem.setShader(GameRenderer::getPositionColorLightmapShader); - - TextureAtlasSprite sprite = Minecraft.getInstance().getTextureAtlas(TextureAtlas.LOCATION_BLOCKS).apply(FORGE_WHITE); - float minU = sprite.getU0(); - float maxU = sprite.getU1(); - float minV = sprite.getV0(); - float maxV = sprite.getV1(); + RenderSystem.setShader(GameRenderer::getPositionColorShader); //Draw laser tube faces for (int i = 1; i < 4; i++) { float width = beamWidth * (i / 4.0f); //top - builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a).setUv(minU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a).setUv(maxU, minV).setLight(lightmap); - builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); + builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a); + builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a); //bottom - builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a).setUv(minU, maxV).setLight(lightmap); - builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); - builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a).setUv(maxU, minV).setLight(lightmap); - builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); + builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a); + builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a); + builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a); //left - builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); - builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); + builder.addVertex(matrix, -width, width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, -width, -width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, -width, -width, -length).setColor(r, g, b, a); + builder.addVertex(matrix, -width, width, -length).setColor(r, g, b, a); //right - builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a).setUv(maxU, maxV).setLight(lightmap); - builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); - builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a).setUv(minU, minV).setLight(lightmap); + builder.addVertex(matrix, width, width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, width, -width, 0.0f).setColor(r, g, b, a); + builder.addVertex(matrix, width, -width, -length).setColor(r, g, b, a); + builder.addVertex(matrix, width, width, -length).setColor(r, g, b, a); } matrixStack.popPose();