Compare commits

...
2 Commits
Author SHA1 Message Date
mezz 3de8bac1ad Update minimum required Forge version to 10.13.4.1448
(cherry picked from commit 4c41d0bb6e)
2015-11-20 10:18:08 -08:00
mezz abca8b13f3 Fix #972 tree growing logs with default properties instead using genome
(cherry picked from commit 67a7185261)

Conflicts:
	src/main/java/forestry/arboriculture/genetics/TreeDefinition.java
2015-11-20 10:17:51 -08:00
5 changed files with 36 additions and 14 deletions

No files matched your search

+1 -1
View File
@@ -61,7 +61,7 @@ import forestry.plugins.PluginManager;
name = "Forestry",
version = Version.VERSION,
guiFactory = "forestry.core.config.ForestryGuiConfigFactory",
dependencies = "required-after:Forge@[10.13.0.1207,);"
dependencies = "required-after:Forge@[10.13.4.1448,);"
+ "after:Buildcraft|Core@[6.1.7,);"
+ "after:ExtrabiomesXL;"
+ "after:BiomesOPlenty;"
@@ -49,11 +49,9 @@ import forestry.api.genetics.IEffectData;
import forestry.api.genetics.IFruitFamily;
import forestry.api.genetics.IMutation;
import forestry.arboriculture.genetics.alleles.AlleleFruit;
import forestry.arboriculture.tiles.TileLeaves;
import forestry.core.config.Config;
import forestry.core.genetics.Chromosome;
import forestry.core.genetics.Individual;
import forestry.core.tiles.TileUtil;
import forestry.core.utils.StringUtil;
public class Tree extends Individual implements ITree, IPlantable {
@@ -223,21 +221,29 @@ public class Tree extends Individual implements ITree, IPlantable {
@Override
public void setLeaves(World world, GameProfile owner, int x, int y, int z) {
genome.getPrimary().getGenerator().setLeaves(world, owner, x, y, z, false);
TileLeaves leaves = TileUtil.getTile(world, x, y, z, TileLeaves.class);
if (leaves != null) {
leaves.setTree(this);
try {
genome.getPrimary().getGenerator().setLeaves(genome, world, owner, x, y, z, false);
} catch (Throwable ignored) {
genome.getPrimary().getGenerator().setLeaves(world, owner, x, y, z, false);
}
}
@Override
public void setLeavesDecorative(World world, GameProfile owner, int x, int y, int z) {
genome.getPrimary().getGenerator().setLeaves(world, owner, x, y, z, true);
try {
genome.getPrimary().getGenerator().setLeaves(genome, world, owner, x, y, z, true);
} catch (Throwable ignored) {
genome.getPrimary().getGenerator().setLeaves(world, owner, x, y, z, true);
}
}
@Override
public void setLogBlock(World world, int x, int y, int z, ForgeDirection facing) {
genome.getPrimary().getGenerator().setLogBlock(world, x, y, z, facing);
try {
genome.getPrimary().getGenerator().setLogBlock(genome, world, x, y, z, facing);
} catch (Throwable ignored) {
genome.getPrimary().getGenerator().setLogBlock(world, x, y, z, facing);
}
}
@Override
@@ -89,6 +89,7 @@ import forestry.core.genetics.alleles.AlleleBoolean;
import forestry.core.genetics.alleles.AlleleHelper;
import forestry.core.genetics.alleles.AllelePlantType;
import forestry.core.genetics.alleles.EnumAllele;
import forestry.plugins.PluginArboriculture;
public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
Oak(TreeBranchDefinition.QUERCUS, "appleOak", "robur", false, EnumLeafType.DECIDUOUS, new Color(4764952), new Color(4764952).brighter(), 0, new ItemStack(Blocks.log, 1, 0)) {
@@ -994,7 +995,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
protected abstract void registerMutations();
@Override
public void setLogBlock(World world, int x, int y, int z, ForgeDirection facing) {
public void setLogBlock(ITreeGenome genome, World world, int x, int y, int z, ForgeDirection facing) {
if (woodType == null) {
Block vanillaWoodBlock = Block.getBlockFromItem(vanillaWood.getItem());
int vanillaWoodMeta = vanillaWood.getItemDamage();
@@ -1022,8 +1023,13 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
}
@Override
public void setLeaves(World world, GameProfile owner, int x, int y, int z, boolean decorative) {
boolean placed = ForestryBlock.leaves.setBlock(world, x, y, z, 0);
public void setLogBlock(World world, int x, int y, int z, ForgeDirection facing) {
setLogBlock(genome, world, x, y, z, facing);
}
@Override
public void setLeaves(ITreeGenome genome, World world, GameProfile owner, int x, int y, int z, boolean decorative) {
boolean placed = world.setBlock(x, y, z, ForestryBlock.leaves.block(), 0, Constants.FLAG_BLOCK_SYNCH_AND_UPDATE);
if (!placed) {
return;
}
@@ -1043,11 +1049,16 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
if (decorative) {
tileLeaves.setDecorative();
}
tileLeaves.setTree(getIndividual());
tileLeaves.setTree(new Tree(genome));
world.markBlockForUpdate(x, y, z);
}
@Override
public void setLeaves(World world, GameProfile owner, int x, int y, int z, boolean decorative) {
setLeaves(genome, world, owner, x, y, z, decorative);
}
public static void initTrees() {
for (TreeDefinition tree : values()) {
tree.init();
@@ -20,6 +20,7 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IAllele;
@@ -147,4 +148,8 @@ public abstract class SpeciesRoot implements ISpeciesRoot {
return chromosomes;
}
@Override
public void syncBreedingTrackerToPlayer(EntityPlayer player) {
getBreedingTracker(player.worldObj, player.getGameProfile()).synchToPlayer(player);
}
}