Compare commits

..
11 Commits
25 changed files with 212 additions and 167 deletions

No files matched your search

+2 -2
View File
@@ -3,9 +3,9 @@ name: Build and test
on:
pull_request:
branches: [ master, main, release/** ]
branches: [ master, main ]
push:
branches: [ master, main, release/** ]
branches: [ master, main ]
jobs:
build-and-test:
+2
View File
@@ -9,5 +9,7 @@ dependencies {
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.57:api')
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
compileOnly('curse.maven:craftguide-75557:2459320')
compileOnly('com.ruling_0:MaterialLib:0.24.0-mu:dev')
compileOnly('com.github.GTNewHorizons:Postea:1.4.0-mu:dev')
devOnlyNonPublishable('net.xonich.mc:NoHotbarNeeded:0.0.3:dev')
}
+2 -1
View File
@@ -63,7 +63,8 @@ import forestry.plugins.PluginManager;
+ "after:BiomesOPlenty;"
+ "after:IC2@[2.0.140,);"
+ "after:Natura@[2.2.0,);"
+ "after:HardcoreEnderExpansion;")
+ "after:HardcoreEnderExpansion;"
+ "after:materiallib;")
public class Forestry {
@Mod.Instance(Constants.MOD)
@@ -27,7 +27,6 @@ public class GuiUtil {
public static void drawItemStack(GuiForestry<?, ?> gui, ItemStack stack, int xPos, int yPos) {
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
GL11.glEnable(GL11.GL_DEPTH_TEST);
RenderHelper.enableGUIStandardItemLighting();
RenderItem itemRender = GuiForestry.getItemRenderer();
@@ -230,23 +230,11 @@ public abstract class BlockUtil {
return vec != null && (vec.xCoord >= minX && vec.xCoord <= maxX && vec.yCoord >= minY && vec.yCoord <= maxY);
}
private static Class<? extends Block> BW_MetaGenerated_WerkstoffBlocksClass;
private static Block BWBlocks;
private static Class<? extends Block> GTBlockMachines_Class;
private static Block GTBlockMachines;
private static final boolean bw = Loader.isModLoaded("bartworks");
private static final boolean gt = Loader.isModLoaded("gregtech") && !Loader.isModLoaded("gregapi");
static {
if (bw) try {
// noinspection unchecked
BW_MetaGenerated_WerkstoffBlocksClass = (Class<? extends Block>) Class
.forName("bartworks.system.material.BWMetaGeneratedWerkstoffBlocks");
BWBlocks = (Block) Class.forName("bartworks.system.material.WerkstoffLoader").getField("BWBlocks")
.get(null);
} catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
if (gt) try {
// noinspection unchecked
GTBlockMachines_Class = (Class<? extends Block>) Class.forName("gregtech.common.blocks.BlockMachines");
@@ -268,12 +256,6 @@ public abstract class BlockUtil {
} while (stillInside.test(tile));
block = world.getBlock(x, y - depth, z);
if (bw && BW_MetaGenerated_WerkstoffBlocksClass != null
&& BWBlocks != null
&& BW_MetaGenerated_WerkstoffBlocksClass.isInstance(block)) {
return new ItemStack(BWBlocks, 1, block.getDamageValue(world, x, y - depth, z));
}
if (gt && GTBlockMachines_Class != null && GTBlockMachines != null && GTBlockMachines_Class.isInstance(block)) {
return new ItemStack(GTBlockMachines, 1, block.getDamageValue(world, x, y - depth, z));
}
@@ -0,0 +1,42 @@
package forestry.core.utils;
import net.minecraft.item.ItemStack;
import com.ruling_0.materiallib.api.StackResolver;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier;
/// Resolves the `ml:<Material>:<shape>` stack string form, which names a MaterialLib item by material and shape.
///
/// MaterialLib types are named only here, so [Stack] can gate loading this class on `materiallib` being present.
public abstract class MaterialLibStacks {
public static Stack parse(String mlString) {
String[] parts = mlString.split(":+");
if (parts.length != 3) {
Log.warning(
"Stack string (" + mlString
+ ") isn't formatted properly. The MaterialLib format is ml:<Material>:<shape>, e.g. ml:Aluminium:ore_stone");
return null;
}
ItemStack stack = StackResolver.getStack(parts[1], parts[2], 1);
if (stack == null) {
return null;
}
UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(stack.getItem());
if (id == null) {
Log.warning("Stack string (" + mlString + ") resolved to an item with no registry name.");
return null;
}
return new Stack(id.toString(), stack.getItemDamage());
}
/// The named material's item in the named shape, or null when MaterialLib serves no such pair.
public static ItemStack getStack(String material, String shape) {
return StackResolver.getStack(material, shape, 1);
}
}
@@ -0,0 +1,38 @@
package forestry.core.utils;
import net.minecraft.nbt.NBTTagCompound;
import com.gtnewhorizons.postea.api.CustomDataReplacementManager;
import cpw.mods.fml.common.Loader;
/// Offers Forestry's mail boxes to Postea's custom world data API, so versioned transformers rewrite
/// their stacks exactly once per content version change. Safe to call without Postea installed: the Postea types
/// live in the inner holder, which only loads when the mod is present.
public final class PosteaCompat {
private static final boolean POSTEA = Loader.isModLoaded("postea");
private PosteaCompat() {}
/// Transforms a root read from disk in place; call before consuming it.
public static void transform(String storageId, NBTTagCompound root) {
if (POSTEA) Impl.transform(storageId, root);
}
/// Stamps a freshly built root about to be written to disk.
public static void stamp(NBTTagCompound root) {
if (POSTEA) Impl.stamp(root);
}
private static final class Impl {
static void transform(String storageId, NBTTagCompound root) {
CustomDataReplacementManager.transform(storageId, root);
}
static void stamp(NBTTagCompound root) {
CustomDataReplacementManager.stamp(root);
}
}
}
+9 -1
View File
@@ -58,12 +58,20 @@ public class Stack {
return null;
}
if (stackString.startsWith("ml:")) {
if (!ModUtil.isModLoaded("materiallib")) {
Log.warning("Stack string (" + stackString + ") needs MaterialLib, which is not loaded. Ignoring it.");
return null;
}
return MaterialLibStacks.parse(stackString);
}
String[] parts = stackString.split(":+");
if (parts.length != 2 && parts.length != 3) {
Log.warning(
"Stack string (" + stackString
+ ") isn't formatted properly. Suitable formats are <modId>:<name>, <modId>:<name>:<meta> or <modId>:<name>:*, e.g. IC2:blockWall:*");
+ ") isn't formatted properly. Suitable formats are <modId>:<name>, <modId>:<name>:<meta>, <modId>:<name>:* or ml:<Material>:<shape>, e.g. IC2:blockWall:*");
return null;
}
+3
View File
@@ -19,6 +19,7 @@ import forestry.api.mail.IMailAddress;
import forestry.api.mail.PostManager;
import forestry.core.inventory.InventoryAdapter;
import forestry.core.utils.InventoryUtil;
import forestry.core.utils.PosteaCompat;
public class POBox extends WorldSavedData implements IInventory {
@@ -42,6 +43,7 @@ public class POBox extends WorldSavedData implements IInventory {
@Override
public void readFromNBT(NBTTagCompound nbttagcompound) {
PosteaCompat.transform("forestry:" + mapName, nbttagcompound);
if (nbttagcompound.hasKey("address")) {
this.address = MailAddress.loadFromNBT(nbttagcompound.getCompoundTag("address"));
}
@@ -56,6 +58,7 @@ public class POBox extends WorldSavedData implements IInventory {
nbttagcompound.setTag("address", nbt);
}
letters.writeToNBT(nbttagcompound);
PosteaCompat.stamp(nbttagcompound);
}
public boolean storeLetter(ItemStack letterstack) {
@@ -59,14 +59,25 @@ public class PluginFluids extends ForestryPlugin {
public static ItemRegistryFluids items;
private static void createFluid(Fluids forestryFluid) {
if (forestryFluid.getFluid() == null && Config.isFluidEnabled(forestryFluid)) {
String fluidName = forestryFluid.getTag();
if (!FluidRegistry.isFluidRegistered(fluidName)) {
Fluid fluid = new Fluid(fluidName).setDensity(forestryFluid.getDensity())
.setViscosity(forestryFluid.getViscosity()).setTemperature(forestryFluid.getTemperature());
FluidRegistry.registerFluid(fluid);
createBlock(forestryFluid);
}
if (!Config.isFluidEnabled(forestryFluid)) {
return;
}
String fluidName = forestryFluid.getTag();
boolean preRegistered = FluidRegistry.isFluidRegistered(fluidName);
if (!preRegistered) {
Fluid fluid = new Fluid(fluidName).setDensity(forestryFluid.getDensity())
.setViscosity(forestryFluid.getViscosity()).setTemperature(forestryFluid.getTemperature());
FluidRegistry.registerFluid(fluid);
}
// Milk is deliberately left blockless once another mod owns the fluid.
if (preRegistered && (forestryFluid == Fluids.MILK || forestryFluid.getBlock() != null)) {
return;
}
if (forestryFluid.getFluid() != null) {
createBlock(forestryFluid);
}
}
@@ -48,6 +48,7 @@ import forestry.core.items.EnumElectronTube;
import forestry.core.recipes.RecipeUtil;
import forestry.core.utils.ItemStackUtil;
import forestry.core.utils.Log;
import forestry.core.utils.MaterialLibStacks;
import forestry.core.utils.ModUtil;
import forestry.energy.blocks.BlockEngineType;
import forestry.energy.blocks.BlockRegistryEnergy;
@@ -227,7 +228,7 @@ public class PluginIC2 extends ForestryPlugin {
}
if (rubber != null) {
crateRegistry.registerCrate(rubber, "cratedRubber");
crateRegistry.registerCrate(cratedPart(rubber, "Rubber", "ingot"), "cratedRubber");
}
if (scrap != null) {
@@ -239,14 +240,24 @@ public class PluginIC2 extends ForestryPlugin {
}
if (silver != null) {
crateRegistry.registerCrateUsingOreDict(silver, "cratedSilver");
crateRegistry.registerCrateUsingOreDict(cratedPart(silver, "Silver", "ingot"), "cratedSilver");
}
if (brass != null) {
crateRegistry.registerCrateUsingOreDict(brass, "cratedBrass");
crateRegistry.registerCrateUsingOreDict(cratedPart(brass, "Bronze", "ingot"), "cratedBrass");
}
}
/// GregTech's MaterialLib part in place of IndustrialCraft 2's copy of it, so uncrating hands out the part that
/// GregTech's recipes produce.
private static ItemStack cratedPart(ItemStack ic2Part, String material, String shape) {
if (!ModUtil.isModLoaded("gregtech")) {
return ic2Part;
}
ItemStack part = MaterialLibStacks.getStack(material, shape);
return part != null ? part : ic2Part;
}
@Optional.Method(modid = "IC2")
protected void registerRecipes() {
@@ -708,11 +708,9 @@ tile.candle.dyed.stump=Unlit Dyed Candle
tile.candle.lit=Lit Candle
tile.candle.dyed.lit=Lit Dyed Candle
tile.stump.0=Candle Stump
tile.for.apiculture.name=Apiary
tile.for.apiculture.0.name=Apiary
tile.for.apicultureChest.name=Apiarist's Chest
tile.for.apicultureChest.0.name=Apiarist's Chest
tile.for.apiculture.2.name=Bee House
tile.for.apiculture.0=Apiary
tile.for.apiculture.1=Apiarist's Chest
tile.for.apiculture.2=Bee House
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -761,7 +759,7 @@ tile.log=Wood
tile.planks=Wood Planks
tile.slab=Wood Slab
tile.fences=Fence
tile.for.stairs.name=Stairs
tile.for.stairs=Stairs
wood.0=Larch
wood.1=Teak
wood.2=Acacia
@@ -786,8 +784,7 @@ wood.20=Pine
wood.21=Plum
wood.22=Maple
wood.23=Citrus
tile.for.arboriculture.name=Arborist's Chest
tile.for.arboriculture.0.name=Arborist's Chest
tile.for.arboriculture.0=Arborist's Chest
####################
# FARMING
@@ -860,8 +857,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -685,11 +685,9 @@ tile.alveary.6=Estabilizador de Enjambre
tile.alveary.7=Tamiz para Enjambre
tile.candle.0=Vela
tile.stump.0=Tocуn de Vela
tile.for.apiculture.name=Apiario
tile.for.apiculture.0.name=Apiario
tile.for.apicultureChest.name=Cofre de Apicultor
tile.for.apicultureChest.0.name=Cofre de Apicultor
tile.for.apiculture.2.name=Casa de Abejas
tile.for.apiculture.0=Apiario
tile.for.apiculture.1=Cofre de Apicultor
tile.for.apiculture.2=Casa de Abejas
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -738,7 +736,7 @@ tile.log=Madera
tile.planks=Tablones de Madera
tile.slab=Losa de Madera
tile.fences=Cerca
tile.for.stairs.name=Escaleras
tile.for.stairs=Escaleras
wood.0=Alerce
wood.1=Teca
wood.2=Acacia
@@ -763,8 +761,7 @@ wood.20=Pino
wood.21=Ciruela
wood.22=Arce
wood.23=Citrus
tile.for.arboriculture.name=Cofre de Arborista
tile.for.arboriculture.0.name=Cofre de Arborista
tile.for.arboriculture.0=Cofre de Arborista
####################
# FARMING
@@ -837,8 +834,7 @@ item.butterfly=Mariposa
item.moth=Polilla
item.flutterlyzer=Mariposanalizador
storage.backpack.lepidopterist=Mochila de Lepidopterуlogo
tile.for.lepidopterology.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0=Cofre de Lepidopterуlogo
####################
# MAIL
@@ -692,11 +692,9 @@ tile.alveary.6=Estabilizador de Enjambre
tile.alveary.7=Tamiz para Enjambre
tile.candle.0=Vela
tile.stump.0=Tocуn de Vela
tile.for.apiculture.name=Apiario
tile.for.apiculture.0.name=Apiario
tile.for.apicultureChest.name=Cofre de Apicultor
tile.for.apicultureChest.0.name=Cofre de Apicultor
tile.for.apiculture.2.name=Casa de Abejas
tile.for.apiculture.0=Apiario
tile.for.apiculture.1=Cofre de Apicultor
tile.for.apiculture.2=Casa de Abejas
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -745,7 +743,7 @@ tile.log=Madera
tile.planks=Tablones de Madera
tile.slab=Losa de Madera
tile.fences=Cerca
tile.for.stairs.name=Escaleras
tile.for.stairs=Escaleras
wood.0=Alerce
wood.1=Teca
wood.2=Acacia
@@ -770,8 +768,7 @@ wood.20=Pino
wood.21=Ciruela
wood.22=Arce
wood.23=Citrus
tile.for.arboriculture.name=Cofre de Arborista
tile.for.arboriculture.0.name=Cofre de Arborista
tile.for.arboriculture.0=Cofre de Arborista
####################
# FARMING
@@ -844,8 +841,7 @@ item.butterfly=Mariposa
item.moth=Polilla
item.flutterlyzer=Mariposanalizador
storage.backpack.lepidopterist=Mochila de Lepidopterуlogo
tile.for.lepidopterology.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0=Cofre de Lepidopterуlogo
####################
# MAIL
@@ -685,11 +685,9 @@ tile.alveary.6=Estabilizador de Enjambre
tile.alveary.7=Tamiz para Enjambre
tile.candle.0=Vela
tile.stump.0=Tocуn de Vela
tile.for.apiculture.name=Apiario
tile.for.apiculture.0.name=Apiario
tile.for.apicultureChest.name=Cofre de Apicultor
tile.for.apicultureChest.0.name=Cofre de Apicultor
tile.for.apiculture.2.name=Casa de Abejas
tile.for.apiculture.0=Apiario
tile.for.apiculture.1=Cofre de Apicultor
tile.for.apiculture.2=Casa de Abejas
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -738,7 +736,7 @@ tile.log=Madera
tile.planks=Tablones de Madera
tile.slab=Losa de Madera
tile.fences=Cerca
tile.for.stairs.name=Escaleras
tile.for.stairs=Escaleras
wood.0=Alerce
wood.1=Teca
wood.2=Acacia
@@ -763,8 +761,7 @@ wood.20=Pino
wood.21=Ciruela
wood.22=Arce
wood.23=Citrus
tile.for.arboriculture.name=Cofre de Arborista
tile.for.arboriculture.0.name=Cofre de Arborista
tile.for.arboriculture.0=Cofre de Arborista
####################
# FARMING
@@ -837,8 +834,7 @@ item.butterfly=Mariposa
item.moth=Polilla
item.flutterlyzer=Mariposanalizador
storage.backpack.lepidopterist=Mochila de Lepidopterуlogo
tile.for.lepidopterology.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0=Cofre de Lepidopterуlogo
####################
# MAIL
@@ -685,11 +685,9 @@ tile.alveary.6=Estabilizador de Enjambre
tile.alveary.7=Tamiz para Enjambre
tile.candle.0=Vela
tile.stump.0=Tocуn de Vela
tile.for.apiculture.name=Apiario
tile.for.apiculture.0.name=Apiario
tile.for.apicultureChest.name=Cofre de Apicultor
tile.for.apicultureChest.0.name=Cofre de Apicultor
tile.for.apiculture.2.name=Casa de Abejas
tile.for.apiculture.0=Apiario
tile.for.apiculture.1=Cofre de Apicultor
tile.for.apiculture.2=Casa de Abejas
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -738,7 +736,7 @@ tile.log=Madera
tile.planks=Tablones de Madera
tile.slab=Losa de Madera
tile.fences=Cerca
tile.for.stairs.name=Escaleras
tile.for.stairs=Escaleras
wood.0=Alerce
wood.1=Teca
wood.2=Acacia
@@ -763,8 +761,7 @@ wood.20=Pino
wood.21=Ciruela
wood.22=Arce
wood.23=Citrus
tile.for.arboriculture.name=Cofre de Arborista
tile.for.arboriculture.0.name=Cofre de Arborista
tile.for.arboriculture.0=Cofre de Arborista
####################
# FARMING
@@ -837,8 +834,7 @@ item.butterfly=Mariposa
item.moth=Polilla
item.flutterlyzer=Mariposanalizador
storage.backpack.lepidopterist=Mochila de Lepidopterуlogo
tile.for.lepidopterology.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0=Cofre de Lepidopterуlogo
####################
# MAIL
@@ -685,11 +685,9 @@ tile.alveary.6=Estabilizador de Enjambre
tile.alveary.7=Tamiz para Enjambre
tile.candle.0=Vela
tile.stump.0=Tocуn de Vela
tile.for.apiculture.name=Apiario
tile.for.apiculture.0.name=Apiario
tile.for.apicultureChest.name=Cofre de Apicultor
tile.for.apicultureChest.0.name=Cofre de Apicultor
tile.for.apiculture.2.name=Casa de Abejas
tile.for.apiculture.0=Apiario
tile.for.apiculture.1=Cofre de Apicultor
tile.for.apiculture.2=Casa de Abejas
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -738,7 +736,7 @@ tile.log=Madera
tile.planks=Tablones de Madera
tile.slab=Losa de Madera
tile.fences=Cerca
tile.for.stairs.name=Escaleras
tile.for.stairs=Escaleras
wood.0=Alerce
wood.1=Teca
wood.2=Acacia
@@ -763,8 +761,7 @@ wood.20=Pino
wood.21=Ciruela
wood.22=Arce
wood.23=Citrus
tile.for.arboriculture.name=Cofre de Arborista
tile.for.arboriculture.0.name=Cofre de Arborista
tile.for.arboriculture.0=Cofre de Arborista
####################
# FARMING
@@ -837,8 +834,7 @@ item.butterfly=Mariposa
item.moth=Polilla
item.flutterlyzer=Mariposanalizador
storage.backpack.lepidopterist=Mochila de Lepidopterуlogo
tile.for.lepidopterology.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0.name=Cofre de Lepidopterуlogo
tile.for.lepidopterology.0=Cofre de Lepidopterуlogo
####################
# MAIL
@@ -699,11 +699,9 @@ tile.candle.dyed.stump=Unlit Dyed Candle
tile.candle.lit=Lit Candle
tile.candle.dyed.lit=Lit Dyed Candle
tile.stump.0=Candle Stump
tile.for.apiculture.name=Apiary
tile.for.apiculture.0.name=Apiary
tile.for.apicultureChest.name=Apiarist's Chest
tile.for.apicultureChest.0.name=Apiarist's Chest
tile.for.apiculture.2.name=Bee House
tile.for.apiculture.0=Apiary
tile.for.apiculture.1=Apiarist's Chest
tile.for.apiculture.2=Bee House
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -752,7 +750,7 @@ tile.log=Wood
tile.planks=Wood Planks
tile.slab=Wood Slab
tile.fences=Fence
tile.for.stairs.name=Stairs
tile.for.stairs=Stairs
wood.0=Larch
wood.1=Teak
wood.2=Acacia
@@ -777,8 +775,7 @@ wood.20=Pine
wood.21=Plum
wood.22=Maple
wood.23=Citrus
tile.for.arboriculture.name=Arborist's Chest
tile.for.arboriculture.0.name=Arborist's Chest
tile.for.arboriculture.0=Arborist's Chest
####################
# FARMING
@@ -851,8 +848,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -614,11 +614,9 @@ tile.candle.dyed.stump=Unlit Dyed Candle
tile.candle.lit=Lit Candle
tile.candle.dyed.lit=Lit Dyed Candle
tile.stump.0=Candle Stump
tile.for.apiculture.name=Apiary
tile.for.apiculture.0.name=Apiary
tile.for.apicultureChest.name=Apiarist's Chest
tile.for.apicultureChest.0.name=Apiarist's Chest
tile.for.apiculture.2.name=Bee House
tile.for.apiculture.0=Apiary
tile.for.apiculture.1=Apiarist's Chest
tile.for.apiculture.2=Bee House
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -667,7 +665,7 @@ tile.log=Wood
tile.planks=Wood Planks
tile.slab=Wood Slab
tile.fences=Fence
tile.for.stairs.name=Stairs
tile.for.stairs=Stairs
wood.0=Larch
wood.1=Teak
wood.2=Acacia
@@ -692,8 +690,7 @@ wood.20=Pine
wood.21=Plum
wood.22=Maple
wood.23=Citrus
tile.for.arboriculture.name=Arborist's Chest
tile.for.arboriculture.0.name=Arborist's Chest
tile.for.arboriculture.0=Arborist's Chest
####################
# FARMING
@@ -766,8 +763,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -690,11 +690,9 @@ tile.candle.dyed.stump=Unlit Dyed Candle
tile.candle.lit=Lit Candle
tile.candle.dyed.lit=Lit Dyed Candle
tile.stump.0=Candle Stump
tile.for.apiculture.name=Apiary
tile.for.apiculture.0.name=Apiary
tile.for.apicultureChest.name=Apiarist's Chest
tile.for.apicultureChest.0.name=Apiarist's Chest
tile.for.apiculture.2.name=Bee House
tile.for.apiculture.0=Apiary
tile.for.apiculture.1=Apiarist's Chest
tile.for.apiculture.2=Bee House
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -743,7 +741,7 @@ tile.log=Wood
tile.planks=Wood Planks
tile.slab=Wood Slab
tile.fences=Fence
tile.for.stairs.name=Stairs
tile.for.stairs=Stairs
wood.0=Larch
wood.1=Teak
wood.2=Acacia
@@ -768,8 +766,7 @@ wood.20=Pine
wood.21=Plum
wood.22=Maple
wood.23=Citrus
tile.for.arboriculture.name=Arborist's Chest
tile.for.arboriculture.0.name=Arborist's Chest
tile.for.arboriculture.0=Arborist's Chest
####################
# FARMING
@@ -842,8 +839,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -489,10 +489,10 @@ tile.for.log1=Legna
tile.for.log2=Legna
tile.for.log3=Legna
tile.for.log4=Legna
tile.for.planks.name=Assi di legno
tile.for.planks=Assi di legno
tile.for.slabs1=Lastra di legno
tile.for.slabs2=Lastra di legno
tile.for.fences.name=Staccionata
tile.for.fences=Staccionata
tile.harvester.0=Taglialegna
tile.harvester.1=Combinatore
tile.harvester.2=Raccogli-albero della gomma
@@ -741,7 +741,7 @@ tile.log=Wood
tile.planks=Wood Planks
tile.slab=Wood Slab
tile.fences=Fence
tile.for.stairs.name=Stairs
tile.for.stairs=Stairs
wood.0=Larch
wood.1=Teak
wood.2=Acacia
@@ -766,8 +766,7 @@ wood.20=Pine
wood.21=Plum
wood.22=Maple
wood.23=Citrus
tile.for.arboriculture.name=Arborist's Chest
tile.for.arboriculture.0.name=Arborist's Chest
tile.for.arboriculture.0=Arborist's Chest
####################
# FARMING
@@ -837,8 +836,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -709,11 +709,9 @@ tile.candle.dyed.stump=Unlit Dyed Candle
tile.candle.lit=Lit Candle
tile.candle.dyed.lit=Lit Dyed Candle
tile.stump.0=Candle Stump
tile.for.apiculture.name=Apiary
tile.for.apiculture.0.name=Apiary
tile.for.apicultureChest.name=Apiarist's Chest
tile.for.apicultureChest.0.name=Apiarist's Chest
tile.for.apiculture.2.name=Bee House
tile.for.apiculture.0=Apiary
tile.for.apiculture.1=Apiarist's Chest
tile.for.apiculture.2=Bee House
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -762,7 +760,7 @@ tile.log=Hout
tile.planks=houten planken
tile.slab=houten plaat
tile.fences=houten hek
tile.for.stairs.name=houten treden
tile.for.stairs=houten treden
wood.0=Lariks
wood.1=Teak
wood.2=Acacia
@@ -859,8 +857,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -710,11 +710,9 @@ tile.candle.dyed.stump=Unlit Dyed Candle
tile.candle.lit=Lit Candle
tile.candle.dyed.lit=Lit Dyed Candle
tile.stump.0=Candle Stump
tile.for.apiculture.name=Apiary
tile.for.apiculture.0.name=Apiary
tile.for.apicultureChest.name=Apiarist's Chest
tile.for.apicultureChest.0.name=Apiarist's Chest
tile.for.apiculture.2.name=Bee House
tile.for.apiculture.0=Apiary
tile.for.apiculture.1=Apiarist's Chest
tile.for.apiculture.2=Bee House
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -763,7 +761,7 @@ tile.log=Wood
tile.planks=Wood Planks
tile.slab=Wood Slab
tile.fences=Fence
tile.for.stairs.name=Stairs
tile.for.stairs=Stairs
wood.0=Larch
wood.1=Teak
wood.2=Acacia
@@ -788,8 +786,7 @@ wood.20=Pine
wood.21=Plum
wood.22=Maple
wood.23=Citrus
tile.for.arboriculture.name=Arborist's Chest
tile.for.arboriculture.0.name=Arborist's Chest
tile.for.arboriculture.0=Arborist's Chest
####################
# FARMING
@@ -862,8 +859,7 @@ item.butterfly=Butterfly
item.moth=Moth
item.flutterlyzer=Flutterlyzer
storage.backpack.lepidopterist=Lepidopterist's Backpack
tile.for.lepidopterology.name=Lepidopterist's Chest
tile.for.lepidopterology.0.name=Lepidopterist's Chest
tile.for.lepidopterology.0=Lepidopterist's Chest
####################
# MAIL
@@ -695,11 +695,9 @@ tile.alveary.6=Stabilizator Wielkiego Ula
tile.alveary.7=Sito Wielkiego Ula
tile.candle.0=świeca
tile.stump.0=Postawa świecy
tile.for.apiculture.name=Ul
tile.for.apiculture.0.name=Ul
tile.for.apicultureChest.name=Skrzynia pszczelarza
tile.for.apicultureChest.0.name=Skrzynia pszczelarza
tile.for.apiculture.2.name=Dom pszczół
tile.for.apiculture.0=Ul
tile.for.apiculture.1=Skrzynia pszczelarza
tile.for.apiculture.2=Dom pszczół
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -748,7 +746,7 @@ tile.log=Drewno
tile.planks=Drewniane Deski
tile.slab=Drewniana Półpłytka
tile.fences=Płotek
tile.for.stairs.name=Schody
tile.for.stairs=Schody
wood.0=Modrzew
wood.1=Tek
wood.2=Akacja
@@ -773,8 +771,7 @@ wood.20=Sosna
wood.21=Śliwka
wood.22=Klon
wood.23=Cytrus
tile.for.arboriculture.name=Skrzynia Drzewiarza
tile.for.arboriculture.0.name=Skrzynia Drzewiarza
tile.for.arboriculture.0=Skrzynia Drzewiarza
####################
# FARMING
@@ -847,8 +844,7 @@ item.butterfly=Motyl
item.moth=Ćma
item.flutterlyzer=Motyloanalizer
storage.backpack.lepidopterist=Plecak Entomolog'a
tile.for.lepidopterology.name=Skrzynia Entomolog'a
tile.for.lepidopterology.0.name=Skrzynia Entomolog'a
tile.for.lepidopterology.0=Skrzynia Entomolog'a
####################
# MAIL
@@ -679,11 +679,9 @@ tile.alveary.6=Estabilizador de Colmeia
tile.alveary.7=Peneira para Colmeia
tile.candle.0=Vela
tile.stump.0=Cepo de Vela
tile.for.apiculture.name=Apiбrio
tile.for.apiculture.0.name=Apiбrio
tile.for.apicultureChest.name=Baъ de Apicultor
tile.for.apicultureChest.0.name=Baъ de Apicultor
tile.for.apiculture.2.name=Ninho para Abelhas
tile.for.apiculture.0=Apiбrio
tile.for.apiculture.1=Baъ de Apicultor
tile.for.apiculture.2=Ninho para Abelhas
item.for.beeQueenGE.name=Unknown Queen
####################
@@ -732,7 +730,7 @@ tile.log=Wood
tile.planks=Tбbuas de Madeira
tile.slab=Degrau de Madeira
tile.fences=Cerca
tile.for.stairs.name=Escadas
tile.for.stairs=Escadas
wood.0=Lariзo
wood.1=Teca
wood.2=Acбcia
@@ -829,8 +827,7 @@ item.butterfly=Borboleta
item.moth=Mariposa
item.flutterlyzer=Borboletizador
storage.backpack.lepidopterist=Mala de Lepidopterologista
tile.for.lepidopterology.name=Baъ de Lepidopterologista
tile.for.lepidopterology.0.name=Baъ de Lepidopterologista
tile.for.lepidopterology.0=Baъ de Lepidopterologista
####################
# MAIL