Fix fluid pipe culling

- Rework PipeAttachmentModel to not rely on cullfaces for extra
information
- Split connector away from rim/drain models into separate models
- Remove none pipe models
This commit is contained in:
PepperCode1 2022-08-06 19:37:19 -07:00
parent 544b9699d9
commit 6c0af5f83f
37 changed files with 233 additions and 429 deletions

View file

@ -128,6 +128,13 @@ repositories {
//location of the maven for curios api //location of the maven for curios api
url = "https://maven.theillusivec4.top/" url = "https://maven.theillusivec4.top/"
} }
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
} }
dependencies { dependencies {
@ -161,6 +168,7 @@ dependencies {
// runtimeOnly fg.deobf("vazkii.quark:Quark:r2.0-212.984") // runtimeOnly fg.deobf("vazkii.quark:Quark:r2.0-212.984")
// runtimeOnly fg.deobf("slimeknights.mantle:Mantle:1.16.5-1.6.115") // runtimeOnly fg.deobf("slimeknights.mantle:Mantle:1.16.5-1.6.115")
// runtimeOnly fg.deobf("slimeknights.tconstruct:TConstruct:1.16.5-3.1.1.252") // runtimeOnly fg.deobf("slimeknights.tconstruct:TConstruct:1.16.5-3.1.1.252")
// runtimeOnly fg.deobf("maven.modrinth:rubidium:0.5.3")
// https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497 // https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497
// Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings // Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings

View file

@ -209,7 +209,7 @@ d13940ed213d7acbc6ebe3bdd21175ef89e4d613 assets/create/blockstates/encased_fluid
8a87e42262f3f161b0e6fe10b795ff00eccf768f assets/create/blockstates/exposed_copper_tile_stairs.json 8a87e42262f3f161b0e6fe10b795ff00eccf768f assets/create/blockstates/exposed_copper_tile_stairs.json
fb41aa1a0828c9256b3f886fdcb55bb54252ba09 assets/create/blockstates/exposed_copper_tiles.json fb41aa1a0828c9256b3f886fdcb55bb54252ba09 assets/create/blockstates/exposed_copper_tiles.json
7a2259a71fbbbb9491fc1e6a9c935bc9fef14042 assets/create/blockstates/fake_track.json 7a2259a71fbbbb9491fc1e6a9c935bc9fef14042 assets/create/blockstates/fake_track.json
bb74442749b6bd688d45d919b541dbd66bbeb18a assets/create/blockstates/fluid_pipe.json dd6dadfeb65c4a4c4d1dc92516c411355e90dcca assets/create/blockstates/fluid_pipe.json
f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json
5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json 5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json
95b0775bf4d619ca5b0a42dbdc47c6f2c15d7b3d assets/create/blockstates/flywheel.json 95b0775bf4d619ca5b0a42dbdc47c6f2c15d7b3d assets/create/blockstates/flywheel.json
@ -1047,9 +1047,6 @@ abb8810d05128749bd7ffbbbd9d7c425886d8ef3 assets/create/models/block/fluid_pipe/l
eefb0e3b0ed7b6d5a99ff715d4aae42db4133343 assets/create/models/block/fluid_pipe/lu_x.json eefb0e3b0ed7b6d5a99ff715d4aae42db4133343 assets/create/models/block/fluid_pipe/lu_x.json
a55a9ef109c4166c767459f88bce4f5c614fe13e assets/create/models/block/fluid_pipe/lu_y.json a55a9ef109c4166c767459f88bce4f5c614fe13e assets/create/models/block/fluid_pipe/lu_y.json
d933b8a9e5d166cb6b250eb8f359180872daa276 assets/create/models/block/fluid_pipe/lu_z.json d933b8a9e5d166cb6b250eb8f359180872daa276 assets/create/models/block/fluid_pipe/lu_z.json
8d2a247dcb09c4bc07c2c88ceaebc45f2f29ccaf assets/create/models/block/fluid_pipe/none_x.json
817252a6729ca8dc52753de47dbfe0b30c33dfa8 assets/create/models/block/fluid_pipe/none_y.json
ddba92d010016a0147ceecc30a30c9c1622d3daa assets/create/models/block/fluid_pipe/none_z.json
968fc1c2d555592134554bd16abb0b38629a76dd assets/create/models/block/fluid_pipe/r_x.json 968fc1c2d555592134554bd16abb0b38629a76dd assets/create/models/block/fluid_pipe/r_x.json
c8fee17269f33f5e55ff0b019e535e9506dd964b assets/create/models/block/fluid_pipe/r_y.json c8fee17269f33f5e55ff0b019e535e9506dd964b assets/create/models/block/fluid_pipe/r_y.json
f63e221319b2703083e55f4034ed2d7b7a79a5da assets/create/models/block/fluid_pipe/r_z.json f63e221319b2703083e55f4034ed2d7b7a79a5da assets/create/models/block/fluid_pipe/r_z.json

View file

@ -1,53 +1,5 @@
{ {
"multipart": [ "multipart": [
{
"when": {
"down": "true"
},
"apply": {
"model": "create:block/fluid_pipe/connection/down"
}
},
{
"when": {
"up": "true"
},
"apply": {
"model": "create:block/fluid_pipe/connection/up"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/fluid_pipe/connection/north"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/fluid_pipe/connection/south"
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/fluid_pipe/connection/west"
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/fluid_pipe/connection/east"
}
},
{ {
"when": { "when": {
"up": "true", "up": "true",
@ -158,17 +110,6 @@
"model": "create:block/fluid_pipe/r_x" "model": "create:block/fluid_pipe/r_x"
} }
}, },
{
"when": {
"up": "false",
"south": "false",
"north": "false",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/none_x"
}
},
{ {
"when": { "when": {
"south": "true", "south": "true",
@ -279,17 +220,6 @@
"model": "create:block/fluid_pipe/r_y" "model": "create:block/fluid_pipe/r_y"
} }
}, },
{
"when": {
"south": "false",
"east": "false",
"west": "false",
"north": "false"
},
"apply": {
"model": "create:block/fluid_pipe/none_y"
}
},
{ {
"when": { "when": {
"up": "true", "up": "true",
@ -399,17 +329,6 @@
"apply": { "apply": {
"model": "create:block/fluid_pipe/r_z" "model": "create:block/fluid_pipe/r_z"
} }
},
{
"when": {
"up": "false",
"east": "false",
"west": "false",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/none_z"
}
} }
] ]
} }

View file

@ -1,37 +0,0 @@
{
"parent": "create:block/fluid_pipe/core_x",
"elements": [
{
"from": [
4,
4,
4
],
"to": [
12,
12,
12
],
"faces": {
"west": {
"texture": "#0",
"uv": [
16.0,
8.0,
12.0,
12.0
]
},
"east": {
"texture": "#0",
"uv": [
12.0,
8.0,
16.0,
12.0
]
}
}
}
]
}

View file

@ -1,37 +0,0 @@
{
"parent": "create:block/fluid_pipe/core_y",
"elements": [
{
"from": [
4,
4,
4
],
"to": [
12,
12,
12
],
"faces": {
"down": {
"texture": "#0",
"uv": [
16.0,
8.0,
12.0,
12.0
]
},
"up": {
"texture": "#0",
"uv": [
16.0,
12.0,
12.0,
8.0
]
}
}
}
]
}

View file

@ -1,37 +0,0 @@
{
"parent": "create:block/fluid_pipe/core_z",
"elements": [
{
"from": [
4,
4,
4
],
"to": [
12,
12,
12
],
"faces": {
"north": {
"texture": "#0",
"uv": [
12.0,
8.0,
16.0,
12.0
]
},
"south": {
"texture": "#0",
"uv": [
16.0,
8.0,
12.0,
12.0
]
}
}
}
]
}

View file

@ -161,16 +161,14 @@ public class AllBlockPartials {
; ;
public static final Map<FluidTransportBehaviour.AttachmentTypes, Map<Direction, PartialModel>> PIPE_ATTACHMENTS = public static final Map<FluidTransportBehaviour.AttachmentTypes.ComponentPartials, Map<Direction, PartialModel>> PIPE_ATTACHMENTS =
new EnumMap<>(FluidTransportBehaviour.AttachmentTypes.class); new EnumMap<>(FluidTransportBehaviour.AttachmentTypes.ComponentPartials.class);
public static final Map<Direction, PartialModel> METAL_GIRDER_BRACKETS = new EnumMap<>(Direction.class); public static final Map<Direction, PartialModel> METAL_GIRDER_BRACKETS = new EnumMap<>(Direction.class);
public static final Map<DyeColor, PartialModel> TOOLBOX_LIDS = new EnumMap<>(DyeColor.class); public static final Map<DyeColor, PartialModel> TOOLBOX_LIDS = new EnumMap<>(DyeColor.class);
static { static {
for (FluidTransportBehaviour.AttachmentTypes type : FluidTransportBehaviour.AttachmentTypes.values()) { for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials.values()) {
if (!type.hasModel())
continue;
Map<Direction, PartialModel> map = new HashMap<>(); Map<Direction, PartialModel> map = new HashMap<>();
for (Direction d : Iterate.directions) { for (Direction d : Iterate.directions) {
String asId = Lang.asId(type.name()); String asId = Lang.asId(type.name());

View file

@ -812,7 +812,7 @@ public class AllBlocks {
.initialProperties(SharedProperties::copperMetal) .initialProperties(SharedProperties::copperMetal)
.transform(pickaxeOnly()) .transform(pickaxeOnly())
.blockstate(BlockStateGen.pipe()) .blockstate(BlockStateGen.pipe())
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.item() .item()
.transform(customItemModel()) .transform(customItemModel())
.register(); .register();
@ -827,7 +827,7 @@ public class AllBlocks {
.onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING))) .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING)))
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING, .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING,
(s, f) -> !s.getValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f))))) (s, f) -> !s.getValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f)))))
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.loot((p, b) -> p.dropOther(b, FLUID_PIPE.get())) .loot((p, b) -> p.dropOther(b, FLUID_PIPE.get()))
.register(); .register();
@ -849,7 +849,7 @@ public class AllBlocks {
.build(); .build();
}, BlockStateProperties.WATERLOGGED); }, BlockStateProperties.WATERLOGGED);
}) })
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::transparent)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.loot((p, b) -> p.dropOther(b, FLUID_PIPE.get())) .loot((p, b) -> p.dropOther(b, FLUID_PIPE.get()))
.register(); .register();
@ -858,7 +858,7 @@ public class AllBlocks {
.properties(p -> p.color(MaterialColor.STONE)) .properties(p -> p.color(MaterialColor.STONE))
.transform(pickaxeOnly()) .transform(pickaxeOnly())
.blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true)) .blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true))
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.transform(BlockStressDefaults.setImpact(4.0)) .transform(BlockStressDefaults.setImpact(4.0))
.item() .item()
.transform(customItemModel()) .transform(customItemModel())
@ -870,7 +870,7 @@ public class AllBlocks {
.properties(p -> p.color(MaterialColor.TERRACOTTA_YELLOW)) .properties(p -> p.color(MaterialColor.TERRACOTTA_YELLOW))
.transform(pickaxeOnly()) .transform(pickaxeOnly())
.blockstate(new SmartFluidPipeGenerator()::generate) .blockstate(new SmartFluidPipeGenerator()::generate)
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::transparent)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.item() .item()
.transform(customItemModel()) .transform(customItemModel())
.register(); .register();
@ -881,7 +881,7 @@ public class AllBlocks {
.blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p, .blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p,
(state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal", (state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal",
state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed"))) state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed")))
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.item() .item()
.transform(customItemModel()) .transform(customItemModel())
.register(); .register();

