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