Compare commits

...

3 commits

Author SHA1 Message Date
Mrbysco
de635bb709 Remove unused vertex attributes from laser 2024-11-05 20:43:43 +01:00
Mrbysco
5fb22fa63c Remove iris/sodium from runtime
If needing testing can always throw the jars in the mods folder
2024-11-05 19:34:09 +01:00
Mrbysco
7fb62cb859 Fix particle vertex format (Fixes the color)
Fix alpha not being fed to the color int provided to the ParticleBeam
2024-11-05 19:32:29 +01:00
3 changed files with 34 additions and 53 deletions

View file

@ -94,9 +94,6 @@ repositories {
includeGroup "curse.maven"
}
}
maven {
url = "https://api.modrinth.com/maven"
}
maven { url = 'https://maven.octo-studios.com/releases' }
}
@ -113,8 +110,6 @@ dependencies {
localRuntime "curse.maven:jade-324717:5803666"
localRuntime "curse.maven:mekanism-268560:5680395"
localRuntime "maven.modrinth:sodium:mc1.21.1-0.6.0-beta.4-neoforge"
localRuntime "curse.maven:irisshaders-455508:5873114"
// Immersive Engineering, mainly for compat datagen
localRuntime "curse.maven:ie-231951:5828000"

View file

@ -37,9 +37,8 @@ public class ParticleBeam extends Particle {
public BufferBuilder begin(Tesselator tesselator, TextureManager textureManager) {
RenderSystem.disableCull();
RenderSystem.enableBlend();
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 0.2F);
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
@ -101,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);
}
}
}

View file

@ -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;
@ -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);
}
@ -336,35 +329,29 @@ public final class AssetUtil {
RenderSystem.setShader(GameRenderer::getPositionColorShader);
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);
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();