View file

@ -256,11 +256,30 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour {
return AttachmentTypes.RIM; return AttachmentTypes.RIM;
} }
public static enum AttachmentTypes { public enum AttachmentTypes {
NONE, RIM, DRAIN; NONE,
CONNECTION(ComponentPartials.CONNECTION),
RIM(ComponentPartials.RIM_CONNECTOR, ComponentPartials.RIM),
PARTIAL_RIM(ComponentPartials.RIM),
DRAIN(ComponentPartials.RIM_CONNECTOR, ComponentPartials.DRAIN),
PARTIAL_DRAIN(ComponentPartials.DRAIN);
public boolean hasModel() { public final ComponentPartials[] partials;
return this != NONE;
AttachmentTypes(ComponentPartials... partials) {
this.partials = partials;
}
public AttachmentTypes withoutConnector() {
if (this == AttachmentTypes.RIM)
return AttachmentTypes.PARTIAL_RIM;
if (this == AttachmentTypes.DRAIN)
return AttachmentTypes.PARTIAL_DRAIN;
return this;
}
public enum ComponentPartials {
CONNECTION, RIM_CONNECTOR, RIM, DRAIN;
} }
} }

View file

@ -7,6 +7,7 @@ import java.util.Random;
import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour.AttachmentTypes; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour.AttachmentTypes;
import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour.AttachmentTypes.ComponentPartials;
import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock;
import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour;
import com.simibubi.create.foundation.block.connected.BakedModelWrapperWithData; import com.simibubi.create.foundation.block.connected.BakedModelWrapperWithData;
@ -27,19 +28,9 @@ import net.minecraftforge.client.model.data.ModelProperty;
public class PipeAttachmentModel extends BakedModelWrapperWithData { public class PipeAttachmentModel extends BakedModelWrapperWithData {
private static final ModelProperty<PipeModelData> PIPE_PROPERTY = new ModelProperty<>(); private static final ModelProperty<PipeModelData> PIPE_PROPERTY = new ModelProperty<>();
private boolean hideAttachmentConnector;
public static PipeAttachmentModel opaque(BakedModel template) { public PipeAttachmentModel(BakedModel template) {
return new PipeAttachmentModel(template, false);
}
public static PipeAttachmentModel transparent(BakedModel template) {
return new PipeAttachmentModel(template, true);
}
public PipeAttachmentModel(BakedModel template, boolean hideAttachmentConnector) {
super(template); super(template);
this.hideAttachmentConnector = hideAttachmentConnector;
} }
@Override @Override
@ -50,7 +41,7 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
if (transport != null) if (transport != null)
for (Direction d : Iterate.directions) for (Direction d : Iterate.directions)
data.putRim(d, transport.getRenderedRimAttachment(world, pos, state, d)); data.putAttachment(d, transport.getRenderedRimAttachment(world, pos, state, d));
if (bracket != null) if (bracket != null)
data.putBracket(bracket.getBracket()); data.putBracket(bracket.getBracket());
@ -63,7 +54,7 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
List<BakedQuad> quads = super.getQuads(state, side, rand, data); List<BakedQuad> quads = super.getQuads(state, side, rand, data);
if (data.hasProperty(PIPE_PROPERTY)) { if (data.hasProperty(PIPE_PROPERTY)) {
PipeModelData pipeData = data.getData(PIPE_PROPERTY); PipeModelData pipeData = data.getData(PIPE_PROPERTY);
quads = side != null && pipeData.hasRim(side) ? new ArrayList<>() : new ArrayList<>(quads); quads = new ArrayList<>(quads);
addQuads(quads, state, side, rand, data, pipeData); addQuads(quads, state, side, rand, data, pipeData);
} }
return quads; return quads;
@ -74,27 +65,28 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
BakedModel bracket = pipeData.getBracket(); BakedModel bracket = pipeData.getBracket();
if (bracket != null) if (bracket != null)
quads.addAll(bracket.getQuads(state, side, rand, data)); quads.addAll(bracket.getQuads(state, side, rand, data));
if (hideAttachmentConnector && side == Direction.UP) for (Direction d : Iterate.directions) {
return; AttachmentTypes type = pipeData.getAttachment(d);
for (Direction d : Iterate.directions) for (ComponentPartials partial : type.partials) {
if (pipeData.hasRim(d)) quads.addAll(AllBlockPartials.PIPE_ATTACHMENTS.get(partial)
quads.addAll(AllBlockPartials.PIPE_ATTACHMENTS.get(pipeData.getRim(d))
.get(d) .get(d)
.get() .get()
.getQuads(state, side, rand, data)); .getQuads(state, side, rand, data));
}
}
if (pipeData.isEncased()) if (pipeData.isEncased())
quads.addAll(AllBlockPartials.FLUID_PIPE_CASING.get() quads.addAll(AllBlockPartials.FLUID_PIPE_CASING.get()
.getQuads(state, side, rand, data)); .getQuads(state, side, rand, data));
} }
private static class PipeModelData { private static class PipeModelData {
AttachmentTypes[] rims; private AttachmentTypes[] attachments;
boolean encased; private boolean encased;
BakedModel bracket; private BakedModel bracket;
public PipeModelData() { public PipeModelData() {
rims = new AttachmentTypes[6]; attachments = new AttachmentTypes[6];
Arrays.fill(rims, AttachmentTypes.NONE); Arrays.fill(attachments, AttachmentTypes.NONE);
} }
public void putBracket(BlockState state) { public void putBracket(BlockState state) {
@ -109,22 +101,18 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData {
return bracket; return bracket;
} }
public void putRim(Direction face, AttachmentTypes rim) { public void putAttachment(Direction face, AttachmentTypes rim) {
rims[face.get3DDataValue()] = rim; attachments[face.get3DDataValue()] = rim;
}
public AttachmentTypes getAttachment(Direction face) {
return attachments[face.get3DDataValue()];
} }
public void setEncased(boolean encased) { public void setEncased(boolean encased) {
this.encased = encased; this.encased = encased;
} }
public boolean hasRim(Direction face) {
return rims[face.get3DDataValue()] != AttachmentTypes.NONE;
}
public AttachmentTypes getRim(Direction face) {
return rims[face.get3DDataValue()];
}
public boolean isEncased() { public boolean isEncased() {
return encased; return encased;
} }

View file

@ -68,11 +68,13 @@ public class FluidPipeTileEntity extends SmartTileEntity implements ITransformab
TileEntityBehaviour.get(world, offsetPos, FluidTransportBehaviour.TYPE); TileEntityBehaviour.get(world, offsetPos, FluidTransportBehaviour.TYPE);
if (pipeBehaviour != null) if (pipeBehaviour != null)
if (pipeBehaviour.canHaveFlowToward(otherState, direction.getOpposite())) if (pipeBehaviour.canHaveFlowToward(otherState, direction.getOpposite()))
return AttachmentTypes.NONE; return AttachmentTypes.CONNECTION;
} }
if (attachment == AttachmentTypes.RIM && !FluidPipeBlock.shouldDrawRim(world, pos, state, direction)) if (attachment == AttachmentTypes.RIM && !FluidPipeBlock.shouldDrawRim(world, pos, state, direction))
return AttachmentTypes.NONE; return AttachmentTypes.CONNECTION;
if (attachment == AttachmentTypes.NONE && state.getValue(FluidPipeBlock.PROPERTY_BY_DIRECTION.get(direction)))
return AttachmentTypes.CONNECTION;
return attachment; return attachment;
} }

