More stuff on the storage monitors
This commit is contained in:
@@ -9,12 +9,16 @@ import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
|
|||||||
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.IType;
|
import com.raoulvdberge.refinedstorage.tile.config.IType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
|
||||||
public class NetworkNodeStorageMonitor extends NetworkNode implements IComparable, IType {
|
public class NetworkNodeStorageMonitor extends NetworkNode implements IComparable, IType {
|
||||||
public static final String ID = "storage_monitor";
|
public static final String ID = "storage_monitor";
|
||||||
|
|
||||||
|
private static final String NBT_COMPARE = "Compare";
|
||||||
|
private static final String NBT_TYPE = "Type";
|
||||||
|
|
||||||
private ItemHandlerBasic itemFilter = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this)) {
|
private ItemHandlerBasic itemFilter = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this)) {
|
||||||
@Override
|
@Override
|
||||||
public void onContentsChanged(int slot) {
|
public void onContentsChanged(int slot) {
|
||||||
@@ -76,6 +80,8 @@ public class NetworkNodeStorageMonitor extends NetworkNode implements IComparabl
|
|||||||
public void setCompare(int compare) {
|
public void setCompare(int compare) {
|
||||||
this.compare = compare;
|
this.compare = compare;
|
||||||
|
|
||||||
|
RSUtils.updateBlock(holder.world(), holder.pos());
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,6 +94,8 @@ public class NetworkNodeStorageMonitor extends NetworkNode implements IComparabl
|
|||||||
public void setType(int type) {
|
public void setType(int type) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
|
|
||||||
|
RSUtils.updateBlock(holder.world(), holder.pos());
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,6 +104,35 @@ public class NetworkNodeStorageMonitor extends NetworkNode implements IComparabl
|
|||||||
return getType() == IType.ITEMS ? itemFilter : fluidFilter;
|
return getType() == IType.ITEMS ? itemFilter : fluidFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NBTTagCompound writeConfiguration(NBTTagCompound tag) {
|
||||||
|
super.writeConfiguration(tag);
|
||||||
|
|
||||||
|
tag.setInteger(NBT_COMPARE, compare);
|
||||||
|
tag.setInteger(NBT_TYPE, type);
|
||||||
|
|
||||||
|
RSUtils.writeItems(itemFilter, 0, tag);
|
||||||
|
RSUtils.writeItems(fluidFilter, 1, tag);
|
||||||
|
|
||||||
|
return tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readConfiguration(NBTTagCompound tag) {
|
||||||
|
super.readConfiguration(tag);
|
||||||
|
|
||||||
|
if (tag.hasKey(NBT_COMPARE)) {
|
||||||
|
compare = tag.getInteger(NBT_COMPARE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tag.hasKey(NBT_TYPE)) {
|
||||||
|
type = tag.getInteger(NBT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
RSUtils.readItems(itemFilter, 0, tag);
|
||||||
|
RSUtils.readItems(fluidFilter, 1, tag);
|
||||||
|
}
|
||||||
|
|
||||||
public ItemHandlerBasic getItemFilter() {
|
public ItemHandlerBasic getItemFilter() {
|
||||||
return itemFilter;
|
return itemFilter;
|
||||||
}
|
}
|
||||||
@@ -137,4 +174,9 @@ public class NetworkNodeStorageMonitor extends NetworkNode implements IComparabl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasConnectivityState() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@ public class BlockStorageMonitor extends BlockNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnumPlacementType getPlacementType() {
|
public boolean hasConnectivityState() {
|
||||||
return null;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -207,7 +207,7 @@ public class ProxyClient extends ProxyCommon {
|
|||||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DISK_MANIPULATOR), 0, new ModelResourceLocation("refinedstorage:disk_manipulator", "inventory"));
|
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DISK_MANIPULATOR), 0, new ModelResourceLocation("refinedstorage:disk_manipulator", "inventory"));
|
||||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.SECURITY_MANAGER), 0, new ModelResourceLocation("refinedstorage:security_manager", "inventory"));
|
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.SECURITY_MANAGER), 0, new ModelResourceLocation("refinedstorage:security_manager", "inventory"));
|
||||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.QUARTZ_ENRICHED_IRON), 0, new ModelResourceLocation("refinedstorage:quartz_enriched_iron_block", "inventory"));
|
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.QUARTZ_ENRICHED_IRON), 0, new ModelResourceLocation("refinedstorage:quartz_enriched_iron_block", "inventory"));
|
||||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE_MONITOR), 0, new ModelResourceLocation("refinedstorage:storage_monitor", "inventory"));
|
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.STORAGE_MONITOR), 0, new ModelResourceLocation("refinedstorage:storage_monitor", "connected=false,direction=north"));
|
||||||
|
|
||||||
ModelLoaderRegistry.registerLoader(new ICustomModelLoader() {
|
ModelLoaderRegistry.registerLoader(new ICustomModelLoader() {
|
||||||
@Override
|
@Override
|
||||||
|
@@ -800,6 +800,19 @@ public class ProxyCommon {
|
|||||||
'C', new ItemStack(RSItems.NETWORK_CARD),
|
'C', new ItemStack(RSItems.NETWORK_CARD),
|
||||||
'A', new ItemStack(RSItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED)
|
'A', new ItemStack(RSItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Storage Monitor
|
||||||
|
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(RSBlocks.STORAGE_MONITOR),
|
||||||
|
"PCG",
|
||||||
|
"EMG",
|
||||||
|
"PDG",
|
||||||
|
'E', new ItemStack(RSItems.QUARTZ_ENRICHED_IRON),
|
||||||
|
'P', new ItemStack(RSItems.PROCESSOR, 1, ItemProcessor.TYPE_BASIC),
|
||||||
|
'C', new ItemStack(RSItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION),
|
||||||
|
'D', new ItemStack(RSItems.CORE, 1, ItemCore.TYPE_DESTRUCTION),
|
||||||
|
'M', new ItemStack(RSBlocks.MACHINE_CASING),
|
||||||
|
'G', "blockGlass"
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(FMLInitializationEvent e) {
|
public void init(FMLInitializationEvent e) {
|
||||||
|
@@ -2,34 +2,30 @@ package com.raoulvdberge.refinedstorage.render;
|
|||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
|
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IType;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.GlStateManager;
|
import net.minecraft.client.renderer.GlStateManager;
|
||||||
import net.minecraft.client.renderer.RenderItem;
|
|
||||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||||
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
|
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
|
||||||
import net.minecraft.client.renderer.texture.TextureMap;
|
import net.minecraft.client.renderer.texture.TextureMap;
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraftforge.client.ForgeHooksClient;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRenderer<TileStorageMonitor> {
|
public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRenderer<TileStorageMonitor> {
|
||||||
@Override
|
@Override
|
||||||
public void renderTileEntityAt(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage) {
|
public void renderTileEntityAt(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage) {
|
||||||
|
setLightmapDisabled(true);
|
||||||
|
|
||||||
GlStateManager.pushMatrix();
|
GlStateManager.pushMatrix();
|
||||||
GlStateManager.translate(x + 0.5F, y + 0.5F, z - 0.01F);
|
GlStateManager.translate(x + 0.5F, y + 0.5F, z - 0.01F);
|
||||||
GlStateManager.rotate(180F, 0F, 0F, 1F);
|
GlStateManager.rotate(180F, 0F, 0F, 1F);
|
||||||
GlStateManager.color(1F, 1F, 1F, 1F);
|
GlStateManager.color(1F, 1F, 1F, 1F);
|
||||||
setLightmapDisabled(true);
|
|
||||||
GlStateManager.depthMask(false);
|
GlStateManager.depthMask(false);
|
||||||
GlStateManager.enableBlend();
|
GlStateManager.enableBlend();
|
||||||
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
|
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
|
||||||
GlStateManager.depthMask(true);
|
GlStateManager.depthMask(true);
|
||||||
|
|
||||||
GlStateManager.scale(0.4F, -0.4F, -0.015F);
|
GlStateManager.scale(0.4F, -0.4F, -0.015F);
|
||||||
|
|
||||||
ItemStack stack = tile.getItemStack();
|
|
||||||
|
|
||||||
RenderItem itemRender = Minecraft.getMinecraft().getRenderItem();
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
|
||||||
Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false);
|
Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false);
|
||||||
GlStateManager.enableRescaleNormal();
|
GlStateManager.enableRescaleNormal();
|
||||||
@@ -38,9 +34,13 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe
|
|||||||
GlStateManager.enableBlend();
|
GlStateManager.enableBlend();
|
||||||
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
|
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
|
||||||
GlStateManager.color(1F, 1F, 1F, 1F);
|
GlStateManager.color(1F, 1F, 1F, 1F);
|
||||||
IBakedModel bakedmodel = itemRender.getItemModelWithOverrides(stack, null, Minecraft.getMinecraft().player);
|
|
||||||
bakedmodel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(bakedmodel, ItemCameraTransforms.TransformType.GUI, false);
|
if (tile.getItemStack() != null) {
|
||||||
itemRender.renderItem(stack, bakedmodel);
|
IBakedModel bakedModel = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tile.getItemStack(), null, Minecraft.getMinecraft().player);
|
||||||
|
bakedModel = ForgeHooksClient.handleCameraTransforms(bakedModel, ItemCameraTransforms.TransformType.GUI, false);
|
||||||
|
Minecraft.getMinecraft().getRenderItem().renderItem(tile.getItemStack(), bakedModel);
|
||||||
|
}
|
||||||
|
|
||||||
GlStateManager.disableAlpha();
|
GlStateManager.disableAlpha();
|
||||||
GlStateManager.disableRescaleNormal();
|
GlStateManager.disableRescaleNormal();
|
||||||
GlStateManager.disableLighting();
|
GlStateManager.disableLighting();
|
||||||
@@ -52,15 +52,26 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe
|
|||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
|
|
||||||
GlStateManager.pushMatrix();
|
GlStateManager.pushMatrix();
|
||||||
|
String amount = tile.getType() == IType.ITEMS ? RSUtils.formatQuantity(tile.getAmount()) : RSUtils.QUANTITY_FORMATTER.format((float) tile.getAmount() / 1000F);
|
||||||
|
|
||||||
GlStateManager.translate(x + 0.5F, y + 0.5F, z - 0.02F);
|
// Very bad, but I don't know how to translate a 2D font width to a 3D font width...
|
||||||
|
float textWidth = 0;
|
||||||
|
for (int i = 0; i < amount.length(); ++i) {
|
||||||
|
char c = amount.charAt(i);
|
||||||
|
if (c == '.') {
|
||||||
|
textWidth += 0.005F;
|
||||||
|
} else {
|
||||||
|
textWidth += 0.024F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GlStateManager.translate(x + 0.5F + textWidth, y + 0.2F, z - 0.02F);
|
||||||
GlStateManager.rotate(180F, 0F, 0F, 1F);
|
GlStateManager.rotate(180F, 0F, 0F, 1F);
|
||||||
|
|
||||||
float size = 0.00450F;
|
float size = 0.00450F;
|
||||||
float factor = 2.0f;
|
float factor = 2.0f;
|
||||||
GlStateManager.scale(size * factor, size * factor, size);
|
GlStateManager.scale(size * factor, size * factor, size);
|
||||||
|
|
||||||
Minecraft.getMinecraft().fontRendererObj.drawString(RSUtils.formatQuantity(tile.getAmount()), 0, 0, 0xFFFFFF);
|
Minecraft.getMinecraft().fontRendererObj.drawString(amount, 0, 0, 0xFFFFFF);
|
||||||
|
|
||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
|
|
||||||
|
@@ -24,7 +24,7 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
|
public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
|
||||||
|
|
||||||
private NBTTagCompound legacyTagToRead;
|
private NBTTagCompound legacyTagToRead;
|
||||||
private static final String NBT_ACTIVE = "Active";
|
protected static final String NBT_ACTIVE = "Active";
|
||||||
|
|
||||||
public TileNode() {
|
public TileNode() {
|
||||||
dataManager.addWatchedParameter(REDSTONE_MODE);
|
dataManager.addWatchedParameter(REDSTONE_MODE);
|
||||||
@@ -99,9 +99,9 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void readUpdate(NBTTagCompound tag) {
|
public void readUpdate(NBTTagCompound tag) {
|
||||||
getNode().setActive(tag.getBoolean(NBT_ACTIVE));
|
|
||||||
|
|
||||||
super.readUpdate(tag);
|
super.readUpdate(tag);
|
||||||
|
|
||||||
|
getNode().setActive(tag.getBoolean(NBT_ACTIVE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public IItemHandler getDrops() {
|
public IItemHandler getDrops() {
|
||||||
|
@@ -7,7 +7,8 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
||||||
private static final String NBT_TYPE = "Type";
|
private static final String NBT_TYPE = "Type";
|
||||||
@@ -19,8 +20,8 @@ public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
|||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
private int amount;
|
private int amount;
|
||||||
private ItemStack itemStack = ItemStack.EMPTY;
|
@Nullable
|
||||||
private FluidStack fluidStack;
|
private ItemStack itemStack;
|
||||||
|
|
||||||
public TileStorageMonitor() {
|
public TileStorageMonitor() {
|
||||||
dataManager.addWatchedParameter(COMPARE);
|
dataManager.addWatchedParameter(COMPARE);
|
||||||
@@ -37,7 +38,13 @@ public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
|||||||
super.writeUpdate(tag);
|
super.writeUpdate(tag);
|
||||||
|
|
||||||
tag.setInteger(NBT_TYPE, getNode().getType());
|
tag.setInteger(NBT_TYPE, getNode().getType());
|
||||||
tag.setTag(NBT_STACK, getNode().getType() == IType.ITEMS ? getNode().getItemFilter().getStackInSlot(0).writeToNBT(new NBTTagCompound()) : getNode().getFluidFilter().getFluidStackInSlot(0).writeToNBT(new NBTTagCompound()));
|
|
||||||
|
ItemStack stack = getNode().getType() == IType.ITEMS ? getNode().getItemFilter().getStackInSlot(0) : getNode().getFluidFilter().getStackInSlot(0);
|
||||||
|
|
||||||
|
if (!stack.isEmpty()) {
|
||||||
|
tag.setTag(NBT_STACK, stack.writeToNBT(new NBTTagCompound()));
|
||||||
|
}
|
||||||
|
|
||||||
tag.setInteger(NBT_AMOUNT, getNode().getAmount());
|
tag.setInteger(NBT_AMOUNT, getNode().getAmount());
|
||||||
|
|
||||||
return tag;
|
return tag;
|
||||||
@@ -48,21 +55,16 @@ public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
|||||||
super.readUpdate(tag);
|
super.readUpdate(tag);
|
||||||
|
|
||||||
type = tag.getInteger(NBT_TYPE);
|
type = tag.getInteger(NBT_TYPE);
|
||||||
|
itemStack = tag.hasKey(NBT_STACK) ? new ItemStack(tag.getCompoundTag(NBT_STACK)) : null;
|
||||||
if (type == IType.ITEMS) {
|
|
||||||
itemStack = new ItemStack(tag.getCompoundTag(NBT_STACK));
|
|
||||||
} else {
|
|
||||||
fluidStack = FluidStack.loadFluidStackFromNBT(tag.getCompoundTag(NBT_STACK));
|
|
||||||
}
|
|
||||||
|
|
||||||
amount = tag.getInteger(NBT_AMOUNT);
|
amount = tag.getInteger(NBT_AMOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean canUpdateCauseRerender(NBTTagCompound tag) {
|
protected boolean canUpdateCauseRerender(NBTTagCompound tag) {
|
||||||
EnumFacing receivedDirection = EnumFacing.getFront(tag.getInteger(NBT_DIRECTION));
|
EnumFacing receivedDirection = EnumFacing.getFront(tag.getInteger(NBT_DIRECTION));
|
||||||
|
boolean receivedActive = tag.getBoolean(NBT_ACTIVE);
|
||||||
|
|
||||||
return receivedDirection != getDirection();
|
return receivedDirection != getDirection() || receivedActive != getNode().isActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getType() {
|
public int getType() {
|
||||||
@@ -73,11 +75,8 @@ public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
|||||||
return amount;
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
public ItemStack getItemStack() {
|
public ItemStack getItemStack() {
|
||||||
return itemStack;
|
return itemStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FluidStack getFluidStack() {
|
|
||||||
return fluidStack;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -1,19 +1,46 @@
|
|||||||
{
|
{
|
||||||
"forge_marker": 1,
|
"forge_marker": 1,
|
||||||
"defaults": {
|
"defaults": {
|
||||||
"model": "cube_all",
|
"model": "cube",
|
||||||
"textures": {
|
"textures": {
|
||||||
"all": "refinedstorage:blocks/machine_casing"
|
"particle": "refinedstorage:blocks/side",
|
||||||
|
"north": "refinedstorage:blocks/machine_casing",
|
||||||
|
"east": "refinedstorage:blocks/grid_left",
|
||||||
|
"south": "refinedstorage:blocks/grid_back",
|
||||||
|
"west": "refinedstorage:blocks/grid_right",
|
||||||
|
"up": "refinedstorage:blocks/grid_top",
|
||||||
|
"down": "refinedstorage:blocks/bottom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"inventory": [
|
"connected": {
|
||||||
{
|
"true": {
|
||||||
"transform": "forge:default-block"
|
"textures": {
|
||||||
|
"north": "refinedstorage:blocks/interface_connected"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"false": {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"direction": {
|
||||||
|
"north": {
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"x": 270
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"x": 90
|
||||||
}
|
}
|
||||||
],
|
|
||||||
"normal": {
|
|
||||||
"model": "cube_all"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user