Made covers automatically adjust to the model size. Fixes #1862

This commit is contained in:
raoulvdberge
2018-07-09 17:52:32 +02:00
parent 257af46372
commit 26b677f5ea
15 changed files with 335 additions and 556 deletions

View File

@@ -16,7 +16,7 @@ public class NetworkNodeCable extends NetworkNode implements ICoverable {
private static final String NBT_COVERS = "Covers";
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.ALLOW_ALL);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.ANY);
public NetworkNodeCable(World world, BlockPos pos) {
super(world, pos);

View File

@@ -67,7 +67,7 @@ public class NetworkNodeConstructor extends NetworkNode implements IComparable,
private int type = IType.ITEMS;
private boolean drop = false;
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.NONE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_LARGE_ON_FACE);
public NetworkNodeConstructor(World world, BlockPos pos) {
super(world, pos);

View File

@@ -73,7 +73,7 @@ public class NetworkNodeDestructor extends NetworkNode implements IComparable, I
private int type = IType.ITEMS;
private boolean pickupItem = false;
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.NONE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_LARGE_ON_FACE);
public NetworkNodeDestructor(World world, BlockPos pos) {
super(world, pos);

View File

@@ -44,7 +44,7 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
private int type = IType.ITEMS;
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_WIDE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_ON_FACE);
private int filterSlot;

View File

@@ -56,7 +56,7 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
private AccessType accessType = AccessType.INSERT_EXTRACT;
private int networkTicks;
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_WIDE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_MEDIUM_ON_FACE);
private List<IStorageExternal<ItemStack>> itemStorages = new CopyOnWriteArrayList<>();
private List<IStorageExternal<FluidStack>> fluidStorages = new CopyOnWriteArrayList<>();

View File

@@ -49,7 +49,7 @@ public class NetworkNodeImporter extends NetworkNode implements IComparable, IFi
private int mode = IFilterable.BLACKLIST;
private int type = IType.ITEMS;
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_WIDE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_MEDIUM_ON_FACE);
private int currentSlot;

View File