View file

@ -51,7 +51,7 @@ public class StraightPipeTileEntity extends SmartTileEntity {
if (attachment == AttachmentTypes.RIM && state.getBlock() instanceof FluidValveBlock) if (attachment == AttachmentTypes.RIM && state.getBlock() instanceof FluidValveBlock)
return AttachmentTypes.NONE; return AttachmentTypes.NONE;
if (attachment == AttachmentTypes.RIM && FluidPipeBlock.isPipe(otherState)) if (attachment == AttachmentTypes.RIM && FluidPipeBlock.isPipe(otherState))
return AttachmentTypes.RIM; return AttachmentTypes.PARTIAL_RIM;
if (axis == otherAxis && axis != null) if (axis == otherAxis && axis != null)
return AttachmentTypes.NONE; return AttachmentTypes.NONE;
@ -59,7 +59,7 @@ public class StraightPipeTileEntity extends SmartTileEntity {
&& FluidValveBlock.getPipeAxis(otherState) == direction.getAxis()) && FluidValveBlock.getPipeAxis(otherState) == direction.getAxis())
return AttachmentTypes.NONE; return AttachmentTypes.NONE;
return attachment; return attachment.withoutConnector();
} }
} }

View file

@ -425,9 +425,7 @@ public class BlockStateGen {
String L = "l"; String L = "l";
String R = "r"; String R = "r";
String NONE = "none"; List<String> orientations = ImmutableList.of(LU, RU, LD, RD, LR, UD, U, D, L, R);
List<String> orientations = ImmutableList.of(LU, RU, LD, RD, LR, UD, U, D, L, R, NONE);
Map<String, Pair<Integer, Integer>> uvs = ImmutableMap.<String, Pair<Integer, Integer>>builder() Map<String, Pair<Integer, Integer>> uvs = ImmutableMap.<String, Pair<Integer, Integer>>builder()
.put(LU, Pair.of(12, 4)) .put(LU, Pair.of(12, 4))
.put(RU, Pair.of(8, 4)) .put(RU, Pair.of(8, 4))
@ -439,7 +437,6 @@ public class BlockStateGen {
.put(D, Pair.of(0, 0)) .put(D, Pair.of(0, 0))
.put(L, Pair.of(4, 0)) .put(L, Pair.of(4, 0))
.put(R, Pair.of(0, 4)) .put(R, Pair.of(0, 4))
.put(NONE, Pair.of(12, 8))
.build(); .build();
Map<Axis, ResourceLocation> coreTemplates = new IdentityHashMap<>(); Map<Axis, ResourceLocation> coreTemplates = new IdentityHashMap<>();
@ -485,16 +482,6 @@ public class BlockStateGen {
} }
MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get()); MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get());
for (Direction d : Iterate.directions) {
ModelFile end = p.models()
.getExistingFile(p.modLoc(path + "/connection/" + d.getSerializedName()));
builder.part()
.modelFile(end)
.addModel()
.condition(FluidPipeBlock.PROPERTY_BY_DIRECTION.get(d), true)
.end();
}
for (Axis axis : Iterate.axes) { for (Axis axis : Iterate.axes) {
putPart(coreModels, builder, axis, LU, true, false, true, false); putPart(coreModels, builder, axis, LU, true, false, true, false);
putPart(coreModels, builder, axis, RU, true, false, false, true); putPart(coreModels, builder, axis, RU, true, false, false, true);
@ -506,7 +493,6 @@ public class BlockStateGen {
putPart(coreModels, builder, axis, LR, false, false, true, true); putPart(coreModels, builder, axis, LR, false, false, true, true);
putPart(coreModels, builder, axis, L, false, false, true, false); putPart(coreModels, builder, axis, L, false, false, true, false);
putPart(coreModels, builder, axis, R, false, false, false, true); putPart(coreModels, builder, axis, R, false, false, false, true);
putPart(coreModels, builder, axis, NONE, false, false, false, false);
} }
}; };
} }

