New solderer model
@@ -1,18 +1,15 @@
|
|||||||
package refinedstorage.block;
|
package refinedstorage.block;
|
||||||
|
|
||||||
import net.minecraft.block.properties.PropertyBool;
|
|
||||||
import net.minecraft.block.state.BlockStateContainer;
|
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.client.resources.I18n;
|
import net.minecraft.client.resources.I18n;
|
||||||
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.util.text.TextFormatting;
|
import net.minecraft.util.text.TextFormatting;
|
||||||
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;
|
||||||
@@ -21,10 +18,6 @@ import refinedstorage.tile.TileSolderer;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class BlockSolderer extends BlockNode {
|
public class BlockSolderer extends BlockNode {
|
||||||
private static final AxisAlignedBB AABB_SOLDERER = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 14D / 16D, 1.0D);
|
|
||||||
|
|
||||||
private static final PropertyBool WORKING = PropertyBool.create("working");
|
|
||||||
|
|
||||||
public BlockSolderer() {
|
public BlockSolderer() {
|
||||||
super("solderer");
|
super("solderer");
|
||||||
}
|
}
|
||||||
@@ -54,30 +47,6 @@ public class BlockSolderer extends BlockNode {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean hasConnectivityState() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
|
|
||||||
return AABB_SOLDERER;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected BlockStateContainer createBlockState() {
|
|
||||||
return super.createBlockStateBuilder()
|
|
||||||
.add(WORKING)
|
|
||||||
.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
|
@Override
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public boolean isOpaqueCube(IBlockState state) {
|
public boolean isOpaqueCube(IBlockState state) {
|
||||||
@@ -90,6 +59,11 @@ public class BlockSolderer extends BlockNode {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BlockRenderLayer getBlockLayer() {
|
||||||
|
return BlockRenderLayer.TRANSLUCENT;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnumPlacementType getPlacementType() {
|
public EnumPlacementType getPlacementType() {
|
||||||
return EnumPlacementType.HORIZONTAL;
|
return EnumPlacementType.HORIZONTAL;
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class GuiSolderer extends GuiBase {
|
|||||||
|
|
||||||
drawTexture(x, y, 0, 0, width, height);
|
drawTexture(x, y, 0, 0, width, height);
|
||||||
|
|
||||||
if (solderer.isWorking()) {
|
if (TileSolderer.WORKING.getValue()) {
|
||||||
drawTexture(x + 83, y + 38 - 1, 212, 0, getProgressScaled(22), 15);
|
drawTexture(x + 83, y + 38 - 1, 212, 0, getProgressScaled(22), 15);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ public class GuiSolderer extends GuiBase {
|
|||||||
drawString(7, 7, t("gui.refinedstorage:solderer"));
|
drawString(7, 7, t("gui.refinedstorage:solderer"));
|
||||||
drawString(7, 77, t("container.inventory"));
|
drawString(7, 77, t("container.inventory"));
|
||||||
|
|
||||||
if (inBounds(83, 38, 22, 15, mouseX, mouseY) && solderer.isWorking()) {
|
if (inBounds(83, 38, 22, 15, mouseX, mouseY) && TileSolderer.WORKING.getValue()) {
|
||||||
drawTooltip(mouseX, mouseY, getProgressScaled(100) + "%");
|
drawTooltip(mouseX, mouseY, getProgressScaled(100) + "%");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,13 @@ public class TileSolderer extends TileNode {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
public static final TileDataParameter<Boolean> WORKING = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileSolderer>() {
|
||||||
|
@Override
|
||||||
|
public Boolean getValue(TileSolderer tile) {
|
||||||
|
return tile.working;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
private static final String NBT_WORKING = "Working";
|
private static final String NBT_WORKING = "Working";
|
||||||
private static final String NBT_PROGRESS = "Progress";
|
private static final String NBT_PROGRESS = "Progress";
|
||||||
|
|
||||||
@@ -72,11 +79,7 @@ public class TileSolderer extends TileNode {
|
|||||||
public TileSolderer() {
|
public TileSolderer() {
|
||||||
dataManager.addWatchedParameter(DURATION);
|
dataManager.addWatchedParameter(DURATION);
|
||||||
dataManager.addWatchedParameter(PROGRESS);
|
dataManager.addWatchedParameter(PROGRESS);
|
||||||
}
|
dataManager.addWatchedParameter(WORKING);
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean hasConnectivityState() {
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -86,8 +89,6 @@ public class TileSolderer extends TileNode {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateNode() {
|
public void updateNode() {
|
||||||
boolean wasWorking = working;
|
|
||||||
|
|
||||||
if (items.getStackInSlot(1) == null && items.getStackInSlot(2) == null && result.getStackInSlot(0) == null) {
|
if (items.getStackInSlot(1) == null && items.getStackInSlot(2) == null && result.getStackInSlot(0) == null) {
|
||||||
stop();
|
stop();
|
||||||
} else {
|
} else {
|
||||||
@@ -129,10 +130,6 @@ public class TileSolderer extends TileNode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wasWorking != working) {
|
|
||||||
updateBlock();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -141,8 +138,6 @@ public class TileSolderer extends TileNode {
|
|||||||
|
|
||||||
if (!state) {
|
if (!state) {
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
updateBlock();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,26 +182,6 @@ public class TileSolderer extends TileNode {
|
|||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
|
||||||
super.writeUpdate(tag);
|
|
||||||
|
|
||||||
tag.setBoolean(NBT_WORKING, working);
|
|
||||||
|
|
||||||
return tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readUpdate(NBTTagCompound tag) {
|
|
||||||
working = tag.getBoolean(NBT_WORKING);
|
|
||||||
|
|
||||||
super.readUpdate(tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWorking() {
|
|
||||||
return working;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemHandlerBasic getItems() {
|
public ItemHandlerBasic getItems() {
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,37 +1,17 @@
|
|||||||
{
|
{
|
||||||
"forge_marker": 1,
|
"forge_marker": 1,
|
||||||
"defaults": {
|
"defaults": {
|
||||||
"textures": {
|
|
||||||
"particle": "refinedstorage:blocks/side_borderless",
|
|
||||||
"3": "refinedstorage:blocks/solderer_laser",
|
|
||||||
"4": "refinedstorage:blocks/solderer_laser"
|
|
||||||
},
|
|
||||||
"model": "refinedstorage:solderer",
|
"model": "refinedstorage:solderer",
|
||||||
"uvlock": true
|
"textures": {
|
||||||
|
"particle": "refinedstorage:blocks/solderer_side"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"inventory": [
|
"inventory": [
|
||||||
{
|
{
|
||||||
"model": "refinedstorage:solderer",
|
|
||||||
"transform": "forge:default-block"
|
"transform": "forge:default-block"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"working": {
|
|
||||||
"true": {
|
|
||||||
"textures": {
|
|
||||||
"3": "refinedstorage:blocks/solderer_laser_working",
|
|
||||||
"4": "refinedstorage:blocks/solderer_laser_working"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"false": {
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"connected": {
|
|
||||||
"true": {
|
|
||||||
},
|
|
||||||
"false": {
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"direction": {
|
"direction": {
|
||||||
"north": {
|
"north": {
|
||||||
"y": 0
|
"y": 0
|
||||||
|
|||||||
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_bottom.png
Executable file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_elements.png
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_glass.png
Executable file
|
After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 190 B |
|
Before Width: | Height: | Size: 169 B |
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_middle.png
Executable file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_roof.png
Executable file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_side.png
Executable file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/resources/assets/refinedstorage/textures/blocks/solderer_top.png
Executable file
|
After Width: | Height: | Size: 1.3 KiB |