Improve CoverType to not needlessly store large hollow cover types.
This commit is contained in:
@@ -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.ANY);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
public NetworkNodeCable(World world, BlockPos pos) {
|
||||
super(world, pos);
|
||||
|
||||
@@ -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.HOLLOW_LARGE_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
public NetworkNodeConstructor(World world, BlockPos pos) {
|
||||
super(world, pos);
|
||||
|
||||
@@ -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.HOLLOW_LARGE_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
public NetworkNodeDestructor(World world, BlockPos pos) {
|
||||
super(world, pos);
|
||||
|
||||
@@ -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_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
private int filterSlot;
|
||||
|
||||
|
||||
@@ -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_MEDIUM_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
private List<IStorageExternal<ItemStack>> itemStorages = new CopyOnWriteArrayList<>();
|
||||
private List<IStorageExternal<FluidStack>> fluidStorages = new CopyOnWriteArrayList<>();
|
||||
|
||||
@@ -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_MEDIUM_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
private int currentSlot;
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ public class NetworkNodeReader extends NetworkNode implements IReader, IGuiReade
|
||||
|
||||
private String channel = "";
|
||||
|
||||
private CoverManager coverManager = new CoverManager(this, CoverManager.CoverPlacementMode.HOLLOW_LARGE_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
public NetworkNodeReader(World world, BlockPos pos) {
|
||||
super(world, pos);
|
||||
|
||||
@@ -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.HOLLOW_LARGE_ON_FACE);
|
||||
private CoverManager coverManager = new CoverManager(this);
|
||||
|
||||
public NetworkNodeWriter(World world, BlockPos pos) {
|
||||
super(world, pos);
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.ICoverable;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCable;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemCover;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockGlass;
|
||||
@@ -24,29 +25,20 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class CoverManager {
|
||||
public enum CoverPlacementMode {
|
||||
ANY,
|
||||
HOLLOW_ON_FACE,
|
||||
HOLLOW_MEDIUM_ON_FACE,
|
||||
HOLLOW_LARGE_ON_FACE
|
||||
}
|
||||
|
||||
private static final String NBT_DIRECTION = "Direction";
|
||||
private static final String NBT_ITEM = "Item";
|
||||
private static final String NBT_TYPE = "Type";
|
||||
|
||||
private Map<EnumFacing, Cover> covers = new HashMap<>();
|
||||
private NetworkNode node;
|
||||
private CoverPlacementMode placementMode;
|
||||
|
||||
public CoverManager(NetworkNode node, CoverPlacementMode placementMode) {
|
||||
public CoverManager(NetworkNode node) {
|
||||
this.node = node;
|
||||
this.placementMode = placementMode;
|
||||
}
|
||||
|
||||
public boolean canConduct(EnumFacing direction) {
|
||||
Cover cover = getCover(direction);
|
||||
if (cover != null && !cover.getType().isHollow()) {
|
||||
if (cover != null && cover.getType() != CoverType.HOLLOW) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -54,7 +46,7 @@ public class CoverManager {
|
||||
if (neighbor instanceof ICoverable) {
|
||||
cover = ((ICoverable) neighbor).getCoverManager().getCover(direction.getOpposite());
|
||||
|
||||
if (cover != null && !cover.getType().isHollow()) {
|
||||
if (cover != null && cover.getType() != CoverType.HOLLOW) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -73,19 +65,8 @@ public class CoverManager {
|
||||
|
||||
public boolean setCover(EnumFacing facing, Cover cover) {
|
||||
if (isValidCover(cover.getStack()) && !hasCover(facing)) {
|
||||
if (facing == node.getDirection()) {
|
||||
switch (placementMode) {
|
||||
case ANY:
|
||||
break;
|
||||
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(), placementMode == CoverPlacementMode.HOLLOW_ON_FACE ? CoverType.HOLLOW : (placementMode == CoverPlacementMode.HOLLOW_MEDIUM_ON_FACE ? CoverType.HOLLOW_MEDIUM : CoverType.HOLLOW_LARGE));
|
||||
break;
|
||||
}
|
||||
if (facing == node.getDirection() && !(node instanceof NetworkNodeCable) && cover.getType() != CoverType.HOLLOW) {
|
||||
return false;
|
||||
}
|
||||
|
||||
covers.put(facing, cover);
|
||||
|
||||
@@ -5,13 +5,7 @@ import net.minecraft.item.ItemStack;
|
||||
|
||||
public enum CoverType {
|
||||
NORMAL,
|
||||
HOLLOW,
|
||||
HOLLOW_MEDIUM,
|
||||
HOLLOW_LARGE;
|
||||
|
||||
public boolean isHollow() {
|
||||
return this == HOLLOW || this == HOLLOW_MEDIUM || this == HOLLOW_LARGE;
|
||||
}
|
||||
HOLLOW;
|
||||
|
||||
public ItemStack createStack() {
|
||||
return new ItemStack(this == NORMAL ? RSItems.COVER : RSItems.HOLLOW_COVER);
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.ICoverable;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.Cover;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverType;
|
||||
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
|
||||
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo;
|
||||
import com.raoulvdberge.refinedstorage.block.property.PropertyObject;
|
||||
@@ -149,7 +150,7 @@ public class BlockCable extends BlockNode {
|
||||
if (node instanceof ICoverable) {
|
||||
Cover cover = ((ICoverable) node).getCoverManager().getCover(direction);
|
||||
|
||||
if (cover != null && !cover.getType().isHollow()) {
|
||||
if (cover != null && cover.getType() != CoverType.HOLLOW) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -159,7 +160,7 @@ public class BlockCable extends BlockNode {
|
||||
if (otherTile instanceof TileNode && ((TileNode) otherTile).getNode() instanceof ICoverable) {
|
||||
Cover cover = ((ICoverable) ((TileNode) otherTile).getNode()).getCoverManager().getCover(direction.getOpposite());
|
||||
|
||||
if (cover != null && !cover.getType().isHollow()) {
|
||||
if (cover != null && cover.getType() != CoverType.HOLLOW) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -244,7 +245,7 @@ public class BlockCable extends BlockNode {
|
||||
coverEast != null ? 14 : 16, coverUp != null ? 14 : 16, 2
|
||||
)));
|
||||
|
||||
if (!coverNorth.getType().isHollow()) {
|
||||
if (coverNorth.getType() != CoverType.HOLLOW) {
|
||||
groups.add(ConstantsCable.HOLDER_NORTH);
|
||||
}
|
||||
}
|
||||
@@ -255,7 +256,7 @@ public class BlockCable extends BlockNode {
|
||||
16, coverUp != null ? 14 : 16, 16
|
||||
)));
|
||||
|
||||
if (!coverEast.getType().isHollow()) {
|
||||
if (coverEast.getType() != CoverType.HOLLOW) {
|
||||
groups.add(ConstantsCable.HOLDER_EAST);
|
||||
}
|
||||
}
|
||||
@@ -266,7 +267,7 @@ public class BlockCable extends BlockNode {
|
||||
coverWest != null ? 2 : 0, coverUp != null ? 14 : 16, 14
|
||||
)));
|
||||
|
||||
if (!coverSouth.getType().isHollow()) {
|
||||
if (coverSouth.getType() != CoverType.HOLLOW) {
|
||||
groups.add(ConstantsCable.HOLDER_SOUTH);
|
||||
}
|
||||
}
|
||||
@@ -277,7 +278,7 @@ public class BlockCable extends BlockNode {
|
||||
2, coverUp != null ? 14 : 16, 16
|
||||
)));
|
||||
|
||||
if (!coverWest.getType().isHollow()) {
|
||||
if (coverWest.getType() != CoverType.HOLLOW) {
|
||||
groups.add(ConstantsCable.HOLDER_WEST);
|
||||
}
|
||||
}
|
||||
@@ -288,7 +289,7 @@ public class BlockCable extends BlockNode {
|
||||
16, 16, 16
|
||||
)));
|
||||
|
||||
if (!coverUp.getType().isHollow()) {
|
||||
if (coverUp.getType() != CoverType.HOLLOW) {
|
||||
groups.add(ConstantsCable.HOLDER_UP);
|
||||
}
|
||||
}
|
||||
@@ -299,7 +300,7 @@ public class BlockCable extends BlockNode {
|
||||
16, 2, 16
|
||||
)));
|
||||
|
||||
if (!coverDown.getType().isHollow()) {
|
||||
if (coverDown.getType() != CoverType.HOLLOW) {
|
||||
groups.add(ConstantsCable.HOLDER_DOWN);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
package com.raoulvdberge.refinedstorage.render.collision.constants;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
|
||||
import com.raoulvdberge.refinedstorage.util.CollisionUtils;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public final class ConstantsCable {
|
||||
public static final CollisionGroup CORE = new CollisionGroup().addItem(getBounds(6, 6, 6, 10, 10, 10));
|
||||
public static final CollisionGroup NORTH = new CollisionGroup().addItem(getBounds(6, 6, 0, 10, 10, 6));
|
||||
public static final CollisionGroup EAST = new CollisionGroup().addItem(getBounds(10, 6, 6, 16, 10, 10));
|
||||
public static final CollisionGroup SOUTH = new CollisionGroup().addItem(getBounds(6, 6, 10, 10, 10, 16));
|
||||
public static final CollisionGroup WEST = new CollisionGroup().addItem(getBounds(0, 6, 6, 6, 10, 10));
|
||||
public static final CollisionGroup UP = new CollisionGroup().addItem(getBounds(6, 10, 6, 10, 16, 10));
|
||||
public static final CollisionGroup DOWN = new CollisionGroup().addItem(getBounds(6, 0, 6, 10, 6, 10));
|
||||
public static final CollisionGroup CORE = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 6, 6, 10, 10, 10));
|
||||
public static final CollisionGroup NORTH = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 6, 0, 10, 10, 6));
|
||||
public static final CollisionGroup EAST = new CollisionGroup().addItem(CollisionUtils.getBounds(10, 6, 6, 16, 10, 10));
|
||||
public static final CollisionGroup SOUTH = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 6, 10, 10, 10, 16));
|
||||
public static final CollisionGroup WEST = new CollisionGroup().addItem(CollisionUtils.getBounds(0, 6, 6, 6, 10, 10));
|
||||
public static final CollisionGroup UP = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 10, 6, 10, 16, 10));
|
||||
public static final CollisionGroup DOWN = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 0, 6, 10, 6, 10));
|
||||
|
||||
public static final CollisionGroup HOLDER_NORTH = new CollisionGroup().addItem(getHolderBounds(EnumFacing.NORTH));
|
||||
public static final CollisionGroup HOLDER_EAST = new CollisionGroup().addItem(getHolderBounds(EnumFacing.EAST));
|
||||
@@ -22,26 +23,21 @@ public final class ConstantsCable {
|
||||
public static final CollisionGroup HOLDER_UP = new CollisionGroup().addItem(getHolderBounds(EnumFacing.UP));
|
||||
public static final CollisionGroup HOLDER_DOWN = new CollisionGroup().addItem(getHolderBounds(EnumFacing.DOWN));
|
||||
|
||||
|
||||
public static AxisAlignedBB getBounds(int fromX, int fromY, int fromZ, int toX, int toY, int toZ) {
|
||||
return new AxisAlignedBB((float) fromX / 16F, (float) fromY / 16F, (float) fromZ / 16F, (float) toX / 16F, (float) toY / 16F, (float) toZ / 16F);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public static AxisAlignedBB getCoverBounds(EnumFacing side) {
|
||||
switch (side) {
|
||||
case DOWN:
|
||||
return getBounds(0, 0, 0, 16, 2, 16);
|
||||
return CollisionUtils.getBounds(0, 0, 0, 16, 2, 16);
|
||||
case UP:
|
||||
return getBounds(0, 14, 0, 16, 16, 16);
|
||||
return CollisionUtils.getBounds(0, 14, 0, 16, 16, 16);
|
||||
case NORTH:
|
||||
return getBounds(0, 0, 0, 16, 16, 2);
|
||||
return CollisionUtils.getBounds(0, 0, 0, 16, 16, 2);
|
||||
case SOUTH:
|
||||
return getBounds(0, 0, 14, 16, 16, 16);
|
||||
return CollisionUtils.getBounds(0, 0, 14, 16, 16, 16);
|
||||
case WEST:
|
||||
return getBounds(0, 0, 0, 2, 16, 16);
|
||||
return CollisionUtils.getBounds(0, 0, 0, 2, 16, 16);
|
||||
case EAST:
|
||||
return getBounds(14, 0, 0, 16, 16, 16);
|
||||
return CollisionUtils.getBounds(14, 0, 0, 16, 16, 16);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
@@ -51,17 +47,17 @@ public final class ConstantsCable {
|
||||
public static AxisAlignedBB getHolderBounds(EnumFacing side) {
|
||||
switch (side) {
|
||||
case DOWN:
|
||||
return getBounds(7, 2, 7, 9, 6, 9);
|
||||
return CollisionUtils.getBounds(7, 2, 7, 9, 6, 9);
|
||||
case UP:
|
||||
return getBounds(7, 10, 7, 9, 14, 9);
|
||||
return CollisionUtils.getBounds(7, 10, 7, 9, 14, 9);
|
||||
case NORTH:
|
||||
return getBounds(7, 7, 2, 9, 9, 6);
|
||||
return CollisionUtils.getBounds(7, 7, 2, 9, 9, 6);
|
||||
case SOUTH:
|
||||
return getBounds(7, 7, 10, 9, 9, 14);
|
||||
return CollisionUtils.getBounds(7, 7, 10, 9, 9, 14);
|
||||
case WEST:
|
||||
return getBounds(2, 7, 7, 6, 9, 9);
|
||||
return CollisionUtils.getBounds(2, 7, 7, 6, 9, 9);
|
||||
case EAST:
|
||||
return getBounds(10, 7, 7, 14, 9, 9);
|
||||
return CollisionUtils.getBounds(10, 7, 7, 14, 9, 9);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.Cover;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockBase;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockCable;
|
||||
import com.raoulvdberge.refinedstorage.render.CubeBuilder;
|
||||
import com.raoulvdberge.refinedstorage.render.collision.constants.ConstantsCable;
|
||||
@@ -39,26 +41,40 @@ public class BakedModelCableCover implements IBakedModel {
|
||||
List<BakedQuad> quads = new ArrayList<>(base.getQuads(state, side, rand));
|
||||
|
||||
if (state != null) {
|
||||
IExtendedBlockState s = (IExtendedBlockState) state;
|
||||
IExtendedBlockState extendedState = (IExtendedBlockState) state;
|
||||
|
||||
boolean hasUp = s.getValue(BlockCable.COVER_UP) != null;
|
||||
boolean hasDown = s.getValue(BlockCable.COVER_DOWN) != null;
|
||||
|
||||
boolean hasEast = s.getValue(BlockCable.COVER_EAST) != null;
|
||||
boolean hasWest = s.getValue(BlockCable.COVER_WEST) != null;
|
||||
|
||||
addCover(quads, s.getValue(BlockCable.COVER_NORTH), EnumFacing.NORTH, side, rand, hasUp, hasDown, hasEast, hasWest, true);
|
||||
addCover(quads, s.getValue(BlockCable.COVER_SOUTH), EnumFacing.SOUTH, side, rand, hasUp, hasDown, hasEast, hasWest, true);
|
||||
addCover(quads, s.getValue(BlockCable.COVER_EAST), EnumFacing.EAST, side, rand, hasUp, hasDown, hasEast, hasWest, true);
|
||||
addCover(quads, s.getValue(BlockCable.COVER_WEST), EnumFacing.WEST, side, rand, hasUp, hasDown, hasEast, hasWest, true);
|
||||
addCover(quads, s.getValue(BlockCable.COVER_DOWN), EnumFacing.DOWN, side, rand, hasUp, hasDown, hasEast, hasWest, true);
|
||||
addCover(quads, s.getValue(BlockCable.COVER_UP), EnumFacing.UP, side, rand, hasUp, hasDown, hasEast, hasWest, true);
|
||||
addCover(quads, extendedState.getValue(BlockCable.COVER_NORTH), EnumFacing.NORTH, side, rand, extendedState, true);
|
||||
addCover(quads, extendedState.getValue(BlockCable.COVER_SOUTH), EnumFacing.SOUTH, side, rand, extendedState, true);
|
||||
addCover(quads, extendedState.getValue(BlockCable.COVER_EAST), EnumFacing.EAST, side, rand, extendedState, true);
|
||||
addCover(quads, extendedState.getValue(BlockCable.COVER_WEST), EnumFacing.WEST, side, rand, extendedState, true);
|
||||
addCover(quads, extendedState.getValue(BlockCable.COVER_DOWN), EnumFacing.DOWN, side, rand, extendedState, true);
|
||||
addCover(quads, extendedState.getValue(BlockCable.COVER_UP), EnumFacing.UP, side, rand, extendedState, true);
|
||||
}
|
||||
|
||||
return quads;
|
||||
}
|
||||
|
||||
protected static void addCover(List<BakedQuad> quads, @Nullable Cover cover, EnumFacing coverSide, EnumFacing side, long rand, boolean hasUp, boolean hasDown, boolean hasEast, boolean hasWest, boolean handle) {
|
||||
private static int getHollowCoverSize(@Nullable IBlockState state, EnumFacing coverSide) {
|
||||
if (state == null) {
|
||||
return 6;
|
||||
}
|
||||
|
||||
BlockBase block = (BlockBase) state.getBlock();
|
||||
|
||||
if (block.getDirection() != null && state.getValue(block.getDirection().getProperty()) == coverSide) {
|
||||
if (block == RSBlocks.CABLE || block == RSBlocks.EXPORTER) {
|
||||
return 6;
|
||||
} else if (block == RSBlocks.EXTERNAL_STORAGE || block == RSBlocks.IMPORTER) {
|
||||
return 3;
|
||||
} else if (block == RSBlocks.CONSTRUCTOR || block == RSBlocks.DESTRUCTOR || block == RSBlocks.READER || block == RSBlocks.WRITER) {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
return 6;
|
||||
}
|
||||
|
||||
protected static void addCover(List<BakedQuad> quads, @Nullable Cover cover, EnumFacing coverSide, EnumFacing side, long rand, @Nullable IExtendedBlockState state, boolean handle) {
|
||||
if (cover == null) {
|
||||
return;
|
||||
}
|
||||
@@ -69,6 +85,15 @@ public class BakedModelCableCover implements IBakedModel {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean hasUp = false, hasDown = false, hasEast = false, hasWest = false;
|
||||
|
||||
if (state != null) {
|
||||
hasUp = state.getValue(BlockCable.COVER_UP) != null;
|
||||
hasDown = state.getValue(BlockCable.COVER_DOWN) != null;
|
||||
hasEast = state.getValue(BlockCable.COVER_EAST) != null;
|
||||
hasWest = state.getValue(BlockCable.COVER_WEST) != null;
|
||||
}
|
||||
|
||||
TextureAtlasSprite sprite = RenderUtils.getSprite(Minecraft.getMinecraft().getBlockRendererDispatcher().getModelForState(coverState), coverState, side, rand);
|
||||
|
||||
switch (cover.getType()) {
|
||||
@@ -76,13 +101,7 @@ 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, 6);
|
||||
break;
|
||||
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);
|
||||
addHollowCover(quads, sprite, coverSide, hasUp, hasDown, hasEast, hasWest, getHollowCoverSize(state, coverSide));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ public class BakedModelCover extends BakedModelCableCover {
|
||||
public List<BakedQuad> load(CacheKey key) {
|
||||
List<BakedQuad> quads = new ArrayList<>();
|
||||
|
||||
addCover(quads, new Cover(key.stack, key.type), EnumFacing.NORTH, key.side, 0, false, false, false, false, false);
|
||||
addCover(quads, new Cover(key.stack, key.type), EnumFacing.NORTH, key.side, 0, null, false);
|
||||
|
||||
return quads;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user