View file

@ -11,10 +11,10 @@
"to": [12, 4, 12], "to": [12, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]},
"faces": { "faces": {
"north": {"uv": [0, 6, 4, 8], "texture": "#0", "cullface": "down"}, "north": {"uv": [0, 6, 4, 8], "texture": "#0"},
"east": {"uv": [0, 6, 4, 8], "texture": "#0", "cullface": "down"}, "east": {"uv": [0, 6, 4, 8], "texture": "#0"},
"south": {"uv": [4, 6, 0, 8], "texture": "#0", "cullface": "down"}, "south": {"uv": [4, 6, 0, 8], "texture": "#0"},
"west": {"uv": [4, 6, 0, 8], "texture": "#0", "cullface": "down"} "west": {"uv": [4, 6, 0, 8], "texture": "#0"}
} }
} }
] ]

View file

@ -11,10 +11,10 @@
"to": [16, 12, 12], "to": [16, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]},
"faces": { "faces": {
"north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0", "cullface": "east"}, "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"},
"south": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0", "cullface": "east"}, "south": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"},
"up": {"uv": [4, 0, 0, 2], "rotation": 90, "texture": "#0", "cullface": "east"}, "up": {"uv": [4, 0, 0, 2], "rotation": 90, "texture": "#0"},
"down": {"uv": [4, 6, 0, 8], "rotation": 270, "texture": "#0", "cullface": "east"} "down": {"uv": [4, 6, 0, 8], "rotation": 270, "texture": "#0"}
} }
} }
] ]