@@ -21,7 +21,7 @@ public class NetworkNodeReader extends NetworkNode implements IReader, IGuiReade
private String channel = "";
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.NONE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_LARGE_ON_FACE);
public NetworkNodeReader(World world, BlockPos pos) {
super(world, pos);

View File

@@ -27,7 +27,7 @@ public class NetworkNodeWriter extends NetworkNode implements IWriter, IGuiReade
private int redstoneStrength;
private int lastRedstoneStrength;
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.NONE_ON_FACE);
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_LARGE_ON_FACE);
public NetworkNodeWriter(World world, BlockPos pos) {
super(world, pos);

View File

@@ -25,9 +25,10 @@ import java.util.Map;
public class CoverManager {
public enum CoverPlacementMode {
ALLOW_ALL,
NONE_ON_FACE,
HOLLOW_WIDE_ON_FACE
ANY,
HOLLOW_ON_FACE,
HOLLOW_MEDIUM_ON_FACE,
HOLLOW_LARGE_ON_FACE
}
private static final String NBT_DIRECTION = "Direction";
@@ -74,15 +75,15 @@ public class CoverManager {
if (isValidCover(cover.getStack()) && !hasCover(facing)) {
if (facing == node.getDirection()) {
switch (placementMode) {
case ALLOW_ALL:
case ANY:
break;
case NONE_ON_FACE:
return false;
case HOLLOW_WIDE_ON_FACE:
case HOLLOW_ON_FACE:
case HOLLOW_MEDIUM_ON_FACE:
case HOLLOW_LARGE_ON_FACE:
if (!cover.getType().isHollow()) {
return false;
}
cover = new Cover(cover.getStack(), CoverType.HOLLOW_WIDE);
cover = new Cover(cover.getStack(), placementMode == CoverPlacementMode.HOLLOW_ON_FACE ? CoverType.HOLLOW : (placementMode == CoverPlacementMode.HOLLOW_MEDIUM_ON_FACE ? CoverType.HOLLOW_MEDIUM : CoverType.HOLLOW_LARGE));
break;
}
}

View File

@@ -6,10 +6,11 @@ import net.minecraft.item.ItemStack;
public enum CoverType {
NORMAL,
HOLLOW,
HOLLOW_WIDE;
HOLLOW_MEDIUM,
HOLLOW_LARGE;
public boolean isHollow() {
return this == HOLLOW || this == HOLLOW_WIDE;
return this == HOLLOW || this == HOLLOW_MEDIUM || this == HOLLOW_LARGE;
}
public ItemStack createStack() {

View File

@@ -76,10 +76,13 @@ public class BakedModelCableCover implements IBakedModel {
addNormalCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest, handle);
break;
case HOLLOW:
addHollowCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest);
addHollowCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest, 6);
break;
case HOLLOW_WIDE:
addHollowWideCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest);
case HOLLOW_MEDIUM:
addHollowCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest, 3);
break;
case HOLLOW_LARGE:
addHollowCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest, 2);
break;
}
}
@@ -134,7 +137,7 @@ public class BakedModelCableCover implements IBakedModel {
}
}
private static void addHollowCover(List<BakedQuad> quads, TextureAtlasSprite sprite, EnumFacing coverSide, boolean hasUp, boolean hasDown, boolean hasEast, boolean hasWest) {
private static void addHollowCover(List<BakedQuad> quads, TextureAtlasSprite sprite, EnumFacing coverSide, boolean hasUp, boolean hasDown, boolean hasEast, boolean hasWest, int size) {
AxisAlignedBB bounds = ConstantsCable.getCoverBounds(coverSide);
Vector3f from = new Vector3f((float) bounds.minX * 16, (float) bounds.minY * 16, (float) bounds.minZ * 16);
@@ -158,7 +161,7 @@ public class BakedModelCableCover implements IBakedModel {
from.setX(0);
}
to.setX(6);
to.setX(size);
} else if (coverSide == EnumFacing.SOUTH) {
if (hasEast) {
to.setX(14);
@@ -166,15 +169,15 @@ public class BakedModelCableCover implements IBakedModel {
to.setX(16);
}
from.setX(10);
from.setX(16 - size);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(0);
to.setZ(6);
to.setZ(size);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(10);
from.setZ(16 - size);
to.setZ(16);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(10);
from.setZ(16 - size);
to.setZ(16);
}
@@ -193,7 +196,7 @@ public class BakedModelCableCover implements IBakedModel {
to.setX(16);
}
from.setX(10);
from.setX(16 - size);
} else if (coverSide == EnumFacing.SOUTH) {
if (hasWest) {
from.setX(2);
@@ -201,16 +204,16 @@ public class BakedModelCableCover implements IBakedModel {
from.setX(0);
}
to.setX(6);
to.setX(size);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(16 - size);
to.setZ(16);
from.setZ(10);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(0);
to.setZ(6);
to.setZ(size);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(0);
to.setZ(6);
to.setZ(size);
}
quads.addAll(new CubeBuilder()
@@ -222,8 +225,8 @@ public class BakedModelCableCover implements IBakedModel {
// Bottom
if (coverSide == EnumFacing.NORTH) {
from.setX(6);
to.setX(10);
from.setX(size);
to.setX(16 - size);
if (hasDown) {
from.setY(2);
@@ -231,10 +234,10 @@ public class BakedModelCableCover implements IBakedModel {
from.setY(0);
}
to.setY(6);
to.setY(size);
} else if (coverSide == EnumFacing.SOUTH) {
from.setX(6);
to.setX(10);
from.setX(size);
to.setX(16 - size);
if (hasDown) {
from.setY(2);
@@ -242,10 +245,10 @@ public class BakedModelCableCover implements IBakedModel {
from.setY(0);
}
to.setY(6);
to.setY(size);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(6);
to.setZ(10);
from.setZ(size);
to.setZ(16 - size);
if (hasDown) {
from.setY(2);
@@ -253,10 +256,10 @@ public class BakedModelCableCover implements IBakedModel {
from.setY(0);
}
to.setY(6);
to.setY(size);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(6);
to.setZ(10);
from.setZ(size);
to.setZ(16 - size);
if (hasDown) {
from.setY(2);
@@ -264,13 +267,13 @@ public class BakedModelCableCover implements IBakedModel {
from.setY(0);
}
to.setY(6);
to.setY(size);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(6);
to.setZ(10);
from.setZ(size);
to.setZ(16 - size);
from.setX(0);
to.setX(6);
to.setX(size);
}
quads.addAll(new CubeBuilder()
@@ -282,8 +285,8 @@ public class BakedModelCableCover implements IBakedModel {
// Up
if (coverSide == EnumFacing.NORTH) {
from.setX(6);
to.setX(10);
from.setX(size);
to.setX(16 - size);
if (hasUp) {
to.setY(14);
@@ -291,10 +294,10 @@ public class BakedModelCableCover implements IBakedModel {
to.setY(16);
}
from.setY(10);
from.setY(16 - size);
} else if (coverSide == EnumFacing.SOUTH) {
from.setX(6);
to.setX(10);
from.setX(size);
to.setX(16 - size);
if (hasUp) {
to.setY(14);
@@ -302,10 +305,10 @@ public class BakedModelCableCover implements IBakedModel {
to.setY(16);
}
from.setY(10);
from.setY(16 - size);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(6);
to.setZ(10);
from.setZ(size);
to.setZ(16 - size);
if (hasUp) {
to.setY(14);
@@ -313,10 +316,10 @@ public class BakedModelCableCover implements IBakedModel {
to.setY(16);
}
from.setY(10);
from.setY(16 - size);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(6);
to.setZ(10);
from.setZ(size);
to.setZ(16 - size);
if (hasUp) {
to.setY(14);
@@ -324,219 +327,12 @@ public class BakedModelCableCover implements IBakedModel {
to.setY(16);
}
from.setY(10);
from.setY(16 - size);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(6);
to.setZ(10);
from.setZ(size);
to.setZ(16 - size);
from.setX(10);
to.setX(16);
}
quads.addAll(new CubeBuilder()
.from(from.getX(), from.getY(), from.getZ())
.to(to.getX(), to.getY(), to.getZ())
.addFaces(face -> new CubeBuilder.Face(face, sprite))
.bake()
);
}
private static void addHollowWideCover(List<BakedQuad> quads, TextureAtlasSprite sprite, EnumFacing coverSide, boolean hasUp, boolean hasDown, boolean hasEast, boolean hasWest) {
AxisAlignedBB bounds = ConstantsCable.getCoverBounds(coverSide);
Vector3f from = new Vector3f((float) bounds.minX * 16, (float) bounds.minY * 16, (float) bounds.minZ * 16);
Vector3f to = new Vector3f((float) bounds.maxX * 16, (float) bounds.maxY * 16, (float) bounds.maxZ * 16);
if (coverSide.getAxis() != EnumFacing.Axis.Y) {
if (hasDown) {
from.setY(2);
}
if (hasUp) {
to.setY(14);
}
}
// Right
if (coverSide == EnumFacing.NORTH) {
if (hasWest) {
from.setX(2);
} else {
from.setX(0);
}
to.setX(3);
} else if (coverSide == EnumFacing.SOUTH) {
if (hasEast) {
to.setX(14);
} else {
to.setX(16);
}
from.setX(13);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(0);
to.setZ(3);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(13);
to.setZ(16);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(13);
to.setZ(16);
}
quads.addAll(new CubeBuilder()
.from(from.getX(), from.getY(), from.getZ())
.to(to.getX(), to.getY(), to.getZ())
.addFaces(face -> new CubeBuilder.Face(face, sprite))
.bake()
);
// Left
if (coverSide == EnumFacing.NORTH) {
if (hasEast) {
to.setX(14);
} else {
to.setX(16);
}
from.setX(13);
} else if (coverSide == EnumFacing.SOUTH) {
if (hasWest) {
from.setX(2);
} else {
from.setX(0);
}
to.setX(3);
} else if (coverSide == EnumFacing.EAST) {
to.setZ(16);
from.setZ(13);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(0);
to.setZ(3);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(0);
to.setZ(3);
}
quads.addAll(new CubeBuilder()
.from(from.getX(), from.getY(), from.getZ())
.to(to.getX(), to.getY(), to.getZ())
.addFaces(face -> new CubeBuilder.Face(face, sprite))
.bake()
);
// Bottom
if (coverSide == EnumFacing.NORTH) {
from.setX(3);
to.setX(13);
if (hasDown) {
from.setY(2);
} else {
from.setY(0);
}
to.setY(3);
} else if (coverSide == EnumFacing.SOUTH) {
from.setX(3);
to.setX(13);
if (hasDown) {
from.setY(2);
} else {
from.setY(0);
}
to.setY(3);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(3);
to.setZ(13);
if (hasDown) {
from.setY(2);
} else {
from.setY(0);
}
to.setY(3);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(3);
to.setZ(13);
if (hasDown) {
from.setY(2);
} else {
from.setY(0);
}
to.setY(3);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(3);
to.setZ(13);
from.setX(0);
to.setX(3);
}
quads.addAll(new CubeBuilder()
.from(from.getX(), from.getY(), from.getZ())
.to(to.getX(), to.getY(), to.getZ())
.addFaces(face -> new CubeBuilder.Face(face, sprite))
.bake()
);
// Up
if (coverSide == EnumFacing.NORTH) {
from.setX(3);
to.setX(13);
if (hasUp) {
to.setY(14);
} else {
to.setY(16);
}
from.setY(13);
} else if (coverSide == EnumFacing.SOUTH) {
from.setX(3);
to.setX(13);
if (hasUp) {
to.setY(14);
} else {
to.setY(16);
}
from.setY(13);
} else if (coverSide == EnumFacing.EAST) {
from.setZ(3);
to.setZ(13);
if (hasUp) {
to.setY(14);
} else {
to.setY(16);
}
from.setY(13);
} else if (coverSide == EnumFacing.WEST) {
from.setZ(3);
to.setZ(13);
if (hasUp) {
to.setY(14);
} else {
to.setY(16);
}
from.setY(13);
} else if (coverSide == EnumFacing.DOWN || coverSide == EnumFacing.UP) {
from.setZ(3);
to.setZ(13);
from.setX(13);
from.setX(16 - size);
to.setX(16);
}

View File

@@ -1,210 +1,209 @@
{
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
"elements": [
{
"name": "Line1",
"from": [
6.0,
6.0,
0.0
6,
6,
0
],
"to": [
10.0,
10.0,
2.0
10,
10,
2
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
10.0
]
0,
0,
4,
4
],
"texture": "#line"
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
10.0
]
0,
0,
2,
4
],
"texture": "#line"
},
"south": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
10.0
]
0,
0,
4,
4
],
"texture": "#line"
},
"west": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
10.0
]
0,
0,
2,
4
],
"texture": "#line"
},
"up": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
2.0
]
0,
0,
4,
2
],
"texture": "#line"
},
"down": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
2.0
]
0,
0,
4,
2
],
"texture": "#line"
}
}
},
{
"name": "Line2",
"from": [
5.0,
5.0,
2.0
5,
5,
2
],
"to": [
11.0,
11.0,
4.0
11,
11,
4
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
6.0
]
0,
0,
6,
6
],
"texture": "#line"
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
6.0
]
0,
0,
2,
6
],
"texture": "#line"
},
"south": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
6.0
]
0,
0,
6,
6
],
"texture": "#line"
},
"west": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
6.0
]
0,
0,
2,
6
],
"texture": "#line"
},
"up": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
2.0
]
0,
0,
6,
2
],
"texture": "#line"
},
"down": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
2.0
]
0,
0,
6,
2
],
"texture": "#line"
}
}
},
{
"name": "Line3",
"from": [
3.0,
3.0,
4.0
3,
3,
4
],
"to": [
13.0,
13.0,
6.0
13,
13,
6
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
4.0
]
0,
0,
10,
10
],
"texture": "#line"
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
4.0
]
0,
0,
2,
10
],
"texture": "#line"
},
"south": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
4.0
]
0,
0,
10,
10
],
"texture": "#line"
},
"west": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
4.0
]
0,
0,
2,
10
],
"texture": "#line"
},
"up": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
2.0
]
0,
0,
10,
2
],
"texture": "#line"
},
"down": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
2.0
]
0,
0,
10,
2
],
"texture": "#line"
}
}
}

