Compare commits

...
40 Commits
Author SHA1 Message Date
CovertJaguar fcad67a1c2 Update lang 2015-01-29 14:45:38 -08:00
mezz 1bd3b61df9 Fix #480 Increase hive spawn rate 25%, add config option for spawn rate
(cherry picked from commit 56dfae034d)

Conflicts:
	src/main/java/forestry/apiculture/worldgen/HiveDecorator.java
2015-01-29 00:11:35 -08:00
mezz 060ca1eb80 Fix #479 Try to make sure hives are always glowing
(cherry picked from commit 636201ce5a)
2015-01-29 00:09:47 -08:00
mezz 98a2d9c65e Fix bee biome temperature check for nether biomes
(cherry picked from commit c3f37a379a)
2015-01-25 22:26:39 -08:00
mezz eb010094ca Fix crash from missing block when a plugin mod is uninstalled
(cherry picked from commit 5a7bd9f57a)
2015-01-25 22:25:36 -08:00
mezz e6cbced8a2 #457 Add config option for village generation (forgot lumberjack) 2015-01-24 00:25:50 -08:00
mezz d300078227 Close #457 Add config option for village generation
(cherry picked from commit dab217eab0)
2015-01-24 00:21:56 -08:00
mezz 65c7f0242c Fix #470 Engines don't output to other mods' machines
(cherry picked from commit dffa845851)
2015-01-23 23:27:46 -08:00
mezz c4140ef9c3 Fix #472 Crash with Thaumic Tinkerer Ichorium Axe
(cherry picked from commit 1aefd5863e)
2015-01-23 23:26:54 -08:00
mezz 389e5e01e7 Fix #467 Carpenter automation
(cherry picked from commit c6dae0318c)
2015-01-23 22:34:21 -08:00
mezz a55b2645b7 Fix #465 crash after closing catalogue and opening another item gui
(cherry picked from commit dc1449855e)
2015-01-23 22:33:46 -08:00
mezz 9a36381ce0 Fix possible reservoir crash from thermionic fabricator
(cherry picked from commit 195c8fc524)
2015-01-23 22:32:37 -08:00
CovertJaguar 2565eea5ba Set version to 3.4 2015-01-17 20:44:55 -08:00
CovertJaguar 13ae9ece47 Fix submodule issues 2015-01-17 20:36:25 -08:00
CovertJaguar d3e87b1aaf Merge branch 'dev' into release_3.4
Conflicts:
	application.properties
	src/main/java/forestry/apiculture/gadgets/TileAlvearyHygroregulator.java
	src/main/java/forestry/apiculture/gadgets/TileAlvearyPlain.java
	src/main/java/forestry/apiculture/gadgets/TileAlvearySwarmer.java
	src/main/java/forestry/apiculture/worldgen/HiveDecorator.java
	src/main/java/forestry/apiculture/worldgen/HiveForest.java
	src/main/java/forestry/apiculture/worldgen/HiveGen.java
	src/main/java/forestry/apiculture/worldgen/HiveGenHelper.java
	src/main/java/forestry/apiculture/worldgen/HiveMeadows.java
	src/main/java/forestry/apiculture/worldgen/HiveSnow.java
	src/main/java/forestry/apiculture/worldgen/HiveSwamp.java
	src/main/java/forestry/apiculture/worldgen/HiveSwarmer.java
	src/main/java/forestry/core/gui/ContainerForestry.java
	src/main/java/forestry/core/utils/RecipeUtil.java
	src/main/java/forestry/factory/gadgets/TileWorktable.java
	src/main/java/forestry/factory/gui/ContainerFabricator.java
	src/main/java/forestry/factory/gui/ContainerWorktable.java
	src/main/java/forestry/factory/recipes/RecipeMemory.java
2015-01-17 20:33:15 -08:00
CovertJaguar 990d4990db Fix lang 2014-12-14 21:39:45 -08:00
mezz ce232e808e Fix Alveary Swarmer and Swarm Hive
(cherry picked from commit 2577ee9c930cdc91bdf3d207cbeaaebbe1141257)

Conflicts:
	src/main/java/forestry/apiculture/gadgets/TileAlvearySwarmer.java
