Processing pattern encoder
This commit is contained in:
@@ -21,4 +21,5 @@ public final class RefinedStorageBlocks {
|
||||
public static final BlockCraftingMonitor CRAFTING_MONITOR = new BlockCraftingMonitor();
|
||||
public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter();
|
||||
public static final BlockCrafter CRAFTER = new BlockCrafter();
|
||||
public static final BlockProcessingPatternEncoder PROCESSING_PATTERN_ENCODER = new BlockProcessingPatternEncoder();
|
||||
}
|
||||
|
||||
@@ -17,4 +17,5 @@ public final class RefinedStorageGui {
|
||||
public static final int CRAFTING_MONITOR = 15;
|
||||
public static final int WIRELESS_TRANSMITTER = 16;
|
||||
public static final int CRAFTER = 17;
|
||||
public static final int PROCESSING_PATTERN_ENCODER = 18;
|
||||
}
|
||||
|
||||
38
src/main/java/refinedstorage/block/BlockProcessingPatternEncoder.java
Executable file
38
src/main/java/refinedstorage/block/BlockProcessingPatternEncoder.java
Executable file
@@ -0,0 +1,38 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
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.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
|
||||
public class BlockProcessingPatternEncoder extends BlockBase {
|
||||
public BlockProcessingPatternEncoder() {
|
||||
super("processing_pattern_encoder");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileProcessingPatternEncoder();
|
||||
}
|
||||
|
||||
@Override
|
||||
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) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.PROCESSING_PATTERN_ENCODER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package refinedstorage.container;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.container.slot.BasicItemValidator;
|
||||
import refinedstorage.container.slot.SlotFiltered;
|
||||
import refinedstorage.container.slot.SlotOutput;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
|
||||
public class ContainerProcessingPatternEncoder extends ContainerBase {
|
||||
public ContainerProcessingPatternEncoder(EntityPlayer player, TileProcessingPatternEncoder ppEncoder) {
|
||||
super(player);
|
||||
|
||||
int ox = 8;
|
||||
int x = ox;
|
||||
int y = 20;
|
||||
|
||||
for (int i = 0; i < 9 * 2; ++i) {
|
||||
addSlotToContainer(new SlotSpecimen(ppEncoder.getInputsOutputsInventory(), i, x, y, false));
|
||||
|
||||
x += 18;
|
||||
|
||||
if ((i + 1) % 3 == 0) {
|
||||
if (i == 8) {
|
||||
ox = 90;
|
||||
x = ox;
|
||||
y = 20;
|
||||
} else {
|
||||
x = ox;
|
||||
y += 18;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addSlotToContainer(new SlotFiltered(ppEncoder, 0, 152, 18, new BasicItemValidator(RefinedStorageItems.PATTERN)));
|
||||
addSlotToContainer(new SlotOutput(ppEncoder, 1, 152, 58));
|
||||
|
||||
addPlayerInventory(8, 93);
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,6 @@ public class GuiGrid extends GuiBase {
|
||||
private List<ItemGroup> items = new ArrayList<ItemGroup>();
|
||||
|
||||
private GuiTextField searchField;
|
||||
private GuiCheckBox processingCheckbox;
|
||||
|
||||
private int hoveringSlot;
|
||||
private int hoveringItemId;
|
||||
@@ -67,10 +66,6 @@ public class GuiGrid extends GuiBase {
|
||||
addSideButton(new SideButtonGridSortingDirection(grid));
|
||||
addSideButton(new SideButtonGridSortingType(grid));
|
||||
addSideButton(new SideButtonGridSearchBoxMode(grid));
|
||||
|
||||
if (grid.getType() == EnumGridType.PATTERN) {
|
||||
processingCheckbox = (GuiCheckBox) addCheckBox(x + 65, y + 148, t("misc.refinedstorage:processing"));
|
||||
}
|
||||
}
|
||||
|
||||
public IGrid getGrid() {
|
||||
@@ -308,7 +303,7 @@ public class GuiGrid extends GuiBase {
|
||||
|
||||
if (grid.isConnected()) {
|
||||
if (clickedCreatePattern) {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridPatternCreate((TileGrid) grid, processingCheckbox.isChecked()));
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridPatternCreate((TileGrid) grid));
|
||||
} else if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null && (clickedButton == 0 || clickedButton == 1)) {
|
||||
grid.onItemPush(-1, clickedButton == 1);
|
||||
} else if (isHoveringOverItemInSlot() && container.getPlayer().inventory.getItemStack() == null) {
|
||||
|
||||
@@ -11,6 +11,7 @@ import refinedstorage.container.*;
|
||||
import refinedstorage.storage.IStorageGui;
|
||||
import refinedstorage.tile.*;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.grid.TileGrid;
|
||||
import refinedstorage.tile.grid.WirelessGrid;
|
||||
import refinedstorage.util.HandUtils;
|
||||
@@ -48,6 +49,8 @@ public class GuiHandler implements IGuiHandler {
|
||||
return new ContainerWirelessTransmitter(player, (TileWirelessTransmitter) tile);
|
||||
case RefinedStorageGui.CRAFTER:
|
||||
return new ContainerCrafter(player, (TileCrafter) tile);
|
||||
case RefinedStorageGui.PROCESSING_PATTERN_ENCODER:
|
||||
return new ContainerProcessingPatternEncoder(player, (TileProcessingPatternEncoder) tile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
@@ -115,6 +118,8 @@ public class GuiHandler implements IGuiHandler {
|
||||
return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile), (TileWirelessTransmitter) tile);
|
||||
case RefinedStorageGui.CRAFTER:
|
||||
return new GuiCrafter((ContainerCrafter) getContainer(ID, player, tile), (TileCrafter) tile);
|
||||
case RefinedStorageGui.PROCESSING_PATTERN_ENCODER:
|
||||
return new GuiProcessingPatternEncoder((ContainerProcessingPatternEncoder) getContainer(ID, player, tile), (TileProcessingPatternEncoder) tile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
35
src/main/java/refinedstorage/gui/GuiProcessingPatternEncoder.java
Executable file
35
src/main/java/refinedstorage/gui/GuiProcessingPatternEncoder.java
Executable file
@@ -0,0 +1,35 @@
|
||||
package refinedstorage.gui;
|
||||
|
||||
import refinedstorage.container.ContainerProcessingPatternEncoder;
|
||||
import refinedstorage.gui.sidebutton.SideButtonCompare;
|
||||
import refinedstorage.gui.sidebutton.SideButtonMode;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiProcessingPatternEncoder extends GuiBase {
|
||||
public GuiProcessingPatternEncoder(ContainerProcessingPatternEncoder container, TileProcessingPatternEncoder ppEncoder) {
|
||||
super(container, 176, 172);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/processing_pattern_encoder.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:processing_pattern_encoder"));
|
||||
drawString(7, 77, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
@@ -12,16 +12,14 @@ public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<Messa
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
private boolean processing;
|
||||
|
||||
public MessageGridPatternCreate() {
|
||||
}
|
||||
|
||||
public MessageGridPatternCreate(TileGrid grid, boolean processing) {
|
||||
public MessageGridPatternCreate(TileGrid grid) {
|
||||
this.x = grid.getPos().getX();
|
||||
this.y = grid.getPos().getY();
|
||||
this.z = grid.getPos().getZ();
|
||||
this.processing = processing;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -29,7 +27,6 @@ public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<Messa
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
processing = buf.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,7 +34,6 @@ public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<Messa
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeBoolean(processing);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -45,7 +41,7 @@ public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<Messa
|
||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||
|
||||
if (tile instanceof TileGrid && ((TileGrid) tile).getType() == EnumGridType.PATTERN) {
|
||||
((TileGrid) tile).onCreatePattern(message.processing);
|
||||
((TileGrid) tile).onCreatePattern();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,6 +112,7 @@ public class ClientProxy extends CommonProxy {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.WIRELESS_TRANSMITTER), 0, new ModelResourceLocation("refinedstorage:wireless_transmitter", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.CRAFTING_MONITOR), 0, new ModelResourceLocation("refinedstorage:crafting_monitor", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.CRAFTER), 0, new ModelResourceLocation("refinedstorage:crafter", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RefinedStorageBlocks.PROCESSING_PATTERN_ENCODER), 0, new ModelResourceLocation("refinedstorage:processing_pattern_encoder", "inventory"));
|
||||
|
||||
ModelLoader.setCustomStateMapper(RefinedStorageBlocks.STORAGE, (new StateMap.Builder())
|
||||
.ignore(RefinedStorageBlocks.STORAGE.DIRECTION)
|
||||
|
||||
@@ -21,6 +21,7 @@ import refinedstorage.network.*;
|
||||
import refinedstorage.storage.NBTStorage;
|
||||
import refinedstorage.tile.*;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.grid.TileGrid;
|
||||
import refinedstorage.tile.solderer.*;
|
||||
|
||||
@@ -69,6 +70,7 @@ public class CommonProxy {
|
||||
GameRegistry.registerTileEntity(TileCraftingMonitor.class, ID + ":crafting_monitor");
|
||||
GameRegistry.registerTileEntity(TileWirelessTransmitter.class, ID + ":wireless_transmitter");
|
||||
GameRegistry.registerTileEntity(TileCrafter.class, ID + ":crafter");
|
||||
GameRegistry.registerTileEntity(TileProcessingPatternEncoder.class, ID + ":processing_pattern_encoder");
|
||||
|
||||
registerBlock(RefinedStorageBlocks.CONTROLLER);
|
||||
registerBlock(RefinedStorageBlocks.GRID);
|
||||
@@ -88,6 +90,7 @@ public class CommonProxy {
|
||||
registerBlock(RefinedStorageBlocks.WIRELESS_TRANSMITTER);
|
||||
registerBlock(RefinedStorageBlocks.MACHINE_CASING);
|
||||
registerBlock(RefinedStorageBlocks.CABLE);
|
||||
registerBlock(RefinedStorageBlocks.PROCESSING_PATTERN_ENCODER);
|
||||
|
||||
registerItem(RefinedStorageItems.QUARTZ_ENRICHED_IRON);
|
||||
registerItem(RefinedStorageItems.STORAGE_DISK);
|
||||
|
||||
149
src/main/java/refinedstorage/tile/autocrafting/TileProcessingPatternEncoder.java
Executable file
149
src/main/java/refinedstorage/tile/autocrafting/TileProcessingPatternEncoder.java
Executable file
@@ -0,0 +1,149 @@
|
||||
package refinedstorage.tile.autocrafting;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.tile.TileBase;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class TileProcessingPatternEncoder extends TileBase implements ISidedInventory {
|
||||
public static final int[] FACES = new int[]{
|
||||
0
|
||||
};
|
||||
public static final int[] FACES_DOWN = new int[]{
|
||||
1
|
||||
};
|
||||
|
||||
private InventorySimple inventory = new InventorySimple("patterns", 2, this);
|
||||
private InventorySimple inputsOutputsInventory = new InventorySimple("input_outputs", 9 * 2, this);
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
InventoryUtils.saveInventory(inventory, 0, nbt);
|
||||
InventoryUtils.saveInventory(inputsOutputsInventory, 1, nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
|
||||
InventoryUtils.restoreInventory(inventory, 0, nbt);
|
||||
InventoryUtils.restoreInventory(inputsOutputsInventory, 1, nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return inventory.getSizeInventory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slot) {
|
||||
return inventory.getStackInSlot(slot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int slot, int count) {
|
||||
return inventory.decrStackSize(slot, count);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack removeStackFromSlot(int slot) {
|
||||
return inventory.removeStackFromSlot(slot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int slot, ItemStack stack) {
|
||||
inventory.setInventorySlotContents(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return inventory.getInventoryStackLimit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
return inventory.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInventory(EntityPlayer player) {
|
||||
inventory.openInventory(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory(EntityPlayer player) {
|
||||
inventory.closeInventory(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int slot, ItemStack stack) {
|
||||
return inventory.isItemValidForSlot(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getField(int id) {
|
||||
return inventory.getField(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setField(int id, int value) {
|
||||
inventory.setField(id, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFieldCount() {
|
||||
return inventory.getFieldCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
inventory.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return inventory.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomName() {
|
||||
return inventory.hasCustomName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITextComponent getDisplayName() {
|
||||
return inventory.getDisplayName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSlotsForFace(EnumFacing side) {
|
||||
return side == EnumFacing.DOWN ? FACES_DOWN : FACES;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int slot, ItemStack stack, EnumFacing side) {
|
||||
return slot == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int slot, ItemStack stack, EnumFacing side) {
|
||||
return slot == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IInventory getDroppedInventory() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public InventorySimple getInputsOutputsInventory() {
|
||||
return inputsOutputsInventory;
|
||||
}
|
||||
}
|
||||
@@ -165,7 +165,7 @@ public class TileGrid extends TileMachine implements IGrid {
|
||||
}
|
||||
}
|
||||
|
||||
public void onCreatePattern(boolean processing) {
|
||||
public void onCreatePattern() {
|
||||
ItemStack crafted = craftingResultInventory.getStackInSlot(0);
|
||||
|
||||
if (patternsInventory.getStackInSlot(1) == null && patternsInventory.getStackInSlot(0) != null && patternsInventory.getStackInSlot(0).stackSize > 0) {
|
||||
@@ -174,7 +174,7 @@ public class TileGrid extends TileMachine implements IGrid {
|
||||
ItemStack pattern = new ItemStack(RefinedStorageItems.PATTERN);
|
||||
|
||||
ItemPattern.setResult(pattern, crafted);
|
||||
ItemPattern.setProcessing(pattern, processing);
|
||||
ItemPattern.setProcessing(pattern, false);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
ItemStack ingredient = craftingInventory.getStackInSlot(i);
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "refinedstorage:blocks/side",
|
||||
"top": "refinedstorage:blocks/side",
|
||||
"front": "refinedstorage:blocks/processing_pattern_encoder"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"transform": "forge:default-block",
|
||||
"y": 0
|
||||
}
|
||||
],
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ gui.refinedstorage:crafting_monitor=Crafting Monitor
|
||||
gui.refinedstorage:wireless_transmitter=Wireless Transmitter
|
||||
gui.refinedstorage:wireless_transmitter.distance=%d blocks
|
||||
gui.refinedstorage:crafter=Crafter
|
||||
gui.refinedstorage:processing_pattern_encoder=Processing Pattern Encoder
|
||||
|
||||
misc.refinedstorage:energy_stored=%d / %d RF
|
||||
misc.refinedstorage:energy_usage=Usage: %d RF/t
|
||||
@@ -102,6 +103,7 @@ block.refinedstorage:interface.name=Interface
|
||||
block.refinedstorage:crafting_monitor.name=Crafting Monitor
|
||||
block.refinedstorage:wireless_transmitter.name=Wireless Transmitter
|
||||
block.refinedstorage:crafter.name=Crafter
|
||||
block.refinedstorage:processing_pattern_encoder.name=Processing Pattern Encoder
|
||||
|
||||
item.refinedstorage:storage_disk.0.name=1k Storage Disk
|
||||
item.refinedstorage:storage_disk.1.name=4k Storage Disk
|
||||
|
||||
@@ -24,6 +24,7 @@ gui.refinedstorage:crafting_monitor=Crafting Monitor
|
||||
gui.refinedstorage:wireless_transmitter=Draadloze Zender
|
||||
gui.refinedstorage:wireless_transmitter.distance=%d blokken
|
||||
gui.refinedstorage:crafter=Crafter
|
||||
gui.refinedstorage:processing_pattern_encoder=Verwerkingspatroon Codeerder
|
||||
|
||||
misc.refinedstorage:energy_stored=%d / %d RF
|
||||
misc.refinedstorage:energy_usage=Vebruik: %d RF/t
|
||||
@@ -102,6 +103,7 @@ block.refinedstorage:interface.name=Interface
|
||||
block.refinedstorage:crafting_monitor.name=Crafting Monitor
|
||||
block.refinedstorage:wireless_transmitter.name=Draadloze Zender
|
||||
block.refinedstorage:crafter.name=Crafter
|
||||
block.refinedstorage:processing_pattern_encoder.name=Verwerkingspatroon Codeerder
|
||||
|
||||
item.refinedstorage:storage_disk.0.name=1k Opslagschijf
|
||||
item.refinedstorage:storage_disk.1.name=4k Opslagschijf
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 212 B |
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
Reference in New Issue
Block a user