View file

@ -11,10 +11,10 @@
"to": [12, 12, 4], "to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]},
"faces": { "faces": {
"east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0", "cullface": "north"}, "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"},
"west": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0", "cullface": "north"}, "west": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"},
"up": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0", "cullface": "north"}, "up": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0", "cullface": "north"} "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"}
} }
} }
] ]

View file

@ -11,10 +11,10 @@
"to": [12, 12, 16], "to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]},
"faces": { "faces": {
"east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0", "cullface": "south"}, "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"},
"west": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0", "cullface": "south"}, "west": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"},
"up": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0", "cullface": "south"}, "up": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0", "cullface": "south"} "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"}
} }
} }
] ]

View file

@ -11,10 +11,10 @@
"to": [12, 16, 12], "to": [12, 16, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]},
"faces": { "faces": {
"north": {"uv": [0, 0, 4, 2], "texture": "#0", "cullface": "up"}, "north": {"uv": [0, 0, 4, 2], "texture": "#0"},
"east": {"uv": [0, 0, 4, 2], "texture": "#0", "cullface": "up"}, "east": {"uv": [0, 0, 4, 2], "texture": "#0"},
"south": {"uv": [4, 0, 0, 2], "texture": "#0", "cullface": "up"}, "south": {"uv": [4, 0, 0, 2], "texture": "#0"},
"west": {"uv": [4, 0, 0, 2], "texture": "#0", "cullface": "up"} "west": {"uv": [4, 0, 0, 2], "texture": "#0"}
} }
} }
] ]

