Skip to content

Commit

Permalink
Last bits of porting
Browse files Browse the repository at this point in the history
  • Loading branch information
IThundxr committed Sep 29, 2024
1 parent dfcdef6 commit 726f4a3
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.simibubi.create.content.contraptions.render;

import net.minecraft.client.renderer.ItemBlockRenderTypes;

import org.apache.commons.lang3.tuple.Pair;

import com.mojang.blaze3d.vertex.PoseStack;
Expand Down Expand Up @@ -118,15 +120,17 @@ private SuperByteBuffer buildStructureBuffer(RenderType layer) {
BlockState state = blocks.lookup().apply(pos);
if (state.getRenderShape() == RenderShape.MODEL) {
BakedModel model = dispatcher.getBlockModel(state);
ModelData modelData = contraption.modelData.getOrDefault(pos, ModelData.EMPTY);
modelData = model.getModelData(renderWorld, pos, state, modelData);
long randomSeed = state.getSeed(pos);
random.setSeed(randomSeed);
if (model.getRenderTypes(state, random, modelData).contains(layer)) {
poseStack.pushPose();
poseStack.translate(pos.getX(), pos.getY(), pos.getZ());
renderer.tesselateBlock(renderWorld, model, state, pos, poseStack, sbbBuilder, true, random, randomSeed, OverlayTexture.NO_OVERLAY, modelData, layer);
poseStack.popPose();
if (model.isVanillaAdapter()) {
if (ItemBlockRenderTypes.getChunkRenderType(state) != layer) {
model = null;
}
} else {
model = LayerFilteringBakedModel.wrap(model, layer);
}
if (model != null) {
model = shadeSeparatingWrapper.wrapModel(model);
dispatcher.getModelRenderer()
.tesselateBlock(renderWorld, model, state, pos, poseStack, sbbBuilder, true, random, state.getSeed(pos), OverlayTexture.NO_OVERLAY);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.simibubi.create.content.trains.schedule.hat;

import java.util.ArrayList;
import java.util.List;

import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.AllPartialModels;
import com.simibubi.create.content.contraptions.Contraption;
Expand Down Expand Up @@ -49,9 +52,9 @@ public void render(PoseStack ms, MultiBufferSource buffer, int light, LivingEnti
M entityModel = getParentModel();
ms.pushPose();

boolean valid = false;
var msr = TransformStack.of(ms);
float scale = 1;
TrainHatInfo info = TrainHatInfoReloadListener.getHatInfoFor(entity.getType());
List<ModelPart> partsToHead = new ArrayList<>();

if (entityModel instanceof AgeableListModel<?> model && entityModel instanceof io.github.fabricators_of_create.porting_lib.mixin.accessors.client.accessor.AgeableListModelAccessor access) {
if (model.young) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -428,18 +428,17 @@ private SuperByteBuffer buildStructureBuffer(PonderWorld world, RenderType layer

if (state.getRenderShape() == RenderShape.MODEL) {
BakedModel model = dispatcher.getBlockModel(state);
BlockEntity blockEntity = world.getBlockEntity(pos);
ModelData modelData = blockEntity != null ? blockEntity.getModelData() : ModelData.EMPTY;
modelData = model.getModelData(world, pos, state, modelData);
long seed = state.getSeed(pos);
random.setSeed(seed);

if (model.getRenderTypes(state, random, modelData).contains(layer)) {
poseStack.pushPose();
poseStack.translate(pos.getX(), pos.getY(), pos.getZ());
renderer.tesselateBlock(world, model, state, pos, poseStack, sbbBuilder, true,
random, seed, OverlayTexture.NO_OVERLAY, modelData, layer);
poseStack.popPose();
if (model.isVanillaAdapter()) {
if (ItemBlockRenderTypes.getChunkRenderType(state) != layer) {
model = null;
}
} else {
model = LayerFilteringBakedModel.wrap(model, layer);
}
if (model != null) {
model = shadeSeparatingWrapper.wrapModel(model);
dispatcher.getModelRenderer()
.tesselateBlock(world, model, state, pos, poseStack, sbbBuilder, true, random, state.getSeed(pos), OverlayTexture.NO_OVERLAY);
}
}
});
Expand Down

0 comments on commit 726f4a3

Please sign in to comment.