2014-12-09 01:08:14 -08:00
mezz 31574a9c6e Cleanup
(cherry picked from commit 4f95ceab29)
2014-12-09 01:03:05 -08:00
mezz cd9a4110ee Refactor out worktable canCraftRecipe logic to RecipeUtil 2014-12-08 20:26:51 -08:00
mezz 6b35ff2ba1 Improve null safety of memorized recipe isValid check
(cherry picked from commit 23ffb78ab3)
2014-12-07 16:25:01 -08:00
mezz 5133e721cc Add blacklist to worktable memory, blacklist non-empty maps
(cherry picked from commit 2cb1959421)
2014-12-07 16:18:23 -08:00
mezz 09ced92f5b Support left click drag on Worktable
(cherry picked from commit 029604222c)
2014-12-07 16:18:17 -08:00
mezz 12477a7711 Fix crash when crafting with a Map on a Worktable 2014-12-07 16:17:21 -08:00
mezz b7dc4d9144 Fix #359 Crafting with a worktable does not trigger achievements.
(cherry picked from commit c010977a0b)
2014-12-07 16:16:24 -08:00
mezz da48d317ff Fix #362 Missing Analyzer Crafting recipe
(cherry picked from commit 7ffb9d5c1d)
2014-12-07 15:32:02 -08:00
mezz 5bfb11e952 Fix #353 Alveary heater/fan energy consumption, animation
(cherry picked from commit 475d99eae8)
2014-12-07 15:30:30 -08:00
mezz 4dffb9f352 Fix biome error in Alveary
(cherry picked from commit d0244ece32)
2014-12-07 15:30:20 -08:00
mezz beadb47539 Fix #356 Worktable using the wrong wood with Shift-use all
(cherry picked from commit 0105f36668)
2014-12-07 15:30:08 -08:00
mezz 6301d3c193 Fix #357 Forestry stained glass not silk touchable
(cherry picked from commit ab3ba0c4db)
2014-12-07 15:30:02 -08:00
mezz 883863e047 Safety check for IC2 Plugin. #351
(cherry picked from commit 38009bb32a)
2014-12-07 15:29:42 -08:00
mezz 2c14f02151 Fix #352 Backpack deletion/duplication bug
(cherry picked from commit d827a0f132)
2014-12-07 15:29:07 -08:00
CovertJaguar 00771b1a42 Bump version 2014-11-30 17:22:40 -08:00
CovertJaguar 46ec2f2740 Merge branch 'dev' into release_3.3 2014-11-30 17:21:03 -08:00
mezz ac653d46c1 Fix #326 decorative leaves should not pollinate 2014-11-15 04:15:20 -08:00
mezz 63d9935d01 Minor code cleanup 2014-11-15 04:15:14 -08:00
mezz ba695b977d Fix #325 Centrifuge dupe bug 2014-11-15 04:13:46 -08:00
CovertJaguar 6b1dfb1596 Set submodules 2014-11-15 04:12:44 -08:00
CovertJaguar fff02be71d Bump version to 3.2 2014-11-08 21:40:45 -08:00
CovertJaguar 0e5b9e4957 Merge branch 'dev' into release_3.2
Conflicts:
	src/main/resources/assets/forestry/textures/blocks/storage/apatite.png
	src/main/resources/assets/forestry/textures/blocks/storage/bronze.png
	src/main/resources/assets/forestry/textures/blocks/storage/copper.png
	src/main/resources/assets/forestry/textures/blocks/storage/tin.png
2014-11-08 21:39:26 -08:00
MysteriousAges 3415030fbf Revert "Storage block textures - Apatite, Bronze, Copper, Tin."
This reverts commit c8fd93873a.
2014-10-24 20:18:30 -07:00
19 changed files with 149 additions and 98 deletions

No files matched your search

