mirror of
https://github.com/GTNewHorizons/ForestryMC.git
synced 2026-11-15 01:24:59 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3de8bac1ad | ||
|
|
abca8b13f3 |
No files matched your search
+1
-1
Submodule api/forestry updated: 0aab3badcc...2af681c0f2.
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user