View file

@ -11,10 +11,10 @@
"to": [4, 12, 12], "to": [4, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]},
"faces": { "faces": {
"north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0", "cullface": "west"}, "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"},
"south": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0", "cullface": "west"}, "south": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"},
"up": {"uv": [4, 6, 0, 8], "rotation": 90, "texture": "#0", "cullface": "west"}, "up": {"uv": [4, 6, 0, 8], "rotation": 90, "texture": "#0"},
"down": {"uv": [4, 0, 0, 2], "rotation": 270, "texture": "#0", "cullface": "west"} "down": {"uv": [4, 0, 0, 2], "rotation": 270, "texture": "#0"}
} }
} }
] ]

View file

@ -15,7 +15,7 @@
"east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"},
"south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"},
"west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"},
"down": {"uv": [13, 8, 16, 11], "rotation": 90, "texture": "#0"} "down": {"uv": [13, 8, 16, 11], "rotation": 90, "texture": "#0", "cullface": "down"}
} }
}, },
{ {
@ -28,17 +28,7 @@
"south": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, "south": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"},
"west": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, "west": {"uv": [9, 9.5, 4, 8], "texture": "#0"},
"up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "down"}
}
},
{
"from": [4, 2, 4],
"to": [12, 4, 12],
"faces": {
"north": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"},
"east": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"},
"south": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"},
"west": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"}
} }
} }
] ]

View file

@ -6,23 +6,13 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [12, 4, 4],
"to": [14, 12, 12],
"faces": {
"north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [16.95, 4.95, 4.95], "from": [16.95, 4.95, 4.95],
"to": [19.95, 11.05, 11.05], "to": [19.95, 11.05, 11.05],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": { "faces": {
"north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"},
"east": {"uv": [13, 8, 16, 11], "texture": "#0"}, "east": {"uv": [13, 8, 16, 11], "texture": "#0", "cullface": "east"},
"south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"},
"up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"},
"down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"}
@ -34,7 +24,7 @@
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": { "faces": {
"north": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"}, "north": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"},
"east": {"uv": [11, 11, 16, 16], "texture": "#0"}, "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"},
"south": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, "south": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"},
"west": {"uv": [6, 11, 11, 16], "texture": "#0"}, "west": {"uv": [6, 11, 11, 16], "texture": "#0"},
"up": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, "up": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"},

View file

@ -6,23 +6,12 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [4, 4, 2],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"},
"down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [2.95, 2.95, -0.95], "from": [2.95, 2.95, -0.95],
"to": [13.05, 13.05, 2], "to": [13.05, 13.05, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]},
"faces": { "faces": {
"north": {"uv": [11, 11, 16, 16], "texture": "#0"}, "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"},
"east": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, "east": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"},
"south": {"uv": [6, 11, 11, 16], "texture": "#0"}, "south": {"uv": [6, 11, 11, 16], "texture": "#0"},
"west": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"}, "west": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"},
@ -35,7 +24,7 @@
"to": [11.05, 11.05, -0.95], "to": [11.05, 11.05, -0.95],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]},
"faces": { "faces": {
"north": {"uv": [13, 8, 16, 11], "texture": "#0"}, "north": {"uv": [13, 8, 16, 11], "texture": "#0", "cullface": "north"},
"east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"},
"west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"},
"up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"},

