Model improvements

This commit is contained in:
Raoul Van den Berge
2016-07-10 00:43:27 +02:00
parent 57aa9a6485
commit b70fff10db
15 changed files with 166 additions and 140 deletions

View File

@@ -1,5 +1,12 @@
# Refined Storage Changelog
### 0.8.7
**Bugfixes**
- Improved detector model, add a better hitbox for it
- Improved the Wireless Transmitter texture
- Made the Solderer beams be bright red when they are working
- Added better hitbox for the Solderer
### 0.8.6
**Bugfixes**
- Fixed External Storage disconnecting on world reload

View File

@@ -6,8 +6,10 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -16,6 +18,8 @@ import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDetector;
public class BlockDetector extends BlockNode {
public static final AxisAlignedBB AABB_DETECTOR = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 4D / 16D, 1.0D);
public static final PropertyBool POWERED = PropertyBool.create("powered");
public BlockDetector() {
@@ -35,6 +39,11 @@ public class BlockDetector extends BlockNode {
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return AABB_DETECTOR;
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileDetector();
@@ -74,6 +83,11 @@ public class BlockDetector extends BlockNode {
return false;
}
@Override
public BlockRenderLayer getBlockLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
public EnumPlacementType getPlacementType() {
return null;

View File

@@ -8,13 +8,17 @@ 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;
import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileSolderer;
public class BlockSolderer extends BlockNode {
public static final AxisAlignedBB AABB_SOLDERER = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 14D / 16D, 1.0D);
public static final PropertyBool WORKING = PropertyBool.create("working");
public BlockSolderer() {
@@ -35,6 +39,11 @@ public class BlockSolderer extends BlockNode {
return true;
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return AABB_SOLDERER;
}
@Override
protected BlockStateContainer createBlockState() {
return super.createBlockStateBuilder()
@@ -42,6 +51,12 @@ public class BlockSolderer extends BlockNode {
.build();
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
return super.getActualState(state, world, pos)
.withProperty(WORKING, ((TileSolderer) world.getTileEntity(pos)).isWorking());
}
@Override
public boolean isOpaqueCube(IBlockState state) {
return false;

View File

@@ -76,6 +76,11 @@ public class BlockWirelessTransmitter extends BlockNode {
return BlockRenderLayer.CUTOUT;
}
@Override
public boolean hasConnectivityState() {
return true;
}
@Override
public EnumPlacementType getPlacementType() {
return null;

View File

@@ -102,11 +102,6 @@ public class ClientProxy extends CommonProxy {
ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK, new ModelResourceLocation("refinedstorage:stack_upgrade", "inventory"));
// Blocks
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.SOLDERER, (new StateMap.Builder())
.ignore(RefinedStorageBlocks.SOLDERER.WORKING)
.build()
);
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.GRID, (new StateMap.Builder())
.ignore(RefinedStorageBlocks.GRID.TYPE)
.build());

View File

@@ -3,10 +3,9 @@
"defaults": {
"textures": {
"particle": "refinedstorage:blocks/side_borderless",
"2": "refinedstorage:blocks/detector_unpowered"
"torch": "refinedstorage:blocks/wireless_transmitter_disconnected"
},
"model": "refinedstorage:detector",
"uvlock": true
"model": "refinedstorage:detector"
},
"variants": {
"inventory": [
@@ -17,7 +16,7 @@
"powered": {
"true": {
"textures": {
"2": "refinedstorage:blocks/detector_powered"
"torch": "refinedstorage:blocks/wireless_transmitter_connected"
}
},
"false": {

View File

@@ -2,7 +2,9 @@
"forge_marker": 1,
"defaults": {
"textures": {
"particle": "refinedstorage:blocks/side_borderless"
"particle": "refinedstorage:blocks/side_borderless",
"3": "refinedstorage:blocks/solderer_laser",
"4": "refinedstorage:blocks/solderer_laser"
},
"model": "refinedstorage:solderer",
"uvlock": true
@@ -14,8 +16,15 @@
"transform": "forge:default-block"
}
],
"normal": {
"model": "refinedstorage:solderer"
"working": {
"true": {
"textures": {
"3": "refinedstorage:blocks/solderer_laser_working",
"4": "refinedstorage:blocks/solderer_laser_working"
}
},
"false": {
}
}
}
}

View File

@@ -3,7 +3,7 @@
"defaults": {
"model": "torch",
"textures": {
"torch": "refinedstorage:blocks/wireless_transmitter"
"torch": "refinedstorage:blocks/wireless_transmitter_disconnected"
}
},
"variants": {
@@ -12,8 +12,14 @@
"transform": "forge:default-block"
}
],
"normal": {
"model": "torch"
"connected": {
"true": {
"textures": {
"torch": "refinedstorage:blocks/wireless_transmitter_connected"
}
},
"false": {
}
}
}
}

View File

@@ -1,10 +1,108 @@
{
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
"textures": {
"0": "refinedstorage:blocks/side",
"1": "refinedstorage:blocks/side_borderless"
"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": [
@@ -73,126 +171,6 @@
]
}
}
},
{
"name": "holder",
"from": [
7.0,
4.0,
7.0
],
"to": [
9.0,
9.0,
9.0
],
"faces": {
"north": {
"texture": "#1",
"uv": [
0.0,
0.0,
4.0,
1.0
]
},
"east": {
"texture": "#1",
"uv": [
4.0,
0.0,
8.0,
1.0
]
},
"south": {
"texture": "#1",
"uv": [
7.0,
0.0,
11.0,
1.0
]
},
"west": {
"texture": "#1",
"uv": [
12.0,
0.0,
16.0,
1.0
]
},
"up": {
"texture": "#1",
"uv": [
2.0,
2.0,
6.0,
6.0
]
}
}
},
{
"name": "redstone",
"from": [
6.0,
9.0,
6.0
],
"to": [
10.0,
13.0,
10.0
],
"faces": {
"north": {
"texture": "#2",
"uv": [
0.0,
0.0,
4.0,
1.0
]
},
"east": {
"texture": "#2",
"uv": [
4.0,
0.0,
8.0,
1.0
]
},
"south": {
"texture": "#2",
"uv": [
8.0,
0.0,
12.0,
1.0
]
},
"west": {
"texture": "#2",
"uv": [
12.0,
0.0,
16.0,
1.0
]
},
"up": {
"texture": "#2",
"uv": [
10.0,
2.0,
14.0,
6.0
]
}
}
}
]
}

View File

@@ -3,9 +3,7 @@
"textures": {
"0": "refinedstorage:blocks/side",
"1": "refinedstorage:blocks/side",
"2": "refinedstorage:blocks/side_borderless",
"3": "blocks/redstone_block",
"4": "blocks/redstone_block"
"2": "refinedstorage:blocks/side_borderless"
},
"elements": [
{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B