Skip to content

Commit

Permalink
Removed Emblems
Browse files Browse the repository at this point in the history
  • Loading branch information
Edivad99 committed Aug 21, 2023
1 parent 06319d7 commit b4313dc
Show file tree
Hide file tree
Showing 11 changed files with 14 additions and 224 deletions.
3 changes: 0 additions & 3 deletions src/main/java/mods/railcraft/client/ClientManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import mods.railcraft.Translations;
import mods.railcraft.api.signal.SignalAspect;
import mods.railcraft.api.signal.SignalUtil;
import mods.railcraft.client.emblem.EmblemClientUtil;
import mods.railcraft.client.emblem.EmblemPackageManagerImpl;
import mods.railcraft.client.gui.screen.inventory.BlastFurnaceScreen;
import mods.railcraft.client.gui.screen.inventory.CartDispenserScreen;
import mods.railcraft.client.gui.screen.inventory.CokeOvenScreen;
Expand Down Expand Up @@ -86,7 +84,6 @@ public static void init(IEventBus modEventBus) {

shuntingAuraRenderer = new ShuntingAuraRenderer();
SignalUtil._setTuningAuraHandler(new TuningAuraHandlerImpl());
EmblemClientUtil._setPackageManager(new EmblemPackageManagerImpl());
}