+2 -1
View File
@@ -1,5 +1,6 @@
mcversion=1.7.10
forgeversion=10.13.2.1286
version_major=3
version_minor=3
version_minor=4
version_patch=0
+1 -1
Submodule lang updated: 20c23dc2ec...1b85a75323.
@@ -15,6 +15,7 @@ import forestry.core.inventory.InventoryAdapter;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.EnumSkyBlock;
public class TileSwarm extends TileEntity {
@@ -22,7 +23,21 @@ public class TileSwarm extends TileEntity {
@Override
public boolean canUpdate() {
return false;
return true;
}
// Hack to make sure that hives glow.
// TODO: remove when Mojang fixes this bug: https://bugs.mojang.com/browse/MC-3329
// Hives should not need to tick normally.
private boolean updatedLight;
@Override
public void updateEntity() {
super.updateEntity();
if (worldObj.isRemote && !updatedLight && worldObj.getWorldTime() % 20 == 0) {
updatedLight = worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord);
}
}
public TileSwarm setContained(ItemStack[] bees) {
@@ -280,8 +280,10 @@ public class Bee extends IndividualLiving implements IBee {
}
private boolean checkBiomeHazard(BiomeGenBase biome) {
if (biome == null)
return false;
EnumTemperature temperature = EnumTemperature.getFromValue(biome.temperature);
EnumTemperature temperature = EnumTemperature.getFromBiome(biome);
EnumHumidity humidity = EnumHumidity.getFromValue(biome.rainfall);
return AlleleManager.climateHelper.isWithinLimits(temperature, humidity,
genome.getPrimary().getTemperature(), genome.getToleranceTemp(),
+2 -1
View File
@@ -74,8 +74,9 @@ public class HiveDecorator {
}
public boolean genHive(World world, Random rand, int chunkX, int chunkZ, Hive hive) {
if (hive.genChance() < rand.nextFloat() * 128.0f)
if (hive.genChance() * Config.getBeehivesRate() < rand.nextFloat() * 100.0f) {
return false;
}
int worldX = chunkX * 16;
int worldZ = chunkZ * 16;
@@ -1,29 +1,29 @@
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
******************************************************************************/
package forestry.apiculture.worldgen;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import forestry.api.apiculture.hives.IHiveGen;
public abstract class HiveGen implements IHiveGen {
@Override
public boolean canReplace(World world, int x, int y, int z) {
Block block = world.getBlock(x, y, z);
Material material = block.getMaterial();
return (material.isReplaceable() && !material.isLiquid()) ||
material == Material.air ||
material == Material.plants;
}
}
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
******************************************************************************/
package forestry.apiculture.worldgen;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import forestry.api.apiculture.hives.IHiveGen;
public abstract class HiveGen implements IHiveGen {
@Override
public boolean canReplace(World world, int x, int y, int z) {
Block block = world.getBlock(x, y, z);
Material material = block.getMaterial();
return (material.isReplaceable() && !material.isLiquid()) ||
material == Material.air ||
material == Material.plants;
}
}
@@ -1,31 +1,31 @@
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
******************************************************************************/
package forestry.apiculture.worldgen;
import net.minecraft.block.Block;
import forestry.api.apiculture.hives.IHiveGen;
import forestry.api.apiculture.hives.IHiveGenHelper;
public class HiveGenHelper implements IHiveGenHelper {
private static IHiveGen treeGen = new HiveGenTree();
@Override
public IHiveGen ground(Block... validGroundBlocks) {
return new HiveGenGround(validGroundBlocks);
}
@Override
public IHiveGen tree() {
return treeGen;
}
}
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
******************************************************************************/
package forestry.apiculture.worldgen;
import net.minecraft.block.Block;
import forestry.api.apiculture.hives.IHiveGen;
import forestry.api.apiculture.hives.IHiveGenHelper;
public class HiveGenHelper implements IHiveGenHelper {
private static IHiveGen treeGen = new HiveGenTree();
@Override
public IHiveGen ground(Block... validGroundBlocks) {
return new HiveGenGround(validGroundBlocks);
}
@Override
public IHiveGen tree() {
return treeGen;
}
}
@@ -98,7 +98,8 @@ public class ForestryBlockLeaves extends BlockNewLeaf implements ITileEntityProv
@Override
public void onBlockHarvested(World world, int x, int y, int z, int metadata, EntityPlayer player) {
if (getLeafTile(world, x, y, z).isDecorative())
TileLeaves leafTile = getLeafTile(world, x, y, z);
if (leafTile == null || leafTile.isDecorative())
return;
int fortune = EnchantmentHelper.getFortuneModifier(player);
@@ -60,7 +60,9 @@ public class Config {
public static boolean generateCopperOre = true;
public static boolean generateTinOre = true;
public static boolean generateBeehives = true;
private static float generateBeehivesRate = 1.0f;
public static boolean generateBeehivesDebug = false;
public static boolean enableVillager = true;
// Retrogen
public static boolean doRetrogen = false;
@@ -103,6 +105,10 @@ public class Config {
return craftingBronzeEnabled;
}
public static float getBeehivesRate() {
return generateBeehivesRate;
}
public static void load() {
setDebugMode();
@@ -155,6 +161,10 @@ public class Config {
genBeehives.comment = "set to false to force forestry to skip generating beehives in the world";
generateBeehives = Boolean.parseBoolean(genBeehives.value);
Property genBeehivesRate = config.get("world.generate.beehives.rate", CATEGORY_COMMON, generateBeehivesRate);
genBeehivesRate.comment = "set how many beehives spawn. Default is 1.0, double is 2.0, half is 0.5 etc.";
generateBeehivesRate = Float.parseFloat(genBeehivesRate.value);
Property genDebugBeehives = config.get("world.generate.beehives.debug", CATEGORY_DEBUG, false);
genDebugBeehives.comment = "Set to true to force Forestry to try to generate a beehive at every possible location.";
generateBeehivesDebug = Boolean.parseBoolean(genDebugBeehives.value);
@@ -167,6 +177,10 @@ public class Config {
genTinOre.comment = "set to false to force forestry to skip generating own tin ore blocks in the world";
generateTinOre = Boolean.parseBoolean(genTinOre.value);
Property enableVillagerProp = config.get("world.generate.villager", CATEGORY_COMMON, true);
enableVillagerProp.comment = "set to false to disable the creation of forestry villagers and their houses";
enableVillager = Boolean.parseBoolean(enableVillagerProp.value);
Property bronzeRecipe = config.get("crafting.bronze.enabled", CATEGORY_COMMON, true);
bronzeRecipe.comment = "set to false to disable crafting recipe for bronze";
craftingBronzeEnabled = Boolean.parseBoolean(bronzeRecipe.value);
@@ -136,7 +136,8 @@ public class BlockBase extends BlockForestry {
/* INTERACTION */
@Override
public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) {
return getDefinition(world, x, y, z).isSolidOnSide(world, x, y, z, side.ordinal());
MachineDefinition definition = getDefinition(world, x, y, z);
return definition != null && definition.isSolidOnSide(world, x, y, z, side.ordinal());
}
@Override
@@ -166,7 +166,7 @@ public abstract class Engine extends TileBase implements IEnergyConnection {
}
private boolean canPowerTo(TileEntity tile) {
return isActivated() && BlockUtil.isRFTile(getOrientation().getOpposite(), tile);
return isActivated() && BlockUtil.isEnergyReceiver(getOrientation().getOpposite(), tile);
}
private void setActive(boolean isActive) {
@@ -185,7 +185,7 @@ public abstract class Engine extends TileBase implements IEnergyConnection {
TileEntity tile = worldObj.getTileEntity(xCoord + orient.offsetX, yCoord + orient.offsetY, zCoord + orient.offsetZ);
if (BlockUtil.isRFTile(getOrientation().getOpposite(), tile)) {
if (BlockUtil.isEnergyReceiver(getOrientation().getOpposite(), tile)) {
setOrientation(orient);
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, worldObj.getBlock(xCoord, yCoord, zCoord));
worldObj.func_147479_m(xCoord, yCoord, zCoord);
@@ -28,7 +28,7 @@ public class ReservoirWidget extends TankWidget {
public void draw(int startX, int startY) {
FluidStack contents = getTank().getFluid();
if(contents == null || contents.amount <= 0)
if(contents == null || contents.amount <= 0 || contents.getFluid() == null)
return;
IIcon liquidIcon = contents.getFluid().getIcon(contents);
if(liquidIcon == null)
@@ -26,7 +26,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import forestry.core.config.Defaults;
import forestry.core.vect.Vect;
import cofh.api.energy.IEnergyHandler;
import cofh.api.energy.IEnergyReceiver;
public class BlockUtil {
@@ -38,14 +38,11 @@ public class BlockUtil {
}
public static boolean isRFTile(ForgeDirection side, TileEntity tile) {
if (tile == null)
public static boolean isEnergyReceiver(ForgeDirection side, TileEntity tile) {
if (!(tile instanceof IEnergyReceiver))
return false;
if (!(tile instanceof IEnergyHandler))
return false;
IEnergyHandler receptor = (IEnergyHandler) tile;
IEnergyReceiver receptor = (IEnergyReceiver) tile;
return receptor.canConnectEnergy(side);
}
@@ -2,6 +2,8 @@ package forestry.energy;
import cofh.api.energy.EnergyStorage;
import cofh.api.energy.IEnergyHandler;
import cofh.api.energy.IEnergyReceiver;
import forestry.core.GameMode;
import forestry.core.utils.BlockUtil;
import net.minecraft.nbt.NBTTagCompound;
@@ -156,8 +158,8 @@ public class EnergyManager implements IEnergyHandler {
*/
public int sendEnergy(ForgeDirection orientation, TileEntity tile, int amount) {
int sent = 0;
if (BlockUtil.isRFTile(orientation.getOpposite(), tile)) {
IEnergyHandler receptor = (IEnergyHandler) tile;
if (BlockUtil.isEnergyReceiver(orientation.getOpposite(), tile)) {
IEnergyReceiver receptor = (IEnergyReceiver) tile;
int extractable = energyStorage.extractEnergy(amount, true);
if (extractable > 0) {
@@ -13,7 +13,9 @@ package forestry.factory.gadgets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
@@ -124,7 +126,8 @@ public class MachineCarpenter extends TilePowered implements ISidedInventory, IL
public static class RecipeManager implements ICarpenterManager {
public static final ArrayList<MachineCarpenter.Recipe> recipes = new ArrayList<MachineCarpenter.Recipe>();
public static final HashSet<Fluid> recipeFluids = new HashSet<Fluid>();
private static final Set<Fluid> recipeFluids = new HashSet<Fluid>();
private static final List<ItemStack> boxes = new ArrayList<ItemStack>();
@Override
public void addCrating(ItemStack itemStack) {
@@ -166,6 +169,9 @@ public class MachineCarpenter extends TilePowered implements ISidedInventory, IL
recipes.add(new Recipe(packagingTime, liquid, box, ShapedRecipeCustom.createShapedRecipe(product, materials)));
if (liquid != null)
recipeFluids.add(liquid.getFluid());
if (box != null && !isBox(box)) {
boxes.add(box);
}
}
public static Recipe findMatchingRecipe(FluidStack liquid, ItemStack item, InventoryCrafting inventorycrafting, World world) {
@@ -177,8 +183,11 @@ public class MachineCarpenter extends TilePowered implements ISidedInventory, IL
}
public static boolean isBox(ItemStack resource) {
for (Recipe recipe : recipes) {
if (StackUtils.isIdenticalItem(recipe.getBox(), resource))
if (resource == null)
return false;
for (ItemStack box : boxes) {
if (StackUtils.isIdenticalItem(box, resource))
return true;
}
@@ -227,9 +236,11 @@ public class MachineCarpenter extends TilePowered implements ISidedInventory, IL
return tankManager.accepts(fluid);
} else if (slotIndex == SLOT_BOX) {
return MachineCarpenter.RecipeManager.isBox(itemStack);
} else if (canSlotAccept(SLOT_CAN_INPUT, itemStack) || canSlotAccept(SLOT_BOX, itemStack)) {
return false;
}
return true;
return GuiUtil.isIndexInRange(slotIndex, SLOT_INVENTORY_1, SLOT_INVENTORY_COUNT);
}
@Override
@@ -129,7 +129,7 @@ public class GuiCatalogue extends GuiForestry<TileForestry> {
protected void actionPerformed(GuiButton button) {
switch(button.id) {
case 0:
mc.displayGuiScreen(null);
mc.thePlayer.closeScreen();
break;
case 2:
container.advanceIteration();
@@ -146,7 +146,7 @@ public class GuiCatalogue extends GuiForestry<TileForestry> {
SessionVars.setStringVar("mail.letter.recipient", info.address.getName());
SessionVars.setStringVar("mail.letter.addressee", EnumAddressee.TRADER.toString());
}
mc.displayGuiScreen(null);
mc.thePlayer.closeScreen();
break;
}
}
@@ -72,7 +72,7 @@ public class GuiTradeName extends GuiForestry<MachineTrader> {
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
// Close gui screen if we linked up.
if (container.machine.isLinked()) {
this.mc.displayGuiScreen(null);
this.mc.thePlayer.closeScreen();
this.mc.setIngameFocus();
}
@@ -259,8 +259,10 @@ public class PluginApiculture extends ForestryPlugin {
ApicultureTriggers.initialize();
}
// Register village components with the Structure registry.
VillageHandlerApiculture.registerVillageComponents();
if (Config.enableVillager) {
// Register village components with the Structure registry.
VillageHandlerApiculture.registerVillageComponents();
}
// Modes
PluginApiculture.beeInterface.registerBeekeepingMode(BeekeepingMode.easy);
@@ -332,12 +334,14 @@ public class PluginApiculture extends ForestryPlugin {
BeeManager.villageBees[1].add(beeInterface.templateAsGenome(BeeTemplates.getCommonTemplate()));
BeeManager.villageBees[1].add(beeInterface.templateAsGenome(BeeTemplates.getValiantTemplate()));
// Register villager stuff
VillageHandlerApiculture villageHandler = new VillageHandlerApiculture();
VillagerRegistry.instance().registerVillageCreationHandler(villageHandler);
VillagerRegistry.instance().registerVillagerId(Defaults.ID_VILLAGER_BEEKEEPER);
Proxies.render.registerVillagerSkin(Defaults.ID_VILLAGER_BEEKEEPER, Defaults.TEXTURE_SKIN_BEEKPEEPER);
VillagerRegistry.instance().registerVillageTradeHandler(Defaults.ID_VILLAGER_BEEKEEPER, villageHandler);
if (Config.enableVillager) {
// Register villager stuff
VillageHandlerApiculture villageHandler = new VillageHandlerApiculture();
VillagerRegistry.instance().registerVillageCreationHandler(villageHandler);
VillagerRegistry.instance().registerVillagerId(Defaults.ID_VILLAGER_BEEKEEPER);
Proxies.render.registerVillagerSkin(Defaults.ID_VILLAGER_BEEKEEPER, Defaults.TEXTURE_SKIN_BEEKPEEPER);
VillagerRegistry.instance().registerVillageTradeHandler(Defaults.ID_VILLAGER_BEEKEEPER, villageHandler);
}
proxy.initializeRendering();
}
@@ -130,6 +130,7 @@ import forestry.arboriculture.worldgen.WorldGenWenge;
import forestry.arboriculture.worldgen.WorldGenWillow;
import forestry.arboriculture.worldgen.WorldGenZebrawood;
import forestry.core.GameMode;
import forestry.core.config.Config;
import forestry.core.config.Defaults;
import forestry.core.config.ForestryBlock;
import forestry.core.config.ForestryItem;
@@ -330,10 +331,11 @@ public class PluginArboriculture extends ForestryPlugin {
MinecraftForge.EVENT_BUS.register(new EventHandlerArboriculture());
VillagerRegistry.instance().registerVillagerId(Defaults.ID_VILLAGER_LUMBERJACK);
Proxies.render.registerVillagerSkin(Defaults.ID_VILLAGER_LUMBERJACK, Defaults.TEXTURE_SKIN_LUMBERJACK);
VillagerRegistry.instance().registerVillageTradeHandler(Defaults.ID_VILLAGER_LUMBERJACK,
new VillageHandlerArboriculture());
if (Config.enableVillager) {
VillagerRegistry.instance().registerVillagerId(Defaults.ID_VILLAGER_LUMBERJACK);
Proxies.render.registerVillagerSkin(Defaults.ID_VILLAGER_LUMBERJACK, Defaults.TEXTURE_SKIN_LUMBERJACK);
VillagerRegistry.instance().registerVillageTradeHandler(Defaults.ID_VILLAGER_LUMBERJACK, new VillageHandlerArboriculture());
}
}
@Override