View file

@ -6,24 +6,13 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [4, 4, 12],
"to": [12, 12, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"},
"down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [4.95, 4.95, 16.95], "from": [4.95, 4.95, 16.95],
"to": [11.05, 11.05, 19.95], "to": [11.05, 11.05, 19.95],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]},
"faces": { "faces": {
"east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"},
"south": {"uv": [16, 8, 13, 11], "texture": "#0"}, "south": {"uv": [16, 8, 13, 11], "texture": "#0", "cullface": "south"},
"west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"},
"up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"},
"down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}
@ -36,7 +25,7 @@
"faces": { "faces": {
"north": {"uv": [11, 11, 6, 16], "texture": "#0"}, "north": {"uv": [11, 11, 6, 16], "texture": "#0"},
"east": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, "east": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"},
"south": {"uv": [16, 11, 11, 16], "texture": "#0"}, "south": {"uv": [16, 11, 11, 16], "texture": "#0", "cullface": "south"},
"west": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"}, "west": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"},
"up": {"uv": [4, 9.5, 9, 8], "texture": "#0"}, "up": {"uv": [4, 9.5, 9, 8], "texture": "#0"},
"down": {"uv": [9, 8, 4, 9.5], "texture": "#0"} "down": {"uv": [9, 8, 4, 9.5], "texture": "#0"}

View file

@ -6,16 +6,6 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [4, 12, 4],
"to": [12, 14, 12],
"faces": {
"north": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"},
"east": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"},
"south": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"},
"west": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [2.95, 14, 2.95], "from": [2.95, 14, 2.95],
"to": [13.05, 16.95, 13.05], "to": [13.05, 16.95, 13.05],
@ -25,7 +15,7 @@
"east": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, "east": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"},
"south": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, "south": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"},
"west": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, "west": {"uv": [9, 8, 4, 9.5], "texture": "#0"},
"up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0", "cullface": "up"},
"down": {"uv": [11, 11, 6, 16], "rotation": 90, "texture": "#0"} "down": {"uv": [11, 11, 6, 16], "rotation": 90, "texture": "#0"}
} }
}, },
@ -38,7 +28,7 @@
"east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"},
"south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"},
"west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"},
"up": {"uv": [16, 8, 13, 11], "rotation": 90, "texture": "#0"} "up": {"uv": [16, 8, 13, 11], "rotation": 90, "texture": "#0", "cullface": "up"}
} }
} }
] ]

View file

@ -6,16 +6,6 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [2, 4, 4],
"to": [4, 12, 12],
"faces": {
"north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [-0.95, 2.95, 2.95], "from": [-0.95, 2.95, 2.95],
"to": [2, 13.05, 13.05], "to": [2, 13.05, 13.05],
@ -24,7 +14,7 @@
"north": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"}, "north": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"},
"east": {"uv": [11, 11, 6, 16], "texture": "#0"}, "east": {"uv": [11, 11, 6, 16], "texture": "#0"},
"south": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, "south": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"},
"west": {"uv": [16, 11, 11, 16], "texture": "#0"}, "west": {"uv": [16, 11, 11, 16], "texture": "#0", "cullface": "west"},
"up": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, "up": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"},
"down": {"uv": [9, 8, 4, 9.5], "rotation": 270, "texture": "#0"} "down": {"uv": [9, 8, 4, 9.5], "rotation": 270, "texture": "#0"}
} }
@ -36,7 +26,7 @@
"faces": { "faces": {
"north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"},
"south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"},
"west": {"uv": [16, 8, 13, 11], "texture": "#0"}, "west": {"uv": [16, 8, 13, 11], "texture": "#0", "cullface": "west"},
"up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"},
"down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"}
} }

View file

@ -6,16 +6,6 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [4, 2, 4],
"to": [12, 4, 12],
"faces": {
"north": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"},
"east": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"},
"south": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"},
"west": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [3, 0, 3], "from": [3, 0, 3],
"to": [13, 2, 13], "to": [13, 2, 13],
@ -25,7 +15,7 @@
"south": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, "south": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"},
"west": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, "west": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"},
"up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"}
} }
} }
] ]

View file