View File

@@ -4,207 +4,207 @@
{
"name": "Line1",
"from": [
6.0,
6.0,
0.0
6,
6,
0
],
"to": [
10.0,
10.0,
2.0
10,
10,
2
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
10.0
]
0,
0,
4,
4
],
"texture": "#line"
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
10.0
]
0,
0,
2,
4
],
"texture": "#line"
},
"south": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
10.0
]
0,
0,
4,
4
],
"texture": "#line"
},
"west": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
10.0
]
0,
0,
2,
4
],
"texture": "#line"
},
"up": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
2.0
]
0,
0,
4,
2
],
"texture": "#line"
},
"down": {
"texture": "#line",
"uv": [
0.0,
0.0,
10.0,
2.0
]
0,
0,
4,
2
],
"texture": "#line"
}
}
},
{
"name": "Line2",
"from": [
5.0,
5.0,
2.0
5,
5,
2
],
"to": [
11.0,
11.0,
4.0
11,
11,
4
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
6.0
]
0,
0,
6,
6
],
"texture": "#line"
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
6.0
]
0,
0,
2,
6
],
"texture": "#line"
},
"south": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
6.0
]
0,
0,
6,
6
],
"texture": "#line"
},
"west": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
6.0
]
0,
0,
2,
6
],
"texture": "#line"
},
"up": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
2.0
]
0,
0,
6,
2
],
"texture": "#line"
},
"down": {
"texture": "#line",
"uv": [
0.0,
0.0,
6.0,
2.0
]
0,
0,
6,
2
],
"texture": "#line"
}
}
},
{
"name": "Line3",
"from": [
3.0,
3.0,
4.0
3,
3,
4
],
"to": [
13.0,
13.0,
6.0
13,
13,
6
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
4.0
]
0,
0,
10,
10
],
"texture": "#line"
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
4.0
]
0,
0,
2,
10
],
"texture": "#line"
},
"south": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
4.0
]
0,
0,
10,
10
],
"texture": "#line"
},
"west": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
4.0
]
0,
0,
2,
10
],
"texture": "#line"
},
"up": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
2.0
]
0,
0,
10,
2
],
"texture": "#line"
},
"down": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
2.0
]
0,
0,
10,
2
],
"texture": "#line"
}
}
},

