mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
Merge branch 'mc1.20.1/feature-dev' into mc1.21.1/dev
# Conflicts: # src/main/java/com/simibubi/create/content/fluids/PipeAttachmentModel.java
This commit is contained in:
commit
ab2eab05f8
1 changed files with 20 additions and 8 deletions
|
@ -16,7 +16,6 @@ import com.simibubi.create.foundation.model.BakedModelWrapperWithData;
|
||||||
|
|
||||||
import net.createmod.catnip.data.Iterate;
|
import net.createmod.catnip.data.Iterate;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||||
import net.minecraft.client.resources.model.BakedModel;
|
import net.minecraft.client.resources.model.BakedModel;
|
||||||
|
@ -25,6 +24,7 @@ import net.minecraft.core.Direction;
|
||||||
import net.minecraft.util.RandomSource;
|
import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.world.level.BlockAndTintGetter;
|
import net.minecraft.world.level.BlockAndTintGetter;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
|
||||||
import net.neoforged.neoforge.client.ChunkRenderTypeSet;
|
import net.neoforged.neoforge.client.ChunkRenderTypeSet;
|
||||||
import net.neoforged.neoforge.client.model.data.ModelData;
|
import net.neoforged.neoforge.client.model.data.ModelData;
|
||||||
import net.neoforged.neoforge.client.model.data.ModelData.Builder;
|
import net.neoforged.neoforge.client.model.data.ModelData.Builder;
|
||||||
|
@ -51,7 +51,7 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ModelData.Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state,
|
protected ModelData.Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state,
|
||||||
ModelData blockEntityData) {
|
ModelData blockEntityData) {
|
||||||
PipeModelData data = new PipeModelData();
|
PipeModelData data = new PipeModelData();
|
||||||
FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE);
|
FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE);
|
||||||
BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE);
|
BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE);
|
||||||
|
@ -66,14 +66,26 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
|
||||||
return builder.with(PIPE_PROPERTY, data);
|
return builder.with(PIPE_PROPERTY, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Update once MinecraftForge#9163 is merged
|
|
||||||
@Override
|
@Override
|
||||||
public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) {
|
public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) {
|
||||||
ChunkRenderTypeSet set = super.getRenderTypes(state, rand, data);
|
List<ChunkRenderTypeSet> set = new ArrayList<>();
|
||||||
if (set.isEmpty()) {
|
|
||||||
return ItemBlockRenderTypes.getRenderLayers(state);
|
set.add(super.getRenderTypes(state, rand, data));
|
||||||
|
set.add(AllPartialModels.FLUID_PIPE_CASING.get().getRenderTypes(state, rand, data));
|
||||||
|
|
||||||
|
if (data.has(PIPE_PROPERTY)) {
|
||||||
|
PipeModelData pipeData = data.get(PIPE_PROPERTY);
|
||||||
|
for (Direction d : Iterate.directions) {
|
||||||
|
AttachmentTypes type = pipeData.getAttachment(d);
|
||||||
|
for (ComponentPartials partial : type.partials) {
|
||||||
|
ChunkRenderTypeSet attachmentRenderTypeSet = AllPartialModels.PIPE_ATTACHMENTS.get(partial).get(d)
|
||||||
|
.get().getRenderTypes(state, rand, data);
|
||||||
|
set.add(attachmentRenderTypeSet);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return set;
|
|
||||||
|
return ChunkRenderTypeSet.union(set);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -102,7 +114,7 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addQuads(List<BakedQuad> quads, BlockState state, Direction side, RandomSource rand, ModelData data,
|
private void addQuads(List<BakedQuad> quads, BlockState state, Direction side, RandomSource rand, ModelData data,
|
||||||
PipeModelData pipeData, RenderType renderType) {
|
PipeModelData pipeData, RenderType renderType) {
|
||||||
BakedModel bracket = pipeData.getBracket();
|
BakedModel bracket = pipeData.getBracket();
|
||||||
if (bracket != null)
|
if (bracket != null)
|
||||||
quads.addAll(bracket.getQuads(state, side, rand, data, renderType));
|
quads.addAll(bracket.getQuads(state, side, rand, data, renderType));
|
||||||
|
|
Loading…
Add table
Reference in a new issue