Added Connected Glass Blocks and Panes

- Added vertically connected glass blocks for all wood variants
- Added horizontal and vertical connected windows in a neutral style
- Fixed Oxidizing blocks not progressing when next to enclosed blocks
This commit is contained in:
simibubi 2020-01-30 22:16:04 +01:00
parent 53a5ef6357
commit 6be5ed3d1b
202 changed files with 2259 additions and 83 deletions

View file

@ -7,8 +7,6 @@ import com.simibubi.create.foundation.block.ProperStairsBlock;
import com.simibubi.create.foundation.block.RenderUtilityAxisBlock;
import com.simibubi.create.foundation.block.RenderUtilityBlock;
import com.simibubi.create.foundation.block.RenderUtilityDirectionalBlock;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.world.OxidizingBlock;
import com.simibubi.create.modules.IModule;
@ -68,8 +66,11 @@ import com.simibubi.create.modules.logistics.block.inventories.FlexcrateBlock;
import com.simibubi.create.modules.logistics.block.transposer.LinkedTransposerBlock;
import com.simibubi.create.modules.logistics.block.transposer.TransposerBlock;
import com.simibubi.create.modules.palettes.CTGlassBlock;
import com.simibubi.create.modules.palettes.CTGlassPaneBlock;
import com.simibubi.create.modules.palettes.GlassPaneBlock;
import com.simibubi.create.modules.palettes.HorizontalCTGlassBlock;
import com.simibubi.create.modules.palettes.LayeredCTBlock;
import com.simibubi.create.modules.palettes.VerticalCTGlassBlock;
import com.simibubi.create.modules.palettes.VolcanicRockBlock;
import com.simibubi.create.modules.schematics.block.CreativeCrateBlock;
import com.simibubi.create.modules.schematics.block.SchematicTableBlock;
@ -90,7 +91,6 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.color.BlockColors;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.ToolType;
@ -208,22 +208,37 @@ public enum AllBlocks {
__PALETTES__(),
TILED_GLASS(new GlassBlock(Properties.from(Blocks.GLASS))),
FRAMED_GLASS(new CTGlassBlock(AllCTs.FRAMED_GLASS, false)),
HORIZONTAL_FRAMED_GLASS(new HorizontalCTGlassBlock(AllCTs.HORIZONTAL_FRAMED_GLASS, AllCTs.FRAMED_GLASS, false)),
VERTICAL_FRAMED_GLASS(new VerticalCTGlassBlock(AllCTs.VERTICAL_FRAMED_GLASS, false)),
OAK_GLASS(new VerticalCTGlassBlock(AllCTs.OAK_GLASS, false)),
SPRUCE_GLASS(new VerticalCTGlassBlock(AllCTs.SPRUCE_GLASS, false)),
BIRCH_GLASS(new VerticalCTGlassBlock(AllCTs.BIRCH_GLASS, true)),
JUNGLE_GLASS(new VerticalCTGlassBlock(AllCTs.JUNGLE_GLASS, false)),
DARK_OAK_GLASS(new VerticalCTGlassBlock(AllCTs.DARK_OAK_GLASS, false)),
ACACIA_GLASS(new VerticalCTGlassBlock(AllCTs.ACACIA_GLASS, false)),
IRON_GLASS(new VerticalCTGlassBlock(AllCTs.IRON_GLASS, false)),
TILED_GLASS_PANE(new GlassPaneBlock(Properties.from(Blocks.GLASS))),
FRAMED_GLASS(new CTGlassBlock(true)),
FRAMED_GLASS_PANE(new CTGlassPaneBlock(FRAMED_GLASS.block)),
HORIZONTAL_FRAMED_GLASS_PANE(new CTGlassPaneBlock(HORIZONTAL_FRAMED_GLASS.block)),
VERTICAL_FRAMED_GLASS_PANE(new CTGlassPaneBlock(VERTICAL_FRAMED_GLASS.block)),
OAK_GLASS_PANE(new CTGlassPaneBlock(OAK_GLASS.block)),
SPRUCE_GLASS_PANE(new CTGlassPaneBlock(SPRUCE_GLASS.block)),
BIRCH_GLASS_PANE(new CTGlassPaneBlock(BIRCH_GLASS.block)),
JUNGLE_GLASS_PANE(new CTGlassPaneBlock(JUNGLE_GLASS.block)),
DARK_OAK_GLASS_PANE(new CTGlassPaneBlock(DARK_OAK_GLASS.block)),
ACACIA_GLASS_PANE(new CTGlassPaneBlock(ACACIA_GLASS.block)),
IRON_GLASS_PANE(new CTGlassPaneBlock(IRON_GLASS.block)),
GRANITE_BRICKS(new Block(Properties.from(Blocks.GRANITE))),
GRANITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.GRANITE),
CTSpriteShifter.get(CTType.HORIZONTAL, "granite_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, new ResourceLocation("block/polished_granite"), "polished_granite"))),
GRANITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.GRANITE), AllCTs.GRANITE_LAYERS, AllCTs.POLISHED_GRANITE)),
DIORITE_BRICKS(new Block(Properties.from(Blocks.DIORITE))),
DIORITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.DIORITE),
CTSpriteShifter.get(CTType.HORIZONTAL, "diorite_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, new ResourceLocation("block/polished_diorite"), "polished_diorite"))),
DIORITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.DIORITE), AllCTs.DIORITE_LAYERS, AllCTs.POLISHED_DIORITE)),
ANDESITE_BRICKS(new Block(Properties.from(Blocks.ANDESITE))),
ANDESITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.ANDESITE),
CTSpriteShifter.get(CTType.HORIZONTAL, "andesite_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, new ResourceLocation("block/polished_andesite"),
"polished_andesite"))),
ANDESITE_LAYERS(
new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS, AllCTs.POLISHED_ANDESITE)),
GABBRO(new Block(Properties.from(Blocks.GRANITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
POLISHED_GABBRO(new Block(Properties.from(GABBRO.block))),
@ -232,32 +247,26 @@ public enum AllBlocks {
INDENTED_GABBRO(new Block(Properties.from(GABBRO.block)), ComesWith.SLAB),
SLIGHTLY_MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
GABBRO_LAYERS(
new LayeredCTBlock(Properties.from(GABBRO.block), CTSpriteShifter.get(CTType.HORIZONTAL, "gabbro_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, "polished_gabbro"))),
GABBRO_LAYERS(new LayeredCTBlock(Properties.from(GABBRO.block), AllCTs.GABBRO_LAYERS, AllCTs.POLISHED_GABBRO)),
LIMESAND(new FallingBlock(Properties.from(Blocks.SAND))),
LIMESTONE(new Block(Properties.from(Blocks.SANDSTONE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
LIMESTONE_BRICKS(new Block(Properties.from(LIMESTONE.block)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
POLISHED_LIMESTONE(new Block(Properties.from(LIMESTONE.block)), ComesWith.SLAB),
LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(LIMESTONE.block))),
LIMESTONE_LAYERS(new LayeredCTBlock(Properties.from(LIMESTONE.block),
CTSpriteShifter.get(CTType.HORIZONTAL, "limestone_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, "polished_limestone"))),
LIMESTONE_LAYERS(
new LayeredCTBlock(Properties.from(LIMESTONE.block), AllCTs.LIMESTONE_LAYERS, AllCTs.POLISHED_LIMESTONE)),
WEATHERED_LIMESTONE(new Block(Properties.from(Blocks.ANDESITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
WEATHERED_LIMESTONE_BRICKS(new Block(Properties.from(WEATHERED_LIMESTONE.block)), ComesWith.STAIRS, ComesWith.SLAB,
ComesWith.WALL),
POLISHED_WEATHERED_LIMESTONE(new Block(Properties.from(WEATHERED_LIMESTONE.block)), ComesWith.SLAB),
WEATHERED_LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(WEATHERED_LIMESTONE.block))),
WEATHERED_LIMESTONE_LAYERS(new LayeredCTBlock(Properties.from(WEATHERED_LIMESTONE.block),
CTSpriteShifter.get(CTType.HORIZONTAL, "weathered_limestone_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, "polished_weathered_limestone"))),
AllCTs.WEATHERED_LIMESTONE_LAYERS, AllCTs.POLISHED_WEATHERED_LIMESTONE)),
DOLOMITE(new Block(Properties.from(Blocks.QUARTZ_BLOCK)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
DOLOMITE_BRICKS(new Block(Properties.from(DOLOMITE.block))),
POLISHED_DOLOMITE(new Block(Properties.from(DOLOMITE.block))),
DOLOMITE_PILLAR(new RotatedPillarBlock(Properties.from(DOLOMITE.block))),
DOLOMITE_LAYERS(new LayeredCTBlock(Properties.from(DOLOMITE.block),
CTSpriteShifter.get(CTType.HORIZONTAL, "dolomite_layers"),
CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, "polished_dolomite"))),
DOLOMITE_LAYERS(new LayeredCTBlock(Properties.from(DOLOMITE.block), AllCTs.DOLOMITE_LAYERS, AllCTs.POLISHED_DOLOMITE)),
VOLCANIC_ROCK(new VolcanicRockBlock()),

View file

@ -0,0 +1,81 @@
package com.simibubi.create;
import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType.HORIZONTAL;
import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType.OMNIDIRECTIONAL;
import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType.VERTICAL;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
import net.minecraft.util.ResourceLocation;
public enum AllCTs {
FRAMED_GLASS(omni("framed_glass")),
HORIZONTAL_FRAMED_GLASS(custom(HORIZONTAL, "framed_glass", "horizontal_framed_glass")),
VERTICAL_FRAMED_GLASS(custom(VERTICAL, "framed_glass", "vertical_framed_glass")),
OAK_GLASS(vertical("oak_window")),
SPRUCE_GLASS(vertical("spruce_window")),
BIRCH_GLASS(vertical("birch_window")),
JUNGLE_GLASS(vertical("jungle_window")),
DARK_OAK_GLASS(vertical("dark_oak_window")),
ACACIA_GLASS(vertical("acacia_window")),
ACACIA_GLASS_DENSE(vertical("acacia_window_dense")),
IRON_GLASS(vertical("iron_window")),
GRANITE_LAYERS(layers("granite")),
DIORITE_LAYERS(layers("diorite")),
ANDESITE_LAYERS(layers("andesite")),
GABBRO_LAYERS(layers("gabbro")),
DOLOMITE_LAYERS(layers("dolomite")),
LIMESTONE_LAYERS(layers("limestone")),
WEATHERED_LIMESTONE_LAYERS(layers("weathered_limestone")),
POLISHED_GRANITE(polishedVanilla("granite")),
POLISHED_DIORITE(polishedVanilla("diorite")),
POLISHED_ANDESITE(polishedVanilla("andesite")),
POLISHED_GABBRO(polished("gabbro")),
POLISHED_DOLOMITE(polished("dolomite")),
POLISHED_LIMESTONE(polished("limestone")),
POLISHED_WEATHERED_LIMESTONE(polished("weathered_limestone")),
;
private CTSpriteShiftEntry entry;
private AllCTs(CTSpriteShiftEntry entry) {
this.entry = entry;
}
public CTSpriteShiftEntry get() {
return entry;
}
static CTSpriteShiftEntry omni(String name) {
return CTSpriteShifter.get(OMNIDIRECTIONAL, name);
}
static CTSpriteShiftEntry custom(CTType type, String from, String to) {
return CTSpriteShifter.get(type, from, to);
}
static CTSpriteShiftEntry vertical(String blockname) {
return CTSpriteShifter.get(VERTICAL, blockname);
}
static CTSpriteShiftEntry layers(String prefix) {
return CTSpriteShifter.get(HORIZONTAL, prefix + "_layers");
}
static CTSpriteShiftEntry polished(String blockname) {
return omni("polished_" + blockname);
}
static CTSpriteShiftEntry polishedVanilla(String blockname) {
return CTSpriteShifter.get(OMNIDIRECTIONAL, new ResourceLocation("block/polished_" + blockname),
"polished_" + blockname);
}
}

View file

@ -55,7 +55,7 @@ public class CTModel extends BakedModelWrapper<IBakedModel> {
CTData data = new CTData();
for (Direction face : Direction.values()) {
if (!Block.shouldSideBeRendered(state, world, pos, face))
if (state.isNormalCube(world, pos) && !Block.shouldSideBeRendered(state, world, pos, face))
continue;
CTSpriteShiftEntry spriteShift = behaviour.get(state, face);
if (spriteShift == null)

View file

@ -20,10 +20,18 @@ public abstract class ConnectedTextureBehaviour {
public abstract Iterable<CTSpriteShiftEntry> getAllCTShifts();
protected boolean shouldFlipUVs(BlockState state, Direction face) {
protected boolean reverseUVs(BlockState state, Direction face) {
return false;
}
protected boolean reverseUVsHorizontally(BlockState state, Direction face) {
return reverseUVs(state, face);
}
protected boolean reverseUVsVertically(BlockState state, Direction face) {
return reverseUVs(state, face);
}
public boolean connectsTo(BlockState state, BlockState other, IEnviromentBlockReader reader, BlockPos pos,
BlockPos otherPos, Direction face) {
@ -55,26 +63,20 @@ public abstract class ConnectedTextureBehaviour {
return connectsTo(state, reader.getBlockState(p), reader, pos, p, face);
};
boolean up = connection.test(0, 1);
boolean down = connection.test(0, -1);
boolean left = connection.test(-1, 0);
boolean right = connection.test(1, 0);
boolean topLeft = connection.test(-1, 1);
boolean topRight = connection.test(1, 1);
boolean bottomLeft = connection.test(-1, -1);
boolean bottomRight = connection.test(1, -1);
boolean flipH = reverseUVsHorizontally(state, face);
boolean flipV = reverseUVsVertically(state, face);
int sh = flipH ? -1 : 1;
int sv = flipV ? -1 : 1;
boolean flip = shouldFlipUVs(state, face);
CTContext context = new CTContext();
context.up = flip ? down : up;
context.down = flip ? up : down;
context.left = flip ? right : left;
context.right = flip ? left : right;
context.topLeft = flip ? bottomRight : topLeft;
context.topRight = flip ? bottomLeft : topRight;
context.bottomLeft = flip ? topRight : bottomLeft;
context.bottomRight = flip ? topLeft : bottomRight;
context.up = connection.test(0, sv);
context.down = connection.test(0, -sv);
context.left = connection.test(-sh, 0);
context.right = connection.test(sh, 0);
context.topLeft = connection.test(-sh, sv);
context.topRight = connection.test(sh, sv);
context.bottomLeft = connection.test(-sh, -sv);
context.bottomRight = connection.test(sh, -sv);
return context;
}

View file

@ -45,11 +45,10 @@ public class OxidizingBlock extends Block {
if (!worldIn.isBlockPresent(neighbourPos))
continue;
BlockState neighborState = worldIn.getBlockState(neighbourPos);
if (neighborState.has(OXIDIZATION)) {
if (neighborState.has(OXIDIZATION) && neighborState.get(OXIDIZATION) != 0) {
neighbors.add(neighborState.get(OXIDIZATION));
}
if (Block.hasSolidSide(neighborState, worldIn, neighbourPos,
facing.getOpposite())) {
if (Block.hasSolidSide(neighborState, worldIn, neighbourPos, facing.getOpposite())) {
continue;
}
canIncrease = true;

View file

@ -209,7 +209,7 @@ public class RotationPropagator {
&& (newSpeed != 0 && neighbourTE.speed != 0);
boolean tooFast = Math.abs(newSpeed) > parameters.maxRotationSpeed.get();
boolean speedChangedTooOften = updateTE.speedChangeCounter > 25;
boolean speedChangedTooOften = updateTE.speedChangeCounter > 50;
if (tooFast || speedChangedTooOften) {
world.destroyBlock(pos, true);
return;

View file

@ -97,10 +97,10 @@ public class LinearChassisBlock extends AbstractChassisBlock implements IHaveCon
}
@Override
public boolean shouldFlipUVs(BlockState state, Direction face) {
public boolean reverseUVs(BlockState state, Direction face) {
if (state.get(AXIS).isHorizontal() && face.getAxisDirection() == AxisDirection.POSITIVE)
return true;
return super.shouldFlipUVs(state, face);
return super.reverseUVs(state, face);
}
@Override

View file

@ -43,7 +43,7 @@ public class InputCTBehaviour extends ConnectedTextureBehaviour {
}
@Override
protected boolean shouldFlipUVs(BlockState state, Direction direction) {
protected boolean reverseUVs(BlockState state, Direction direction) {
if (!direction.getAxis().isVertical())
return false;
Direction facing = state.get(HORIZONTAL_FACING);

View file

@ -1,22 +1,41 @@
package com.simibubi.create.modules.palettes;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
import com.simibubi.create.AllCTs;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import com.simibubi.create.foundation.block.connected.IHaveConnectedTextures;
import com.simibubi.create.foundation.block.connected.StandardCTBehaviour;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.GlassBlock;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.Direction;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class CTGlassBlock extends GlassBlock implements IHaveConnectedTextures {
private boolean hasAlpha;
protected ConnectedTextureBehaviour behaviour;
public CTGlassBlock(boolean hasAlpha) {
public CTGlassBlock(AllCTs spriteShift, boolean hasAlpha) {
super(Properties.from(Blocks.GLASS));
this.hasAlpha = hasAlpha;
this.behaviour = createBehaviour(spriteShift.get());
}
@OnlyIn(Dist.CLIENT)
@Override
public boolean isSideInvisible(BlockState state, BlockState adjacentBlockState, Direction side) {
return adjacentBlockState.getBlock() instanceof CTGlassBlock
? (!state.canRenderInLayer(BlockRenderLayer.TRANSLUCENT) && side.getAxis().isHorizontal()
|| state.getBlock() == adjacentBlockState.getBlock())
: super.isSideInvisible(state, adjacentBlockState, side);
}
public ConnectedTextureBehaviour createBehaviour(CTSpriteShiftEntry spriteShift) {
return new StandardCTBehaviour(spriteShift);
}
@Override
@ -26,7 +45,7 @@ public class CTGlassBlock extends GlassBlock implements IHaveConnectedTextures {
@Override
public ConnectedTextureBehaviour getBehaviour() {
return new StandardCTBehaviour(CTSpriteShifter.get(CTType.OMNIDIRECTIONAL, getRegistryName().getPath()));
return behaviour;
}
}

View file

@ -0,0 +1,70 @@
package com.simibubi.create.modules.palettes;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import com.simibubi.create.foundation.block.connected.IHaveConnectedTextures;
import com.simibubi.create.foundation.block.connected.StandardCTBehaviour;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.Direction;
import net.minecraft.util.Direction.AxisDirection;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IEnviromentBlockReader;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class CTGlassPaneBlock extends GlassPaneBlock implements IHaveConnectedTextures {
protected CTGlassBlock ctGlass;
protected ConnectedTextureBehaviour behaviour;
public CTGlassPaneBlock(Block ctGlass) {
super(Properties.from(Blocks.GLASS));
this.ctGlass = (CTGlassBlock) ctGlass;
behaviour = createBehaviour();
}
@Override
@OnlyIn(Dist.CLIENT)
public boolean isSideInvisible(BlockState state, BlockState adjacentBlockState, Direction side) {
if (side.getAxis().isVertical())
return adjacentBlockState == state;
return super.isSideInvisible(state, adjacentBlockState, side);
}
protected ConnectedTextureBehaviour createBehaviour() {
for (CTSpriteShiftEntry ctSpriteShiftEntry : ctGlass.getBehaviour().getAllCTShifts()) {
return new StandardCTBehaviour(ctSpriteShiftEntry) {
@Override
public boolean connectsTo(BlockState state, BlockState other, IEnviromentBlockReader reader,
BlockPos pos, BlockPos otherPos, Direction face) {
return state.getBlock() == other.getBlock();
}
@Override
protected boolean reverseUVsHorizontally(BlockState state, net.minecraft.util.Direction face) {
if (face.getAxisDirection() == AxisDirection.NEGATIVE)
return true;
return super.reverseUVsHorizontally(state, face);
}
};
}
return null;
}
@Override
public BlockRenderLayer getRenderLayer() {
return ctGlass.getRenderLayer();
}
@Override
public ConnectedTextureBehaviour getBehaviour() {
return behaviour;
}
}

View file

@ -0,0 +1,24 @@
package com.simibubi.create.modules.palettes;
import javax.annotation.Nullable;
import com.simibubi.create.AllCTs;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
public class HorizontalCTGlassBlock extends CTGlassBlock {
private AllCTs topShift;
public HorizontalCTGlassBlock(AllCTs layerShift, @Nullable AllCTs topShift, boolean hasAlpha) {
super(layerShift, hasAlpha);
this.topShift = topShift;
behaviour = createBehaviour(layerShift.get());
}
@Override
public ConnectedTextureBehaviour createBehaviour(CTSpriteShiftEntry spriteShift) {
return new LayeredCTBlock.LayeredCTBehaviour(spriteShift, topShift == null ? null : topShift.get());
}
}

View file

@ -2,6 +2,9 @@ package com.simibubi.create.modules.palettes;
import java.util.Arrays;
import javax.annotation.Nullable;
import com.simibubi.create.AllCTs;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import com.simibubi.create.foundation.block.connected.IHaveConnectedTextures;
@ -14,13 +17,13 @@ public class LayeredCTBlock extends Block implements IHaveConnectedTextures {
private LayeredCTBehaviour behaviour;
public LayeredCTBlock(Properties properties, CTSpriteShiftEntry layerShift) {
public LayeredCTBlock(Properties properties, AllCTs layerShift) {
this(properties, layerShift, null);
}
public LayeredCTBlock(Properties properties, CTSpriteShiftEntry layerShift, CTSpriteShiftEntry topShift) {
public LayeredCTBlock(Properties properties, AllCTs layerShift, @Nullable AllCTs topShift) {
super(properties);
behaviour = new LayeredCTBehaviour(layerShift, topShift);
behaviour = new LayeredCTBehaviour(layerShift.get(), topShift == null ? null : topShift.get());
}
@Override
@ -28,7 +31,7 @@ public class LayeredCTBlock extends Block implements IHaveConnectedTextures {
return behaviour;
}
private static class LayeredCTBehaviour extends ConnectedTextureBehaviour {
static class LayeredCTBehaviour extends ConnectedTextureBehaviour {
CTSpriteShiftEntry topShift;
CTSpriteShiftEntry layerShift;

View file

@ -0,0 +1,29 @@
package com.simibubi.create.modules.palettes;
import com.simibubi.create.AllCTs;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import com.simibubi.create.foundation.block.connected.StandardCTBehaviour;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
public class VerticalCTGlassBlock extends CTGlassBlock {
public VerticalCTGlassBlock(AllCTs spriteShift, boolean hasAlpha) {
super(spriteShift, hasAlpha);
}
@Override
public ConnectedTextureBehaviour createBehaviour(CTSpriteShiftEntry spriteShift) {
return new StandardCTBehaviour(spriteShift) {
@Override
public CTSpriteShiftEntry get(BlockState state, Direction direction) {
if (direction.getAxis().isVertical())
return null;
return super.get(state, direction);
}
};
}
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/acacia_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/acacia/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/acacia/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/acacia/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/acacia/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/acacia/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/acacia/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/acacia/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/acacia/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/acacia/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/birch_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/birch/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/birch/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/birch/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/birch/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/birch/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/birch/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/birch/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/birch/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/birch/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/dark_oak_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/dark_oak/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/dark_oak/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/dark_oak/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/dark_oak/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/dark_oak/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/dark_oak/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/dark_oak/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/dark_oak/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/dark_oak/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/glass/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/glass/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/glass/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/glass/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/glass/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/framed_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/glass/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/glass/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/glass/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/glass/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/glass/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/iron_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/iron/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/iron/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/iron/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/iron/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/iron/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/iron/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/iron/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/iron/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/iron/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/jungle_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/jungle/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/jungle/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/jungle/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/jungle/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/jungle/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/jungle/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/jungle/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/jungle/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/jungle/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/oak_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/oak/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/oak/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/oak/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/oak/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/oak/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/oak/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/oak/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/oak/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/oak/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/spruce_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/spruce/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/spruce/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/spruce/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/spruce/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/spruce/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/spruce/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/spruce/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/spruce/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/spruce/noside", "y": 270 }
}
]
}

View file

@ -1,29 +1,31 @@
{
"multipart": [
{ "apply": { "model": "create:block/palettes/tiled_glass_pane_post" }},
{
"apply": { "model": "create:block/palettes/pane/tiled/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/tiled_glass_pane_side" }
"apply": { "model": "create:block/palettes/pane/tiled/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/tiled_glass_pane_side", "y": 90 }
"apply": { "model": "create:block/palettes/pane/tiled/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/tiled_glass_pane_side_alt" }
"apply": { "model": "create:block/palettes/pane/tiled/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/tiled_glass_pane_side_alt", "y": 90 }
"apply": { "model": "create:block/palettes/pane/tiled/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/tiled_glass_pane_noside" }
"apply": { "model": "create:block/palettes/pane/tiled/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/tiled_glass_pane_noside_alt" }
"apply": { "model": "create:block/palettes/pane/tiled/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/tiled_glass_pane_noside_alt", "y": 90 }
"apply": { "model": "create:block/palettes/pane/tiled/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/tiled_glass_pane_noside", "y": 270 }
"apply": { "model": "create:block/palettes/pane/tiled/noside", "y": 270 }
}
]
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "create:block/palettes/framed_glass" }
}
}

View file

@ -0,0 +1,31 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/glass/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/glass/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/glass/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/glass/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/glass/noside", "y": 270 }
}
]
}

View file

@ -135,8 +135,28 @@
"block.create.belt_tunnel": "Conveyor Tunnel",
"block.create.tiled_glass": "Tiled Glass",
"block.create.framed_glass": "Large Glass Window",
"block.create.vertical_framed_glass": "Vertical Glass Window",
"block.create.horizontal_framed_glass": "Horizontal Glass Window",
"block.create.oak_glass": "Oak Window",
"block.create.spruce_glass": "Spruce Window",
"block.create.birch_glass": "Birch Window",
"block.create.jungle_glass": "Jungle Window",
"block.create.dark_oak_glass": "Dark Oak Window",
"block.create.acacia_glass": "Acacia Window",
"block.create.iron_glass": "Ornate Iron Window",
"block.create.tiled_glass_pane": "Tiled Glass Pane",
"block.create.framed_glass": "Framed Glass",
"block.create.framed_glass_pane": "Large Glass Window Pane",
"block.create.vertical_framed_glass_pane": "Vertical Glass Window Pane",
"block.create.horizontal_framed_glass_pane": "Horizontal Glass Window Pane",
"block.create.oak_glass_pane": "Oak Window Pane",
"block.create.spruce_glass_pane": "Spruce Window Pane",
"block.create.birch_glass_pane": "Birch Window Pane",
"block.create.jungle_glass_pane": "Jungle Window Pane",
"block.create.dark_oak_glass_pane": "Dark Oak Window Pane",
"block.create.acacia_glass_pane": "Acacia Window Pane",
"block.create.iron_glass_pane": "Ornate Iron Window Pane",
"block.create.window_in_a_block": "Block with Glass Pane",
"block.create.andesite_bricks": "Andesite Bricks",

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "block/acacia_planks",
"side": "create:block/acacia_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "block/birch_planks",
"side": "create:block/birch_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "block/dark_oak_planks",
"side": "create:block/dark_oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "create:block/iron_window_top",
"side": "create:block/iron_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "block/jungle_planks",
"side": "create:block/jungle_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "block/oak_planks",
"side": "create:block/oak_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/acacia_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/acacia_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/acacia_planks",
"pane": "create:block/acacia_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/acacia_planks",
"pane": "create:block/acacia_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/acacia_planks",
"pane": "create:block/acacia_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/birch_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/birch_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/birch_planks",
"pane": "create:block/birch_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/birch_planks",
"pane": "create:block/birch_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/birch_planks",
"pane": "create:block/birch_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/dark_oak_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/dark_oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/dark_oak_planks",
"pane": "create:block/dark_oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/dark_oak_planks",
"pane": "create:block/dark_oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/dark_oak_planks",
"pane": "create:block/dark_oak_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/framed_glass"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/framed_glass"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "create:block/framed_glass_pane_top",
"pane": "create:block/framed_glass"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "create:block/framed_glass_pane_top",
"pane": "create:block/framed_glass"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "create:block/framed_glass_pane_top",
"pane": "create:block/framed_glass"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/iron_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/iron_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "create:block/gabbro",
"pane": "create:block/iron_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "create:block/gabbro",
"pane": "create:block/iron_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "create:block/gabbro",
"pane": "create:block/iron_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/jungle_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/jungle_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/jungle_planks",
"pane": "create:block/jungle_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/jungle_planks",
"pane": "create:block/jungle_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/jungle_planks",
"pane": "create:block/jungle_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/oak_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/oak_planks",
"pane": "create:block/oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/oak_planks",
"pane": "create:block/oak_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/oak_planks",
"pane": "create:block/oak_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/spruce_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/spruce_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/spruce_log",
"pane": "create:block/spruce_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/spruce_log",
"pane": "create:block/spruce_window"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/spruce_log",
"pane": "create:block/spruce_window"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/$PANE"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/$PANE"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/$EDGE",
"pane": "create:block/$PANE"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/$EDGE",
"pane": "create:block/$PANE"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/$EDGE",
"pane": "create:block/$PANE"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/cube_column",
"textures": {
"end": "block/spruce_log_top",
"side": "create:block/spruce_window"
}
}

View file

@ -0,0 +1,14 @@
{
"ambientocclusion": false,
"textures": {
"particle": "#pane"
},
"elements": [
{ "from": [ 7, 0, 7 ],
"to": [ 9, 16, 9 ],
"faces": {
"north": { "uv": [ 9, 0, 7, 16 ], "texture": "#pane" }
}
}
]
}

View file

@ -0,0 +1,14 @@
{
"ambientocclusion": false,
"textures": {
"particle": "#pane"
},
"elements": [
{ "from": [ 7, 0, 7 ],
"to": [ 9, 16, 9 ],
"faces": {
"east": { "uv": [ 7, 0, 9, 16 ], "texture": "#pane" }
}
}
]
}

View file

@ -0,0 +1,15 @@
{
"ambientocclusion": false,
"textures": {
"particle": "#pane"
},
"elements": [
{ "from": [ 7, 0, 7 ],
"to": [ 9, 16, 9 ],
"faces": {
"down": { "uv": [ 7, 7, 9, 9 ], "texture": "#edge", "cullface": "down" },
"up": { "uv": [ 7, 7, 9, 9 ], "texture": "#edge", "cullface": "up" }
}
}
]
}

View file

@ -0,0 +1,18 @@
{
"ambientocclusion": false,
"textures": {
"particle": "#pane"
},
"elements": [
{ "from": [ 7, 0, 0 ],
"to": [ 9, 16, 7 ],
"faces": {
"down": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "cullface": "down" },
"up": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "cullface": "up" },
"north": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "north" },
"west": { "uv": [ 16, 0, 9, 16 ], "texture": "#pane" },
"east": { "uv": [ 9, 0, 16, 16 ], "texture": "#pane" }
}
}
]
}

View file

@ -0,0 +1,18 @@
{
"ambientocclusion": false,
"textures": {
"particle": "#pane"
},
"elements": [
{ "from": [ 7, 0, 9 ],
"to": [ 9, 16, 16 ],
"faces": {
"down": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "cullface": "down" },
"up": { "uv": [ 7, 0, 9, 7 ], "texture": "#edge", "cullface": "up" },
"south": { "uv": [ 7, 0, 9, 16 ], "texture": "#edge", "cullface": "south" },
"west": { "uv": [ 7, 0, 0, 16 ], "texture": "#pane" },
"east": { "uv": [ 0, 0, 7, 16 ], "texture": "#pane" }
}
}
]
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/palettes/acacia_glass"
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/palettes/birch_glass"
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/birch_window",
"edge": "block/birch_planks"
}
}

Some files were not shown because too many files have changed in this diff Show more