From d04749485ded733cf51868b459a4996076b78e0d Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sat, 12 Nov 2016 12:11:12 +0100 Subject: [PATCH] Added model for reader writer --- .../refinedstorage/block/BlockReader.java | 20 +++- .../refinedstorage/block/BlockWriter.java | 23 +++-- .../refinedstorage/proxy/ProxyClient.java | 2 + .../refinedstorage/tile/TileReader.java | 2 +- .../refinedstorage/tile/TileWriter.java | 2 +- .../refinedstorage/blockstates/reader.json | 89 ++++++++++++++++++ .../refinedstorage/blockstates/writer.json | 89 ++++++++++++++++++ .../refinedstorage/textures/blocks/reader.png | Bin 0 -> 212 bytes .../refinedstorage/textures/blocks/writer.png | Bin 0 -> 203 bytes 9 files changed, 215 insertions(+), 12 deletions(-) create mode 100755 src/main/resources/assets/refinedstorage/blockstates/reader.json create mode 100755 src/main/resources/assets/refinedstorage/blockstates/writer.json create mode 100755 src/main/resources/assets/refinedstorage/textures/blocks/reader.png create mode 100755 src/main/resources/assets/refinedstorage/textures/blocks/writer.png diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java index 082b91546..98020c026 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java @@ -1,6 +1,7 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RS; +import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.tile.TileReader; import net.minecraft.block.state.IBlockState; @@ -9,16 +10,24 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -public class BlockReader extends BlockNode { +import java.util.List; + +public class BlockReader extends BlockCable { public BlockReader() { super("reader"); } @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 List getNonUnionizedCollisionBoxes(IBlockState state) { + return RSBlocks.CONSTRUCTOR.getNonUnionizedCollisionBoxes(state); + } + + @Override + public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { if (!world.isRemote) { player.openGui(RS.INSTANCE, RSGui.READER_WRITER, world, pos.getX(), pos.getY(), pos.getZ()); @@ -33,8 +42,13 @@ public class BlockReader extends BlockNode { return new TileReader(); } + @Override + public boolean hasConnectivityState() { + return true; + } + @Override public EnumPlacementType getPlacementType() { - return EnumPlacementType.ANY; + return EnumPlacementType.ANY_FACE_PLAYER; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java index 2793397ab..7067af92c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java @@ -1,25 +1,35 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RS; +import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.tile.TileWriter; +import mcmultipart.microblock.MicroblockContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockWriter extends BlockNode { +import java.util.List; + +public class BlockWriter extends BlockCable { public BlockWriter() { super("writer"); } @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 List getNonUnionizedCollisionBoxes(IBlockState state) { + return RSBlocks.CONSTRUCTOR.getNonUnionizedCollisionBoxes(state); + } + + @Override + public boolean onBlockActivatedDefault(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { if (!world.isRemote) { player.openGui(RS.INSTANCE, RSGui.READER_WRITER, world, pos.getX(), pos.getY(), pos.getZ()); @@ -36,7 +46,7 @@ public class BlockWriter extends BlockNode { @Override @SuppressWarnings("deprecation") - public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { + public int getWeakPowerDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) { TileWriter writer = (TileWriter) world.getTileEntity(pos); return side == writer.getDirection().getOpposite() ? writer.getRedstoneStrength() : 0; @@ -44,18 +54,17 @@ public class BlockWriter extends BlockNode { @Override @SuppressWarnings("deprecation") - public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { + public int getStrongPowerDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) { return getWeakPower(state, world, pos, side); } @Override - @SuppressWarnings("deprecation") - public boolean canProvidePower(IBlockState state) { + public boolean hasConnectivityState() { return true; } @Override public EnumPlacementType getPlacementType() { - return EnumPlacementType.ANY; + return EnumPlacementType.ANY_FACE_PLAYER; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java index ad1ca18f3..1b075c697 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java @@ -179,6 +179,8 @@ public class ProxyClient extends ProxyCommon { ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.EXTERNAL_STORAGE), 0, new ModelResourceLocation("refinedstorage:external_storage", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CONSTRUCTOR), 0, new ModelResourceLocation("refinedstorage:constructor", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DESTRUCTOR), 0, new ModelResourceLocation("refinedstorage:destructor", "inventory")); + ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.READER), 0, new ModelResourceLocation("refinedstorage:reader", "inventory")); + ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.WRITER), 0, new ModelResourceLocation("refinedstorage:writer", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.SOLDERER), 0, new ModelResourceLocation("refinedstorage:solderer", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DETECTOR), 0, new ModelResourceLocation("refinedstorage:detector", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.RELAY), 0, new ModelResourceLocation("refinedstorage:relay", "inventory")); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java index fdfe2020a..0154a31dc 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java @@ -17,7 +17,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; -public class TileReader extends TileNode implements IReader { +public class TileReader extends TileMultipartNode implements IReader { private static final String NBT_CHANNEL = "Channel"; static TileDataParameter createChannelParameter() { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java index d1f980521..3dd7b7487 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java @@ -12,7 +12,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; -public class TileWriter extends TileNode implements IWriter { +public class TileWriter extends TileMultipartNode implements IWriter { private static final String NBT_CHANNEL = "Channel"; private static final TileDataParameter CHANNEL = TileReader.createChannelParameter(); diff --git a/src/main/resources/assets/refinedstorage/blockstates/reader.json b/src/main/resources/assets/refinedstorage/blockstates/reader.json new file mode 100755 index 000000000..a0eca150f --- /dev/null +++ b/src/main/resources/assets/refinedstorage/blockstates/reader.json @@ -0,0 +1,89 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "all": "refinedstorage:blocks/cable_new", + "particle": "refinedstorage:blocks/cable_new", + "front": "refinedstorage:blocks/reader", + "line": "refinedstorage:blocks/importer_exporter_external_storage" + }, + "model": "refinedstorage:cable_core", + "uvlock": true + }, + "variants": { + "inventory": [ + { + "model": "refinedstorage:constructor_destructor", + "transform": "forge:default-block" + } + ], + "connected": { + "true": { + }, + "false": { + } + }, + "direction": { + "north": { + "submodel": "refinedstorage:constructor_destructor_north" + }, + "east": { + "submodel": "refinedstorage:constructor_destructor_east" + }, + "south": { + "submodel": "refinedstorage:constructor_destructor_south" + }, + "west": { + "submodel": "refinedstorage:constructor_destructor_west" + }, + "up": { + "submodel": "refinedstorage:constructor_destructor_up" + }, + "down": { + "submodel": "refinedstorage:constructor_destructor_down" + } + }, + "north": { + "true": { + "submodel": "refinedstorage:cable_north" + }, + "false": { + } + }, + "east": { + "true": { + "submodel": "refinedstorage:cable_east" + }, + "false": { + } + }, + "south": { + "true": { + "submodel": "refinedstorage:cable_south" + }, + "false": { + } + }, + "west": { + "true": { + "submodel": "refinedstorage:cable_west" + }, + "false": { + } + }, + "up": { + "true": { + "submodel": "refinedstorage:cable_up" + }, + "false": { + } + }, + "down": { + "true": { + "submodel": "refinedstorage:cable_down" + }, + "false": { + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/blockstates/writer.json b/src/main/resources/assets/refinedstorage/blockstates/writer.json new file mode 100755 index 000000000..100f2fb1f --- /dev/null +++ b/src/main/resources/assets/refinedstorage/blockstates/writer.json @@ -0,0 +1,89 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "all": "refinedstorage:blocks/cable_new", + "particle": "refinedstorage:blocks/cable_new", + "front": "refinedstorage:blocks/writer", + "line": "refinedstorage:blocks/importer_exporter_external_storage" + }, + "model": "refinedstorage:cable_core", + "uvlock": true + }, + "variants": { + "inventory": [ + { + "model": "refinedstorage:constructor_destructor", + "transform": "forge:default-block" + } + ], + "connected": { + "true": { + }, + "false": { + } + }, + "direction": { + "north": { + "submodel": "refinedstorage:constructor_destructor_north" + }, + "east": { + "submodel": "refinedstorage:constructor_destructor_east" + }, + "south": { + "submodel": "refinedstorage:constructor_destructor_south" + }, + "west": { + "submodel": "refinedstorage:constructor_destructor_west" + }, + "up": { + "submodel": "refinedstorage:constructor_destructor_up" + }, + "down": { + "submodel": "refinedstorage:constructor_destructor_down" + } + }, + "north": { + "true": { + "submodel": "refinedstorage:cable_north" + }, + "false": { + } + }, + "east": { + "true": { + "submodel": "refinedstorage:cable_east" + }, + "false": { + } + }, + "south": { + "true": { + "submodel": "refinedstorage:cable_south" + }, + "false": { + } + }, + "west": { + "true": { + "submodel": "refinedstorage:cable_west" + }, + "false": { + } + }, + "up": { + "true": { + "submodel": "refinedstorage:cable_up" + }, + "false": { + } + }, + "down": { + "true": { + "submodel": "refinedstorage:cable_down" + }, + "false": { + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/reader.png b/src/main/resources/assets/refinedstorage/textures/blocks/reader.png new file mode 100755 index 0000000000000000000000000000000000000000..903e53dc1e0fd4539019a3d59f35d9e209cdfa98 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwqdBmh3k`MJ}E$jv*HQXL}8~7z{X=|NdW|t1w|9+bZYG{0l2&-1vS*b$pna@!0;s z9?NvcsS*e0XD2X+F`Qv$Ot`X4wL#r!@@=PQO!vzcS3Zl-oCq|J!PC{xWt~$(69B^= BL1O>_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/writer.png b/src/main/resources/assets/refinedstorage/textures/blocks/writer.png new file mode 100755 index 0000000000000000000000000000000000000000..4c862812757b14e656259dd44a54341af194687f GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwqdBmh3k`Mb@4!jv*HQ$v^y+7WA{RNi=LY_$YuaLW0pj=|oY1&`d@ajT`|vIVlB( rnY=6stO^Z>+Ag^?3$A$hzn)?7teOR~PTv!O#xQug`njxgN@xNAh}Jl0 literal 0 HcmV?d00001