View File

@@ -14,22 +14,13 @@
6.0
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
4.0
]
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
4.0
4.0,
2.0
]
},
"south": {
@@ -46,8 +37,8 @@
"uv": [
0.0,
0.0,
2.0,
4.0
4.0,
2.0
]
},
"up": {
@@ -55,8 +46,8 @@
"uv": [
0.0,
0.0,
4.0,
2.0
2.0,
4.0
]
},
"down": {
@@ -64,8 +55,8 @@
"uv": [
0.0,
0.0,
4.0,
2.0
2.0,
4.0
]
}
}

View File

@@ -14,22 +14,13 @@
6.0
],
"faces": {
"north": {
"texture": "#line",
"uv": [
0.0,
0.0,
4.0,
4.0
]
},
"east": {
"texture": "#line",
"uv": [
0.0,
0.0,
2.0,
4.0
4.0,
2.0
]
},
"south": {
@@ -46,8 +37,8 @@
"uv": [
0.0,
0.0,
2.0,
4.0
4.0,
2.0
]
},
"up": {
@@ -55,8 +46,8 @@
"uv": [
0.0,
0.0,
4.0,
2.0
2.0,
4.0
]
},
"down": {
@@ -64,8 +55,8 @@
"uv": [
0.0,
0.0,
4.0,
2.0
2.0,
4.0
]
}
}