Update to master.
28
CHANGELOG.md
@@ -1,13 +1,39 @@
|
||||
# Refined Storage Changelog
|
||||
|
||||
### 0.8.8
|
||||
**Bugfixes**
|
||||
- Use ore dictionary for recipes with glass
|
||||
|
||||
### 0.8.7
|
||||
**Bugfixes**
|
||||
- Improved detector model, add a better hitbox for it
|
||||
- Improved the Wireless Transmitter texture
|
||||
- Wireless Transmitter is now only bright red when connected
|
||||
- Fixed crash with External Storage
|
||||
- Fixed Detector not unpowering when disconnected from the network
|
||||
- Made the Solderer beams be bright red when they are working
|
||||
- Added better hitbox for the Solderer
|
||||
|
||||
### 0.8.6
|
||||
**Bugfixes**
|
||||
- Fixed External Storage disconnecting on world reload
|
||||
- Fixed External Storage not updating correctly
|
||||
- Fixed wireless signal starting from Controller instead of per Wireless Transmitter individually
|
||||
- Huge performance improvements to large networks
|
||||
- Fixed Controller's redstone state not saving
|
||||
- Fixed crafting tasks not saving properly
|
||||
- Huge performance improvements to large storage networks
|
||||
|
||||
**Features**
|
||||
- Re-added Controllers exploding when two of them are connected to the same network
|
||||
- Limited some blocks to only have a direction on the x-axis
|
||||
- Decreased amount of block updates significantly
|
||||
- Added new textures
|
||||
- Added model for External Storage
|
||||
- Added model for Importer
|
||||
- Added model for Exporter
|
||||
- Added model for Detector
|
||||
- Removed opposite facing on placement mechanic
|
||||
- Removed Quartz Enriched Iron Block
|
||||
|
||||
### 0.8.5
|
||||
**Bugfixes**
|
||||
|
@@ -12,7 +12,7 @@ buildscript {
|
||||
}
|
||||
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||
|
||||
version = "0.8.6"
|
||||
version = "0.8.8"
|
||||
group = "refinedstorage"
|
||||
archivesBaseName = "refinedstorage"
|
||||
|
||||
|
BIN
logo.png
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 161 KiB |
@@ -23,7 +23,7 @@ import java.util.List;
|
||||
@Mod(modid = RefinedStorage.ID, version = RefinedStorage.VERSION)
|
||||
public final class RefinedStorage {
|
||||
public static final String ID = "refinedstorage";
|
||||
public static final String VERSION = "0.8.6";
|
||||
public static final String VERSION = "0.8.8";
|
||||
|
||||
@SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy")
|
||||
public static CommonProxy PROXY;
|
||||
|
@@ -22,5 +22,4 @@ public final class RefinedStorageBlocks {
|
||||
public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter();
|
||||
public static final BlockCrafter CRAFTER = new BlockCrafter();
|
||||
public static final BlockProcessingPatternEncoder PROCESSING_PATTERN_ENCODER = new BlockProcessingPatternEncoder();
|
||||
public static final BlockQuartzEnrichedIron QUARTZ_ENRICHED_IRON = new BlockQuartzEnrichedIron();
|
||||
}
|
||||
|
@@ -327,4 +327,16 @@ public final class RefinedStorageUtils {
|
||||
public static boolean hasPattern(INetworkMaster network, ItemStack stack) {
|
||||
return RefinedStorageUtils.getPattern(network, stack) != null;
|
||||
}
|
||||
|
||||
public static int getItemStackHashCode(ItemStack stack) {
|
||||
return getItemStackHashCode(stack, stack == null ? 0 : stack.stackSize);
|
||||
}
|
||||
|
||||
public static int getItemStackHashCode(ItemStack stack, int stackSize) {
|
||||
if (stack == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return stack.getItem().hashCode() + Math.max(1, stackSize) * (stack.hasTagCompound() ? stack.getTagCompound().hashCode() : 1);
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@ package refinedstorage.api.autocrafting;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
/**
|
||||
@@ -14,6 +15,11 @@ public interface ICraftingPattern {
|
||||
*/
|
||||
ICraftingPatternContainer getContainer(World world);
|
||||
|
||||
/**
|
||||
* @return The position of the container where the pattern is in
|
||||
*/
|
||||
BlockPos getContainerPosition();
|
||||
|
||||
/**
|
||||
* @return If this pattern is a processing pattern
|
||||
*/
|
||||
|
@@ -11,11 +11,6 @@ public interface INetworkNode {
|
||||
*/
|
||||
void updateNode();
|
||||
|
||||
/**
|
||||
* @return If this node can send a connectivity update
|
||||
*/
|
||||
boolean canSendConnectivityUpdate();
|
||||
|
||||
/**
|
||||
* @return The energy usage of this node
|
||||
*/
|
||||
@@ -36,8 +31,9 @@ public interface INetworkNode {
|
||||
/**
|
||||
* Called when this node is disconnected from a network.
|
||||
*
|
||||
* @param network The network
|
||||
*/
|
||||
void onDisconnected();
|
||||
void onDisconnected(INetworkMaster network);
|
||||
|
||||
/**
|
||||
* Called when the connection state of this node changes.
|
||||
|
@@ -17,19 +17,15 @@ public class CraftingPattern implements ICraftingPattern {
|
||||
private static final String NBT_CRAFTER_Y = "CrafterY";
|
||||
private static final String NBT_CRAFTER_Z = "CrafterZ";
|
||||
|
||||
private int crafterX;
|
||||
private int crafterY;
|
||||
private int crafterZ;
|
||||
private BlockPos crafterPos;
|
||||
private TileCrafter crafter;
|
||||
private boolean processing;
|
||||
private ItemStack[] inputs;
|
||||
private ItemStack[] outputs;
|
||||
private ItemStack[] byproducts;
|
||||
|
||||
public CraftingPattern(int crafterX, int crafterY, int crafterZ, boolean processing, ItemStack[] inputs, ItemStack[] outputs, ItemStack[] byproducts) {
|
||||
this.crafterX = crafterX;
|
||||
this.crafterY = crafterY;
|
||||
this.crafterZ = crafterZ;
|
||||
public CraftingPattern(BlockPos crafterPos, boolean processing, ItemStack[] inputs, ItemStack[] outputs, ItemStack[] byproducts) {
|
||||
this.crafterPos = crafterPos;
|
||||
this.processing = processing;
|
||||
this.inputs = inputs;
|
||||
this.outputs = outputs;
|
||||
@@ -39,12 +35,17 @@ public class CraftingPattern implements ICraftingPattern {
|
||||
@Override
|
||||
public ICraftingPatternContainer getContainer(World world) {
|
||||
if (crafter == null) {
|
||||
crafter = (TileCrafter) world.getTileEntity(new BlockPos(crafterX, crafterY, crafterZ));
|
||||
crafter = (TileCrafter) world.getTileEntity(crafterPos);
|
||||
}
|
||||
|
||||
return crafter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockPos getContainerPosition() {
|
||||
return crafterPos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isProcessing() {
|
||||
return processing;
|
||||
@@ -88,17 +89,15 @@ public class CraftingPattern implements ICraftingPattern {
|
||||
tag.setTag(ItemPattern.NBT_BYPRODUCTS, byproductsTag);
|
||||
}
|
||||
|
||||
tag.setInteger(NBT_CRAFTER_X, crafter.getPos().getX());
|
||||
tag.setInteger(NBT_CRAFTER_Y, crafter.getPos().getY());
|
||||
tag.setInteger(NBT_CRAFTER_Z, crafter.getPos().getZ());
|
||||
tag.setInteger(NBT_CRAFTER_X, crafterPos.getX());
|
||||
tag.setInteger(NBT_CRAFTER_Y, crafterPos.getY());
|
||||
tag.setInteger(NBT_CRAFTER_Z, crafterPos.getZ());
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
||||
public static CraftingPattern readFromNBT(NBTTagCompound tag) {
|
||||
int cx = tag.getInteger(NBT_CRAFTER_X);
|
||||
int cy = tag.getInteger(NBT_CRAFTER_Y);
|
||||
int cz = tag.getInteger(NBT_CRAFTER_Z);
|
||||
BlockPos crafterPos = new BlockPos(tag.getInteger(NBT_CRAFTER_X), tag.getInteger(NBT_CRAFTER_Y), tag.getInteger(NBT_CRAFTER_Z));
|
||||
|
||||
boolean processing = tag.getBoolean(ItemPattern.NBT_PROCESSING);
|
||||
|
||||
@@ -139,6 +138,6 @@ public class CraftingPattern implements ICraftingPattern {
|
||||
}
|
||||
}
|
||||
|
||||
return new CraftingPattern(cx, cy, cz, processing, inputs, outputs, byproducts);
|
||||
return new CraftingPattern(crafterPos, processing, inputs, outputs, byproducts);
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,7 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockPistonBase;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyDirection;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -43,11 +41,23 @@ public abstract class BlockBase extends Block {
|
||||
return "block." + RefinedStorage.ID + ":" + name;
|
||||
}
|
||||
|
||||
protected BlockStateContainer.Builder createBlockStateBuilder() {
|
||||
BlockStateContainer.Builder builder = new BlockStateContainer.Builder(this);
|
||||
|
||||
if (getPlacementType() != null) {
|
||||
builder.add(DIRECTION);
|
||||
}
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
});
|
||||
return createBlockStateBuilder().build();
|
||||
}
|
||||
|
||||
public Item createItem() {
|
||||
return new ItemBlockBase(this, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -62,10 +72,8 @@ public abstract class BlockBase extends Block {
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileBase) {
|
||||
return state.withProperty(DIRECTION, ((TileBase) tile).getDirection());
|
||||
if (getPlacementType() != null) {
|
||||
return state.withProperty(DIRECTION, ((TileBase) world.getTileEntity(pos)).getDirection());
|
||||
}
|
||||
|
||||
return state;
|
||||
@@ -78,18 +86,10 @@ public abstract class BlockBase extends Block {
|
||||
|
||||
@Override
|
||||
public boolean rotateBlock(World world, BlockPos pos, EnumFacing axis) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
if (!world.isRemote && getPlacementType() != null) {
|
||||
TileBase tile = (TileBase) world.getTileEntity(pos);
|
||||
|
||||
if (!world.isRemote && tile instanceof TileBase) {
|
||||
EnumFacing dir = ((TileBase) tile).getDirection();
|
||||
|
||||
int newDir = dir.ordinal() + 1;
|
||||
|
||||
if (newDir > EnumFacing.VALUES.length - 1) {
|
||||
newDir = 0;
|
||||
}
|
||||
|
||||
((TileBase) tile).setDirection(EnumFacing.getFront(newDir));
|
||||
tile.setDirection(getPlacementType().getNext(tile.getDirection()));
|
||||
|
||||
RefinedStorageUtils.updateBlock(world, pos);
|
||||
|
||||
@@ -100,19 +100,11 @@ public abstract class BlockBase extends Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack) {
|
||||
super.onBlockPlacedBy(world, pos, state, player, itemStack);
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) {
|
||||
super.onBlockPlacedBy(world, pos, state, player, stack);
|
||||
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileBase) {
|
||||
EnumFacing facing = BlockPistonBase.getFacingFromEntity(pos, player);
|
||||
|
||||
if (player.isSneaking() && hasOppositeFacingOnSneakPlace()) {
|
||||
facing = facing.getOpposite();
|
||||
}
|
||||
|
||||
((TileBase) tile).setDirection(facing);
|
||||
if (getPlacementType() != null) {
|
||||
((TileBase) world.getTileEntity(pos)).setDirection(getPlacementType().getFrom(pos, player));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,11 +127,7 @@ public abstract class BlockBase extends Block {
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) {
|
||||
if (willHarvest) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.removedByPlayer(state, world, pos, player, willHarvest);
|
||||
return willHarvest ? true : super.removedByPlayer(state, world, pos, player, willHarvest);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -149,11 +137,7 @@ public abstract class BlockBase extends Block {
|
||||
world.setBlockToAir(pos);
|
||||
}
|
||||
|
||||
public Item createItemForBlock() {
|
||||
return new ItemBlockBase(this, false);
|
||||
}
|
||||
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
return false;
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.HORIZONTAL;
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -9,12 +8,13 @@ import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorageBlocks;
|
||||
import refinedstorage.api.network.INetworkMaster;
|
||||
import refinedstorage.api.network.INetworkNode;
|
||||
import refinedstorage.tile.TileBase;
|
||||
import refinedstorage.tile.TileCable;
|
||||
|
||||
public class BlockCable extends BlockNode {
|
||||
public static final AxisAlignedBB CABLE_AABB = new AxisAlignedBB(4 * (1F / 16F), 4 * (1F / 16F), 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F));
|
||||
private static final AxisAlignedBB CABLE_AABB = new AxisAlignedBB(4 * (1F / 16F), 4 * (1F / 16F), 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F), 1 - 4 * (1F / 16F));
|
||||
|
||||
public static final PropertyBool NORTH = PropertyBool.create("north");
|
||||
public static final PropertyBool EAST = PropertyBool.create("east");
|
||||
@@ -23,41 +23,56 @@ public class BlockCable extends BlockNode {
|
||||
public static final PropertyBool UP = PropertyBool.create("up");
|
||||
public static final PropertyBool DOWN = PropertyBool.create("down");
|
||||
|
||||
public BlockCable() {
|
||||
super("cable");
|
||||
public BlockCable(String name) {
|
||||
super(name);
|
||||
|
||||
setHardness(0.6F);
|
||||
}
|
||||
|
||||
public BlockCable() {
|
||||
this("cable");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileCable();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
NORTH,
|
||||
EAST,
|
||||
SOUTH,
|
||||
WEST,
|
||||
UP,
|
||||
DOWN,
|
||||
});
|
||||
protected BlockStateContainer.Builder createBlockStateBuilder() {
|
||||
return super.createBlockStateBuilder()
|
||||
.add(NORTH)
|
||||
.add(EAST)
|
||||
.add(SOUTH)
|
||||
.add(WEST)
|
||||
.add(UP)
|
||||
.add(DOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return state.withProperty(NORTH, hasConnectionWith(world, pos.north()))
|
||||
.withProperty(EAST, hasConnectionWith(world, pos.east()))
|
||||
.withProperty(SOUTH, hasConnectionWith(world, pos.south()))
|
||||
.withProperty(WEST, hasConnectionWith(world, pos.west()))
|
||||
.withProperty(UP, hasConnectionWith(world, pos.up()))
|
||||
.withProperty(DOWN, hasConnectionWith(world, pos.down()));
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(NORTH, hasConnectionWith(world, pos, pos.north()))
|
||||
.withProperty(EAST, hasConnectionWith(world, pos, pos.east()))
|
||||
.withProperty(SOUTH, hasConnectionWith(world, pos, pos.south()))
|
||||
.withProperty(WEST, hasConnectionWith(world, pos, pos.west()))
|
||||
.withProperty(UP, hasConnectionWith(world, pos, pos.up()))
|
||||
.withProperty(DOWN, hasConnectionWith(world, pos, pos.down()));
|
||||
}
|
||||
|
||||
public static boolean hasConnectionWith(IBlockAccess world, BlockPos pos) {
|
||||
return world.getBlockState(pos).getBlock() == RefinedStorageBlocks.CONTROLLER || world.getTileEntity(pos) instanceof INetworkNode;
|
||||
private boolean hasConnectionWith(IBlockAccess world, BlockPos basePos, BlockPos pos) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof INetworkMaster || tile instanceof INetworkNode) {
|
||||
// Do not render a cable extension to on this position when we have a direction (like an exporter, importer or external storage)
|
||||
if (getPlacementType() != null) {
|
||||
return ((TileBase) world.getTileEntity(basePos)).getFacingTile() != tile;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,4 +89,9 @@ public class BlockCable extends BlockNode {
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ public class BlockConstructor extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
return true;
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.ANY;
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.properties.PropertyInteger;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
@@ -29,7 +28,7 @@ import java.util.List;
|
||||
|
||||
public class BlockController extends BlockBase {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumControllerType.class);
|
||||
public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 8);
|
||||
public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 7);
|
||||
|
||||
public BlockController() {
|
||||
super("controller");
|
||||
@@ -44,11 +43,10 @@ public class BlockController extends BlockBase {
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
TYPE,
|
||||
ENERGY
|
||||
});
|
||||
return createBlockStateBuilder()
|
||||
.add(TYPE)
|
||||
.add(ENERGY)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -147,7 +145,7 @@ public class BlockController extends BlockBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item createItemForBlock() {
|
||||
public Item createItem() {
|
||||
return new ItemBlockController();
|
||||
}
|
||||
}
|
||||
|
@@ -32,7 +32,11 @@ public class BlockCrafter extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.ANY;
|
||||
}
|
||||
|
||||
public boolean hasConnectivityState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ public class BlockDestructor extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
return true;
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.ANY;
|
||||
}
|
||||
}
|
||||
|
@@ -1,14 +1,15 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
@@ -17,6 +18,8 @@ import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileDetector;
|
||||
|
||||
public class BlockDetector extends BlockNode {
|
||||
public static final AxisAlignedBB AABB_DETECTOR = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 4D / 16D, 1.0D);
|
||||
|
||||
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||
|
||||
public BlockDetector() {
|
||||
@@ -25,11 +28,9 @@ public class BlockDetector extends BlockNode {
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
POWERED
|
||||
});
|
||||
return createBlockStateBuilder()
|
||||
.add(POWERED)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -38,6 +39,11 @@ public class BlockDetector extends BlockNode {
|
||||
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
|
||||
return AABB_DETECTOR;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileDetector();
|
||||
@@ -45,13 +51,7 @@ public class BlockDetector extends BlockNode {
|
||||
|
||||
@Override
|
||||
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
|
||||
TileDetector detector = (TileDetector) world.getTileEntity(pos);
|
||||
|
||||
if (detector.getDirection() == side.getOpposite()) {
|
||||
return detector.isPowered() ? 15 : 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return ((TileDetector) world.getTileEntity(pos)).isPowered() ? 15 : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -72,4 +72,24 @@ public class BlockDetector extends BlockNode {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.PropertyInteger;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -7,12 +9,15 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileDiskDrive;
|
||||
|
||||
public class BlockDiskDrive extends BlockNode {
|
||||
public static final PropertyInteger STORED = PropertyInteger.create("stored", 0, 7);
|
||||
|
||||
public BlockDiskDrive() {
|
||||
super("disk_drive");
|
||||
}
|
||||
@@ -22,6 +27,19 @@ public class BlockDiskDrive extends BlockNode {
|
||||
return new TileDiskDrive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockStateContainer createBlockState() {
|
||||
return createBlockStateBuilder()
|
||||
.add(STORED)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(STORED, ((TileDiskDrive) world.getTileEntity(pos)).getStoredForScaledDisplay());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
|
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileExporter;
|
||||
|
||||
public class BlockExporter extends BlockNode {
|
||||
public class BlockExporter extends BlockCable {
|
||||
public BlockExporter() {
|
||||
super("exporter");
|
||||
}
|
||||
@@ -32,7 +32,7 @@ public class BlockExporter extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
return true;
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.ANY;
|
||||
}
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.externalstorage.TileExternalStorage;
|
||||
|
||||
public class BlockExternalStorage extends BlockNode {
|
||||
public class BlockExternalStorage extends BlockCable {
|
||||
public BlockExternalStorage() {
|
||||
super("external_storage");
|
||||
}
|
||||
@@ -37,12 +37,16 @@ public class BlockExternalStorage extends BlockNode {
|
||||
super.neighborChanged(state, world, pos, block);
|
||||
|
||||
if (!world.isRemote) {
|
||||
((TileExternalStorage) world.getTileEntity(pos)).updateStorage();
|
||||
TileExternalStorage externalStorage = (TileExternalStorage) world.getTileEntity(pos);
|
||||
|
||||
if (externalStorage.getNetwork() != null) {
|
||||
externalStorage.updateStorage(externalStorage.getNetwork());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
return true;
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.ANY;
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -41,11 +40,9 @@ public class BlockGrid extends BlockNode {
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
TYPE
|
||||
});
|
||||
return createBlockStateBuilder()
|
||||
.add(TYPE)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -70,7 +67,7 @@ public class BlockGrid extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item createItemForBlock() {
|
||||
public Item createItem() {
|
||||
return new ItemBlockBase(this, true);
|
||||
}
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileImporter;
|
||||
|
||||
public class BlockImporter extends BlockNode {
|
||||
public class BlockImporter extends BlockCable {
|
||||
public BlockImporter() {
|
||||
super("importer");
|
||||
}
|
||||
@@ -32,7 +32,7 @@ public class BlockImporter extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOppositeFacingOnSneakPlace() {
|
||||
return true;
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return EnumPlacementType.ANY;
|
||||
}
|
||||
}
|
||||
|
@@ -30,4 +30,9 @@ public class BlockInterface extends BlockNode {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -4,4 +4,9 @@ public class BlockMachineCasing extends BlockBase {
|
||||
public BlockMachineCasing() {
|
||||
super("machine_casing");
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -26,18 +25,33 @@ public abstract class BlockNode extends BlockBase {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean hasConnectivityState() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer.Builder createBlockStateBuilder() {
|
||||
BlockStateContainer.Builder builder = super.createBlockStateBuilder();
|
||||
|
||||
if (hasConnectivityState()) {
|
||||
builder.add(CONNECTED);
|
||||
}
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
CONNECTED
|
||||
});
|
||||
return createBlockStateBuilder().build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(CONNECTED, ((TileNode) world.getTileEntity(pos)).isConnected());
|
||||
if (hasConnectivityState()) {
|
||||
return super.getActualState(state, world, pos).withProperty(CONNECTED, ((TileNode) world.getTileEntity(pos)).isConnected());
|
||||
}
|
||||
|
||||
return super.getActualState(state, world, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -35,4 +35,9 @@ public class BlockProcessingPatternEncoder extends BlockBase {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +0,0 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
public class BlockQuartzEnrichedIron extends BlockBase {
|
||||
public BlockQuartzEnrichedIron() {
|
||||
super("quartz_enriched_iron_block");
|
||||
}
|
||||
}
|
@@ -30,4 +30,13 @@ public class BlockRelay extends BlockNode {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean hasConnectivityState() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -9,6 +8,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
@@ -17,6 +17,8 @@ import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileSolderer;
|
||||
|
||||
public class BlockSolderer extends BlockNode {
|
||||
public static final AxisAlignedBB AABB_SOLDERER = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 14D / 16D, 1.0D);
|
||||
|
||||
public static final PropertyBool WORKING = PropertyBool.create("working");
|
||||
|
||||
public BlockSolderer() {
|
||||
@@ -37,13 +39,16 @@ public class BlockSolderer extends BlockNode {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
|
||||
return AABB_SOLDERER;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
WORKING
|
||||
});
|
||||
return super.createBlockStateBuilder()
|
||||
.add(WORKING)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -51,4 +56,19 @@ public class BlockSolderer extends BlockNode {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(WORKING, ((TileSolderer) world.getTileEntity(pos)).isWorking());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -30,6 +29,8 @@ public class BlockStorage extends BlockNode {
|
||||
|
||||
public BlockStorage() {
|
||||
super("storage");
|
||||
|
||||
setHardness(5.8F);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,11 +42,9 @@ public class BlockStorage extends BlockNode {
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
TYPE
|
||||
});
|
||||
return createBlockStateBuilder()
|
||||
.add(TYPE)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,7 +103,12 @@ public class BlockStorage extends BlockNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item createItemForBlock() {
|
||||
public Item createItem() {
|
||||
return new ItemBlockStorage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -1,18 +1,26 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileNode;
|
||||
import refinedstorage.tile.TileWirelessTransmitter;
|
||||
|
||||
public class BlockWirelessTransmitter extends BlockNode {
|
||||
// From BlockTorch
|
||||
private static final AxisAlignedBB WIRELESS_TRANSMITTER_AABB = new AxisAlignedBB(0.4000000059604645D, 0.0D, 0.4000000059604645D, 0.6000000238418579D, 0.6000000238418579D, 0.6000000238418579D);
|
||||
|
||||
public BlockWirelessTransmitter() {
|
||||
super("wireless_transmitter");
|
||||
}
|
||||
@@ -30,4 +38,51 @@ public class BlockWirelessTransmitter extends BlockNode {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block) {
|
||||
if (!canPlaceBlockAt(world, pos) && world.getBlockState(pos).getBlock() == this) {
|
||||
dropBlockAsItem(world, pos, state, 0);
|
||||
|
||||
world.setBlockToAir(pos);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return WIRELESS_TRANSMITTER_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPlaceBlockAt(World world, BlockPos pos) {
|
||||
BlockPos downPos = pos.offset(EnumFacing.DOWN);
|
||||
IBlockState down = world.getBlockState(downPos);
|
||||
|
||||
return down.getBlock().canPlaceTorchOnTop(down, world, downPos) || (world.getTileEntity(downPos) instanceof TileNode && !(world.getTileEntity(downPos) instanceof TileWirelessTransmitter));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlacementType getPlacementType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
46
src/main/java/refinedstorage/block/EnumPlacementType.java
Executable file
@@ -0,0 +1,46 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import net.minecraft.block.BlockPistonBase;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public enum EnumPlacementType {
|
||||
ANY(
|
||||
EnumFacing.VALUES
|
||||
),
|
||||
HORIZONTAL(
|
||||
EnumFacing.NORTH,
|
||||
EnumFacing.EAST,
|
||||
EnumFacing.SOUTH,
|
||||
EnumFacing.WEST
|
||||
);
|
||||
|
||||
public final EnumFacing[] allowed;
|
||||
|
||||
EnumPlacementType(EnumFacing... allowed) {
|
||||
this.allowed = allowed;
|
||||
}
|
||||
|
||||
EnumFacing getFrom(BlockPos pos, EntityLivingBase entity) {
|
||||
switch (this) {
|
||||
case ANY:
|
||||
return BlockPistonBase.getFacingFromEntity(pos, entity);
|
||||
case HORIZONTAL:
|
||||
return entity.getHorizontalFacing().getOpposite();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
EnumFacing getNext(EnumFacing previous) {
|
||||
switch (this) {
|
||||
case ANY:
|
||||
return previous.ordinal() + 1 >= EnumFacing.VALUES.length ? EnumFacing.VALUES[0] : EnumFacing.VALUES[previous.ordinal() + 1];
|
||||
case HORIZONTAL:
|
||||
return previous.rotateYCCW();
|
||||
default:
|
||||
return previous;
|
||||
}
|
||||
}
|
||||
}
|
@@ -47,6 +47,6 @@ public enum EnumStorageType implements IStringSerializable {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return TYPE_1K;
|
||||
return TYPE_CREATIVE;
|
||||
}
|
||||
}
|
||||
|
@@ -23,7 +23,7 @@ public class BasicItemHandler extends ItemStackHandler {
|
||||
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) {
|
||||
if (validators.length > 0) {
|
||||
for (IItemValidator validator : validators) {
|
||||
if (validator.valid(stack)) {
|
||||
if (validator.isValid(stack)) {
|
||||
return super.insertItem(slot, stack, simulate);
|
||||
}
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ public class BasicItemValidator implements IItemValidator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean valid(ItemStack stack) {
|
||||
public boolean isValid(ItemStack stack) {
|
||||
if (stack.getItem() == item) {
|
||||
if (damage != -1 && stack.getItemDamage() != damage) {
|
||||
return false;
|
||||
|
@@ -3,5 +3,5 @@ package refinedstorage.inventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IItemValidator {
|
||||
boolean valid(ItemStack stack);
|
||||
boolean isValid(ItemStack stack);
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package refinedstorage.item;
|
||||
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.InventoryHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -64,6 +65,15 @@ public class ItemBlockStorage extends ItemBlockBase {
|
||||
return stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileStorage.NBT_STORAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean selected) {
|
||||
super.onUpdate(stack, world, entity, slot, selected);
|
||||
|
||||
if (!stack.hasTagCompound()) {
|
||||
initNBT(stack);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack stack, World world, EntityPlayer player) {
|
||||
super.onCreated(stack, world, player);
|
||||
|
@@ -2,6 +2,7 @@ package refinedstorage.item;
|
||||
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.InventoryHelper;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -39,14 +40,25 @@ public class ItemStorageDisk extends ItemBase {
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for (int i = 0; i < 6; ++i) {
|
||||
list.add(i == TYPE_DEBUG ? createDebugDisk() : NBTStorage.createStackWithNBT(new ItemStack(item, 1, i)));
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
list.add(NBTStorage.createStackWithNBT(new ItemStack(item, 1, i)));
|
||||
}
|
||||
}
|
||||
|
||||
private ItemStack createDebugDisk() {
|
||||
ItemStack debugDisk = new ItemStack(RefinedStorageItems.STORAGE_DISK, 1, ItemStorageDisk.TYPE_DEBUG);
|
||||
@Override
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean selected) {
|
||||
super.onUpdate(stack, world, entity, slot, selected);
|
||||
|
||||
if (!stack.hasTagCompound()) {
|
||||
if (stack.getItemDamage() == 5) {
|
||||
applyDebugDiskData(stack);
|
||||
} else {
|
||||
NBTStorage.createStackWithNBT(stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void applyDebugDiskData(ItemStack stack) {
|
||||
if (debugDiskTag == null) {
|
||||
debugDiskTag = NBTStorage.createNBT();
|
||||
|
||||
@@ -76,9 +88,7 @@ public class ItemStorageDisk extends ItemBase {
|
||||
storage.writeToNBT();
|
||||
}
|
||||
|
||||
debugDisk.setTagCompound(debugDiskTag.copy());
|
||||
|
||||
return debugDisk;
|
||||
stack.setTagCompound(debugDiskTag.copy());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -102,11 +102,9 @@ public class ClientProxy extends CommonProxy {
|
||||
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK, new ModelResourceLocation("refinedstorage:stack_upgrade", "inventory"));
|
||||
|
||||
// Blocks
|
||||
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.STORAGE, (new StateMap.Builder())
|
||||
.ignore(RefinedStorageBlocks.STORAGE.DIRECTION)
|
||||
.ignore(RefinedStorageBlocks.STORAGE.CONNECTED)
|
||||
.build()
|
||||
);
|
||||
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.GRID, (new StateMap.Builder())
|
||||
.ignore(RefinedStorageBlocks.GRID.TYPE)
|
||||
.build());
|
||||
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.CABLE), 0, new ModelResourceLocation("refinedstorage:cable", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.GRID), EnumGridType.NORMAL.getId(), new ModelResourceLocation("refinedstorage:grid", "inventory"));
|
||||
@@ -134,6 +132,5 @@ public class ClientProxy extends CommonProxy {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.STORAGE), EnumStorageType.TYPE_16K.getId(), new ModelResourceLocation("refinedstorage:storage", "type=16k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.STORAGE), EnumStorageType.TYPE_64K.getId(), new ModelResourceLocation("refinedstorage:storage", "type=64k"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.STORAGE), EnumStorageType.TYPE_CREATIVE.getId(), new ModelResourceLocation("refinedstorage:storage", "type=creative"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.QUARTZ_ENRICHED_IRON), 0, new ModelResourceLocation("refinedstorage:quartz_enriched_iron_block", "inventory"));
|
||||
}
|
||||
}
|
||||
|
@@ -86,10 +86,11 @@ public class CommonProxy {
|
||||
registerBlock(RefinedStorageBlocks.PROCESSING_PATTERN_ENCODER);
|
||||
registerBlock(RefinedStorageBlocks.DISK_DRIVE);
|
||||
registerBlock(RefinedStorageBlocks.STORAGE);
|
||||
registerBlock(RefinedStorageBlocks.EXTERNAL_STORAGE);
|
||||
registerBlock(RefinedStorageBlocks.SOLDERER);
|
||||
registerBlock(RefinedStorageBlocks.CABLE);
|
||||
registerBlock(RefinedStorageBlocks.IMPORTER);
|
||||
registerBlock(RefinedStorageBlocks.EXPORTER);
|
||||
registerBlock(RefinedStorageBlocks.EXTERNAL_STORAGE);
|
||||
registerBlock(RefinedStorageBlocks.CONSTRUCTOR);
|
||||
registerBlock(RefinedStorageBlocks.DESTRUCTOR);
|
||||
registerBlock(RefinedStorageBlocks.DETECTOR);
|
||||
@@ -97,8 +98,6 @@ public class CommonProxy {
|
||||
registerBlock(RefinedStorageBlocks.INTERFACE);
|
||||
registerBlock(RefinedStorageBlocks.WIRELESS_TRANSMITTER);
|
||||
registerBlock(RefinedStorageBlocks.MACHINE_CASING);
|
||||
registerBlock(RefinedStorageBlocks.QUARTZ_ENRICHED_IRON);
|
||||
registerBlock(RefinedStorageBlocks.CABLE);
|
||||
|
||||
registerItem(RefinedStorageItems.QUARTZ_ENRICHED_IRON);
|
||||
registerItem(RefinedStorageItems.STORAGE_DISK);
|
||||
@@ -134,16 +133,6 @@ public class CommonProxy {
|
||||
'Q', new ItemStack(Items.QUARTZ)
|
||||
);
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON, 9), new ItemStack(RefinedStorageBlocks.QUARTZ_ENRICHED_IRON));
|
||||
|
||||
// Quartz Enriched Iron Block
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.QUARTZ_ENRICHED_IRON),
|
||||
"EEE",
|
||||
"EEE",
|
||||
"EEE",
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON)
|
||||
);
|
||||
|
||||
// Machine Casing
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
|
||||
"EEE",
|
||||
@@ -201,14 +190,14 @@ public class CommonProxy {
|
||||
));
|
||||
|
||||
// Cable
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.CABLE, 12),
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(RefinedStorageBlocks.CABLE, 12),
|
||||
"EEE",
|
||||
"GRG",
|
||||
"EEE",
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON),
|
||||
'G', new ItemStack(Blocks.GLASS),
|
||||
'G', "blockGlass",
|
||||
'R', new ItemStack(Items.REDSTONE)
|
||||
);
|
||||
));
|
||||
|
||||
// Wireless Transmitter
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.WIRELESS_TRANSMITTER),
|
||||
@@ -294,20 +283,20 @@ public class CommonProxy {
|
||||
'H', new ItemStack(Blocks.CHEST),
|
||||
'C', new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION),
|
||||
'D', new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_DESTRUCTION),
|
||||
'M', new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
|
||||
'M', new ItemStack(RefinedStorageBlocks.CABLE),
|
||||
'P', new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED)
|
||||
);
|
||||
|
||||
// Importer
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(RefinedStorageBlocks.IMPORTER),
|
||||
new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
|
||||
new ItemStack(RefinedStorageBlocks.CABLE),
|
||||
new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION),
|
||||
new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED)
|
||||
);
|
||||
|
||||
// Exporter
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(RefinedStorageBlocks.EXPORTER),
|
||||
new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
|
||||
new ItemStack(RefinedStorageBlocks.CABLE),
|
||||
new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_DESTRUCTION),
|
||||
new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED)
|
||||
);
|
||||
@@ -356,7 +345,7 @@ public class CommonProxy {
|
||||
'R', new ItemStack(Items.REDSTONE),
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON),
|
||||
'S', "itemSilicon",
|
||||
'G', new ItemStack(Blocks.GLASS)
|
||||
'G', "blockGlass"
|
||||
));
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageItems.STORAGE_PART, 1, ItemStoragePart.TYPE_4K),
|
||||
@@ -390,28 +379,28 @@ public class CommonProxy {
|
||||
);
|
||||
|
||||
// Storage Housing
|
||||
GameRegistry.addRecipe(NBTStorage.createStackWithNBT(new ItemStack(RefinedStorageItems.STORAGE_HOUSING)),
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(NBTStorage.createStackWithNBT(new ItemStack(RefinedStorageItems.STORAGE_HOUSING)),
|
||||
"GRG",
|
||||
"R R",
|
||||
"EEE",
|
||||
'G', new ItemStack(Blocks.GLASS),
|
||||
'G', "blockGlass",
|
||||
'R', new ItemStack(Items.REDSTONE),
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON)
|
||||
);
|
||||
));
|
||||
|
||||
// Storage Disks
|
||||
for (int type = 0; type <= 3; ++type) {
|
||||
ItemStack disk = NBTStorage.createStackWithNBT(new ItemStack(RefinedStorageItems.STORAGE_DISK, 1, type));
|
||||
|
||||
GameRegistry.addRecipe(disk,
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(disk,
|
||||
"GRG",
|
||||
"RPR",
|
||||
"EEE",
|
||||
'G', new ItemStack(Blocks.GLASS),
|
||||
'G', "blockGlass",
|
||||
'R', new ItemStack(Items.REDSTONE),
|
||||
'P', new ItemStack(RefinedStorageItems.STORAGE_PART, 1, type),
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON)
|
||||
);
|
||||
));
|
||||
|
||||
GameRegistry.addShapelessRecipe(disk,
|
||||
new ItemStack(RefinedStorageItems.STORAGE_HOUSING),
|
||||
@@ -420,24 +409,24 @@ public class CommonProxy {
|
||||
}
|
||||
|
||||
// Pattern
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageItems.PATTERN),
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(RefinedStorageItems.PATTERN),
|
||||
"GRG",
|
||||
"RGR",
|
||||
"EEE",
|
||||
'G', new ItemStack(Blocks.GLASS),
|
||||
'G', "blockGlass",
|
||||
'R', new ItemStack(Items.REDSTONE),
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON)
|
||||
);
|
||||
));
|
||||
|
||||
// Upgrade
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageItems.UPGRADE, 1, 0),
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(RefinedStorageItems.UPGRADE, 1, 0),
|
||||
"EGE",
|
||||
"EPE",
|
||||
"EGE",
|
||||
'G', new ItemStack(Blocks.GLASS),
|
||||
'G', "blockGlass",
|
||||
'P', new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED),
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON)
|
||||
);
|
||||
));
|
||||
|
||||
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_RANGE));
|
||||
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_SPEED));
|
||||
@@ -458,15 +447,15 @@ public class CommonProxy {
|
||||
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeStorage(EnumStorageType.TYPE_64K, ItemStoragePart.TYPE_64K));
|
||||
|
||||
// Crafting Monitor
|
||||
GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.CRAFTING_MONITOR),
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(RefinedStorageBlocks.CRAFTING_MONITOR),
|
||||
"EGE",
|
||||
"GMG",
|
||||
"EPE",
|
||||
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON),
|
||||
'M', new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
|
||||
'G', new ItemStack(Blocks.GLASS),
|
||||
'G', "blockGlass",
|
||||
'P', new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED)
|
||||
);
|
||||
));
|
||||
|
||||
// Interface
|
||||
RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeBasic(
|
||||
@@ -486,7 +475,7 @@ public class CommonProxy {
|
||||
|
||||
private void registerBlock(BlockBase block) {
|
||||
GameRegistry.<Block>register(block);
|
||||
GameRegistry.register(block.createItemForBlock());
|
||||
GameRegistry.register(block.createItem());
|
||||
}
|
||||
|
||||
private void registerItem(Item item) {
|
||||
|
@@ -14,11 +14,6 @@ public class TileCable extends TileNode {
|
||||
// NO OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSendConnectivityUpdate() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends Container> getContainer() {
|
||||
return null;
|
||||
|
@@ -24,7 +24,7 @@ import refinedstorage.item.ItemUpgrade;
|
||||
public class TileCrafter extends TileNode implements ICraftingPatternContainer {
|
||||
private BasicItemHandler patterns = new BasicItemHandler(9, this, new IItemValidator() {
|
||||
@Override
|
||||
public boolean valid(ItemStack stack) {
|
||||
public boolean isValid(ItemStack stack) {
|
||||
return stack.getItem() == RefinedStorageItems.PATTERN && ItemPattern.isValid(stack);
|
||||
}
|
||||
}) {
|
||||
@@ -66,7 +66,7 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer {
|
||||
public void onConnectionChange(INetworkMaster network, boolean state) {
|
||||
if (!state) {
|
||||
for (ICraftingTask task : network.getCraftingTasks()) {
|
||||
if (task.getPattern().getContainer(worldObj) == this) {
|
||||
if (task.getPattern().getContainerPosition().equals(pos)) {
|
||||
network.cancelCraftingTask(task);
|
||||
}
|
||||
}
|
||||
|
@@ -33,6 +33,7 @@ public class TileDetector extends TileNode implements ICompareConfig {
|
||||
private int amount = 0;
|
||||
|
||||
private boolean powered = false;
|
||||
private boolean wasPowered;
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
@@ -44,8 +45,6 @@ public class TileDetector extends TileNode implements ICompareConfig {
|
||||
if (ticks % SPEED == 0) {
|
||||
ItemStack slot = filter.getStackInSlot(0);
|
||||
|
||||
boolean wasPowered = powered;
|
||||
|
||||
if (slot != null) {
|
||||
ItemStack stack = network.getStorage().get(slot, compare);
|
||||
|
||||
@@ -73,15 +72,22 @@ public class TileDetector extends TileNode implements ICompareConfig {
|
||||
} else {
|
||||
powered = false;
|
||||
}
|
||||
|
||||
if (powered != wasPowered) {
|
||||
worldObj.notifyNeighborsOfStateChange(pos, RefinedStorageBlocks.DETECTOR);
|
||||
|
||||
RefinedStorageUtils.updateBlock(worldObj, pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
if (powered != wasPowered) {
|
||||
wasPowered = powered;
|
||||
|
||||
worldObj.notifyNeighborsOfStateChange(pos, RefinedStorageBlocks.DETECTOR);
|
||||
|
||||
RefinedStorageUtils.updateBlock(worldObj, pos);
|
||||
}
|
||||
|
||||
super.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnectionChange(INetworkMaster network, boolean state) {
|
||||
super.onConnectionChange(network, state);
|
||||
|
@@ -49,6 +49,7 @@ public class TileDiskDrive extends TileNode implements IStorageProvider, IStorag
|
||||
private static final String NBT_PRIORITY = "Priority";
|
||||
private static final String NBT_COMPARE = "Compare";
|
||||
private static final String NBT_MODE = "Mode";
|
||||
private static final String NBT_STORED = "Stored";
|
||||
|
||||
private BasicItemHandler disks = new BasicItemHandler(8, this, new BasicItemValidator(RefinedStorageItems.STORAGE_DISK)) {
|
||||
@Override
|
||||
@@ -84,6 +85,20 @@ public class TileDiskDrive extends TileNode implements IStorageProvider, IStorag
|
||||
private int priority = 0;
|
||||
private int compare = 0;
|
||||
private int mode = ModeConstants.WHITELIST;
|
||||
private int stored = 0;
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
if (!worldObj.isRemote) {
|
||||
if (stored != getStoredForDisplayServer()) {
|
||||
stored = getStoredForDisplayServer();
|
||||
|
||||
RefinedStorageUtils.updateBlock(worldObj, pos);
|
||||
}
|
||||
}
|
||||
|
||||
super.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
@@ -166,6 +181,22 @@ public class TileDiskDrive extends TileNode implements IStorageProvider, IStorag
|
||||
return tag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
||||
super.writeUpdate(tag);
|
||||
|
||||
tag.setInteger(NBT_STORED, stored);
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readUpdate(NBTTagCompound tag) {
|
||||
stored = tag.getInteger(NBT_STORED);
|
||||
|
||||
super.readUpdate(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeContainerData(ByteBuf buf) {
|
||||
super.writeContainerData(buf);
|
||||
@@ -213,6 +244,36 @@ public class TileDiskDrive extends TileNode implements IStorageProvider, IStorag
|
||||
markDirty();
|
||||
}
|
||||
|
||||
public int getStoredForDisplayServer() {
|
||||
float stored = 0;
|
||||
float storedMax = 0;
|
||||
|
||||
for (int i = 0; i < disks.getSlots(); ++i) {
|
||||
ItemStack disk = disks.getStackInSlot(i);
|
||||
|
||||
if (disk != null) {
|
||||
int capacity = EnumStorageType.getById(disk.getItemDamage()).getCapacity();
|
||||
|
||||
if (capacity == -1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
stored += NBTStorage.getStoredFromNBT(disk.getTagCompound());
|
||||
storedMax += EnumStorageType.getById(disk.getItemDamage()).getCapacity();
|
||||
}
|
||||
}
|
||||
|
||||
if (storedMax == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (int) Math.floor((stored / storedMax) * 7f);
|
||||
}
|
||||
|
||||
public int getStoredForScaledDisplay() {
|
||||
return stored;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuiTitle() {
|
||||
return "block.refinedstorage:disk_drive.name";
|
||||
|
@@ -1,11 +1,13 @@
|
||||
package refinedstorage.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.api.network.INetworkMaster;
|
||||
import refinedstorage.api.network.INetworkNode;
|
||||
import refinedstorage.block.BlockNode;
|
||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||
import refinedstorage.tile.config.RedstoneMode;
|
||||
|
||||
@@ -28,9 +30,10 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
|
||||
return isConnected() && canUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSendConnectivityUpdate() {
|
||||
return true;
|
||||
private boolean canSendConnectivityUpdate() {
|
||||
Block block = getBlockType();
|
||||
|
||||
return block instanceof BlockNode ? ((BlockNode) block).hasConnectivityState() : false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -65,7 +68,7 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnected() {
|
||||
public void onDisconnected(INetworkMaster network) {
|
||||
onConnectionChange(network, false);
|
||||
|
||||
this.connected = false;
|
||||
@@ -144,14 +147,18 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
|
||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
||||
super.writeUpdate(tag);
|
||||
|
||||
tag.setBoolean(NBT_CONNECTED, isActive());
|
||||
if (canSendConnectivityUpdate()) {
|
||||
tag.setBoolean(NBT_CONNECTED, isActive());
|
||||
}
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
||||
public void readUpdate(NBTTagCompound tag) {
|
||||
super.readUpdate(tag);
|
||||
if (canSendConnectivityUpdate()) {
|
||||
connected = tag.getBoolean(NBT_CONNECTED);
|
||||
}
|
||||
|
||||
connected = tag.getBoolean(NBT_CONNECTED);
|
||||
super.readUpdate(tag);
|
||||
}
|
||||
}
|
||||
|
@@ -78,8 +78,7 @@ public class TileSolderer extends TileNode {
|
||||
|
||||
recipe = null;
|
||||
progress = 0;
|
||||
// Don't set working to false yet, wait till the next update because we may have
|
||||
// another stack waiting.
|
||||
// Don't set working to false yet, wait till the next update because we may have another stack waiting.
|
||||
|
||||
markDirty();
|
||||
}
|
||||
|
@@ -25,6 +25,7 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageBlocks;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.api.autocrafting.ICraftingPattern;
|
||||
import refinedstorage.api.autocrafting.ICraftingPatternContainer;
|
||||
import refinedstorage.api.autocrafting.ICraftingTask;
|
||||
import refinedstorage.api.network.IGridHandler;
|
||||
import refinedstorage.api.network.INetworkMaster;
|
||||
@@ -50,6 +51,7 @@ import refinedstorage.tile.TileBase;
|
||||
import refinedstorage.tile.TileCrafter;
|
||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||
import refinedstorage.tile.config.RedstoneMode;
|
||||
import refinedstorage.tile.externalstorage.ExternalStorage;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -167,9 +169,13 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
craftingTasksToAddAsLast.clear();
|
||||
|
||||
if (!craftingTasks.empty()) {
|
||||
markDirty();
|
||||
|
||||
ICraftingTask top = craftingTasks.peek();
|
||||
|
||||
if (ticks % top.getPattern().getContainer(worldObj).getSpeed() == 0 && top.update(worldObj, this)) {
|
||||
ICraftingPatternContainer container = top.getPattern().getContainer(worldObj);
|
||||
|
||||
if (container != null && (ticks % container.getSpeed()) == 0 && top.update(worldObj, this)) {
|
||||
top.onDone(this);
|
||||
|
||||
craftingTasks.pop();
|
||||
@@ -194,11 +200,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
if (couldRun != canRun()) {
|
||||
couldRun = canRun();
|
||||
|
||||
if (!couldRun && !nodes.isEmpty()) {
|
||||
disconnectAll();
|
||||
} else if (couldRun) {
|
||||
rebuildNodes();
|
||||
}
|
||||
rebuildNodes();
|
||||
}
|
||||
|
||||
if (getEnergyScaledForDisplay() != lastEnergyDisplay) {
|
||||
@@ -220,11 +222,12 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
public void disconnectAll() {
|
||||
for (INetworkNode node : nodes) {
|
||||
if (node.isConnected()) {
|
||||
node.onDisconnected();
|
||||
node.onDisconnected(this);
|
||||
}
|
||||
}
|
||||
|
||||
nodes.clear();
|
||||
nodesPos.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -365,9 +368,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
|
||||
if (pattern != null && ItemPattern.isValid(pattern)) {
|
||||
patterns.add(new CraftingPattern(
|
||||
crafter.getPos().getX(),
|
||||
crafter.getPos().getY(),
|
||||
crafter.getPos().getZ(),
|
||||
crafter.getPos(),
|
||||
ItemPattern.isProcessing(pattern),
|
||||
ItemPattern.getInputs(pattern),
|
||||
ItemPattern.getOutputs(pattern),
|
||||
@@ -383,6 +384,14 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
|
||||
@Override
|
||||
public void rebuildNodes() {
|
||||
if (!canRun()) {
|
||||
if (!nodes.isEmpty()) {
|
||||
disconnectAll();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
List<INetworkNode> newNodes = new ArrayList<INetworkNode>();
|
||||
Set<BlockPos> newNodesPos = new HashSet<BlockPos>();
|
||||
|
||||
@@ -424,20 +433,23 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
}
|
||||
}
|
||||
|
||||
for (INetworkNode newNode : newNodes) {
|
||||
if (!nodesPos.contains(newNode.getPosition())) {
|
||||
List<INetworkNode> oldNodes = new ArrayList<INetworkNode>(nodes);
|
||||
Set<BlockPos> oldNodesPos = new HashSet<BlockPos>(nodesPos);
|
||||
|
||||
this.nodes = newNodes;
|
||||
this.nodesPos = newNodesPos;
|
||||
|
||||
for (INetworkNode newNode : nodes) {
|
||||
if (!oldNodesPos.contains(newNode.getPosition())) {
|
||||
newNode.onConnected(this);
|
||||
}
|
||||
}
|
||||
|
||||
for (INetworkNode oldNode : nodes) {
|
||||
if (!newNodesPos.contains(oldNode.getPosition())) {
|
||||
oldNode.onDisconnected();
|
||||
for (INetworkNode oldNode : oldNodes) {
|
||||
if (!nodesPos.contains(oldNode.getPosition())) {
|
||||
oldNode.onDisconnected(this);
|
||||
}
|
||||
}
|
||||
|
||||
this.nodes = newNodes;
|
||||
this.nodesPos = newNodesPos;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -480,6 +492,10 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
for (IStorage storage : this.storage.getStorages()) {
|
||||
remainder = storage.insertItem(remainder, size, simulate);
|
||||
|
||||
if (storage instanceof ExternalStorage && !simulate) {
|
||||
((ExternalStorage) storage).setHash();
|
||||
}
|
||||
|
||||
if (remainder == null) {
|
||||
break;
|
||||
} else {
|
||||
@@ -516,6 +532,10 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
for (IStorage storage : this.storage.getStorages()) {
|
||||
ItemStack took = storage.extractItem(stack, requested - received, flags);
|
||||
|
||||
if (storage instanceof ExternalStorage) {
|
||||
((ExternalStorage) storage).setHash();
|
||||
}
|
||||
|
||||
if (took != null) {
|
||||
if (newStack == null) {
|
||||
newStack = took;
|
||||
@@ -642,7 +662,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
}
|
||||
|
||||
public int getEnergyScaledForDisplay() {
|
||||
return getEnergyScaled(8);
|
||||
return getEnergyScaled(7);
|
||||
}
|
||||
|
||||
public int getEnergyScaledForComparator() {
|
||||
@@ -667,6 +687,8 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
@Override
|
||||
public void setRedstoneMode(RedstoneMode mode) {
|
||||
this.redstoneMode = mode;
|
||||
|
||||
markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -17,6 +17,8 @@ public class DeepStorageUnitStorage extends ExternalStorage {
|
||||
public DeepStorageUnitStorage(TileExternalStorage externalStorage, IDeepStorageUnit unit) {
|
||||
this.externalStorage = externalStorage;
|
||||
this.unit = unit;
|
||||
|
||||
setHash();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -24,6 +26,11 @@ public class DeepStorageUnitStorage extends ExternalStorage {
|
||||
return unit.getMaxStoredCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHash() {
|
||||
return RefinedStorageUtils.getItemStackHashCode(unit.getStoredItemType());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getItems() {
|
||||
if (unit.getStoredItemType() != null && unit.getStoredItemType().stackSize > 0) {
|
||||
|
@@ -17,6 +17,8 @@ public class DrawerStorage extends ExternalStorage {
|
||||
public DrawerStorage(TileExternalStorage externalStorage, IDrawer drawer) {
|
||||
this.externalStorage = externalStorage;
|
||||
this.drawer = drawer;
|
||||
|
||||
setHash();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -24,6 +26,11 @@ public class DrawerStorage extends ExternalStorage {
|
||||
return drawer.getMaxCapacity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHash() {
|
||||
return RefinedStorageUtils.getItemStackHashCode(drawer.getStoredItemPrototype(), drawer.getStoredItemCount());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getItems() {
|
||||
if (!drawer.isEmpty() && drawer.getStoredItemCount() > 0) {
|
||||
|
@@ -3,5 +3,23 @@ package refinedstorage.tile.externalstorage;
|
||||
import refinedstorage.api.storage.IStorage;
|
||||
|
||||
public abstract class ExternalStorage implements IStorage {
|
||||
private int hash = -1;
|
||||
|
||||
public abstract int getCapacity();
|
||||
|
||||
public void setHash() {
|
||||
this.hash = getHash();
|
||||
}
|
||||
|
||||
public abstract int getHash();
|
||||
|
||||
public boolean isDirty() {
|
||||
if (hash != -1 && hash != getHash()) {
|
||||
hash = getHash();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -16,6 +16,8 @@ public class ItemHandlerStorage extends ExternalStorage {
|
||||
public ItemHandlerStorage(TileExternalStorage externalStorage, IItemHandler handler) {
|
||||
this.externalStorage = externalStorage;
|
||||
this.handler = handler;
|
||||
|
||||
setHash();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -23,6 +25,19 @@ public class ItemHandlerStorage extends ExternalStorage {
|
||||
return handler.getSlots() * 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHash() {
|
||||
int code = 0;
|
||||
|
||||
for (int i = 0; i < handler.getSlots(); ++i) {
|
||||
if (handler.getStackInSlot(i) != null && handler.getStackInSlot(i).getItem() != null) {
|
||||
code += RefinedStorageUtils.getItemStackHashCode(handler.getStackInSlot(i));
|
||||
}
|
||||
}
|
||||
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getItems() {
|
||||
List<ItemStack> items = new ArrayList<ItemStack>();
|
||||
|
@@ -56,17 +56,27 @@ public class TileExternalStorage extends TileNode implements IStorageProvider, I
|
||||
public void onConnectionChange(INetworkMaster network, boolean state) {
|
||||
super.onConnectionChange(network, state);
|
||||
|
||||
updateStorage(network);
|
||||
|
||||
network.getStorage().rebuild();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
if (ticks == 0) {
|
||||
updateStorage();
|
||||
} else if (getFacingTile() instanceof IDrawerGroup && lastDrawerCount != ((IDrawerGroup) getFacingTile()).getDrawerCount()) {
|
||||
lastDrawerCount = ((IDrawerGroup) getFacingTile()).getDrawerCount();
|
||||
if (!worldObj.isRemote && network != null) {
|
||||
for (ExternalStorage storage : storages) {
|
||||
if (storage.isDirty()) {
|
||||
updateStorage(network);
|
||||
|
||||
updateStorage();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (getFacingTile() instanceof IDrawerGroup && lastDrawerCount != ((IDrawerGroup) getFacingTile()).getDrawerCount()) {
|
||||
lastDrawerCount = ((IDrawerGroup) getFacingTile()).getDrawerCount();
|
||||
|
||||
updateStorage(network);
|
||||
}
|
||||
}
|
||||
|
||||
super.update();
|
||||
@@ -166,8 +176,7 @@ public class TileExternalStorage extends TileNode implements IStorageProvider, I
|
||||
markDirty();
|
||||
}
|
||||
|
||||
// Called when the neighbor block changes or when a drawer is added or removed to a drawer group
|
||||
public void updateStorage() {
|
||||
public void updateStorage(INetworkMaster network) {
|
||||
storages.clear();
|
||||
|
||||
TileEntity facing = getFacingTile();
|
||||
@@ -192,9 +201,7 @@ public class TileExternalStorage extends TileNode implements IStorageProvider, I
|
||||
}
|
||||
}
|
||||
|
||||
if (network != null) {
|
||||
network.getStorage().rebuild();
|
||||
}
|
||||
network.getStorage().rebuild();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -335,6 +335,7 @@ public class TileGrid extends TileNode implements IGrid {
|
||||
public void writeContainerData(ByteBuf buf) {
|
||||
super.writeContainerData(buf);
|
||||
|
||||
buf.writeBoolean(isConnected());
|
||||
buf.writeInt(sortingDirection);
|
||||
buf.writeInt(sortingType);
|
||||
buf.writeInt(searchBoxMode);
|
||||
@@ -344,6 +345,7 @@ public class TileGrid extends TileNode implements IGrid {
|
||||
public void readContainerData(ByteBuf buf) {
|
||||
super.readContainerData(buf);
|
||||
|
||||
connected = buf.readBoolean();
|
||||
sortingDirection = buf.readInt();
|
||||
sortingType = buf.readInt();
|
||||
searchBoxMode = buf.readInt();
|
||||
|
@@ -15,12 +15,6 @@
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
|
@@ -55,11 +55,6 @@
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/controller_7"
|
||||
}
|
||||
},
|
||||
"8": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/controller_8"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
|
@@ -4,31 +4,17 @@
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side"
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/crafting_monitor"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/crafting_monitor_disconnected"
|
||||
},
|
||||
"transform": "forge:default-block",
|
||||
"y": 0
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/crafting_monitor_connected"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/crafting_monitor_disconnected"
|
||||
}
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
|
@@ -5,7 +5,7 @@
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/controller_8"
|
||||
"front": "refinedstorage:blocks/controller_7"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
@@ -31,8 +31,6 @@
|
||||
"6": {
|
||||
},
|
||||
"7": {
|
||||
},
|
||||
"8": {
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
|
@@ -15,12 +15,6 @@
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
|
@@ -1,54 +1,26 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/detector_unpowered"
|
||||
}
|
||||
"particle": "refinedstorage:blocks/side_borderless",
|
||||
"torch": "refinedstorage:blocks/wireless_transmitter_disconnected"
|
||||
},
|
||||
"model": "refinedstorage:detector"
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"y": 0,
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"powered": {
|
||||
"true": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/detector_powered"
|
||||
"torch": "refinedstorage:blocks/wireless_transmitter_connected"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -5,7 +5,7 @@
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/disk_drive"
|
||||
"front": "refinedstorage:blocks/disk_drive_0"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
@@ -15,10 +15,46 @@
|
||||
"y": 0
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
"stored": {
|
||||
"0": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_0"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
"1": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_1"
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_2"
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_3"
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_4"
|
||||
}
|
||||
},
|
||||
"5": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_5"
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_6"
|
||||
}
|
||||
},
|
||||
"7": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/disk_drive_7"
|
||||
}
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
|
@@ -1,44 +1,81 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/exporter"
|
||||
}
|
||||
"all": "refinedstorage:blocks/cable",
|
||||
"particle": "refinedstorage:blocks/cable",
|
||||
"line": "refinedstorage:blocks/importer_exporter_external_storage"
|
||||
},
|
||||
"model": "refinedstorage:cable_core",
|
||||
"uvlock": true
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"y": 0,
|
||||
"model": "refinedstorage:exporter",
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"direction": {
|
||||
"north": {
|
||||
"submodel": "refinedstorage:exporter_north"
|
||||
},
|
||||
"east": {
|
||||
"submodel": "refinedstorage:exporter_east"
|
||||
},
|
||||
"south": {
|
||||
"submodel": "refinedstorage:exporter_south"
|
||||
},
|
||||
"west": {
|
||||
"submodel": "refinedstorage:exporter_west"
|
||||
},
|
||||
"up": {
|
||||
"submodel": "refinedstorage:exporter_up"
|
||||
},
|
||||
"down": {
|
||||
"submodel": "refinedstorage:exporter_down"
|
||||
}
|
||||
},
|
||||
"north": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_north"
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
"east": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_east"
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"south": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_south"
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"west": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_west"
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"up": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_up"
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"down": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_down"
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
"false": {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,44 +1,81 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/external_storage"
|
||||
}
|
||||
"all": "refinedstorage:blocks/cable",
|
||||
"particle": "refinedstorage:blocks/cable",
|
||||
"line": "refinedstorage:blocks/importer_exporter_external_storage"
|
||||
},
|
||||
"model": "refinedstorage:cable_core",
|
||||
"uvlock": true
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"y": 0,
|
||||
"model": "refinedstorage:external_storage",
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"direction": {
|
||||
"north": {
|
||||
"submodel": "refinedstorage:external_storage_north"
|
||||
},
|
||||
"east": {
|
||||
"submodel": "refinedstorage:external_storage_east"
|
||||
},
|
||||
"south": {
|
||||
"submodel": "refinedstorage:external_storage_south"
|
||||
},
|
||||
"west": {
|
||||
"submodel": "refinedstorage:external_storage_west"
|
||||
},
|
||||
"up": {
|
||||
"submodel": "refinedstorage:external_storage_up"
|
||||
},
|
||||
"down": {
|
||||
"submodel": "refinedstorage:external_storage_down"
|
||||
}
|
||||
},
|
||||
"north": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_north"
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
"east": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_east"
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"south": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_south"
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"west": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_west"
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"up": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_up"
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"down": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_down"
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
"false": {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -4,39 +4,17 @@
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side"
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/grid"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/grid_disconnected"
|
||||
},
|
||||
"transform": "forge:default-block",
|
||||
"y": 0
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"normal": {
|
||||
},
|
||||
"crafting": {
|
||||
},
|
||||
"pattern": {
|
||||
}
|
||||
},
|
||||
"connected": {
|
||||
"true": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/grid_connected"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/grid_disconnected"
|
||||
}
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
|
@@ -1,44 +1,81 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/importer"
|
||||
}
|
||||
"all": "refinedstorage:blocks/cable",
|
||||
"particle": "refinedstorage:blocks/cable",
|
||||
"line": "refinedstorage:blocks/importer_exporter_external_storage"
|
||||
},
|
||||
"model": "refinedstorage:cable_core",
|
||||
"uvlock": true
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"y": 0,
|
||||
"model": "refinedstorage:importer",
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"direction": {
|
||||
"north": {
|
||||
"submodel": "refinedstorage:importer_north"
|
||||
},
|
||||
"east": {
|
||||
"submodel": "refinedstorage:importer_east"
|
||||
},
|
||||
"south": {
|
||||
"submodel": "refinedstorage:importer_south"
|
||||
},
|
||||
"west": {
|
||||
"submodel": "refinedstorage:importer_west"
|
||||
},
|
||||
"up": {
|
||||
"submodel": "refinedstorage:importer_up"
|
||||
},
|
||||
"down": {
|
||||
"submodel": "refinedstorage:importer_down"
|
||||
}
|
||||
},
|
||||
"north": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_north"
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
"east": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_east"
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"south": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_south"
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"west": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_west"
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"up": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_up"
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"down": {
|
||||
"true": {
|
||||
"submodel": "refinedstorage:cable_down"
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
"false": {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -12,25 +12,8 @@
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"direction": {
|
||||
"north": {
|
||||
},
|
||||
"east": {
|
||||
},
|
||||
"south": {
|
||||
},
|
||||
"west": {
|
||||
},
|
||||
"up": {
|
||||
},
|
||||
"down": {
|
||||
}
|
||||
},
|
||||
"connected": {
|
||||
"true": {
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
"normal": {
|
||||
"model": "cube_all"
|
||||
}
|
||||
}
|
||||
}
|
@@ -12,19 +12,8 @@
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"direction": {
|
||||
"north": {
|
||||
},
|
||||
"east": {
|
||||
},
|
||||
"south": {
|
||||
},
|
||||
"west": {
|
||||
},
|
||||
"up": {
|
||||
},
|
||||
"down": {
|
||||
}
|
||||
"normal": {
|
||||
"model": "cube_all"
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,11 +1,15 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"model": "cube",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/processing_pattern_encoder",
|
||||
"front": "refinedstorage:blocks/side"
|
||||
"particle": "refinedstorage:blocks/processing_pattern_encoder",
|
||||
"down": "refinedstorage:blocks/side",
|
||||
"up": "refinedstorage:blocks/processing_pattern_encoder",
|
||||
"north": "refinedstorage:blocks/processing_pattern_encoder_side",
|
||||
"east": "refinedstorage:blocks/processing_pattern_encoder_side",
|
||||
"south": "refinedstorage:blocks/processing_pattern_encoder_side",
|
||||
"west": "refinedstorage:blocks/processing_pattern_encoder_side"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
@@ -15,25 +19,8 @@
|
||||
"y": 0
|
||||
}
|
||||
],
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
}
|
||||
"normal": {
|
||||
"model": "cube"
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "cube_all",
|
||||
"textures": {
|
||||
"all": "refinedstorage:blocks/quartz_enriched_iron_block"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"direction": {
|
||||
"north": {
|
||||
},
|
||||
"east": {
|
||||
},
|
||||
"south": {
|
||||
},
|
||||
"west": {
|
||||
},
|
||||
"up": {
|
||||
},
|
||||
"down": {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -12,20 +12,6 @@
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"direction": {
|
||||
"north": {
|
||||
},
|
||||
"east": {
|
||||
},
|
||||
"south": {
|
||||
},
|
||||
"west": {
|
||||
},
|
||||
"up": {
|
||||
},
|
||||
"down": {
|
||||
}
|
||||
},
|
||||
"connected": {
|
||||
"true": {
|
||||
"textures": {
|
||||
|
@@ -1,54 +1,30 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/solderer"
|
||||
}
|
||||
"particle": "refinedstorage:blocks/side_borderless",
|
||||
"3": "refinedstorage:blocks/solderer_laser",
|
||||
"4": "refinedstorage:blocks/solderer_laser"
|
||||
},
|
||||
"model": "refinedstorage:solderer",
|
||||
"uvlock": true
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"y": 0,
|
||||
"model": "refinedstorage:solderer",
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"working": {
|
||||
"true": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/solderer_working"
|
||||
"3": "refinedstorage:blocks/solderer_laser_working",
|
||||
"4": "refinedstorage:blocks/solderer_laser_working"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,52 +1,24 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"model": "torch",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side"
|
||||
"torch": "refinedstorage:blocks/wireless_transmitter_disconnected"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/wireless_transmitter_disconnected"
|
||||
},
|
||||
"transform": "forge:default-block",
|
||||
"y": 0
|
||||
"transform": "forge:default-block"
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/wireless_transmitter_connected"
|
||||
"torch": "refinedstorage:blocks/wireless_transmitter_connected"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
"textures": {
|
||||
"front": "refinedstorage:blocks/wireless_transmitter_disconnected"
|
||||
}
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -110,7 +110,6 @@ block.refinedstorage:crafting_monitor.name=Crafting Monitor
|
||||
block.refinedstorage:wireless_transmitter.name=Wireless Transmitter
|
||||
block.refinedstorage:crafter.name=Crafter
|
||||
block.refinedstorage:processing_pattern_encoder.name=Processing Pattern Encoder
|
||||
block.refinedstorage:quartz_enriched_iron_block.name=Quartz Enriched Iron Block
|
||||
|
||||
item.refinedstorage:storage_disk.0.name=1k Storage Disk
|
||||
item.refinedstorage:storage_disk.1.name=4k Storage Disk
|
||||
|
@@ -110,7 +110,6 @@ block.refinedstorage:crafting_monitor.name=Moniteur de Craft
|
||||
block.refinedstorage:wireless_transmitter.name=Transmetteur sans Fil
|
||||
block.refinedstorage:crafter.name=Crafteur
|
||||
block.refinedstorage:processing_pattern_encoder.name=Encodeur de Modèle de Traitement
|
||||
block.refinedstorage:quartz_enriched_iron_block.name=Fer Enrichi de Quartz Bloc
|
||||
|
||||
item.refinedstorage:storage_disk.0.name=Disque de Stockage de 1k
|
||||
item.refinedstorage:storage_disk.1.name=Disque de Stockage de 4k
|
||||
|
@@ -110,7 +110,6 @@ block.refinedstorage:crafting_monitor.name=Crafting Monitor
|
||||
block.refinedstorage:wireless_transmitter.name=Draadloze Zender
|
||||
block.refinedstorage:crafter.name=Crafter
|
||||
block.refinedstorage:processing_pattern_encoder.name=Verwerkingspatroon Codeerder
|
||||
block.refinedstorage:quartz_enriched_iron_block.name=Quartz Verrijkte IJzerblok
|
||||
|
||||
item.refinedstorage:storage_disk.0.name=1k Opslagschijf
|
||||
item.refinedstorage:storage_disk.1.name=4k Opslagschijf
|
||||
|
@@ -110,7 +110,6 @@ block.refinedstorage:crafting_monitor.name=Monitor de Fabricação
|
||||
block.refinedstorage:wireless_transmitter.name=Transmissor Sem Fio
|
||||
block.refinedstorage:crafter.name=Fabricador
|
||||
block.refinedstorage:processing_pattern_encoder.name=Codificador de Padrão de Processamento
|
||||
block.refinedstorage:quartz_enriched_iron_block.name=Bloco de Ferro Enriquecido com Quartzo
|
||||
|
||||
item.refinedstorage:storage_disk.0.name=Disco de Armazenamento 1k
|
||||
item.refinedstorage:storage_disk.1.name=Disco de Armazenamento 4k
|
||||
|
176
src/main/resources/assets/refinedstorage/models/block/detector.json
Executable file
@@ -0,0 +1,176 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
"0": "refinedstorage:blocks/side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
7,
|
||||
0,
|
||||
7
|
||||
],
|
||||
"to": [
|
||||
9,
|
||||
10,
|
||||
9
|
||||
],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"down": {
|
||||
"uv": [
|
||||
7,
|
||||
13,
|
||||
9,
|
||||
15
|
||||
],
|
||||
"texture": "#torch"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
7,
|
||||
6,
|
||||
9,
|
||||
8
|
||||
],
|
||||
"texture": "#torch"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
7,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"to": [
|
||||
9,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#torch"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#torch"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0,
|
||||
0,
|
||||
7
|
||||
],
|
||||
"to": [
|
||||
16,
|
||||
16,
|
||||
9
|
||||
],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#torch"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
16
|
||||
],
|
||||
"texture": "#torch"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "base",
|
||||
"from": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
4.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
0.0,
|
||||
12.0,
|
||||
16.0,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
0.0,
|
||||
12.0,
|
||||
16.0,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
0.0,
|
||||
12.0,
|
||||
16.0,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
0.0,
|
||||
12.0,
|
||||
16.0,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
16.0,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
16.0,
|
||||
16.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
419
src/main/resources/assets/refinedstorage/models/block/exporter.json
Executable file
@@ -0,0 +1,419 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
4.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
6.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Core",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "East",
|
||||
"from": [
|
||||
10.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "West",
|
||||
"from": [
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
6.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/exporter_down.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
0.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
2.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
2.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
4.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
4.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
6.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/exporter_east.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
14.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
12.0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
11.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
10.0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
12.0,
|
||||
13.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/exporter_north.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
4.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
6.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/exporter_south.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
14.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
12.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/exporter_up.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
14.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
16.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
12.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
14.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
10.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
12.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/exporter_west.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
2.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
2.0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
4.0,
|
||||
11.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
4.0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
6.0,
|
||||
13.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
350
src/main/resources/assets/refinedstorage/models/block/external_storage.json
Executable file
@@ -0,0 +1,350 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
7.0,
|
||||
7.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
9.0,
|
||||
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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Core",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "East",
|
||||
"from": [
|
||||
10.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "West",
|
||||
"from": [
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
6.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
145
src/main/resources/assets/refinedstorage/models/block/external_storage_down.json
Executable file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
7.0,
|
||||
2.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
6.0,
|
||||
9.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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
3.0,
|
||||
0.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
2.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
145
src/main/resources/assets/refinedstorage/models/block/external_storage_east.json
Executable file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
10.0,
|
||||
7.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
9.0,
|
||||
9.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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
14.0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
13.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
7.0,
|
||||
7.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
9.0,
|
||||
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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
7.0,
|
||||
7.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
9.0,
|
||||
14.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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
14.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
145
src/main/resources/assets/refinedstorage/models/block/external_storage_up.json
Executable file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
7.0,
|
||||
10.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
9.0,
|
||||
14.0,
|
||||
9.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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
3.0,
|
||||
14.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
16.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
145
src/main/resources/assets/refinedstorage/models/block/external_storage_west.json
Executable file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
2.0,
|
||||
7.0,
|
||||
7.0
|
||||
],
|
||||
"to": [
|
||||
6.0,
|
||||
9.0,
|
||||
9.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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
0.0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
2.0,
|
||||
13.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
419
src/main/resources/assets/refinedstorage/models/block/importer.json
Executable file
@@ -0,0 +1,419 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
4.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Core",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "East",
|
||||
"from": [
|
||||
10.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "West",
|
||||
"from": [
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
6.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
4.0,
|
||||
4.0,
|
||||
8.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
0.0,
|
||||
4.0,
|
||||
4.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
4.0,
|
||||
16.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
8.0,
|
||||
4.0,
|
||||
4.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#all",
|
||||
"uv": [
|
||||
12.0,
|
||||
0.0,
|
||||
8.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/importer_down.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
4.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
6.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
2.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
4.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
0.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
2.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/importer_east.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
10.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
12.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
12.0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
14.0,
|
||||
11.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
14.0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
16.0,
|
||||
13.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/importer_north.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
4.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
2.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
4.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
2.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/importer_south.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
6.0,
|
||||
10.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
10.0,
|
||||
12.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
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
5.0,
|
||||
12.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
11.0,
|
||||
14.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
3.0,
|
||||
14.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
13.0,
|
||||
16.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/importer_up.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
6.0,
|
||||
10.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
10.0,
|
||||
12.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
5.0,
|
||||
12.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
11.0,
|
||||
14.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
3.0,
|
||||
14.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
13.0,
|
||||
16.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
2.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
214
src/main/resources/assets/refinedstorage/models/block/importer_west.json
Executable file
@@ -0,0 +1,214 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Line1",
|
||||
"from": [
|
||||
4.0,
|
||||
6.0,
|
||||
6.0
|
||||
],
|
||||
"to": [
|
||||
6.0,
|
||||
10.0,
|
||||
10.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
4.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
4.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line2",
|
||||
"from": [
|
||||
2.0,
|
||||
5.0,
|
||||
5.0
|
||||
],
|
||||
"to": [
|
||||
4.0,
|
||||
11.0,
|
||||
11.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
6.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
6.0
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Line3",
|
||||
"from": [
|
||||
0.0,
|
||||
3.0,
|
||||
3.0
|
||||
],
|
||||
"to": [
|
||||
2.0,
|
||||
13.0,
|
||||
13.0
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
10.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
},
|
||||
"down": {
|
||||
"texture": "#line",
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
2.0,
|
||||
10.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
8
src/main/resources/assets/refinedstorage/models/block/solderer.json
Normal file → Executable file
@@ -1,11 +1,9 @@
|
||||
{
|
||||
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
|
||||
"textures": {
|
||||
"0": "refinedstorage:blocks/quartz_enriched_iron_block.pngquartz_enriched_iron_block",
|
||||
"1": "refinedstorage:blocks/side.pngside",
|
||||
"2": "blocks/quartz_enriched_iron_block",
|
||||
"3": "blocks/redstone_block.pngredstone_block",
|
||||
"4": "blocks/redstone_block"
|
||||
"0": "refinedstorage:blocks/side",
|
||||
"1": "refinedstorage:blocks/side",
|
||||
"2": "refinedstorage:blocks/side_borderless"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
Before Width: | Height: | Size: 652 B After Width: | Height: | Size: 503 B |