public static ShuntingAuraRenderer getShuntingAuraRenderer() {
Expand Down
5 changes: 0 additions & 5 deletions src/main/java/mods/railcraft/client/emblem/Emblem.java

This file was deleted.

35 changes: 0 additions & 35 deletions src/main/java/mods/railcraft/client/emblem/EmblemClientUtil.java

This file was deleted.

10 changes: 0 additions & 10 deletions src/main/java/mods/railcraft/client/emblem/EmblemItemRenderer.java

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package mods.railcraft.client.renderer.entity.cart;

import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import mods.railcraft.Railcraft;
import mods.railcraft.season.Seasons;
import mods.railcraft.world.entity.vehicle.locomotive.Locomotive;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
Expand All @@ -19,15 +17,11 @@ public class DefaultLocomotiveRenderer extends LocomotiveRenderer<Locomotive> {
private final EntityModel<? super Locomotive> snowLayer;
private final ResourceLocation[] textures;
private final float[][] color = new float[3][];
private float emblemSize = 0.15F;
private float emblemOffsetX = 0.47F;
private float emblemOffsetY = -0.17F;
private float emblemOffsetZ = -0.515F;

public DefaultLocomotiveRenderer(EntityRendererProvider.Context context, String modelTag,
EntityModel<? super Locomotive> model,
EntityModel<? super Locomotive> snowLayer) {
// Notice: do NOT remove the .png on these ones, they are needed.
// Notice: do NOT remove the .png on these, they are needed.
this(context, modelTag, model, snowLayer, new ResourceLocation[] {
new ResourceLocation(Railcraft.ID,
"textures/entity/locomotive/" + modelTag + "/primary.png"),
Expand All @@ -51,13 +45,6 @@ public DefaultLocomotiveRenderer(EntityRendererProvider.Context context, String
this.color[2] = new float[] {1.0F, 1.0F, 1.0F};
}

public void setEmblemPosition(float size, float offsetX, float offsetY, float offsetZ) {
this.emblemSize = size;
this.emblemOffsetX = offsetX;
this.emblemOffsetY = offsetY;
this.emblemOffsetZ = offsetZ;
}

@Override
public void renderBody(Locomotive cart, float time, PoseStack poseStack,
MultiBufferSource renderTypeBuffer, int packedLight, float red, float green, float blue,
Expand All @@ -72,57 +59,22 @@ public void renderBody(Locomotive cart, float time, PoseStack poseStack,
for (int pass = 0; pass < 3; pass++) {
float[] color = this.color[pass];
this.model.setupAnim(cart, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F);
VertexConsumer vertexBuilder =
renderTypeBuffer.getBuffer(this.model.renderType(this.textures[pass]));
var vertexBuilder = renderTypeBuffer.getBuffer(this.model.renderType(this.textures[pass]));
this.model.renderToBuffer(poseStack, vertexBuilder, packedLight, OverlayTexture.NO_OVERLAY,
color[0], color[1], color[2], alpha);
}

if (Seasons.isPolarExpress(cart)) {
this.snowLayer.setupAnim(cart, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F);
VertexConsumer vertexBuilder =
renderTypeBuffer.getBuffer(this.snowLayer.renderType(this.textures[3]));
var vertexBuilder = renderTypeBuffer.getBuffer(this.snowLayer.renderType(this.textures[3]));
this.snowLayer.renderToBuffer(poseStack, vertexBuilder, packedLight,
OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F);
}

this.getEmblemTexture(cart).ifPresent(emblemTexture -> {

VertexConsumer vertexBuilder =
renderTypeBuffer.getBuffer(RenderType.entityTranslucent(emblemTexture));

// float size = 0.22F;
// float offsetX = -0.25F;
// float offsetY = -0.25F;
// float offsetZ = -0.46F;
// TODO: Test this!


vertexBuilder.vertex(emblemOffsetX - emblemSize, emblemOffsetY - emblemSize, emblemOffsetZ)
.uv(0, 0).endVertex();
vertexBuilder.vertex(emblemOffsetX - emblemSize, emblemOffsetY + emblemSize, emblemOffsetZ)
.uv(0, 1).endVertex();
vertexBuilder.vertex(emblemOffsetX + emblemSize, emblemOffsetY + emblemSize, emblemOffsetZ)
.uv(1, 1).endVertex();
vertexBuilder.vertex(emblemOffsetX + emblemSize, emblemOffsetY + -emblemSize, emblemOffsetZ)
.uv(1, 0).endVertex();

vertexBuilder.vertex(emblemOffsetX + emblemSize, emblemOffsetY + -emblemSize, -emblemOffsetZ)
.uv(0, 0).endVertex();
vertexBuilder.vertex(emblemOffsetX + emblemSize, emblemOffsetY + emblemSize, -emblemOffsetZ)
.uv(0, 1).endVertex();
vertexBuilder.vertex(emblemOffsetX - emblemSize, emblemOffsetY + emblemSize, -emblemOffsetZ)
.uv(1, 1).endVertex();
vertexBuilder.vertex(emblemOffsetX - emblemSize, emblemOffsetY - emblemSize, -emblemOffsetZ)
.uv(1, 0).endVertex();

});
// OpenGL.glDisable(GL11.GL_BLEND);
poseStack.popPose();
}

@Override
public ResourceLocation getTextureLocation(Locomotive loco) {
public ResourceLocation getTextureLocation(Locomotive locomotive) {
throw new IllegalStateException();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,33 +33,26 @@ public ElectricLocomotiveRenderer(EntityRendererProvider.Context context) {
"textures/entity/locomotive/" + modelTag + "/lamp_on.png");
this.lampTextureOff = new ResourceLocation(Railcraft.ID,
"textures/entity/locomotive/" + modelTag + "/lamp_off.png");
this.setEmblemPosition(0.2F, -0.03F, -0.41F, -0.505F);
}

@Override
public void renderBody(Locomotive cart, float time, PoseStack poseStack,
MultiBufferSource renderTypeBuffer, int packedLight, float red, float green, float blue,
float alpha) {
super.renderBody(cart, time, poseStack, renderTypeBuffer, packedLight, red, green, blue,
alpha);
super.renderBody(cart, time, poseStack, renderTypeBuffer, packedLight, red, green, blue, alpha);
poseStack.pushPose();
{
poseStack.scale(-1, -1, 1);
poseStack.translate(0.05F, 0.0F, 0.0F);
poseStack.scale(-1, -1, 1);
poseStack.translate(0.05F, 0.0F, 0.0F);

boolean bright = ((Locomotive) cart).getMode() == Locomotive.Mode.RUNNING;
boolean bright = cart.getMode() == Locomotive.Mode.RUNNING;

VertexConsumer vertexBuilder = bright
? renderTypeBuffer.getBuffer(this.lampModel.renderType(this.lampTextureOn))
: renderTypeBuffer.getBuffer(this.lampModel.renderType(this.lampTextureOff));
VertexConsumer vertexBuilder = bright
? renderTypeBuffer.getBuffer(this.lampModel.renderType(this.lampTextureOn))
: renderTypeBuffer.getBuffer(this.lampModel.renderType(this.lampTextureOff));

this.lampModel.renderToBuffer(poseStack, vertexBuilder,
bright ? RenderUtil.FULL_LIGHT : packedLight, OverlayTexture.NO_OVERLAY,
red, green, blue, alpha);

}
this.lampModel.renderToBuffer(poseStack, vertexBuilder,
bright ? RenderUtil.FULL_LIGHT : packedLight, OverlayTexture.NO_OVERLAY,
red, green, blue, alpha);
poseStack.popPose();
}


}
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
package mods.railcraft.client.renderer.entity.cart;

import java.util.Optional;
import mods.railcraft.client.emblem.EmblemClientUtil;
import mods.railcraft.season.Seasons;
import mods.railcraft.world.entity.vehicle.locomotive.Locomotive;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.DyeColor;

public abstract class LocomotiveRenderer<T extends Locomotive>
Expand All @@ -26,9 +23,4 @@ protected float[] getSecondaryColor(T loco) {
? DyeColor.LIGHT_GRAY.getTextureDiffuseColors()
: loco.getSecondaryColor();
}

protected Optional<ResourceLocation> getEmblemTexture(T loco) {
return loco.getEmblem()
.map(EmblemClientUtil.packageManager()::getEmblemTextureLocation);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,6 @@ public abstract class Locomotive extends RailcraftMinecart implements
SynchedEntityData.defineId(Locomotive.class, EntityDataSerializers.INT);
private static final EntityDataAccessor<Integer> SECONDARY_COLOR =
SynchedEntityData.defineId(Locomotive.class, EntityDataSerializers.INT);
private static final EntityDataAccessor<String> EMBLEM =
SynchedEntityData.defineId(Locomotive.class, EntityDataSerializers.STRING);
private static final EntityDataAccessor<String> DESTINATION =
SynchedEntityData.defineId(Locomotive.class, EntityDataSerializers.STRING);
private static final EntityDataAccessor<Optional<GameProfile>> OWNER =
Expand Down Expand Up @@ -128,7 +126,6 @@ protected void defineSynchedData() {
this.entityData.define(SPEED, (byte) Speed.NORMAL.ordinal());
this.entityData.define(LOCK, (byte) Lock.UNLOCKED.ordinal());
this.entityData.define(REVERSE, false);
this.entityData.define(EMBLEM, "");
this.entityData.define(DESTINATION, "");
this.entityData.define(OWNER, Optional.empty());
}
Expand Down Expand Up @@ -163,10 +160,6 @@ protected void loadFromItemStack(ItemStack itemStack) {
if (tag.contains("lock", Tag.TAG_STRING)) {
Lock.getByName(tag.getString("lock")).ifPresent(this::setLock);
}

if (tag.contains("emblem", Tag.TAG_STRING)) {
this.setEmblem(tag.getString("emblem"));
}
}

@Override
Expand Down Expand Up @@ -215,7 +208,6 @@ public ItemStack getPickResult() {
LocomotiveItem.setItemColorData(itemStack,
this.getPrimaryDyeColor(), this.getSecondaryDyeColor());
LocomotiveItem.setItemWhistleData(itemStack, this.whistlePitch);
this.getEmblem().ifPresent(emblem -> LocomotiveItem.setEmblem(itemStack, emblem));
if (this.hasCustomName()) {
itemStack.setHoverName(this.getCustomName());
}
Expand Down Expand Up @@ -292,19 +284,6 @@ public void setLock(Lock lock) {
this.entityData.set(LOCK, (byte) lock.ordinal());
}

public Optional<String> getEmblem() {
var value = this.getEntityData().get(EMBLEM);
return value.isEmpty() ? Optional.empty() : Optional.of(value);
}

public void setEmblem(@Nullable String emblem) {
if (getEmblem().isEmpty()) {
this.getEntityData().set(EMBLEM, emblem);
} else if (!getEmblem().get().equals(emblem)) {
this.getEntityData().set(EMBLEM, emblem);
}
}

/**
* Gets the destination ticket item.
*/
Expand Down Expand Up @@ -727,8 +706,6 @@ public void addAdditionalSaveData(CompoundTag tag) {

tag.putBoolean("flipped", this.flipped);

this.getEmblem().ifPresent(emblem -> tag.putString("emblem", emblem));

tag.putString("dest", StringUtils.defaultIfBlank(getDestination(), ""));

tag.putString("mode", this.getMode().getSerializedName());
Expand All @@ -755,8 +732,6 @@ public void readAdditionalSaveData(CompoundTag tag) {

this.flipped = tag.getBoolean("flipped");

this.setEmblem(tag.getString("emblem"));

this.setDestination(tag.getString("dest"));

this.setMode(Mode.getByName(tag.getString("mode")).orElse(Mode.IDLE));
Expand Down

0 comments on commit b4313dc

Please sign in to comment.