@ -6,22 +6,12 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [12, 4, 4],
"to": [14, 12, 12],
"faces": {
"north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [14, 3, 3], "from": [14, 3, 3],
"to": [16, 13, 13], "to": [16, 13, 13],
"faces": { "faces": {
"north": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, "north": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"},
"east": {"uv": [11, 11, 16, 16], "texture": "#0"}, "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"},
"south": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, "south": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"},
"west": {"uv": [6, 11, 11, 16], "texture": "#0"}, "west": {"uv": [6, 11, 11, 16], "texture": "#0"},
"up": {"uv": [11.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"},

View file

@ -6,23 +6,12 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [4, 4, 2],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"},
"down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [3, 3, 0], "from": [3, 3, 0],
"to": [13, 13, 2], "to": [13, 13, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]},
"faces": { "faces": {
"north": {"uv": [11, 11, 16, 16], "texture": "#0"}, "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"},
"east": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, "east": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"},
"south": {"uv": [6, 11, 11, 16], "texture": "#0"}, "south": {"uv": [6, 11, 11, 16], "texture": "#0"},
"west": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, "west": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"},

View file

@ -6,17 +6,6 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [4, 4, 12],
"to": [12, 12, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"},
"down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [3, 3, 14], "from": [3, 3, 14],
"to": [13, 13, 16], "to": [13, 13, 16],
@ -24,7 +13,7 @@
"faces": { "faces": {
"north": {"uv": [6, 11, 11, 16], "texture": "#0"}, "north": {"uv": [6, 11, 11, 16], "texture": "#0"},
"east": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, "east": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"},
"south": {"uv": [11, 11, 16, 16], "texture": "#0"}, "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"},
"west": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, "west": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"},
"up": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"},
"down": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"} "down": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"}

View file

@ -14,19 +14,9 @@
"east": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, "east": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"},
"south": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, "south": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"},
"west": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, "west": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"},
"up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"},
"down": {"uv": [6, 11, 11, 16], "rotation": 270, "texture": "#0"} "down": {"uv": [6, 11, 11, 16], "rotation": 270, "texture": "#0"}
} }
},
{
"from": [4, 12, 4],
"to": [12, 14, 12],
"faces": {
"north": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"},
"east": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"},
"south": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"},
"west": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"}
}
} }
] ]
} }

View file

@ -6,16 +6,6 @@
"particle": "create:block/pipes" "particle": "create:block/pipes"
}, },
"elements": [ "elements": [
{
"from": [2, 4, 4],
"to": [4, 12, 12],
"faces": {
"north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"},
"south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0", "cullface": "up"},
"down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0", "cullface": "up"}
}
},
{ {
"from": [0, 3, 3], "from": [0, 3, 3],
"to": [2, 13, 13], "to": [2, 13, 13],
@ -23,7 +13,7 @@
"north": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, "north": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"},
"east": {"uv": [6, 11, 11, 16], "texture": "#0"}, "east": {"uv": [6, 11, 11, 16], "texture": "#0"},
"south": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, "south": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"},
"west": {"uv": [11, 11, 16, 16], "texture": "#0"}, "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"},
"up": {"uv": [10.5, 11, 11.5, 16], "rotation": 180, "texture": "#0"}, "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 180, "texture": "#0"},
"down": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"} "down": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}
} }

View file

@ -0,0 +1,20 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/pipes",
"particle": "create:block/pipes"
},
"elements": [
{
"from": [4, 2, 4],
"to": [12, 4, 12],
"faces": {
"north": {"uv": [0, 9, 4, 10], "texture": "#0"},
"east": {"uv": [0, 9, 4, 10], "texture": "#0"},
"south": {"uv": [4, 9, 0, 10], "texture": "#0"},
"west": {"uv": [4, 9, 0, 10], "texture": "#0"}
}
}
]
}

View file

@ -0,0 +1,20 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/pipes",
"particle": "create:block/pipes"
},
"elements": [
{
"from": [12, 4, 4],
"to": [14, 12, 12],
"faces": {
"north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"},
"south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"},
"up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0"},
"down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0"}
}
}
]
}

View file

@ -0,0 +1,21 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/pipes",
"particle": "create:block/pipes"
},
"elements": [
{
"from": [4, 4, 2],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"},
"west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"},
"up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"}
}
}
]
}

View file

@ -0,0 +1,21 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/pipes",
"particle": "create:block/pipes"
},
"elements": [
{
"from": [4, 4, 12],
"to": [12, 12, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"},
"west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"},
"up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"}
}
}
]
}

View file

@ -0,0 +1,20 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/pipes",
"particle": "create:block/pipes"
},
"elements": [
{
"from": [4, 12, 4],
"to": [12, 14, 12],
"faces": {
"north": {"uv": [0, 8, 4, 9], "texture": "#0"},
"east": {"uv": [0, 8, 4, 9], "texture": "#0"},
"south": {"uv": [4, 8, 0, 9], "texture": "#0"},
"west": {"uv": [4, 8, 0, 9], "texture": "#0"}
}
}
]
}

View file

@ -0,0 +1,20 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/pipes",
"particle": "create:block/pipes"
},
"elements": [
{
"from": [2, 4, 4],
"to": [4, 12, 12],
"faces": {
"north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"},
"south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"},
"up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0"},
"down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0"}
}
}
]
}