mirror of
https://github.com/GTNewHorizons/ForestryMC.git
synced 2026-11-15 09:34:57 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc4cc558b8 | ||
|
|
956aaca10c | ||
|
|
23f7c9c7d9 |
No files matched your search
+1
-1
@@ -16,7 +16,7 @@
|
||||
!/LICENSE.txt
|
||||
!/license-header.txt
|
||||
!/README.md
|
||||
!/gradle.properties
|
||||
!/application.properties
|
||||
!/build.gradle
|
||||
!/build.xml
|
||||
!/gradlew
|
||||
|
||||
+1
-1
Submodule api/forestry updated: 7aafb5e521...1c9fb5e23f.
@@ -0,0 +1,5 @@
|
||||
mcversion=1.7.10
|
||||
forgeversion=10.13.3.1370-1.7.10
|
||||
version_major=4
|
||||
version_minor=0
|
||||
version_patch=10
|
||||
+69
-22
@@ -21,6 +21,8 @@ apply plugin: 'forge'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'java'
|
||||
|
||||
loadProperties()
|
||||
|
||||
version = version_major + '.' + version_minor + '.' + version_patch + '.' + getBuildNumber()
|
||||
if (project.hasProperty('buildQualifier')) {
|
||||
version = project.version + '-' + project.buildQualifier
|
||||
@@ -44,8 +46,6 @@ minecraft {
|
||||
|
||||
replace '@VERSION@', project.version
|
||||
replace '@BUILD_NUMBER@', getBuildNumber()
|
||||
|
||||
srgExtra "PK: chylex/javacheck forestry/shade/javacheck"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
@@ -73,22 +73,16 @@ repositories {
|
||||
name = "chickenbones"
|
||||
url = "http://chickenbones.net/maven/"
|
||||
}
|
||||
maven{
|
||||
name "tterrag Repo"
|
||||
url "http://maven.tterrag.com/"
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
api
|
||||
compile.extendsFrom api
|
||||
shade
|
||||
compile.extendsFrom shade
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api 'net.industrial-craft:industrialcraft-2:2.2.713-experimental:api'
|
||||
api name: "buildcraft", version: "7.1.12", classifier: "api"
|
||||
api name: "buildcraft", version: "7.0.25", classifier: "api"
|
||||
|
||||
// http://files.minecraftforge.net/CodeChickenLib/
|
||||
compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
|
||||
@@ -98,9 +92,6 @@ dependencies {
|
||||
compile "codechicken:NotEnoughItems:1.7.10-1.0.5.111:dev"
|
||||
compile "codechicken:NotEnoughItems:1.7.10-1.0.5.111:src"
|
||||
|
||||
// http://maven.tterrag.com/
|
||||
shade "chylex.javacheck:JavaChecker:v1.2-b1"
|
||||
|
||||
testCompile 'junit:junit:4.12'
|
||||
}
|
||||
|
||||
@@ -143,6 +134,45 @@ debugClient {
|
||||
}
|
||||
}
|
||||
|
||||
task echoVersion << {
|
||||
printNextVersion()
|
||||
}
|
||||
|
||||
def saveVersion() {
|
||||
ant.propertyfile(
|
||||
file: "application.properties") {
|
||||
entry( key:"version_major", type:"int", value: version_major)
|
||||
entry( key:"version_minor", type:"int", value: version_minor)
|
||||
entry( key:"version_patch", type:"int", value: version_patch)
|
||||
}
|
||||
project.version = version_major + '.' + version_minor + '.' + version_patch + '.' + getBuildNumber()
|
||||
printNextVersion()
|
||||
}
|
||||
|
||||
def printNextVersion() {
|
||||
println '*************************************************************'
|
||||
println 'The next build will be version: ' + project.version
|
||||
println '*************************************************************'
|
||||
}
|
||||
|
||||
task bumpMajor << {
|
||||
project.version_major = Integer.parseInt(project.version_major) + 1
|
||||
project.version_minor = "0"
|
||||
project.version_patch = "0"
|
||||
saveVersion()
|
||||
}
|
||||
|
||||
task bumpMinor << {
|
||||
project.version_minor = Integer.parseInt(project.version_minor) + 1
|
||||
project.version_patch = "0"
|
||||
saveVersion()
|
||||
}
|
||||
|
||||
task bumpPatch << {
|
||||
project.version_patch = Integer.parseInt(project.version_patch) + 1
|
||||
saveVersion()
|
||||
}
|
||||
|
||||
jar {
|
||||
destinationDir = file("build/tmp")
|
||||
archiveName = "main.jar"
|
||||
@@ -154,11 +184,8 @@ jar {
|
||||
into ('cofh/api') {
|
||||
from project.apiRedstoneFlux + "/LICENSE - LGPLv3.txt"
|
||||
}
|
||||
|
||||
configurations.shade.each{ dep ->
|
||||
from(project.zipTree(dep)){
|
||||
exclude 'META-INF', 'META-INF/**', 'mcmod.info'
|
||||
}
|
||||
into ('buildcraft/api') {
|
||||
from "./src/main/java/buildcraft/LICENSE-API"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,10 +199,6 @@ task mainJar(type: Jar, dependsOn: 'reobf') {
|
||||
destinationDir = file(dirDest)
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
includeEmptyDirs = false
|
||||
|
||||
manifest{
|
||||
attributes 'TweakClass': 'forestry.shade.javacheck.Java7Checker'
|
||||
}
|
||||
}
|
||||
|
||||
task devJar(type: Jar, dependsOn: 'classes') {
|
||||
@@ -217,9 +240,20 @@ task sourceJar(type: Jar, dependsOn: 'classes') {
|
||||
classifier = 'sources'
|
||||
}
|
||||
|
||||
task release (dependsOn: [mainJar, apiJar, devJar, sourceJar]) {
|
||||
task releaseInit << {
|
||||
println '*************************************************************'
|
||||
println 'This build will be version: ' + rootProject.version
|
||||
println '*************************************************************'
|
||||
}
|
||||
|
||||
task release (dependsOn: [releaseInit, mainJar, apiJar, devJar, sourceJar]) {
|
||||
}
|
||||
|
||||
mainJar.shouldRunAfter releaseInit
|
||||
devJar.shouldRunAfter releaseInit
|
||||
apiJar.shouldRunAfter releaseInit
|
||||
sourceJar.shouldRunAfter releaseInit
|
||||
|
||||
artifacts {
|
||||
archives apiJar
|
||||
archives devJar
|
||||
@@ -248,6 +282,19 @@ uploadArchives {
|
||||
}
|
||||
}
|
||||
|
||||
def loadProperties() {
|
||||
println('loading application.properties')
|
||||
|
||||
file("application.properties").withReader { reader ->
|
||||
def userProps = new Properties()
|
||||
userProps.load(reader)
|
||||
|
||||
for (Map.Entry property in userProps) {
|
||||
project.ext[property.getKey()] = property.getValue()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def getBuildNumber() {
|
||||
return "$System.env.BUILD_NUMBER" != "null" ? "$System.env.BUILD_NUMBER" : "0"
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
mcversion=1.7.10
|
||||
forgeversion=10.13.4.1541-1.7.10
|
||||
version_major=4
|
||||
version_minor=1
|
||||
version_patch=1
|
||||
@@ -0,0 +1,21 @@
|
||||
BuildCraft API License
|
||||
|
||||
Copyright (c) 2011-2014 SpaceToad and the BuildCraft team
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
|
||||
* http://www.mod-buildcraft.com
|
||||
*
|
||||
* The BuildCraft API is distributed under the terms of the MIT License.
|
||||
* Please check the contents of the license, which should be located
|
||||
* as "LICENSE.API" in the BuildCraft source code distribution.
|
||||
*/
|
||||
package buildcraft.api.tools;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
/***
|
||||
* Implement this interface on subclasses of Item to have that item work as a wrench for buildcraft
|
||||
*/
|
||||
public interface IToolWrench {
|
||||
|
||||
/***
|
||||
* Called to ensure that the wrench can be used. To get the ItemStack that is used, check player.inventory.getCurrentItem()
|
||||
*
|
||||
* @param player
|
||||
* - The player doing the wrenching
|
||||
* @param x
|
||||
* ,y,z - The coordinates for the block being wrenched
|
||||
*
|
||||
* @return true if wrenching is allowed, false if not
|
||||
*/
|
||||
boolean canWrench(EntityPlayer player, int x, int y, int z);
|
||||
|
||||
/***
|
||||
* Callback after the wrench has been used. This can be used to decrease durability or for other purposes. To get the ItemStack that was used, check
|
||||
* player.inventory.getCurrentItem()
|
||||
*
|
||||
* @param player
|
||||
* - The player doing the wrenching
|
||||
* @param x
|
||||
* ,y,z - The coordinates of the block being wrenched
|
||||
*/
|
||||
void wrenchUsed(EntityPlayer player, int x, int y, int z);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
|
||||
* http://www.mod-buildcraft.com
|
||||
*
|
||||
* The BuildCraft API is distributed under the terms of the MIT License.
|
||||
* Please check the contents of the license, which should be located
|
||||
* as "LICENSE.API" in the BuildCraft source code distribution.
|
||||
*/
|
||||
@API(apiVersion = "1.0", owner = "BuildCraftAPI|core", provides = "BuildCraftAPI|tools")
|
||||
package buildcraft.api.tools;
|
||||
import cpw.mods.fml.common.API;
|
||||
@@ -30,7 +30,13 @@ import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry.Type;
|
||||
|
||||
import forestry.api.fuels.EngineBronzeFuel;
|
||||
import forestry.api.fuels.EngineCopperFuel;
|
||||
import forestry.api.fuels.FermenterFuel;
|
||||
import forestry.api.fuels.FuelManager;
|
||||
import forestry.api.fuels.GeneratorFuel;
|
||||
import forestry.api.fuels.MoistenerFuel;
|
||||
import forestry.api.fuels.RainSubstrate;
|
||||
import forestry.core.ForestryCore;
|
||||
import forestry.core.config.Constants;
|
||||
import forestry.core.config.ForestryItem;
|
||||
|
||||
@@ -193,7 +193,6 @@ public class BeekeepingLogic implements IBeekeepingLogic, IStreamable {
|
||||
|
||||
if (errorLogic.setCondition(queen == null, EnumErrorCode.NOQUEEN)) {
|
||||
setActive(false);
|
||||
beeProgress = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.apiculture.BeeManager;
|
||||
import forestry.apiculture.genetics.BeeHelper;
|
||||
import forestry.apiculture.gui.ContainerAlveary;
|
||||
import forestry.apiculture.gui.ContainerAlvearyHygroregulator;
|
||||
import forestry.apiculture.gui.ContainerAlvearySieve;
|
||||
@@ -67,7 +68,7 @@ public class GuiHandlerApiculture extends GuiHandlerBase {
|
||||
return new GuiAlvearySwarmer(player.inventory, getTile(world, x, y, z, player, TileAlvearySwarmer.class));
|
||||
|
||||
case ApiaristChestGUI:
|
||||
return getNaturalistChestGui(BeeManager.beeRoot, player, world, x, y, z, guiData);
|
||||
return getNaturalistChestGui(BeeHelper.UID, player, world, x, y, z, guiData);
|
||||
|
||||
case ApiaryGUI:
|
||||
return new GuiBeeHousing(player.inventory, getTile(world, x, y, z, player, TileApiary.class));
|
||||
@@ -130,7 +131,7 @@ public class GuiHandlerApiculture extends GuiHandlerBase {
|
||||
return new ContainerAlvearySwarmer(player.inventory, getTile(world, x, y, z, player, TileAlvearySwarmer.class));
|
||||
|
||||
case ApiaristChestGUI:
|
||||
return getNaturalistChestContainer(BeeManager.beeRoot, player, world, x, y, z, guiData);
|
||||
return getNaturalistChestContainer(BeeHelper.UID, player, world, x, y, z, guiData);
|
||||
|
||||
case ApiaryGUI:
|
||||
synchApiaristTracker(world, player);
|
||||
|
||||
@@ -132,20 +132,20 @@ public class BlockAlveary extends BlockStructure {
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
icons = new IIcon[14];
|
||||
icons[0] = TextureManager.registerTex(register, "apiculture/alveary.plain");
|
||||
icons[1] = TextureManager.registerTex(register, "apiculture/alveary.entrance");
|
||||
icons[2] = TextureManager.registerTex(register, "apiculture/alveary.bottom");
|
||||
icons[3] = TextureManager.registerTex(register, "apiculture/alveary.left");
|
||||
icons[4] = TextureManager.registerTex(register, "apiculture/alveary.right");
|
||||
icons[5] = TextureManager.registerTex(register, "apiculture/alveary.swarmer.off");
|
||||
icons[6] = TextureManager.registerTex(register, "apiculture/alveary.swarmer.on");
|
||||
icons[7] = TextureManager.registerTex(register, "apiculture/alveary.heater.off");
|
||||
icons[8] = TextureManager.registerTex(register, "apiculture/alveary.heater.on");
|
||||
icons[9] = TextureManager.registerTex(register, "apiculture/alveary.fan.off");
|
||||
icons[10] = TextureManager.registerTex(register, "apiculture/alveary.fan.on");
|
||||
icons[11] = TextureManager.registerTex(register, "apiculture/alveary.valve");
|
||||
icons[12] = TextureManager.registerTex(register, "apiculture/alveary.stabiliser");
|
||||
icons[13] = TextureManager.registerTex(register, "apiculture/alveary.sieve");
|
||||
icons[0] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.plain");
|
||||
icons[1] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.entrance");
|
||||
icons[2] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.bottom");
|
||||
icons[3] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.left");
|
||||
icons[4] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.right");
|
||||
icons[5] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.swarmer.off");
|
||||
icons[6] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.swarmer.on");
|
||||
icons[7] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.heater.off");
|
||||
icons[8] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.heater.on");
|
||||
icons[9] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.fan.off");
|
||||
icons[10] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.fan.on");
|
||||
icons[11] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.valve");
|
||||
icons[12] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.stabiliser");
|
||||
icons[13] = TextureManager.getInstance().registerTex(register, "apiculture/alveary.sieve");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
@@ -185,8 +185,8 @@ public class BlockBeehives extends BlockContainer {
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
icons = new IIcon[18];
|
||||
for (int i = 1; i < 9; i++) {
|
||||
icons[i * 2] = TextureManager.registerTex(register, "beehives/beehive." + i + ".top");
|
||||
icons[(i * 2) + 1] = TextureManager.registerTex(register, "beehives/beehive." + i + ".side");
|
||||
icons[i * 2] = TextureManager.getInstance().registerTex(register, "beehives/beehive." + i + ".top");
|
||||
icons[(i * 2) + 1] = TextureManager.getInstance().registerTex(register, "beehives/beehive." + i + ".side");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -117,11 +117,11 @@ public class BlockCandle extends BlockTorch {
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
String fileBase = StringUtil.cleanBlockName(this);
|
||||
this.blockIcon = TextureManager.registerTex(register, "stump");
|
||||
this.litStump = TextureManager.registerTex(register, fileBase + "StumpLit");
|
||||
this.litTip = TextureManager.registerTex(register, fileBase + "TipLit");
|
||||
this.unlitStump = TextureManager.registerTex(register, fileBase + "StumpUnlit");
|
||||
this.unlitTip = TextureManager.registerTex(register, fileBase + "TipUnlit");
|
||||
this.blockIcon = TextureManager.getInstance().registerTex(register, "stump");
|
||||
this.litStump = TextureManager.getInstance().registerTex(register, fileBase + "StumpLit");
|
||||
this.litTip = TextureManager.getInstance().registerTex(register, fileBase + "TipLit");
|
||||
this.unlitStump = TextureManager.getInstance().registerTex(register, fileBase + "StumpUnlit");
|
||||
this.unlitTip = TextureManager.getInstance().registerTex(register, fileBase + "TipUnlit");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -46,7 +46,7 @@ public class BlockStump extends BlockTorch {
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
this.blockIcon = TextureManager.registerTex(register, StringUtil.cleanBlockName(this));
|
||||
this.blockIcon = TextureManager.getInstance().registerTex(register, StringUtil.cleanBlockName(this));
|
||||
}
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
|
||||
@@ -27,9 +27,9 @@ public class EntityFXBee extends EntityFX {
|
||||
this.particleMaxAge = (int) (20.0D / (Math.random() * 0.8D + 0.2D));
|
||||
this.noClip = true;
|
||||
|
||||
this.motionX *= 0.1D;
|
||||
this.motionX *= 0.2D;
|
||||
this.motionY *= 0.015D;
|
||||
this.motionZ *= 0.1D;
|
||||
this.motionZ *= 0.2D;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,9 +7,8 @@ import forestry.api.apiculture.BeeManager;
|
||||
import forestry.api.apiculture.EnumBeeChromosome;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IClassification;
|
||||
import forestry.apiculture.genetics.alleles.AlleleEffect;
|
||||
import forestry.core.genetics.IBranchDefinition;
|
||||
import forestry.core.genetics.alleles.AlleleHelper;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.genetics.alleles.EnumAllele;
|
||||
|
||||
public enum BeeBranchDefinition implements IBranchDefinition {
|
||||
@@ -20,96 +19,96 @@ public enum BeeBranchDefinition implements IBranchDefinition {
|
||||
INFERNAL("Diapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
|
||||
}
|
||||
},
|
||||
AUSTERE("Modapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI);
|
||||
}
|
||||
},
|
||||
TROPICAL("Caldapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectMiasmic);
|
||||
}
|
||||
},
|
||||
END("Finapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectMisanthrope);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectMisanthrope);
|
||||
}
|
||||
},
|
||||
FROZEN("Coagapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectGlacial);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectGlacial);
|
||||
}
|
||||
},
|
||||
VENGEFUL("Punapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGEST);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectRadioactive);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGEST);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectRadioactive);
|
||||
}
|
||||
},
|
||||
FESTIVE("Festapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
}
|
||||
},
|
||||
AGRARIAN("Rustapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
|
||||
}
|
||||
},
|
||||
BOGGY("Paludapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
}
|
||||
},
|
||||
MONASTIC("Monapis") {
|
||||
@Override
|
||||
protected void setBranchProperties(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -141,18 +140,18 @@ public enum BeeBranchDefinition implements IBranchDefinition {
|
||||
if (defaultTemplate == null) {
|
||||
defaultTemplate = new IAllele[EnumBeeChromosome.values().length];
|
||||
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE);
|
||||
Allele.helper.set(defaultTemplate, EnumBeeChromosome.EFFECT, Allele.effectNone);
|
||||
}
|
||||
return Arrays.copyOf(defaultTemplate, defaultTemplate.length);
|
||||
}
|
||||
|
||||
@@ -32,9 +32,8 @@ import forestry.api.apiculture.IBeeMutationCustom;
|
||||
import forestry.api.core.EnumHumidity;
|
||||
import forestry.api.core.EnumTemperature;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.apiculture.genetics.alleles.AlleleEffect;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.genetics.alleles.AlleleHelper;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.genetics.alleles.EnumAllele;
|
||||
|
||||
public enum BeeDefinition implements IBeeDefinition {
|
||||
@@ -47,8 +46,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -64,7 +63,7 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -80,7 +79,7 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -102,8 +101,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -123,9 +122,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -141,9 +140,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -161,9 +160,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectBeatific);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectBeatific);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -181,9 +180,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -199,8 +198,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -218,9 +217,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -239,10 +238,10 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -259,10 +258,10 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -279,11 +278,11 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectHeroic);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectHeroic);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -304,9 +303,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectAggressive);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -328,9 +327,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectAggressive);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -353,9 +352,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectIgnition);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -376,8 +375,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -395,8 +394,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -421,10 +420,10 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectCreeper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -446,8 +445,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -465,8 +464,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -485,10 +484,10 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectExploration);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectExploration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -524,7 +523,7 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectReanimation);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectReanimation);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -542,9 +541,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectResurrection);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectResurrection);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -563,9 +562,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -583,8 +582,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -604,8 +603,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -625,8 +624,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -643,8 +642,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -663,8 +662,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -686,7 +685,7 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectFestiveEaster);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectFestiveEaster);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -709,8 +708,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectSnowing);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectSnowing);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -733,8 +732,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectDrunkard);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectDrunkard);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -761,9 +760,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.GOURD);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.GOURD);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -801,8 +800,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -820,10 +819,10 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectFertile);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
|
||||
Allele.helper.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectFertile);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -860,9 +859,9 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -882,10 +881,10 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMycophilic);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGER);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectMycophilic);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -924,7 +923,7 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -942,8 +941,8 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST);
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectRepulsion);
|
||||
Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST);
|
||||
Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectRepulsion);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -994,7 +993,7 @@ public enum BeeDefinition implements IBeeDefinition {
|
||||
setSpeciesProperties(species);
|
||||
|
||||
template = branch.getTemplate();
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.SPECIES, species);
|
||||
Allele.helper.set(template, EnumBeeChromosome.SPECIES, species);
|
||||
setAlleles(template);
|
||||
|
||||
genome = BeeManager.beeRoot.templateAsGenome(template);
|
||||
|
||||
@@ -8,7 +8,7 @@ import forestry.api.apiculture.EnumBeeType;
|
||||
import forestry.api.apiculture.IBee;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.core.genetics.alleles.AlleleHelper;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
|
||||
public abstract class BeeVariation implements IBeeDefinition {
|
||||
|
||||
@@ -51,7 +51,7 @@ public abstract class BeeVariation implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void initializeTemplate(IAllele[] template) {
|
||||
AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,7 +56,7 @@ public class AlleleBeeSpecies extends AlleleSpecies implements IAlleleBeeSpecies
|
||||
private boolean nocturnal = false;
|
||||
|
||||
public AlleleBeeSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, boolean dominant, IClassification branch, String binomial, int primaryColor, int secondaryColor) {
|
||||
super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial);
|
||||
super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, false);
|
||||
|
||||
this.primaryColour = primaryColor;
|
||||
this.secondaryColour = secondaryColor;
|
||||
@@ -213,7 +213,8 @@ public class AlleleBeeSpecies extends AlleleSpecies implements IAlleleBeeSpecies
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister register) {
|
||||
String beeIconDir = "bees/default/";
|
||||
IIcon body1 = TextureManager.registerTex(register, beeIconDir + "body1");
|
||||
TextureManager textureManager = TextureManager.getInstance();
|
||||
IIcon body1 = textureManager.registerTex(register, beeIconDir + "body1");
|
||||
|
||||
for (int i = 0; i < EnumBeeType.values().length; i++) {
|
||||
EnumBeeType beeType = EnumBeeType.values()[i];
|
||||
@@ -223,13 +224,13 @@ public class AlleleBeeSpecies extends AlleleSpecies implements IAlleleBeeSpecies
|
||||
|
||||
String beeTypeNameBase = beeIconDir + beeType.toString().toLowerCase(Locale.ENGLISH);
|
||||
|
||||
icons[i][0] = TextureManager.registerTex(register, beeTypeNameBase + ".outline");
|
||||
icons[i][0] = textureManager.registerTex(register, beeTypeNameBase + ".outline");
|
||||
if (beeType == EnumBeeType.LARVAE) {
|
||||
icons[i][1] = TextureManager.registerTex(register, beeTypeNameBase + ".body");
|
||||
icons[i][1] = textureManager.registerTex(register, beeTypeNameBase + ".body");
|
||||
} else {
|
||||
icons[i][1] = body1;
|
||||
}
|
||||
icons[i][2] = TextureManager.registerTex(register, beeTypeNameBase + ".body2");
|
||||
icons[i][2] = textureManager.registerTex(register, beeTypeNameBase + ".body2");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* 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.genetics.alleles;
|
||||
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
import forestry.api.apiculture.BeeManager;
|
||||
import forestry.api.apiculture.IAlleleBeeEffect;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.apiculture.IBeeModifier;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
import forestry.core.genetics.alleles.AlleleCategorized;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.utils.vect.MutableVect;
|
||||
import forestry.core.utils.vect.Vect;
|
||||
|
||||
public abstract class AlleleEffect extends AlleleCategorized implements IAlleleBeeEffect {
|
||||
|
||||
public static IAlleleBeeEffect effectNone;
|
||||
public static IAlleleBeeEffect effectAggressive;
|
||||
public static IAlleleBeeEffect effectHeroic;
|
||||
public static IAlleleBeeEffect effectBeatific;
|
||||
public static IAlleleBeeEffect effectMiasmic;
|
||||
public static IAlleleBeeEffect effectMisanthrope;
|
||||
public static IAlleleBeeEffect effectGlacial;
|
||||
public static IAlleleBeeEffect effectRadioactive;
|
||||
public static IAlleleBeeEffect effectCreeper;
|
||||
public static IAlleleBeeEffect effectIgnition;
|
||||
public static IAlleleBeeEffect effectExploration;
|
||||
public static IAlleleBeeEffect effectFestiveEaster;
|
||||
public static IAlleleBeeEffect effectSnowing;
|
||||
public static IAlleleBeeEffect effectDrunkard;
|
||||
public static IAlleleBeeEffect effectReanimation;
|
||||
public static IAlleleBeeEffect effectResurrection;
|
||||
public static IAlleleBeeEffect effectRepulsion;
|
||||
public static IAlleleBeeEffect effectFertile;
|
||||
public static IAlleleBeeEffect effectMycophilic;
|
||||
|
||||
protected AlleleEffect(String valueName, boolean isDominant) {
|
||||
super("forestry", "effect", valueName, isDominant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData validateStorage(IEffectData storedData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCombinable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) {
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) {
|
||||
Proxies.render.addBeeHiveFX("particles/swarm_bee", housing.getWorld(), housing.getCoordinates(), genome.getPrimary().getIconColour(0));
|
||||
return storedData;
|
||||
}
|
||||
|
||||
protected Vect getModifiedArea(IBeeGenome genome, IBeeHousing housing) {
|
||||
IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
|
||||
float territoryModifier = beeModifier.getTerritoryModifier(genome, 1f);
|
||||
|
||||
MutableVect area = new MutableVect(genome.getTerritory());
|
||||
area.multiply(territoryModifier);
|
||||
|
||||
if (area.x < 1) {
|
||||
area.x = 1;
|
||||
}
|
||||
if (area.y < 1) {
|
||||
area.y = 1;
|
||||
}
|
||||
if (area.z < 1) {
|
||||
area.z = 1;
|
||||
}
|
||||
|
||||
return new Vect(area);
|
||||
}
|
||||
|
||||
protected AxisAlignedBB getBounding(IBeeGenome genome, IBeeHousing housing) {
|
||||
IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
|
||||
float territoryModifier = beeModifier.getTerritoryModifier(genome, 1.0f);
|
||||
|
||||
MutableVect area = new MutableVect(genome.getTerritory());
|
||||
area.multiply(territoryModifier);
|
||||
Vect offset = new Vect(area).multiply(-1 / 2.0f);
|
||||
|
||||
Vect min = new Vect(housing.getCoordinates()).add(offset);
|
||||
Vect max = min.add(area);
|
||||
|
||||
return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,7 +18,7 @@ import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.core.EnumTemperature;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
import forestry.core.config.Constants;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.utils.vect.Vect;
|
||||
|
||||
public class AlleleEffectGlacial extends AlleleEffectThrottled {
|
||||
@@ -61,7 +61,7 @@ public class AlleleEffectGlacial extends AlleleEffectThrottled {
|
||||
continue;
|
||||
}
|
||||
|
||||
world.setBlock(posBlock.x, posBlock.y, posBlock.z, Blocks.ice, 0, Constants.FLAG_BLOCK_SYNCH_AND_UPDATE);
|
||||
Proxies.common.setBlockWithNotify(world, posBlock.x, posBlock.y, posBlock.z, Blocks.ice);
|
||||
}
|
||||
|
||||
return storedData;
|
||||
|
||||
@@ -80,7 +80,7 @@ public class AlleleEffectIgnition extends AlleleEffectThrottled {
|
||||
if (housing.getWorld().rand.nextInt(2) != 0) {
|
||||
super.doFX(genome, storedData, housing);
|
||||
} else {
|
||||
Proxies.render.addEntityIgnitionFX(housing.getWorld(), housing.getCoordinates().posX + 0.5, housing.getCoordinates().posY + 1, housing.getCoordinates().posZ + 0.5);
|
||||
Proxies.common.addEntityIgnitionFX(housing.getWorld(), housing.getCoordinates().posX + 0.5, housing.getCoordinates().posY + 1, housing.getCoordinates().posZ + 0.5);
|
||||
}
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,87 @@
|
||||
/*******************************************************************************
|
||||
* 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.genetics.alleles;
|
||||
|
||||
public class AlleleEffectNone extends AlleleEffect {
|
||||
public AlleleEffectNone(String valueName, boolean isDominant) {
|
||||
super(valueName, isDominant);
|
||||
}
|
||||
}
|
||||
/*******************************************************************************
|
||||
* 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.genetics.alleles;
|
||||
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
import forestry.api.apiculture.BeeManager;
|
||||
import forestry.api.apiculture.IAlleleBeeEffect;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.apiculture.IBeeModifier;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
import forestry.core.genetics.alleles.AlleleCategorized;
|
||||
import forestry.core.utils.vect.MutableVect;
|
||||
import forestry.core.utils.vect.Vect;
|
||||
import forestry.plugins.PluginApiculture;
|
||||
|
||||
public class AlleleEffectNone extends AlleleCategorized implements IAlleleBeeEffect {
|
||||
|
||||
public AlleleEffectNone(String valueName, boolean isDominant) {
|
||||
super("forestry", "effect", valueName, isDominant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData validateStorage(IEffectData storedData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCombinable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) {
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) {
|
||||
PluginApiculture.proxy.addBeeHiveFX("particles/swarm_bee", housing.getWorld(), housing.getCoordinates(), genome.getPrimary().getIconColour(0));
|
||||
return storedData;
|
||||
}
|
||||
|
||||
protected Vect getModifiedArea(IBeeGenome genome, IBeeHousing housing) {
|
||||
IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
|
||||
float territoryModifier = beeModifier.getTerritoryModifier(genome, 1f);
|
||||
|
||||
MutableVect area = new MutableVect(genome.getTerritory());
|
||||
area.multiply(territoryModifier);
|
||||
|
||||
if (area.x < 1) {
|
||||
area.x = 1;
|
||||
}
|
||||
if (area.y < 1) {
|
||||
area.y = 1;
|
||||
}
|
||||
if (area.z < 1) {
|
||||
area.z = 1;
|
||||
}
|
||||
|
||||
return new Vect(area);
|
||||
}
|
||||
|
||||
protected AxisAlignedBB getBounding(IBeeGenome genome, IBeeHousing housing) {
|
||||
IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
|
||||
float territoryModifier = beeModifier.getTerritoryModifier(genome, 1.0f);
|
||||
|
||||
MutableVect area = new MutableVect(genome.getTerritory());
|
||||
area.multiply(territoryModifier);
|
||||
Vect offset = new Vect(area).multiply(-1 / 2.0f);
|
||||
|
||||
Vect min = new Vect(housing.getCoordinates()).add(offset);
|
||||
Vect max = min.add(area);
|
||||
|
||||
return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -109,7 +109,7 @@ public class AlleleEffectPotion extends AlleleEffectThrottled {
|
||||
super.doFX(genome, storedData, housing);
|
||||
} else {
|
||||
ChunkCoordinates coords = housing.getCoordinates();
|
||||
Proxies.render.addEntityPotionFX(housing.getWorld(), coords.posX + 0.5, coords.posY + 1, coords.posZ + 0.5, potionFXColor);
|
||||
Proxies.common.addEntityPotionFX(housing.getWorld(), coords.posX + 0.5, coords.posY + 1, coords.posZ + 0.5, potionFXColor);
|
||||
}
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public class AlleleEffectSnowing extends AlleleEffectThrottled {
|
||||
world.setBlockMetadataWithNotify(posBlock.x, posBlock.y, posBlock.z, meta + 1, Constants.FLAG_BLOCK_SYNCH_AND_UPDATE);
|
||||
}
|
||||
} else if (block.isReplaceable(world, posBlock.x, posBlock.y, posBlock.z)) {
|
||||
world.setBlock(posBlock.x, posBlock.y, posBlock.z, Blocks.snow_layer, 0, Constants.FLAG_BLOCK_SYNCH_AND_UPDATE);
|
||||
Proxies.common.setBlockWithNotify(world, posBlock.x, posBlock.y, posBlock.z, Blocks.snow_layer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ public class AlleleEffectSnowing extends AlleleEffectThrottled {
|
||||
World world = housing.getWorld();
|
||||
|
||||
Vect spawn = Vect.getRandomPositionInArea(world.rand, area).add(coordinates).add(offset);
|
||||
Proxies.render.addEntitySnowFX(world, spawn.x, spawn.y, spawn.z);
|
||||
Proxies.common.addEntitySnowFX(world, spawn.x, spawn.y, spawn.z);
|
||||
return storedData;
|
||||
} else {
|
||||
return super.doFX(genome, storedData, housing);
|
||||
|
||||
@@ -15,7 +15,7 @@ import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
import forestry.core.genetics.EffectData;
|
||||
|
||||
public abstract class AlleleEffectThrottled extends AlleleEffect {
|
||||
public abstract class AlleleEffectThrottled extends AlleleEffectNone {
|
||||
|
||||
private boolean isCombinable = false;
|
||||
private final int throttle;
|
||||
|
||||
@@ -11,21 +11,24 @@
|
||||
package forestry.apiculture.gui;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.apiculture.items.ItemImprinter.ImprinterInventory;
|
||||
import forestry.apiculture.network.PacketImprintSelectionResponse;
|
||||
import forestry.core.gui.ContainerItemInventory;
|
||||
import forestry.core.gui.IGuiSelectable;
|
||||
import forestry.core.gui.slots.SlotFiltered;
|
||||
import forestry.core.gui.slots.SlotOutput;
|
||||
import forestry.core.network.PacketGuiSelectRequest;
|
||||
import forestry.core.network.ForestryPacket;
|
||||
import forestry.core.network.PacketGuiSelect;
|
||||
import forestry.core.network.PacketId;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.utils.InventoryUtil;
|
||||
|
||||
public class ContainerImprinter extends ContainerItemInventory<ImprinterInventory> implements IGuiSelectable {
|
||||
|
||||
private boolean isNetSynced = false;
|
||||
|
||||
public ContainerImprinter(InventoryPlayer inventoryplayer, ImprinterInventory inventory) {
|
||||
super(inventory, inventoryplayer, 8, 103);
|
||||
|
||||
@@ -37,34 +40,66 @@ public class ContainerImprinter extends ContainerItemInventory<ImprinterInventor
|
||||
|
||||
@Override
|
||||
public void onContainerClosed(EntityPlayer entityplayer) {
|
||||
|
||||
if (entityplayer.worldObj.isRemote) {
|
||||
return;
|
||||
}
|
||||
|
||||
InventoryUtil.dropInventory(inventory, entityplayer.worldObj, entityplayer.posX, entityplayer.posY, entityplayer.posZ);
|
||||
// Drop everything still in there.
|
||||
for (int i = 0; i < inventory.getSizeInventory(); i++) {
|
||||
ItemStack stack = inventory.getStackInSlot(i);
|
||||
if (stack == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Proxies.common.dropItemPlayer(entityplayer, stack);
|
||||
inventory.setInventorySlotContents(i, null);
|
||||
}
|
||||
}
|
||||
|
||||
public void advanceSelection(int index) {
|
||||
sendSelectionChange(index, 0);
|
||||
}
|
||||
|
||||
public void regressSelection(int index) {
|
||||
sendSelectionChange(index, 1);
|
||||
}
|
||||
|
||||
public void updateContainer(World world) {
|
||||
if (!isNetSynced && world.isRemote) {
|
||||
isNetSynced = true;
|
||||
Proxies.net.sendToServer(new ForestryPacket(PacketId.IMPRINT_SELECTION_GET));
|
||||
}
|
||||
}
|
||||
|
||||
private void sendSelectionChange(int index, int advance) {
|
||||
ForestryPacket packet = new PacketGuiSelect(PacketId.GUI_SELECTION_CHANGE, index, advance);
|
||||
Proxies.net.sendToServer(packet);
|
||||
isNetSynced = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSelectionRequest(EntityPlayerMP player, PacketGuiSelectRequest packetRequest) {
|
||||
if (packetRequest.getPrimaryIndex() == 0) {
|
||||
if (packetRequest.getSecondaryIndex() == 0) {
|
||||
public void handleSelectionChange(EntityPlayer player, PacketGuiSelect packet) {
|
||||
if (packet.getSecondaryIndex() == 0) {
|
||||
if (packet.getPrimaryIndex() == 0) {
|
||||
inventory.advancePrimary();
|
||||
} else {
|
||||
inventory.regressPrimary();
|
||||
}
|
||||
} else {
|
||||
if (packetRequest.getSecondaryIndex() == 0) {
|
||||
inventory.advanceSecondary();
|
||||
} else {
|
||||
inventory.regressSecondary();
|
||||
}
|
||||
} else if (packet.getPrimaryIndex() == 0) {
|
||||
inventory.regressPrimary();
|
||||
} else {
|
||||
inventory.regressSecondary();
|
||||
}
|
||||
|
||||
PacketImprintSelectionResponse packetResponse = new PacketImprintSelectionResponse(inventory.getPrimaryIndex(), inventory.getSecondaryIndex());
|
||||
Proxies.net.sendToPlayer(packetResponse, player);
|
||||
}
|
||||
|
||||
public void setSelection(PacketImprintSelectionResponse packetPayload) {
|
||||
public void sendSelection(EntityPlayer player) {
|
||||
ForestryPacket packet = new PacketGuiSelect(PacketId.GUI_SELECTION_SET, inventory.getPrimaryIndex(), inventory.getSecondaryIndex());
|
||||
Proxies.net.sendToPlayer(packet, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSelection(PacketGuiSelect packetPayload) {
|
||||
inventory.setPrimaryIndex(packetPayload.getPrimaryIndex());
|
||||
inventory.setSecondaryIndex(packetPayload.getSecondaryIndex());
|
||||
}
|
||||
|
||||
@@ -36,15 +36,31 @@ public class GuiAlveary extends GuiForestryTitled<ContainerAlveary, TileAlvearyP
|
||||
}
|
||||
|
||||
private void drawHealthMeter(int x, int y, int height, EnumTankLevel rated) {
|
||||
int i = 176 + rated.getLevelScaled(16);
|
||||
int i = 176;
|
||||
int k = 0;
|
||||
switch (rated) {
|
||||
case EMPTY:
|
||||
break;
|
||||
case LOW:
|
||||
i += 4;
|
||||
break;
|
||||
case MEDIUM:
|
||||
i += 8;
|
||||
break;
|
||||
case HIGH:
|
||||
i += 12;
|
||||
break;
|
||||
case MAXIMUM:
|
||||
i += 16;
|
||||
break;
|
||||
}
|
||||
|
||||
this.drawTexturedModalRect(x, y + 46 - height, i, k + 46 - height, 4, height);
|
||||
}
|
||||
|
||||
/* LEDGERS */
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
protected void initLedgers() {
|
||||
super.initLedgers();
|
||||
|
||||
IAlvearyController alvearyController = inventory.getAlvearyController();
|
||||
ledgerManager.add(new OwnerLedger(ledgerManager, alvearyController));
|
||||
|
||||
@@ -41,8 +41,24 @@ public class GuiBeeHousing extends GuiForestryTitled<ContainerBeeHousing, TileAb
|
||||
}
|
||||
|
||||
private void drawHealthMeter(int x, int y, int height, EnumTankLevel rated) {
|
||||
int i = 176 + rated.getLevelScaled(16);
|
||||
int i = 176;
|
||||
int k = 0;
|
||||
switch (rated) {
|
||||
case EMPTY:
|
||||
break;
|
||||
case LOW:
|
||||
i += 4;
|
||||
break;
|
||||
case MEDIUM:
|
||||
i += 8;
|
||||
break;
|
||||
case HIGH:
|
||||
i += 12;
|
||||
break;
|
||||
case MAXIMUM:
|
||||
i += 16;
|
||||
break;
|
||||
}
|
||||
|
||||
this.drawTexturedModalRect(x, y + 46 - height, i, k + 46 - height, 4, height);
|
||||
}
|
||||
|
||||
@@ -129,12 +129,20 @@ public class GuiBeealyzer extends GuiAlyzer {
|
||||
IAlleleInteger secondaryFertility = (IAlleleInteger) bee.getGenome().getInactiveAllele(EnumBeeChromosome.FERTILITY);
|
||||
drawFertilityInfo(primaryFertility.getValue(), COLUMN_1, getColorCoding(primaryFertility.isDominant()), 0);
|
||||
drawFertilityInfo(secondaryFertility.getValue(), COLUMN_2, getColorCoding(secondaryFertility.isDominant()), 0);
|
||||
|
||||
newLine();
|
||||
|
||||
drawChromosomeRow(StringUtil.localize("gui.area"), bee, EnumBeeChromosome.TERRITORY);
|
||||
IAlleleArea activeTerritory = (IAlleleArea) bee.getGenome().getActiveAllele(EnumBeeChromosome.TERRITORY);
|
||||
IAlleleArea inactiveTerritory = (IAlleleArea) bee.getGenome().getInactiveAllele(EnumBeeChromosome.TERRITORY);
|
||||
drawRow(StringUtil.localize("gui.area"),
|
||||
new Vect(activeTerritory.getValue()).toString(),
|
||||
new Vect(inactiveTerritory.getValue()).toString(),
|
||||
bee, EnumBeeChromosome.TERRITORY);
|
||||
|
||||
newLine();
|
||||
|
||||
drawChromosomeRow(StringUtil.localize("gui.effect"), bee, EnumBeeChromosome.EFFECT);
|
||||
|
||||
newLine();
|
||||
|
||||
endPage();
|
||||
|
||||
@@ -172,7 +172,7 @@ public class GuiHabitatLocator extends GuiForestry<ContainerHabitatLocator, Habi
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
Proxies.render.bindTexture(SpriteSheet.ITEMS);
|
||||
Proxies.common.bindTexture(SpriteSheet.ITEMS);
|
||||
manager.gui.drawTexturedModelRectFromIcon(startX + xPos, startY + yPos, getIcon(), 16, 16);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ import forestry.apiculture.items.ItemImprinter.ImprinterInventory;
|
||||
import forestry.core.config.Constants;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.gui.GuiForestry;
|
||||
import forestry.core.network.PacketGuiSelectRequest;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.utils.StringUtil;
|
||||
|
||||
@@ -55,6 +54,7 @@ public class GuiImprinter extends GuiForestry<ContainerImprinter, ImprinterInven
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float var1, int mouseX, int mouseY) {
|
||||
container.updateContainer(Proxies.common.getRenderWorld());
|
||||
super.drawGuiContainerBackgroundLayer(var1, mouseX, mouseY);
|
||||
|
||||
int offset = (138 - fontRendererObj.getStringWidth(StringUtil.localize("gui.imprinter.name"))) / 2;
|
||||
@@ -106,9 +106,9 @@ public class GuiImprinter extends GuiForestry<ContainerImprinter, ImprinterInven
|
||||
}
|
||||
|
||||
if (k == 0) {
|
||||
advanceSelection(slot);
|
||||
container.advanceSelection(slot);
|
||||
} else {
|
||||
regressSelection(slot);
|
||||
container.regressSelection(slot);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,16 +119,4 @@ public class GuiImprinter extends GuiForestry<ContainerImprinter, ImprinterInven
|
||||
startX = (this.width - this.xSize) / 2;
|
||||
startY = (this.height - this.ySize) / 2;
|
||||
}
|
||||
|
||||
private static void advanceSelection(int index) {
|
||||
sendSelectionChange(index, 0);
|
||||
}
|
||||
|
||||
private static void regressSelection(int index) {
|
||||
sendSelectionChange(index, 1);
|
||||
}
|
||||
|
||||
private static void sendSelectionChange(int index, int advance) {
|
||||
Proxies.net.sendToServer(new PacketGuiSelectRequest(index, advance));
|
||||
}
|
||||
}
|
||||
@@ -48,7 +48,7 @@ public class ItemArmorApiarist extends ItemArmor implements IArmorApiarist, IArm
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerIcons(IIconRegister register) {
|
||||
itemIcon = TextureManager.registerTex(register, StringUtil.cleanItemName(this));
|
||||
itemIcon = TextureManager.getInstance().registerTex(register, StringUtil.cleanItemName(this));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
@@ -178,18 +178,12 @@ public class ItemBeeGE extends ItemGE {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public IIcon getIcon(ItemStack itemstack, int renderPass) {
|
||||
return getIconFromSpecies(BeeGenome.getSpecies(itemstack), renderPass);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconIndex(ItemStack stack) {
|
||||
return getIcon(stack, 0);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconFromSpecies(IAlleleBeeSpecies species, int renderPass) {
|
||||
if (species == null) {
|
||||
|
||||
+26
-27
@@ -1,27 +1,26 @@
|
||||
/*******************************************************************************
|
||||
* 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.core.fluids;
|
||||
|
||||
import forestry.core.fluids.tanks.StandardTank;
|
||||
|
||||
public class FakeTankUpdateHandler implements ITankUpdateHandler {
|
||||
|
||||
public static FakeTankUpdateHandler instance = new FakeTankUpdateHandler();
|
||||
|
||||
private FakeTankUpdateHandler() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTankLevels(StandardTank tank) {
|
||||
|
||||
}
|
||||
}
|
||||
/*******************************************************************************
|
||||
* 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.items;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import forestry.core.items.IStructureBlockItem;
|
||||
import forestry.core.items.ItemBlockForestry;
|
||||
|
||||
/**
|
||||
* @author CovertJaguar <http://www.railcraft.info/>
|
||||
*/
|
||||
public class ItemBlockAlveary extends ItemBlockForestry implements IStructureBlockItem {
|
||||
|
||||
public ItemBlockAlveary(Block block) {
|
||||
super(block);
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
@@ -44,7 +43,6 @@ import forestry.api.core.IErrorSource;
|
||||
import forestry.api.core.IErrorState;
|
||||
import forestry.api.core.Tabs;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.apiculture.network.PacketHabitatBiomePointer;
|
||||
import forestry.apiculture.render.TextureHabitatLocator;
|
||||
import forestry.core.config.Config;
|
||||
import forestry.core.config.ForestryItem;
|
||||
@@ -120,7 +118,7 @@ public class ItemHabitatLocator extends ItemInventoried {
|
||||
removeInvalidBiomes(currentBiome, targetBiomes);
|
||||
|
||||
// reset the locator coordinates
|
||||
Proxies.render.setHabitatLocatorTexture(null, null);
|
||||
Proxies.common.setHabitatLocatorCoordinates(null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -142,8 +140,8 @@ public class ItemHabitatLocator extends ItemInventoried {
|
||||
ChunkCoordinates target = findNearestBiome(player, targetBiomes);
|
||||
|
||||
// send an update if we find the biome
|
||||
if (target != null && player instanceof EntityPlayerMP) {
|
||||
Proxies.net.sendToPlayer(new PacketHabitatBiomePointer(target), (EntityPlayerMP) player);
|
||||
if (target != null) {
|
||||
Proxies.common.setHabitatLocatorCoordinates(player, target);
|
||||
biomeFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,6 @@ import forestry.api.core.EnumTemperature;
|
||||
import forestry.api.core.IClimateControlled;
|
||||
import forestry.apiculture.BeeHousingInventory;
|
||||
import forestry.core.access.EnumAccess;
|
||||
import forestry.core.inventory.FakeInventoryAdapter;
|
||||
import forestry.core.inventory.IInventoryAdapter;
|
||||
import forestry.core.multiblock.CoordTriplet;
|
||||
import forestry.core.multiblock.IMultiblockPart;
|
||||
@@ -89,11 +88,7 @@ public class AlvearyController extends RectangularMultiblockControllerBase imple
|
||||
|
||||
@Override
|
||||
public IInventoryAdapter getInternalInventory() {
|
||||
if (isAssembled()) {
|
||||
return inventory;
|
||||
} else {
|
||||
return FakeInventoryAdapter.instance();
|
||||
}
|
||||
return inventory;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -309,10 +304,10 @@ public class AlvearyController extends RectangularMultiblockControllerBase imple
|
||||
fxY += upSpread;
|
||||
|
||||
// display fx on all 4 sides
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX - distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX + distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ - distanceFromCenter));
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ + distanceFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX - distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX + distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ - distanceFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ + distanceFromCenter));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,25 +10,14 @@
|
||||
******************************************************************************/
|
||||
package forestry.apiculture.multiblock;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.apiculture.IBeeHousingInventory;
|
||||
import forestry.api.apiculture.IBeeListener;
|
||||
import forestry.api.apiculture.IBeeModifier;
|
||||
import forestry.api.apiculture.IBeekeepingLogic;
|
||||
import forestry.api.core.EnumHumidity;
|
||||
import forestry.api.core.EnumTemperature;
|
||||
import forestry.api.core.IErrorLogic;
|
||||
import forestry.apiculture.blocks.BlockAlveary;
|
||||
import forestry.core.multiblock.MultiblockControllerBase;
|
||||
import forestry.core.multiblock.MultiblockValidationException;
|
||||
import forestry.core.multiblock.rectangular.RectangularMultiblockTileEntityBase;
|
||||
|
||||
public abstract class TileAlveary extends RectangularMultiblockTileEntityBase implements IBeeHousing {
|
||||
public abstract class TileAlveary extends RectangularMultiblockTileEntityBase {
|
||||
|
||||
public static final int PLAIN_META = 0;
|
||||
public static final int ENTRANCE_META = 1;
|
||||
@@ -94,8 +83,6 @@ public abstract class TileAlveary extends RectangularMultiblockTileEntityBase im
|
||||
if (worldObj.isRemote) {
|
||||
this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
notifyNeighborsOfBlockChange();
|
||||
markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -106,71 +93,6 @@ public abstract class TileAlveary extends RectangularMultiblockTileEntityBase im
|
||||
if (worldObj.isRemote) {
|
||||
this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||
}
|
||||
notifyNeighborsOfBlockChange();
|
||||
markDirty();
|
||||
}
|
||||
|
||||
/* IHousing */
|
||||
@Override
|
||||
public World getWorld() {
|
||||
return getAlvearyController().getWorld();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChunkCoordinates getCoordinates() {
|
||||
return getAlvearyController().getCoordinates();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiomeGenBase getBiome() {
|
||||
return getAlvearyController().getBiome();
|
||||
}
|
||||
|
||||
/* IBeeHousing */
|
||||
@Override
|
||||
public Iterable<IBeeModifier> getBeeModifiers() {
|
||||
return getAlvearyController().getBeeModifiers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<IBeeListener> getBeeListeners() {
|
||||
return getAlvearyController().getBeeListeners();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBeeHousingInventory getBeeInventory() {
|
||||
return getAlvearyController().getBeeInventory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBeekeepingLogic getBeekeepingLogic() {
|
||||
return getAlvearyController().getBeekeepingLogic();
|
||||
}
|
||||
|
||||
/* IClimatised */
|
||||
@Override
|
||||
public EnumTemperature getTemperature() {
|
||||
return getAlvearyController().getTemperature();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumHumidity getHumidity() {
|
||||
return getAlvearyController().getHumidity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBlockLightValue() {
|
||||
return getAlvearyController().getBlockLightValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBlockSeeTheSky() {
|
||||
return getAlvearyController().canBlockSeeTheSky();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IErrorLogic getErrorLogic() {
|
||||
return getAlvearyController().getErrorLogic();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,6 +10,8 @@
|
||||
******************************************************************************/
|
||||
package forestry.apiculture.multiblock;
|
||||
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.ICrafting;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -18,7 +20,6 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.FluidTankInfo;
|
||||
import net.minecraftforge.fluids.IFluidHandler;
|
||||
|
||||
import forestry.api.apiculture.IAlvearyComponent;
|
||||
import forestry.api.core.IClimateControlled;
|
||||
@@ -33,7 +34,7 @@ import forestry.core.inventory.TileInventoryAdapter;
|
||||
import forestry.core.network.GuiId;
|
||||
import forestry.core.tiles.ILiquidTankTile;
|
||||
|
||||
public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IInventory, ILiquidTankTile, IFluidHandler, IAlvearyComponent.Climatiser {
|
||||
public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IInventory, ILiquidTankTile, IAlvearyComponent.Climatiser {
|
||||
|
||||
private final HygroregulatorRecipe[] recipes;
|
||||
|
||||
@@ -55,7 +56,7 @@ public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IIn
|
||||
Fluid liquidIce = Fluids.ICE.getFluid();
|
||||
|
||||
this.liquidTank = new FilteredTank(Constants.PROCESSOR_TANK_CAPACITY, water, lava, liquidIce);
|
||||
this.tankManager = new TankManager(this, liquidTank);
|
||||
this.tankManager = new TankManager(liquidTank);
|
||||
|
||||
this.recipes = new HygroregulatorRecipe[]{new HygroregulatorRecipe(new FluidStack(water, 1), 1, 0.01f, -0.005f),
|
||||
new HygroregulatorRecipe(new FluidStack(lava, 1), 10, -0.01f, +0.005f),
|
||||
@@ -107,8 +108,12 @@ public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IIn
|
||||
}
|
||||
|
||||
if (tickCount % 20 == 0) {
|
||||
IInventoryAdapter canInventory = getInternalInventory();
|
||||
|
||||
// Check if we have suitable items waiting in the item slot
|
||||
FluidHelper.drainContainers(tankManager, this, 0);
|
||||
if (canInventory.getStackInSlot(0) != null) {
|
||||
FluidHelper.drainContainers(tankManager, canInventory, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +121,7 @@ public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IIn
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbttagcompound) {
|
||||
super.readFromNBT(nbttagcompound);
|
||||
tankManager.readFromNBT(nbttagcompound);
|
||||
tankManager.readTanksFromNBT(nbttagcompound);
|
||||
|
||||
transferTime = nbttagcompound.getInteger("TransferTime");
|
||||
|
||||
@@ -129,7 +134,7 @@ public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IIn
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbttagcompound) {
|
||||
super.writeToNBT(nbttagcompound);
|
||||
tankManager.writeToNBT(nbttagcompound);
|
||||
tankManager.writeTanksToNBT(nbttagcompound);
|
||||
|
||||
nbttagcompound.setInteger("TransferTime", transferTime);
|
||||
if (currentRecipe != null) {
|
||||
@@ -181,6 +186,14 @@ public class TileAlvearyHygroregulator extends TileAlvearyWithGui implements IIn
|
||||
return tankManager.getTankInfo(from);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getGUINetworkData(int messageId, int data) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendGUINetworkData(Container container, ICrafting iCrafting) {
|
||||
}
|
||||
|
||||
/* RECIPE MANAGMENT */
|
||||
private static class HygroregulatorRecipe {
|
||||
|
||||
|
||||
@@ -16,12 +16,23 @@ import java.util.Collection;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import cpw.mods.fml.common.Optional;
|
||||
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.apiculture.IBeeHousingInventory;
|
||||
import forestry.api.apiculture.IBeeListener;
|
||||
import forestry.api.apiculture.IBeeModifier;
|
||||
import forestry.api.apiculture.IBeekeepingLogic;
|
||||
import forestry.api.core.EnumHumidity;
|
||||
import forestry.api.core.EnumTemperature;
|
||||
import forestry.api.core.ForestryAPI;
|
||||
import forestry.api.core.IErrorLogic;
|
||||
import forestry.apiculture.trigger.ApicultureTriggers;
|
||||
import forestry.core.config.Config;
|
||||
import forestry.core.gui.IHintSource;
|
||||
@@ -42,7 +53,7 @@ import buildcraft.api.statements.ITriggerInternal;
|
||||
import buildcraft.api.statements.ITriggerProvider;
|
||||
|
||||
@Optional.Interface(iface = "buildcraft.api.statements.ITriggerProvider", modid = "BuildCraftAPI|statements")
|
||||
public class TileAlvearyPlain extends TileAlveary implements IClimatised, IHintSource, IStreamableGui, ITitled, ITriggerProvider {
|
||||
public class TileAlvearyPlain extends TileAlveary implements IBeeHousing, IClimatised, IHintSource, IStreamableGui, ITitled, ITriggerProvider {
|
||||
|
||||
@Override
|
||||
public void onMachineAssembled(MultiblockControllerBase controller) {
|
||||
@@ -128,7 +139,64 @@ public class TileAlvearyPlain extends TileAlveary implements IClimatised, IHintS
|
||||
return res;
|
||||
}
|
||||
|
||||
/* IHousing */
|
||||
@Override
|
||||
public World getWorld() {
|
||||
return getAlvearyController().getWorld();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChunkCoordinates getCoordinates() {
|
||||
return getAlvearyController().getCoordinates();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiomeGenBase getBiome() {
|
||||
return getAlvearyController().getBiome();
|
||||
}
|
||||
|
||||
/* IBeeHousing */
|
||||
@Override
|
||||
public Iterable<IBeeModifier> getBeeModifiers() {
|
||||
return getAlvearyController().getBeeModifiers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<IBeeListener> getBeeListeners() {
|
||||
return getAlvearyController().getBeeListeners();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBeeHousingInventory getBeeInventory() {
|
||||
return getAlvearyController().getBeeInventory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBeekeepingLogic getBeekeepingLogic() {
|
||||
return getAlvearyController().getBeekeepingLogic();
|
||||
}
|
||||
|
||||
/* IClimatised */
|
||||
@Override
|
||||
public EnumTemperature getTemperature() {
|
||||
return getAlvearyController().getTemperature();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumHumidity getHumidity() {
|
||||
return getAlvearyController().getHumidity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBlockLightValue() {
|
||||
return getAlvearyController().getBlockLightValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBlockSeeTheSky() {
|
||||
return getAlvearyController().canBlockSeeTheSky();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getExactTemperature() {
|
||||
return getAlvearyController().getExactTemperature();
|
||||
@@ -138,4 +206,10 @@ public class TileAlvearyPlain extends TileAlveary implements IClimatised, IHintS
|
||||
public float getExactHumidity() {
|
||||
return getAlvearyController().getExactHumidity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IErrorLogic getErrorLogic() {
|
||||
return getAlvearyController().getErrorLogic();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,26 +12,29 @@ package forestry.apiculture.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.IForestryPacketClient;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketIdClient;
|
||||
import forestry.core.network.PacketId;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.tiles.IActivatable;
|
||||
|
||||
public class PacketActiveUpdate extends PacketCoordinates implements IForestryPacketClient {
|
||||
public class PacketActiveUpdate extends PacketCoordinates {
|
||||
|
||||
private boolean active;
|
||||
|
||||
public PacketActiveUpdate() {
|
||||
public static void onPacketData(DataInputStreamForestry data) throws IOException {
|
||||
new PacketActiveUpdate(data);
|
||||
}
|
||||
|
||||
private PacketActiveUpdate(DataInputStreamForestry data) throws IOException {
|
||||
super(data);
|
||||
}
|
||||
|
||||
public PacketActiveUpdate(IActivatable tile) {
|
||||
super(PacketIdClient.TILE_FORESTRY_ACTIVE, tile.getCoordinates());
|
||||
super(PacketId.TILE_FORESTRY_ACTIVE, tile.getCoordinates());
|
||||
this.active = tile.isActive();
|
||||
}
|
||||
|
||||
@@ -42,13 +45,11 @@ public class PacketActiveUpdate extends PacketCoordinates implements IForestryPa
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readData(DataInputStreamForestry data) throws IOException {
|
||||
protected void readData(DataInputStreamForestry data) throws IOException {
|
||||
super.readData(data);
|
||||
active = data.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketData(DataInputStreamForestry data, EntityPlayer player) {
|
||||
active = data.readBoolean();
|
||||
|
||||
TileEntity tile = getTarget(Proxies.common.getRenderWorld());
|
||||
if (tile instanceof IActivatable) {
|
||||
((IActivatable) tile).setActive(active);
|
||||
|
||||
@@ -12,7 +12,6 @@ package forestry.apiculture.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
@@ -20,19 +19,23 @@ import forestry.api.apiculture.IBeekeepingLogic;
|
||||
import forestry.apiculture.BeekeepingLogic;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.IForestryPacketClient;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketIdClient;
|
||||
import forestry.core.network.PacketId;
|
||||
import forestry.core.proxy.Proxies;
|
||||
|
||||
public class PacketBeekeepingLogicActive extends PacketCoordinates implements IForestryPacketClient {
|
||||
public class PacketBeekeepingLogicActive extends PacketCoordinates {
|
||||
private BeekeepingLogic beekeepingLogic;
|
||||
|
||||
public PacketBeekeepingLogicActive() {
|
||||
public static void onPacketData(DataInputStreamForestry data) throws IOException {
|
||||
new PacketBeekeepingLogicActive(data);
|
||||
}
|
||||
|
||||
private PacketBeekeepingLogicActive(DataInputStreamForestry data) throws IOException {
|
||||
super(data);
|
||||
}
|
||||
|
||||
public PacketBeekeepingLogicActive(IBeeHousing tile) {
|
||||
super(PacketIdClient.BEE_LOGIC_ACTIVE, tile.getCoordinates());
|
||||
super(PacketId.BEE_LOGIC_ACTIVE, tile.getCoordinates());
|
||||
this.beekeepingLogic = (BeekeepingLogic) tile.getBeekeepingLogic();
|
||||
}
|
||||
|
||||
@@ -43,7 +46,9 @@ public class PacketBeekeepingLogicActive extends PacketCoordinates implements IF
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketData(DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
protected void readData(DataInputStreamForestry data) throws IOException {
|
||||
super.readData(data);
|
||||
|
||||
TileEntity tile = getTarget(Proxies.common.getRenderWorld());
|
||||
if (tile instanceof IBeeHousing) {
|
||||
IBeeHousing beeHousing = (IBeeHousing) tile;
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* 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.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import forestry.apiculture.tiles.TileCandle;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.IForestryPacketClient;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketIdClient;
|
||||
import forestry.core.proxy.Proxies;
|
||||
|
||||
public class PacketCandleUpdate extends PacketCoordinates implements IForestryPacketClient {
|
||||
|
||||
private int colour;
|
||||
private boolean lit;
|
||||
|
||||
public PacketCandleUpdate() {
|
||||
}
|
||||
|
||||
public PacketCandleUpdate(TileCandle tileCandle) {
|
||||
super(PacketIdClient.CANDLE_UPDATE, tileCandle);
|
||||
|
||||
colour = tileCandle.getColour();
|
||||
lit = tileCandle.isLit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeData(DataOutputStreamForestry data) throws IOException {
|
||||
super.writeData(data);
|
||||
data.writeInt(colour);
|
||||
data.writeBoolean(lit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readData(DataInputStreamForestry data) throws IOException {
|
||||
super.readData(data);
|
||||
colour = data.readInt();
|
||||
lit = data.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketData(DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
TileEntity tileEntity = getTarget(Proxies.common.getRenderWorld());
|
||||
if (tileEntity instanceof TileCandle) {
|
||||
((TileCandle) tileEntity).onPacketUpdate(colour, lit);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* 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.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.IForestryPacketClient;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketIdClient;
|
||||
import forestry.core.proxy.Proxies;
|
||||
|
||||
public class PacketHabitatBiomePointer extends PacketCoordinates implements IForestryPacketClient {
|
||||
|
||||
public PacketHabitatBiomePointer() {
|
||||
}
|
||||
|
||||
public PacketHabitatBiomePointer(ChunkCoordinates coordinates) {
|
||||
super(PacketIdClient.HABITAT_BIOME_POINTER, coordinates);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketData(DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
Proxies.render.setHabitatLocatorTexture(player, getCoordinates());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*******************************************************************************
|
||||
* 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.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import forestry.apiculture.gui.ContainerImprinter;
|
||||
import forestry.apiculture.tiles.TileCandle;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.IPacketHandler;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketId;
|
||||
import forestry.core.proxy.Proxies;
|
||||
|
||||
public class PacketHandlerApiculture implements IPacketHandler {
|
||||
|
||||
@Override
|
||||
public boolean onPacketData(PacketId packetID, DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
|
||||
switch (packetID) {
|
||||
case HABITAT_BIOME_POINTER: {
|
||||
PacketCoordinates packet = new PacketCoordinates(data);
|
||||
Proxies.common.setHabitatLocatorCoordinates(player, packet.getCoordinates());
|
||||
return true;
|
||||
}
|
||||
case IMPRINT_SELECTION_GET: {
|
||||
onImprintSelectionGet(player);
|
||||
return true;
|
||||
}
|
||||
case CANDLE: {
|
||||
PacketUpdateCandle updateCandle = new PacketUpdateCandle(data);
|
||||
onCandleUpdate(updateCandle);
|
||||
return true;
|
||||
}
|
||||
case BEE_LOGIC_ACTIVE: {
|
||||
PacketBeekeepingLogicActive.onPacketData(data);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static void onImprintSelectionGet(EntityPlayer playerEntity) {
|
||||
|
||||
if (!(playerEntity.openContainer instanceof ContainerImprinter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
((ContainerImprinter) playerEntity.openContainer).sendSelection(playerEntity);
|
||||
|
||||
}
|
||||
|
||||
private static void onCandleUpdate(PacketUpdateCandle updateCandle) {
|
||||
TileEntity tileEntity = updateCandle.getTarget(Proxies.common.getRenderWorld());
|
||||
if (tileEntity instanceof TileCandle) {
|
||||
((TileCandle) tileEntity).onPacketUpdate(updateCandle);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* 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.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
||||
import forestry.apiculture.gui.ContainerImprinter;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.IForestryPacketClient;
|
||||
import forestry.core.network.PacketGuiSelect;
|
||||
import forestry.core.network.PacketIdClient;
|
||||
|
||||
public class PacketImprintSelectionResponse extends PacketGuiSelect implements IForestryPacketClient {
|
||||
|
||||
public PacketImprintSelectionResponse() {
|
||||
}
|
||||
|
||||
public PacketImprintSelectionResponse(int primaryIndex, int secondaryIndex) {
|
||||
super(PacketIdClient.IMPRINT_SELECTION_RESPONSE, primaryIndex, secondaryIndex);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketData(DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
Container container = player.openContainer;
|
||||
if (!(container instanceof ContainerImprinter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
((ContainerImprinter) container).setSelection(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package forestry.apiculture.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import forestry.apiculture.tiles.TileCandle;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketId;
|
||||
|
||||
public class PacketUpdateCandle extends PacketCoordinates {
|
||||
|
||||
private int colour;
|
||||
private boolean lit;
|
||||
|
||||
public PacketUpdateCandle(DataInputStreamForestry data) throws IOException {
|
||||
super(data);
|
||||
}
|
||||
|
||||
public PacketUpdateCandle(TileCandle tileCandle) {
|
||||
super(PacketId.CANDLE, tileCandle);
|
||||
|
||||
colour = tileCandle.getColour();
|
||||
lit = tileCandle.isLit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeData(DataOutputStreamForestry data) throws IOException {
|
||||
super.writeData(data);
|
||||
data.writeInt(colour);
|
||||
data.writeBoolean(lit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readData(DataInputStreamForestry data) throws IOException {
|
||||
super.readData(data);
|
||||
colour = data.readInt();
|
||||
lit = data.readBoolean();
|
||||
}
|
||||
|
||||
public int getColour() {
|
||||
return colour;
|
||||
}
|
||||
|
||||
public boolean isLit() {
|
||||
return lit;
|
||||
}
|
||||
}
|
||||
@@ -10,9 +10,17 @@
|
||||
******************************************************************************/
|
||||
package forestry.apiculture.proxy;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.core.render.IBlockRenderer;
|
||||
|
||||
public class ProxyApiculture {
|
||||
public void addBeeHiveFX(String texture, World world, ChunkCoordinates coordinates, int color) {
|
||||
}
|
||||
|
||||
public void addBeeSwarmFX(String texture, World world, double xCoord, double yCoord, double zCoord, int color) {
|
||||
}
|
||||
|
||||
public IBlockRenderer getRendererAnalyzer(String string) {
|
||||
return null;
|
||||
|
||||
@@ -10,16 +10,24 @@
|
||||
******************************************************************************/
|
||||
package forestry.apiculture.proxy;
|
||||
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
|
||||
import forestry.apiculture.entities.EntityBee;
|
||||
import forestry.apiculture.entities.EntityFXBee;
|
||||
import forestry.apiculture.render.ParticleRenderer;
|
||||
import forestry.apiculture.render.RenderBeeEntity;
|
||||
import forestry.apiculture.render.RenderBeeItem;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.proxy.ProxyRenderClient;
|
||||
import forestry.core.render.IBlockRenderer;
|
||||
import forestry.core.render.RenderAnalyzer;
|
||||
import forestry.core.render.TextureManager;
|
||||
import forestry.plugins.PluginApiculture;
|
||||
|
||||
public class ProxyApicultureClient extends ProxyApiculture {
|
||||
@@ -35,6 +43,40 @@ public class ProxyApicultureClient extends ProxyApiculture {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBeeHiveFX(String icon, World world, ChunkCoordinates coordinates, int color) {
|
||||
if (!ProxyRenderClient.shouldSpawnParticle(world)) {
|
||||
return;
|
||||
}
|
||||
|
||||
EntityFX fx = new EntityFXBee(world, coordinates.posX + 0.5D, coordinates.posY + 0.5D, coordinates.posZ + 0.5D, color);
|
||||
fx.setParticleIcon(TextureManager.getInstance().getDefault(icon));
|
||||
ParticleRenderer.getInstance().addEffect(fx);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBeeSwarmFX(String icon, World world, double xCoord, double yCoord, double zCoord, int color) {
|
||||
if (!ProxyRenderClient.shouldSpawnParticle(world)) {
|
||||
return;
|
||||
}
|
||||
|
||||
EntityFX fx;
|
||||
|
||||
if (world.rand.nextBoolean()) {
|
||||
fx = new EntityFXBee(world, xCoord, yCoord, zCoord, color);
|
||||
} else {
|
||||
|
||||
double spawnX = xCoord + world.rand.nextInt(4) - 2;
|
||||
double spawnY = yCoord + world.rand.nextInt(4) - 2;
|
||||
double spawnZ = zCoord + world.rand.nextInt(4) - 2;
|
||||
|
||||
fx = new EntityFXBee(world, spawnX, spawnY, spawnZ, color);
|
||||
}
|
||||
|
||||
fx.setParticleIcon(TextureManager.getInstance().getDefault(icon));
|
||||
ParticleRenderer.getInstance().addEffect(fx);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockRenderer getRendererAnalyzer(String gfxBase) {
|
||||
return new RenderAnalyzer(gfxBase);
|
||||
|
||||
@@ -83,7 +83,7 @@ public class ModelAnalyzer extends ModelBase {
|
||||
|
||||
float factor = (float) (1.0 / 16.0);
|
||||
|
||||
Proxies.render.bindTexture(textures[0]);
|
||||
Proxies.common.bindTexture(textures[0]);
|
||||
|
||||
pedestal.rotateAngleX = angle[0];
|
||||
pedestal.rotateAngleY = angle[1];
|
||||
@@ -98,13 +98,13 @@ public class ModelAnalyzer extends ModelBase {
|
||||
tower1.rotateAngleX = angle[0];
|
||||
tower1.rotateAngleY = angle[1];
|
||||
tower1.rotateAngleZ = angle[2];
|
||||
Proxies.render.bindTexture(textures[1]);
|
||||
Proxies.common.bindTexture(textures[1]);
|
||||
tower1.render(factor);
|
||||
|
||||
tower2.rotateAngleX = angle[0];
|
||||
tower2.rotateAngleY = angle[1];
|
||||
tower2.rotateAngleZ = angle[2];
|
||||
Proxies.render.bindTexture(textures[2]);
|
||||
Proxies.common.bindTexture(textures[2]);
|
||||
tower2.render(factor);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
@@ -92,7 +92,7 @@ public class RenderBeeItem implements IItemRenderer {
|
||||
float xPos = 1.0f; float yPos = 1.0f;
|
||||
float width = 1f; float height = 1f;
|
||||
|
||||
Proxies.render.bindTexture(SpriteSheet.ITEMS);
|
||||
Proxies.common.bindTexture(SpriteSheet.ITEMS);
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.addVertexWithUV((double)(xPos + 0), (double)(yPos + height), 0f, (double)background.getMinU(), (double)background.getMaxV());
|
||||
|
||||
@@ -102,10 +102,10 @@ public abstract class TileAbstractBeeHousing extends TileBase implements IBeeHou
|
||||
float upSpread = (worldObj.rand.nextFloat() * 6F) / 16F;
|
||||
fxY += upSpread;
|
||||
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX - distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX + distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ - distanceFromCenter));
|
||||
Proxies.render.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ + distanceFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX - distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX + distanceFromCenter), fxY, (fxZ + leftRightSpreadFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ - distanceFromCenter));
|
||||
Proxies.common.addEntitySwarmFX(worldObj, (fxX + leftRightSpreadFromCenter), fxY, (fxZ + distanceFromCenter));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import forestry.apiculture.network.PacketCandleUpdate;
|
||||
import forestry.apiculture.network.PacketUpdateCandle;
|
||||
|
||||
public class TileCandle extends TileEntity {
|
||||
private int colour;
|
||||
@@ -28,13 +28,13 @@ public class TileCandle extends TileEntity {
|
||||
|
||||
@Override
|
||||
public Packet getDescriptionPacket() {
|
||||
PacketCandleUpdate updateCandle = new PacketCandleUpdate(this);
|
||||
PacketUpdateCandle updateCandle = new PacketUpdateCandle(this);
|
||||
return updateCandle.getPacket();
|
||||
}
|
||||
|
||||
public void onPacketUpdate(int colour, boolean isLit) {
|
||||
this.colour = colour;
|
||||
this.lit = isLit;
|
||||
public void onPacketUpdate(PacketUpdateCandle updateCandle) {
|
||||
colour = updateCandle.getColour();
|
||||
lit = updateCandle.isLit();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -127,7 +127,7 @@ public class FruitProviderNone implements IFruitProvider {
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister register) {
|
||||
if (overlay != null) {
|
||||
TextureManager.registerTexUID(register, overlay.texUID, "leaves/fruits." + overlay.ident);
|
||||
TextureManager.getInstance().registerTexUID(register, overlay.texUID, "leaves/fruits." + overlay.ident);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,21 +36,10 @@ public class FruitProviderPod extends FruitProviderNone {
|
||||
PAPAYA((short) 2013, (short) 2014, (short) 2015);//, COCONUT((short)2016, (short)2017, (short)2018);
|
||||
|
||||
public final short[] uids;
|
||||
|
||||
EnumPodType(short stage1, short stage2, short stage3) {
|
||||
uids = new short[]{stage1, stage2, stage3};
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister register) {
|
||||
if (this == COCOA) {
|
||||
return;
|
||||
}
|
||||
|
||||
String name = toString().toLowerCase(Locale.ENGLISH);
|
||||
for (int i = 0; i < 3; i++) {
|
||||
TextureManager.registerTexUID(register, uids[i], "pods/" + name + "." + i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static final ItemStack[] DUMMY = new ItemStack[0];
|
||||
@@ -109,7 +98,13 @@ public class FruitProviderPod extends FruitProviderNone {
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister register) {
|
||||
type.registerIcons(register);
|
||||
if (type == EnumPodType.COCOA) {
|
||||
return;
|
||||
}
|
||||
|
||||
TextureManager.getInstance().registerTexUID(register, type.uids[0], "pods/" + type.toString().toLowerCase(Locale.ENGLISH) + ".0");
|
||||
TextureManager.getInstance().registerTexUID(register, type.uids[1], "pods/" + type.toString().toLowerCase(Locale.ENGLISH) + ".1");
|
||||
TextureManager.getInstance().registerTexUID(register, type.uids[2], "pods/" + type.toString().toLowerCase(Locale.ENGLISH) + ".2");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.arboriculture.TreeManager;
|
||||
import forestry.arboriculture.genetics.TreeHelper;
|
||||
import forestry.arboriculture.gui.GuiTreealyzer;
|
||||
import forestry.arboriculture.items.ItemTreealyzer.TreealyzerInventory;
|
||||
import forestry.core.GuiHandlerBase;
|
||||
@@ -34,7 +34,7 @@ public class GuiHandlerArboriculture extends GuiHandlerBase {
|
||||
switch (GuiId.values()[cleanId]) {
|
||||
|
||||
case ArboristChestGUI:
|
||||
return this.getNaturalistChestContainer(TreeManager.treeRoot, player, world, x, y, z, decodeGuiData(id));
|
||||
return this.getNaturalistChestContainer(TreeHelper.UID, player, world, x, y, z, decodeGuiData(id));
|
||||
|
||||
case TreealyzerGUI:
|
||||
ItemStack equipped = player.getCurrentEquippedItem();
|
||||
@@ -62,7 +62,7 @@ public class GuiHandlerArboriculture extends GuiHandlerBase {
|
||||
switch (GuiId.values()[cleanId]) {
|
||||
|
||||
case ArboristChestGUI:
|
||||
return this.getNaturalistChestGui(TreeManager.treeRoot, player, world, x, y, z, decodeGuiData(id));
|
||||
return this.getNaturalistChestGui(TreeHelper.UID, player, world, x, y, z, decodeGuiData(id));
|
||||
|
||||
case TreealyzerGUI:
|
||||
ItemStack equipped = player.getCurrentEquippedItem();
|
||||
|
||||
@@ -106,7 +106,7 @@ public class BlockArbFence extends BlockFence implements IWoodTyped, ITileEntity
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = BlockWood.getWoodTile(world, x, y, z);
|
||||
EnumWoodType woodType = wood.getWoodType();
|
||||
return IconProviderWood.getPlankIcon(woodType);
|
||||
}
|
||||
@@ -125,37 +125,30 @@ public class BlockArbFence extends BlockFence implements IWoodTyped, ITileEntity
|
||||
@Override
|
||||
public final ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) {
|
||||
ItemStack itemStack = new ItemStack(this);
|
||||
NBTTagCompound nbt = TileWood.getTagCompound(world, x, y, z);
|
||||
NBTTagCompound nbt = BlockWood.getTagCompound(world, x, y, z);
|
||||
itemStack.setTagCompound(nbt);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
/* DROP HANDLING */
|
||||
// Hack: When harvesting we need to get the drops in onBlockHarvested,
|
||||
// because Mojang destroys the block and tile before calling getDrops.
|
||||
private final ThreadLocal<ArrayList<ItemStack>> drops = new ThreadLocal<>();
|
||||
@Override
|
||||
public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) {
|
||||
return TileWood.blockRemovedByPlayer(this, world, player, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer playerProfile) {
|
||||
drops.set(TileWood.getDrops(this, world, x, y, z));
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
|
||||
world.removeTileEntity(x, y, z);
|
||||
super.breakBlock(world, x, y, z, block, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
|
||||
ArrayList<ItemStack> ret = drops.get();
|
||||
drops.remove();
|
||||
|
||||
// not harvested, get drops normally
|
||||
if (ret == null) {
|
||||
ret = TileWood.getDrops(this, world, x, y, z);
|
||||
}
|
||||
|
||||
return ret;
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final float getBlockHardness(World world, int x, int y, int z) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = BlockWood.getWoodTile(world, x, y, z);
|
||||
if (wood == null) {
|
||||
return EnumWoodType.DEFAULT_HARDNESS;
|
||||
}
|
||||
|
||||
@@ -67,33 +67,26 @@ public class BlockArbStairs extends BlockStairs implements IWoodTyped, ITileEnti
|
||||
}
|
||||
}
|
||||
|
||||
/* DROP HANDLING */
|
||||
// Hack: When harvesting we need to get the drops in onBlockHarvested,
|
||||
// because Mojang destroys the block and tile before calling getDrops.
|
||||
private final ThreadLocal<ArrayList<ItemStack>> drops = new ThreadLocal<>();
|
||||
@Override
|
||||
public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) {
|
||||
return TileWood.blockRemovedByPlayer(this, world, player, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer playerProfile) {
|
||||
drops.set(TileWood.getDrops(this, world, x, y, z));
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
|
||||
world.removeTileEntity(x, y, z);
|
||||
super.breakBlock(world, x, y, z, block, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
|
||||
ArrayList<ItemStack> ret = drops.get();
|
||||
drops.remove();
|
||||
|
||||
// not harvested, get drops normally
|
||||
if (ret == null) {
|
||||
ret = TileWood.getDrops(this, world, x, y, z);
|
||||
}
|
||||
|
||||
return ret;
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) {
|
||||
ItemStack itemStack = super.getPickBlock(target, world, x, y, z);
|
||||
NBTTagCompound stairsNBT = TileWood.getTagCompound(world, x, y, z);
|
||||
NBTTagCompound stairsNBT = BlockWood.getTagCompound(world, x, y, z);
|
||||
itemStack.setTagCompound(stairsNBT);
|
||||
return itemStack;
|
||||
}
|
||||
@@ -114,7 +107,7 @@ public class BlockArbStairs extends BlockStairs implements IWoodTyped, ITileEnti
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = BlockWood.getWoodTile(world, x, y, z);
|
||||
EnumWoodType woodType = wood.getWoodType();
|
||||
return IconProviderWood.getPlankIcon(woodType);
|
||||
}
|
||||
|
||||
@@ -48,7 +48,6 @@ import forestry.api.arboriculture.ITree;
|
||||
import forestry.api.arboriculture.TreeManager;
|
||||
import forestry.api.core.IToolScoop;
|
||||
import forestry.api.core.Tabs;
|
||||
import forestry.api.lepidopterology.ButterflyManager;
|
||||
import forestry.api.lepidopterology.EnumFlutterType;
|
||||
import forestry.api.lepidopterology.IButterfly;
|
||||
import forestry.arboriculture.LeafDecayHelper;
|
||||
@@ -59,6 +58,7 @@ import forestry.arboriculture.tiles.TileLeaves;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.utils.ItemStackUtil;
|
||||
import forestry.plugins.PluginArboriculture;
|
||||
import forestry.plugins.PluginLepidopterology;
|
||||
|
||||
public class BlockForestryLeaves extends BlockNewLeaf implements ITileEntityProvider, IGrowable {
|
||||
|
||||
@@ -340,7 +340,7 @@ public class BlockForestryLeaves extends BlockNewLeaf implements ITileEntityProv
|
||||
TileEntity tile = world.getTileEntity(x, y, z);
|
||||
IButterfly caterpillar = tile instanceof TileLeaves ? ((TileLeaves) tile).getCaterpillar() : null;
|
||||
if (heldItem != null && (heldItem.getItem() instanceof IToolScoop) && caterpillar != null) {
|
||||
ItemStack butterfly = ButterflyManager.butterflyRoot.getMemberStack(caterpillar, EnumFlutterType.CATERPILLAR.ordinal());
|
||||
ItemStack butterfly = PluginLepidopterology.butterflyInterface.getMemberStack(caterpillar, EnumFlutterType.CATERPILLAR.ordinal());
|
||||
ItemStackUtil.dropItemStackAsEntity(butterfly, world, x, y, z);
|
||||
((TileLeaves) tile).setCaterpillar(null);
|
||||
return true;
|
||||
|
||||
@@ -111,7 +111,7 @@ public class BlockFruitPod extends BlockCocoa {
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
defaultIcon = TextureManager.registerTex(register, "pods/papaya.2");
|
||||
defaultIcon = TextureManager.getInstance().registerTex(register, "pods/papaya.2");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
@@ -45,7 +45,6 @@ public class BlockLog extends BlockWood {
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
|
||||
super.breakBlock(world, x, y, z, block, meta);
|
||||
|
||||
byte radius = 4;
|
||||
int boundary = radius + 1;
|
||||
@@ -102,7 +101,7 @@ public class BlockLog extends BlockWood {
|
||||
@Override
|
||||
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = getWoodTile(world, x, y, z);
|
||||
EnumWoodType type = wood.getWoodType();
|
||||
if (type == null) {
|
||||
return getIcon(side, meta);
|
||||
|
||||
@@ -50,7 +50,7 @@ public class BlockPlanks extends BlockWood {
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = getWoodTile(world, x, y, z);
|
||||
EnumWoodType woodType = wood.getWoodType();
|
||||
return IconProviderWood.getPlankIcon(woodType);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public class BlockSapling extends BlockTreeContainer implements IGrowable {
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
defaultIcon = TextureManager.registerTex(register, "germlings/sapling.treeBalsa");
|
||||
defaultIcon = TextureManager.getInstance().registerTex(register, "germlings/sapling.treeBalsa");
|
||||
|
||||
for (IAllele allele : AlleleManager.alleleRegistry.getRegisteredAlleles().values()) {
|
||||
if (allele instanceof IAlleleTreeSpecies) {
|
||||
|
||||
@@ -85,7 +85,7 @@ public class BlockSlab extends net.minecraft.block.BlockSlab implements IWoodTyp
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = BlockWood.getWoodTile(world, x, y, z);
|
||||
EnumWoodType woodType = wood.getWoodType();
|
||||
return IconProviderWood.getPlankIcon(woodType);
|
||||
}
|
||||
@@ -122,37 +122,30 @@ public class BlockSlab extends net.minecraft.block.BlockSlab implements IWoodTyp
|
||||
@Override
|
||||
public final ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) {
|
||||
ItemStack itemStack = new ItemStack(this);
|
||||
NBTTagCompound nbt = TileWood.getTagCompound(world, x, y, z);
|
||||
NBTTagCompound nbt = BlockWood.getTagCompound(world, x, y, z);
|
||||
itemStack.setTagCompound(nbt);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
/* DROP HANDLING */
|
||||
// Hack: When harvesting we need to get the drops in onBlockHarvested,
|
||||
// because Mojang destroys the block and tile before calling getDrops.
|
||||
private final ThreadLocal<ArrayList<ItemStack>> drops = new ThreadLocal<>();
|
||||
@Override
|
||||
public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) {
|
||||
return TileWood.blockRemovedByPlayer(this, world, player, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer playerProfile) {
|
||||
drops.set(TileWood.getDrops(this, world, x, y, z));
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
|
||||
world.removeTileEntity(x, y, z);
|
||||
super.breakBlock(world, x, y, z, block, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
|
||||
ArrayList<ItemStack> ret = drops.get();
|
||||
drops.remove();
|
||||
|
||||
// not harvested, get drops normally
|
||||
if (ret == null) {
|
||||
ret = TileWood.getDrops(this, world, x, y, z);
|
||||
}
|
||||
|
||||
return ret;
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final float getBlockHardness(World world, int x, int y, int z) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = BlockWood.getWoodTile(world, x, y, z);
|
||||
if (wood == null) {
|
||||
return EnumWoodType.DEFAULT_HARDNESS;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import forestry.arboriculture.IWoodTyped;
|
||||
import forestry.arboriculture.render.IconProviderWood;
|
||||
import forestry.arboriculture.tiles.TileWood;
|
||||
import forestry.core.render.ParticleHelper;
|
||||
import forestry.core.tiles.TileUtil;
|
||||
|
||||
public abstract class BlockWood extends Block implements ITileEntityProvider, IWoodTyped {
|
||||
|
||||
@@ -65,6 +66,21 @@ public abstract class BlockWood extends Block implements ITileEntityProvider, IW
|
||||
return fireproof;
|
||||
}
|
||||
|
||||
public static TileWood getWoodTile(IBlockAccess world, int x, int y, int z) {
|
||||
return TileUtil.getTile(world, x, y, z, TileWood.class);
|
||||
}
|
||||
|
||||
protected static NBTTagCompound getTagCompound(IBlockAccess world, int x, int y, int z) {
|
||||
TileWood wood = getWoodTile(world, x, y, z);
|
||||
NBTTagCompound nbttagcompound = new NBTTagCompound();
|
||||
if (wood == null) {
|
||||
return nbttagcompound;
|
||||
}
|
||||
EnumWoodType woodType = wood.getWoodType();
|
||||
woodType.saveToCompound(nbttagcompound);
|
||||
return nbttagcompound;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public final void registerBlockIcons(IIconRegister register) {
|
||||
@@ -79,37 +95,30 @@ public abstract class BlockWood extends Block implements ITileEntityProvider, IW
|
||||
@Override
|
||||
public final ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) {
|
||||
ItemStack itemStack = new ItemStack(this);
|
||||
NBTTagCompound nbt = TileWood.getTagCompound(world, x, y, z);
|
||||
NBTTagCompound nbt = getTagCompound(world, x, y, z);
|
||||
itemStack.setTagCompound(nbt);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
/* DROP HANDLING */
|
||||
// Hack: When harvesting we need to get the drops in onBlockHarvested,
|
||||
// because Mojang destroys the block and tile before calling getDrops.
|
||||
private final ThreadLocal<ArrayList<ItemStack>> drops = new ThreadLocal<>();
|
||||
@Override
|
||||
public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) {
|
||||
return TileWood.blockRemovedByPlayer(this, world, player, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer playerProfile) {
|
||||
drops.set(TileWood.getDrops(this, world, x, y, z));
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
|
||||
world.removeTileEntity(x, y, z);
|
||||
super.breakBlock(world, x, y, z, block, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
|
||||
ArrayList<ItemStack> ret = drops.get();
|
||||
drops.remove();
|
||||
|
||||
// not harvested, get drops normally
|
||||
if (ret == null) {
|
||||
ret = TileWood.getDrops(this, world, x, y, z);
|
||||
}
|
||||
|
||||
return ret;
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final float getBlockHardness(World world, int x, int y, int z) {
|
||||
TileWood wood = TileWood.getWoodTile(world, x, y, z);
|
||||
TileWood wood = getWoodTile(world, x, y, z);
|
||||
if (wood == null) {
|
||||
return EnumWoodType.DEFAULT_HARDNESS;
|
||||
}
|
||||
|
||||
@@ -48,12 +48,10 @@ import forestry.api.genetics.IChromosome;
|
||||
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.genetics.alleles.Allele;
|
||||
import forestry.core.utils.StringUtil;
|
||||
|
||||
public class Tree extends Individual implements ITree, IPlantable {
|
||||
@@ -224,10 +222,6 @@ 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);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -328,7 +322,7 @@ public class Tree extends Individual implements ITree, IPlantable {
|
||||
}
|
||||
|
||||
IAllele fruit = getGenome().getActiveAllele(EnumTreeChromosome.FRUITS);
|
||||
if (fruit != AlleleFruit.fruitNone) {
|
||||
if (fruit != Allele.fruitNone) {
|
||||
String strike = "";
|
||||
if (!canBearFruit()) {
|
||||
strike = EnumChatFormatting.STRIKETHROUGH.toString();
|
||||
|
||||
@@ -21,12 +21,8 @@ import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IAlleleRegistry;
|
||||
import forestry.api.genetics.IClassification;
|
||||
import forestry.api.genetics.IClassification.EnumClassLevel;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleFruit;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleGrowth;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleLeafEffect;
|
||||
import forestry.core.genetics.IBranchDefinition;
|
||||
import forestry.core.genetics.alleles.AlleleHelper;
|
||||
import forestry.core.genetics.alleles.AllelePlantType;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.genetics.alleles.EnumAllele;
|
||||
|
||||
public enum TreeBranchDefinition implements IBranchDefinition {
|
||||
@@ -85,18 +81,18 @@ public enum TreeBranchDefinition implements IBranchDefinition {
|
||||
if (defaultTemplate == null) {
|
||||
defaultTemplate = new IAllele[EnumTreeChromosome.values().length];
|
||||
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.FRUITS, AlleleFruit.fruitNone);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.GROWTH, AlleleGrowth.growthLightlevel);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWEST);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.PLANT, AllelePlantType.plantTypeNone);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.EFFECT, AlleleLeafEffect.leavesNone);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.AVERAGE);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.GIRTH, 1);
|
||||
AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.FALSE);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.FRUITS, Allele.fruitNone);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.GROWTH, Allele.growthLightlevel);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWEST);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.PLANT, Allele.plantTypeNone);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.EFFECT, Allele.leavesNone);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.AVERAGE);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.GIRTH, 1);
|
||||
Allele.helper.set(defaultTemplate, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.FALSE);
|
||||
}
|
||||
return Arrays.copyOf(defaultTemplate, defaultTemplate.length);
|
||||
}
|
||||
|
||||
@@ -41,8 +41,6 @@ import forestry.api.core.EnumTemperature;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.world.ITreeGenData;
|
||||
import forestry.arboriculture.blocks.BlockForestryLeaves;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleFruit;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleGrowth;
|
||||
import forestry.arboriculture.render.IconProviderGermling;
|
||||
import forestry.arboriculture.render.IconProviderGermlingVanilla;
|
||||
import forestry.arboriculture.render.IconProviderLeaves;
|
||||
@@ -66,6 +64,7 @@ import forestry.arboriculture.worldgen.WorldGenJungle;
|
||||
import forestry.arboriculture.worldgen.WorldGenKapok;
|
||||
import forestry.arboriculture.worldgen.WorldGenLarch;
|
||||
import forestry.arboriculture.worldgen.WorldGenLemon;
|
||||
import forestry.arboriculture.worldgen.WorldGenLime;
|
||||
import forestry.arboriculture.worldgen.WorldGenMahoe;
|
||||
import forestry.arboriculture.worldgen.WorldGenMahogany;
|
||||
import forestry.arboriculture.worldgen.WorldGenMaple;
|
||||
@@ -76,7 +75,6 @@ import forestry.arboriculture.worldgen.WorldGenPine;
|
||||
import forestry.arboriculture.worldgen.WorldGenPlum;
|
||||
import forestry.arboriculture.worldgen.WorldGenPoplar;
|
||||
import forestry.arboriculture.worldgen.WorldGenSequoia;
|
||||
import forestry.arboriculture.worldgen.WorldGenSilverLime;
|
||||
import forestry.arboriculture.worldgen.WorldGenSpruce;
|
||||
import forestry.arboriculture.worldgen.WorldGenTeak;
|
||||
import forestry.arboriculture.worldgen.WorldGenWalnut;
|
||||
@@ -85,9 +83,8 @@ import forestry.arboriculture.worldgen.WorldGenWillow;
|
||||
import forestry.arboriculture.worldgen.WorldGenZebrawood;
|
||||
import forestry.core.config.Constants;
|
||||
import forestry.core.config.ForestryBlock;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.genetics.alleles.AlleleBoolean;
|
||||
import forestry.core.genetics.alleles.AlleleHelper;
|
||||
import forestry.core.genetics.alleles.AllelePlantType;
|
||||
import forestry.core.genetics.alleles.EnumAllele;
|
||||
|
||||
public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
@@ -99,9 +96,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitApple);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitApple);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -122,9 +119,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -145,8 +142,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -162,14 +159,14 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
Lime(TreeBranchDefinition.TILIA, "silverLime", "pendula", true, EnumLeafType.DECIDUOUS, new Color(0x5ea107), new Color(0x5ea107).brighter(), EnumWoodType.LIME) {
|
||||
@Override
|
||||
public WorldGenerator getWorldGenerator(ITreeGenData tree) {
|
||||
return new WorldGenSilverLime(tree);
|
||||
return new WorldGenLime(tree);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER);
|
||||
//Allele.helper.set(alleles, EnumTreeChromosome.EFFECT, Allele.leavesBrimstone);
|
||||
}
|
||||
|
||||
@@ -200,12 +197,12 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitWalnut);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitWalnut);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -228,11 +225,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitChestnut);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitChestnut);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -255,11 +252,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitCherry);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitCherry);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -282,10 +279,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitLemon);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitLemon);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -307,10 +304,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitPlum);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.HIGH);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitPlum);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.HIGH);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -332,9 +329,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -355,9 +352,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -378,9 +375,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -402,9 +399,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -425,11 +422,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 3);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 3);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -450,11 +447,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.GIGANTIC);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 4);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.GIGANTIC);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 4);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -475,9 +472,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitCocoa);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FAST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitCocoa);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FAST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -498,7 +495,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -519,9 +516,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -543,9 +540,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -567,10 +564,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 3);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -591,8 +588,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -613,10 +610,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -660,7 +657,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.PLANT, AllelePlantType.plantTypeDesert);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.PLANT, Allele.plantTypeDesert);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -681,8 +678,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -704,9 +701,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.HIGH);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.HIGH);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -727,7 +724,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -749,8 +746,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWEST);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -772,11 +769,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.PLANT, AllelePlantType.plantTypeDesert);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 3);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.PLANT, Allele.plantTypeDesert);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -799,9 +796,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.HIGH);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.HIGH);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -824,9 +821,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -855,10 +852,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.GROWTH, AlleleGrowth.growthTropical);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.GROWTH, Allele.growthTropical);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -882,10 +879,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitPapaya);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitPapaya);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -907,11 +904,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitDates);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitDates);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -933,9 +930,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
|
||||
@Override
|
||||
protected void setAlleles(IAllele[] alleles) {
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW);
|
||||
Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -998,17 +995,6 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
if (woodType == null) {
|
||||
Block vanillaWoodBlock = Block.getBlockFromItem(vanillaWood.getItem());
|
||||
int vanillaWoodMeta = vanillaWood.getItemDamage();
|
||||
switch (facing) {
|
||||
case NORTH:
|
||||
case SOUTH:
|
||||
vanillaWoodMeta |= 2 << 2;
|
||||
break;
|
||||
case EAST:
|
||||
case WEST:
|
||||
vanillaWoodMeta |= 1 << 2;
|
||||
break;
|
||||
}
|
||||
|
||||
world.setBlock(x, y, z, vanillaWoodBlock, vanillaWoodMeta, Constants.FLAG_BLOCK_SYNCH);
|
||||
} else {
|
||||
AlleleBoolean fireproofAllele = (AlleleBoolean) genome.getActiveAllele(EnumTreeChromosome.FIREPROOF);
|
||||
@@ -1061,7 +1047,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator {
|
||||
setSpeciesProperties(species);
|
||||
|
||||
template = branch.getTemplate();
|
||||
AlleleHelper.instance.set(template, EnumTreeChromosome.SPECIES, species);
|
||||
Allele.helper.set(template, EnumTreeChromosome.SPECIES, species);
|
||||
setAlleles(template);
|
||||
|
||||
genome = TreeManager.treeRoot.templateAsGenome(template);
|
||||
|
||||
@@ -16,19 +16,6 @@ import forestry.core.genetics.alleles.AlleleCategorized;
|
||||
|
||||
public class AlleleFruit extends AlleleCategorized implements IAlleleFruit {
|
||||
|
||||
public static IAlleleFruit fruitNone;
|
||||
public static IAlleleFruit fruitApple;
|
||||
public static IAlleleFruit fruitCocoa;
|
||||
public static IAlleleFruit fruitChestnut;
|
||||
public static IAlleleFruit fruitCoconut;
|
||||
public static IAlleleFruit fruitWalnut;
|
||||
public static IAlleleFruit fruitCherry;
|
||||
public static IAlleleFruit fruitDates;
|
||||
public static IAlleleFruit fruitPapaya;
|
||||
public static IAlleleFruit fruitLemon;
|
||||
public static IAlleleFruit fruitPlum;
|
||||
public static IAlleleFruit fruitJujube;
|
||||
|
||||
private final IFruitProvider provider;
|
||||
|
||||
public AlleleFruit(String name, IFruitProvider provider) {
|
||||
|
||||
@@ -16,10 +16,6 @@ import forestry.core.genetics.alleles.AlleleCategorized;
|
||||
|
||||
public class AlleleGrowth extends AlleleCategorized implements IAlleleGrowth {
|
||||
|
||||
public static IAlleleGrowth growthLightlevel;
|
||||
public static IAlleleGrowth growthAcacia;
|
||||
public static IAlleleGrowth growthTropical;
|
||||
|
||||
private final IGrowthProvider provider;
|
||||
|
||||
public AlleleGrowth(String name, IGrowthProvider provider) {
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* 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.arboriculture.genetics.alleles;
|
||||
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.arboriculture.IAlleleLeafEffect;
|
||||
import forestry.api.arboriculture.ITreeGenome;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.genetics.alleles.AlleleCategorized;
|
||||
import forestry.core.utils.vect.Vect;
|
||||
|
||||
public class AlleleLeafEffect extends AlleleCategorized implements IAlleleLeafEffect {
|
||||
private static final int[] DEFAULT_EFFECT_AREA = new int[]{12, 12, 12};
|
||||
|
||||
public static Allele leavesNone;
|
||||
|
||||
protected AlleleLeafEffect(String valueName, boolean isDominant) {
|
||||
super("forestry", "leaves", valueName, isDominant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCombinable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData validateStorage(IEffectData storedData) {
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doEffect(ITreeGenome genome, IEffectData storedData, World world, int x, int y, int z) {
|
||||
return storedData;
|
||||
}
|
||||
|
||||
protected static AxisAlignedBB getBounding(int x, int y, int z, float modifier) {
|
||||
int[] areaAr = DEFAULT_EFFECT_AREA;
|
||||
Vect area = new Vect(areaAr).multiply(modifier);
|
||||
Vect offset = area.multiply(-1 / 2.0f);
|
||||
|
||||
Vect min = offset.add(x, y, z);
|
||||
Vect max = min.add(area);
|
||||
|
||||
return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z);
|
||||
}
|
||||
}
|
||||
@@ -10,13 +10,52 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.genetics.alleles;
|
||||
|
||||
public class AlleleLeafEffectNone extends AlleleLeafEffect {
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.arboriculture.IAlleleLeafEffect;
|
||||
import forestry.api.arboriculture.ITreeGenome;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
import forestry.core.genetics.alleles.AlleleCategorized;
|
||||
import forestry.core.utils.vect.Vect;
|
||||
|
||||
public class AlleleLeafEffectNone extends AlleleCategorized implements IAlleleLeafEffect {
|
||||
|
||||
private static final int[] DEFAULT_EFFECT_AREA = new int[]{12, 12, 12};
|
||||
|
||||
public AlleleLeafEffectNone() {
|
||||
super("none", true);
|
||||
super("forestry", "leaves", "none", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCombinable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData validateStorage(IEffectData storedData) {
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "for.arboriculture.effect.none";
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doEffect(ITreeGenome genome, IEffectData storedData, World world, int x, int y, int z) {
|
||||
return storedData;
|
||||
}
|
||||
|
||||
protected static AxisAlignedBB getBounding(int x, int y, int z, float modifier) {
|
||||
int[] areaAr = DEFAULT_EFFECT_AREA;
|
||||
Vect area = new Vect(areaAr).multiply(modifier);
|
||||
Vect offset = area.multiply(-1 / 2.0f);
|
||||
|
||||
Vect min = offset.add(x, y, z);
|
||||
Vect max = min.add(area);
|
||||
|
||||
return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -46,7 +46,7 @@ public class AlleleTreeSpecies extends AlleleSpecies implements IAlleleTreeSpeci
|
||||
private EnumPlantType nativeType = EnumPlantType.Plains;
|
||||
|
||||
public AlleleTreeSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, boolean isDominant, IClassification branch, String binomial, ILeafIconProvider leafIconProvider, IGermlingIconProvider germlingIconProvider, ITreeGenerator generator) {
|
||||
super(uid, unlocalizedName, authority, unlocalizedDescription, isDominant, branch, binomial);
|
||||
super(uid, unlocalizedName, authority, unlocalizedDescription, isDominant, branch, binomial, false);
|
||||
|
||||
this.generator = generator;
|
||||
this.germlingIconProvider = germlingIconProvider;
|
||||
|
||||
@@ -39,9 +39,4 @@ public class CheckPollinatable implements ICheckPollinatable {
|
||||
public boolean canMateWith(IIndividual pollen) {
|
||||
return pollinatable.canMateWith(pollen);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPollinated() {
|
||||
return pollinatable.isPollinated();
|
||||
}
|
||||
}
|
||||
@@ -47,8 +47,4 @@ public class CheckPollinatableTree implements ICheckPollinatable {
|
||||
return !tree.isGeneticEqual(pollen);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPollinated() {
|
||||
return tree.getMate() != null;
|
||||
}
|
||||
}
|
||||
@@ -34,9 +34,4 @@ public class FakePollinatable implements IPollinatable {
|
||||
public void mateWith(IIndividual pollen) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPollinated() {
|
||||
return checkPollinatable.isPollinated();
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,4 @@ public interface ICheckPollinatable {
|
||||
* @return true if mating is possible, false otherwise.
|
||||
*/
|
||||
boolean canMateWith(IIndividual pollen);
|
||||
|
||||
boolean isPollinated();
|
||||
}
|
||||
@@ -32,10 +32,10 @@ import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IAlleleInteger;
|
||||
import forestry.api.genetics.IFruitFamily;
|
||||
import forestry.arboriculture.genetics.TreeGenome;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleFruit;
|
||||
import forestry.arboriculture.items.ItemGermlingGE;
|
||||
import forestry.arboriculture.items.ItemTreealyzer.TreealyzerInventory;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.genetics.alleles.AlleleBoolean;
|
||||
import forestry.core.genetics.alleles.AllelePlantType;
|
||||
import forestry.core.gui.ContainerAlyzer;
|
||||
@@ -240,14 +240,14 @@ public class GuiTreealyzer extends GuiAlyzer {
|
||||
drawLine(StringUtil.localize("gui.fruits"), COLUMN_0);
|
||||
String strike = "";
|
||||
IAllele fruit0 = tree.getGenome().getActiveAllele(EnumTreeChromosome.FRUITS);
|
||||
if (!tree.canBearFruit() && fruit0 != AlleleFruit.fruitNone) {
|
||||
if (!tree.canBearFruit() && fruit0 != Allele.fruitNone) {
|
||||
strike = EnumChatFormatting.STRIKETHROUGH.toString();
|
||||
}
|
||||
drawLine(strike + StringUtil.localize(tree.getGenome().getFruitProvider().getDescription()), COLUMN_1, fruitDominance0);
|
||||
|
||||
strike = "";
|
||||
IAllele fruit1 = tree.getGenome().getInactiveAllele(EnumTreeChromosome.FRUITS);
|
||||
if (!tree.getGenome().getSecondary().getSuitableFruit().contains(((IAlleleFruit) fruit1).getProvider().getFamily()) && fruit1 != AlleleFruit.fruitNone) {
|
||||
if (!tree.getGenome().getSecondary().getSuitableFruit().contains(((IAlleleFruit) fruit1).getProvider().getFamily()) && fruit1 != Allele.fruitNone) {
|
||||
strike = EnumChatFormatting.STRIKETHROUGH.toString();
|
||||
}
|
||||
drawLine(strike + StringUtil.localize(((IAlleleFruit) fruit1).getProvider().getDescription()), COLUMN_2, fruitDominance1);
|
||||
|
||||
@@ -16,16 +16,10 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
import forestry.api.arboriculture.EnumWoodType;
|
||||
import forestry.arboriculture.IWoodTyped;
|
||||
import forestry.arboriculture.blocks.BlockLog;
|
||||
import forestry.arboriculture.render.IconProviderWood;
|
||||
import forestry.arboriculture.tiles.TileWood;
|
||||
import forestry.core.config.Constants;
|
||||
import forestry.core.items.ItemBlockForestry;
|
||||
@@ -104,24 +98,4 @@ public class ItemBlockWood extends ItemBlockForestry {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(ItemStack stack, int pass) {
|
||||
EnumWoodType woodType = EnumWoodType.getFromCompound(stack.getTagCompound());
|
||||
if (woodType == null) {
|
||||
return super.getIcon(stack, pass);
|
||||
}
|
||||
|
||||
if (getBlock() instanceof BlockLog) {
|
||||
return IconProviderWood.getBarkIcon(woodType);
|
||||
} else {
|
||||
return IconProviderWood.getPlankIcon(woodType);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconIndex(ItemStack stack) {
|
||||
return getIcon(stack, 0);
|
||||
}
|
||||
}
|
||||
@@ -143,12 +143,6 @@ public class ItemGermlingGE extends ItemGE implements IVariableFermentable {
|
||||
return species.getGermlingIcon(type, renderPass);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconIndex(ItemStack stack) {
|
||||
return getIcon(stack, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int par7, float facingX, float facingY, float facingZ) {
|
||||
ITree tree = TreeManager.treeRoot.getMember(itemstack);
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* 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.arboriculture.network;
|
||||
|
||||
public interface IRipeningPacketReceiver {
|
||||
void fromRipeningPacket(int ripeningValue);
|
||||
}
|
||||
+36
-19
@@ -1,19 +1,36 @@
|
||||
/*******************************************************************************
|
||||
* 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.core.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
||||
public interface IForestryPacketServer extends IForestryPacket {
|
||||
void onPacketData(DataInputStreamForestry data, EntityPlayerMP player) throws IOException;
|
||||
}
|
||||
/*******************************************************************************
|
||||
* 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.arboriculture.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.IPacketHandler;
|
||||
import forestry.core.network.PacketId;
|
||||
|
||||
public class PacketHandlerArboriculture implements IPacketHandler {
|
||||
|
||||
@Override
|
||||
public boolean onPacketData(PacketId packetID, DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
|
||||
switch (packetID) {
|
||||
case RIPENING_UPDATE: {
|
||||
PacketRipeningUpdate.onPacketData(data);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,32 +12,35 @@ package forestry.arboriculture.network;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import forestry.arboriculture.tiles.TileFruitPod;
|
||||
import forestry.arboriculture.tiles.TileLeaves;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.IForestryPacketClient;
|
||||
import forestry.core.network.PacketCoordinates;
|
||||
import forestry.core.network.PacketIdClient;
|
||||
import forestry.core.network.PacketId;
|
||||
import forestry.core.proxy.Proxies;
|
||||
|
||||
public class PacketRipeningUpdate extends PacketCoordinates implements IForestryPacketClient {
|
||||
public class PacketRipeningUpdate extends PacketCoordinates {
|
||||
|
||||
private int value;
|
||||
|
||||
public PacketRipeningUpdate() {
|
||||
public static void onPacketData(DataInputStreamForestry data) throws IOException {
|
||||
new PacketRipeningUpdate(data);
|
||||
}
|
||||
|
||||
private PacketRipeningUpdate(DataInputStreamForestry data) throws IOException {
|
||||
super(data);
|
||||
}
|
||||
|
||||
public PacketRipeningUpdate(TileFruitPod fruitPod) {
|
||||
super(PacketIdClient.RIPENING_UPDATE, fruitPod);
|
||||
super(PacketId.RIPENING_UPDATE, fruitPod);
|
||||
value = fruitPod.getMaturity();
|
||||
}
|
||||
|
||||
public PacketRipeningUpdate(TileLeaves leaves) {
|
||||
super(PacketIdClient.RIPENING_UPDATE, leaves);
|
||||
super(PacketId.RIPENING_UPDATE, leaves);
|
||||
value = leaves.getFruitColour();
|
||||
}
|
||||
|
||||
@@ -51,13 +54,16 @@ public class PacketRipeningUpdate extends PacketCoordinates implements IForestry
|
||||
public void readData(DataInputStreamForestry data) throws IOException {
|
||||
super.readData(data);
|
||||
value = data.readVarInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketData(DataInputStreamForestry data, EntityPlayer player) throws IOException {
|
||||
TileEntity tile = getTarget(Proxies.common.getRenderWorld());
|
||||
if (tile instanceof IRipeningPacketReceiver) {
|
||||
((IRipeningPacketReceiver) tile).fromRipeningPacket(value);
|
||||
if (tile instanceof TileLeaves) {
|
||||
((TileLeaves) tile).fromRipeningPacket(value);
|
||||
} else if (tile instanceof TileFruitPod) {
|
||||
((TileFruitPod) tile).fromRipeningPacket(value);
|
||||
}
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,9 @@ public class IconProviderGermling implements IGermlingIconProvider {
|
||||
|
||||
@Override
|
||||
public void registerIcons(IIconRegister register) {
|
||||
icon = TextureManager.registerTex(register, "germlings/sapling." + name);
|
||||
TextureManager textureManager = TextureManager.getInstance();
|
||||
|
||||
icon = textureManager.registerTex(register, "germlings/sapling." + name);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,9 +32,9 @@ public abstract class IconProviderWood {
|
||||
EnumWoodType woodType = EnumWoodType.VALUES[i];
|
||||
String woodName = woodType.toString().toLowerCase(Locale.ENGLISH);
|
||||
|
||||
icons[0][i] = TextureManager.registerTex(register, "wood/planks." + woodName);
|
||||
icons[1][i] = TextureManager.registerTex(register, "wood/bark." + woodName);
|
||||
icons[2][i] = TextureManager.registerTex(register, "wood/heart." + woodName);
|
||||
icons[0][i] = TextureManager.getInstance().registerTex(register, "wood/planks." + woodName);
|
||||
icons[1][i] = TextureManager.getInstance().registerTex(register, "wood/bark." + woodName);
|
||||
icons[2][i] = TextureManager.getInstance().registerTex(register, "wood/heart." + woodName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -50,11 +50,13 @@ public class TextureLeaves {
|
||||
}
|
||||
|
||||
private void registerIcons(IIconRegister register) {
|
||||
TextureManager textureManager = TextureManager.getInstance();
|
||||
|
||||
String ident = leafType.toString().toLowerCase(Locale.ENGLISH);
|
||||
|
||||
plain = TextureManager.registerTex(register, "leaves/" + ident + ".plain");
|
||||
pollinated = TextureManager.registerTex(register, "leaves/" + ident + ".changed");
|
||||
fancy = TextureManager.registerTex(register, "leaves/" + ident + ".fancy");
|
||||
plain = textureManager.registerTex(register, "leaves/" + ident + ".plain");
|
||||
pollinated = textureManager.registerTex(register, "leaves/" + ident + ".changed");
|
||||
fancy = textureManager.registerTex(register, "leaves/" + ident + ".fancy");
|
||||
}
|
||||
|
||||
public IIcon getPlain() {
|
||||
|
||||
@@ -10,13 +10,14 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.tiles;
|
||||
|
||||
import forestry.api.arboriculture.TreeManager;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.arboriculture.genetics.TreeHelper;
|
||||
import forestry.core.network.GuiId;
|
||||
import forestry.core.tiles.TileNaturalistChest;
|
||||
|
||||
public class TileArboristChest extends TileNaturalistChest {
|
||||
public TileArboristChest() {
|
||||
super(TreeManager.treeRoot, GuiId.ArboristChestGUI.ordinal());
|
||||
super(AlleleManager.alleleRegistry.getSpeciesRoot(TreeHelper.UID), GuiId.ArboristChestGUI.ordinal());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ import forestry.api.genetics.AlleleManager;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IFruitBearer;
|
||||
import forestry.api.genetics.IFruitFamily;
|
||||
import forestry.arboriculture.network.IRipeningPacketReceiver;
|
||||
import forestry.arboriculture.network.PacketRipeningUpdate;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
@@ -38,7 +37,7 @@ import forestry.core.network.PacketTileStream;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.render.TextureManager;
|
||||
|
||||
public class TileFruitPod extends TileEntity implements IFruitBearer, IStreamable, IRipeningPacketReceiver {
|
||||
public class TileFruitPod extends TileEntity implements IFruitBearer, IStreamable {
|
||||
|
||||
private static final short MAX_MATURITY = 2;
|
||||
|
||||
@@ -139,7 +138,6 @@ public class TileFruitPod extends TileEntity implements IFruitBearer, IStreamabl
|
||||
Proxies.net.sendNetworkPacket(new PacketRipeningUpdate(this), worldObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromRipeningPacket(int newMaturity) {
|
||||
if (newMaturity == maturity) {
|
||||
return;
|
||||
|
||||
@@ -52,9 +52,8 @@ import forestry.api.lepidopterology.IButterflyNursery;
|
||||
import forestry.api.lepidopterology.IButterflyRoot;
|
||||
import forestry.arboriculture.genetics.Tree;
|
||||
import forestry.arboriculture.genetics.TreeDefinition;
|
||||
import forestry.arboriculture.genetics.alleles.AlleleFruit;
|
||||
import forestry.arboriculture.network.IRipeningPacketReceiver;
|
||||
import forestry.arboriculture.network.PacketRipeningUpdate;
|
||||
import forestry.core.genetics.alleles.Allele;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.PacketTileStream;
|
||||
@@ -64,7 +63,7 @@ import forestry.core.utils.ColourUtil;
|
||||
import forestry.core.utils.GeneticsUtil;
|
||||
import forestry.core.utils.Log;
|
||||
|
||||
public class TileLeaves extends TileTreeContainer implements IPollinatable, IFruitBearer, IButterflyNursery, IRipeningPacketReceiver {
|
||||
public class TileLeaves extends TileTreeContainer implements IPollinatable, IFruitBearer, IButterflyNursery {
|
||||
|
||||
private int colourLeaves;
|
||||
private int colourLeavesPollinated;
|
||||
@@ -227,7 +226,7 @@ public class TileLeaves extends TileTreeContainer implements IPollinatable, IFru
|
||||
isFruitLeaf = fruitProvider.markAsFruitLeaf(genome, worldObj, xCoord, yCoord, zCoord);
|
||||
if (isFruitLeaf) {
|
||||
// Hardcoded because vanilla oak trees don't show fruits.
|
||||
if ((species == TreeDefinition.Oak.getGenome().getPrimary()) && (fruitProvider == AlleleFruit.fruitApple.getProvider())) {
|
||||
if ((species == TreeDefinition.Oak.getGenome().getPrimary()) && (fruitProvider == Allele.fruitApple.getProvider())) {
|
||||
textureIndexFruits = -1;
|
||||
} else {
|
||||
textureIndexFruits = fruitProvider.getIconIndex(genome, worldObj, xCoord, yCoord, zCoord, getRipeningTime(), true);
|
||||
@@ -258,8 +257,7 @@ public class TileLeaves extends TileTreeContainer implements IPollinatable, IFru
|
||||
return damage > tree.getResilience();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPollinated() {
|
||||
private boolean isPollinated() {
|
||||
ITree tree = getTree();
|
||||
return tree != null && !isDestroyed(tree, damage) && tree.getMate() != null;
|
||||
}
|
||||
@@ -447,7 +445,6 @@ public class TileLeaves extends TileTreeContainer implements IPollinatable, IFru
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromRipeningPacket(int newColourFruits) {
|
||||
if (newColourFruits == colourFruits) {
|
||||
return;
|
||||
@@ -577,4 +574,5 @@ public class TileLeaves extends TileTreeContainer implements IPollinatable, IFru
|
||||
ITree tree = getTree();
|
||||
return !isDecorative && !isDestroyed(tree, damage) && caterpillar == null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,7 +13,6 @@ package forestry.arboriculture.tiles;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTUtil;
|
||||
import net.minecraft.network.Packet;
|
||||
@@ -26,19 +25,17 @@ import forestry.api.arboriculture.ITree;
|
||||
import forestry.api.arboriculture.TreeManager;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.arboriculture.genetics.Tree;
|
||||
import forestry.core.access.IOwnable;
|
||||
import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.IStreamable;
|
||||
import forestry.core.network.PacketTileStream;
|
||||
import forestry.core.utils.PlayerUtil;
|
||||
|
||||
/**
|
||||
* This is the base TE class for any block that needs to contain tree genome information.
|
||||
*
|
||||
* @author SirSengir
|
||||
*/
|
||||
public abstract class TileTreeContainer extends TileEntity implements IStreamable, IOwnable {
|
||||
public abstract class TileTreeContainer extends TileEntity implements IStreamable {
|
||||
|
||||
private ITree containedTree;
|
||||
private GameProfile owner;
|
||||
@@ -111,27 +108,15 @@ public abstract class TileTreeContainer extends TileEntity implements IStreamabl
|
||||
return this.containedTree;
|
||||
}
|
||||
|
||||
/* IOwnable */
|
||||
@Override
|
||||
/* Owner */
|
||||
public GameProfile getOwner() {
|
||||
return owner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOwner(GameProfile owner) {
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOwned() {
|
||||
return owner != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOwner(EntityPlayer player) {
|
||||
return player != null && PlayerUtil.isSameGameProfile(player.getGameProfile(), owner);
|
||||
}
|
||||
|
||||
/* UPDATING */
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,14 +11,13 @@
|
||||
package forestry.arboriculture.tiles;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.arboriculture.EnumWoodType;
|
||||
@@ -27,7 +26,7 @@ import forestry.core.network.DataInputStreamForestry;
|
||||
import forestry.core.network.DataOutputStreamForestry;
|
||||
import forestry.core.network.IStreamable;
|
||||
import forestry.core.network.PacketTileStream;
|
||||
import forestry.core.tiles.TileUtil;
|
||||
import forestry.core.utils.ItemStackUtil;
|
||||
|
||||
public class TileWood extends TileEntity implements IStreamable {
|
||||
private EnumWoodType woodType;
|
||||
@@ -85,33 +84,23 @@ public class TileWood extends TileEntity implements IStreamable {
|
||||
}
|
||||
}
|
||||
|
||||
public static NBTTagCompound getTagCompound(IBlockAccess world, int x, int y, int z) {
|
||||
TileWood wood = getWoodTile(world, x, y, z);
|
||||
NBTTagCompound nbttagcompound = new NBTTagCompound();
|
||||
if (wood == null) {
|
||||
return nbttagcompound;
|
||||
}
|
||||
EnumWoodType woodType = wood.getWoodType();
|
||||
woodType.saveToCompound(nbttagcompound);
|
||||
return nbttagcompound;
|
||||
}
|
||||
public static <T extends Block & IWoodTyped> boolean blockRemovedByPlayer(T block, World world, EntityPlayer player, int x, int y, int z) {
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if (!world.isRemote && block.canHarvestBlock(player, meta) && !player.capabilities.isCreativeMode) {
|
||||
|
||||
public static TileWood getWoodTile(IBlockAccess world, int x, int y, int z) {
|
||||
return TileUtil.getTile(world, x, y, z, TileWood.class);
|
||||
}
|
||||
TileEntity tile = world.getTileEntity(x, y, z);
|
||||
if (tile instanceof TileWood) {
|
||||
TileWood wood = (TileWood) tile;
|
||||
|
||||
public static <T extends Block & IWoodTyped> ArrayList<ItemStack> getDrops(T block, World world, int x, int y, int z) {
|
||||
ArrayList<ItemStack> drops = new ArrayList<>();
|
||||
|
||||
TileWood wood = getWoodTile(world, x, y, z);
|
||||
if (wood != null) {
|
||||
ItemStack stack = new ItemStack(block);
|
||||
NBTTagCompound compound = new NBTTagCompound();
|
||||
wood.getWoodType().saveToCompound(compound);
|
||||
stack.setTagCompound(compound);
|
||||
drops.add(stack);
|
||||
ItemStack stack = new ItemStack(block);
|
||||
NBTTagCompound compound = new NBTTagCompound();
|
||||
wood.getWoodType().saveToCompound(compound);
|
||||
stack.setTagCompound(compound);
|
||||
ItemStackUtil.dropItemStackAsEntity(stack, world, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
return drops;
|
||||
return world.setBlockToAir(x, y, z);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,10 +10,6 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.worldgen;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
@@ -26,38 +22,26 @@ public class WorldGenAcacia extends WorldGenTree {
|
||||
|
||||
@Override
|
||||
public void generate(World world) {
|
||||
Direction leanDirection = Direction.getRandom(world.rand);
|
||||
float leanAmount = height / 4.0f;
|
||||
generateTreeTrunk(world, height, girth);
|
||||
|
||||
List<ChunkCoordinates> treeTops = generateTreeTrunk(world, height, girth, 0, leanDirection.forgeDirection, leanAmount);
|
||||
if (height > 5 && world.rand.nextBoolean()) {
|
||||
Direction branchDirection = Direction.getRandomOther(world.rand, leanDirection);
|
||||
List<ChunkCoordinates> treeTops2 = generateTreeTrunk(world, Math.round(height * 0.66f), girth, 0, branchDirection.forgeDirection, leanAmount);
|
||||
treeTops.addAll(treeTops2);
|
||||
int leafSpawn = height + 1;
|
||||
|
||||
float rnd = world.rand.nextFloat();
|
||||
int offset = 0;
|
||||
if (rnd > 0.6f) {
|
||||
offset = world.rand.nextInt(girth);
|
||||
} else if (rnd > 0.3) {
|
||||
offset = -world.rand.nextInt(girth);
|
||||
}
|
||||
|
||||
List<ChunkCoordinates> branchLocations = new ArrayList<>();
|
||||
|
||||
for (ChunkCoordinates treeTop : treeTops) {
|
||||
int xOffset = treeTop.posX;
|
||||
int yOffset = treeTop.posY + 1;
|
||||
int zOffset = treeTop.posZ;
|
||||
float canopyMultiplier = (1.5f * height - yOffset + 2) / 4.0f;
|
||||
int canopyThickness = Math.max(1, Math.round(yOffset / 10.0f));
|
||||
generateAdjustedCylinder(world, leafSpawn--, offset, 0, 1, leaf, EnumReplaceMode.NONE);
|
||||
generateAdjustedCylinder(world, leafSpawn--, offset, 1.5f, 1, leaf, EnumReplaceMode.NONE);
|
||||
|
||||
generateAdjustedCylinder(world, yOffset--, xOffset, zOffset, canopyMultiplier, 1, leaf, EnumReplaceMode.NONE);
|
||||
|
||||
float canopyWidth = world.rand.nextBoolean() ? 3.0f : 2.5f;
|
||||
List<ChunkCoordinates> branches = generateBranches(world, yOffset - canopyThickness, xOffset, zOffset, 0.0f, 0.1f, Math.round(canopyMultiplier * canopyWidth - 4), 2);
|
||||
branchLocations.addAll(branches);
|
||||
}
|
||||
|
||||
for (ChunkCoordinates branchLocation : branchLocations) {
|
||||
int leafSpawn = branchLocation.posY;
|
||||
int canopyThickness = Math.max(1, Math.round(leafSpawn / 10.0f));
|
||||
float canopyMultiplier = (1.5f * height - leafSpawn + 2) / 4.0f;
|
||||
float canopyWidth = world.rand.nextBoolean() ? 1.0f : 1.5f;
|
||||
generateAdjustedCylinder(world, leafSpawn - canopyThickness + 1, branchLocation.posX, branchLocation.posZ, canopyMultiplier * canopyWidth, canopyThickness, leaf, EnumReplaceMode.NONE);
|
||||
if (world.rand.nextBoolean()) {
|
||||
generateAdjustedCylinder(world, leafSpawn--, offset, 3.9f, 1, leaf, EnumReplaceMode.NONE);
|
||||
} else {
|
||||
generateAdjustedCylinder(world, leafSpawn--, offset, 2.9f, 1, leaf, EnumReplaceMode.NONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,19 +10,11 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.worldgen;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
import forestry.arboriculture.tiles.TileTreeContainer;
|
||||
import forestry.core.tiles.TileUtil;
|
||||
@@ -33,30 +25,6 @@ import forestry.core.worldgen.WorldGenBase;
|
||||
|
||||
public abstract class WorldGenArboriculture extends WorldGenBase {
|
||||
|
||||
enum Direction {
|
||||
NORTH(ForgeDirection.NORTH),
|
||||
SOUTH(ForgeDirection.SOUTH),
|
||||
WEST(ForgeDirection.WEST),
|
||||
EAST(ForgeDirection.EAST);
|
||||
|
||||
public final ForgeDirection forgeDirection;
|
||||
|
||||
Direction(ForgeDirection forgeDirection) {
|
||||
this.forgeDirection = forgeDirection;
|
||||
}
|
||||
|
||||
public static Direction getRandom(Random random) {
|
||||
return values()[random.nextInt(values().length)];
|
||||
}
|
||||
|
||||
public static Direction getRandomOther(Random random, Direction direction) {
|
||||
EnumSet<Direction> directions = EnumSet.allOf(Direction.class);
|
||||
directions.remove(direction);
|
||||
int size = directions.size();
|
||||
return directions.toArray(new Direction[size])[random.nextInt(size)];
|
||||
}
|
||||
}
|
||||
|
||||
private static final ITreeBlockType vineNorth = new TreeBlockType(Blocks.vine, 1);
|
||||
private static final ITreeBlockType vineSouth = new TreeBlockType(Blocks.vine, 4);
|
||||
private static final ITreeBlockType vineWest = new TreeBlockType(Blocks.vine, 8);
|
||||
@@ -116,64 +84,27 @@ public abstract class WorldGenArboriculture extends WorldGenBase {
|
||||
|
||||
protected abstract ITreeBlockType getWood();
|
||||
|
||||
protected List<ChunkCoordinates> generateTreeTrunk(World world, int height, int girth) {
|
||||
return generateTreeTrunk(world, height, girth, 0);
|
||||
protected void generateTreeTrunk(World world, int height, int girth) {
|
||||
generateTreeTrunk(world, height, girth, 0);
|
||||
}
|
||||
|
||||
protected List<ChunkCoordinates> generateTreeTrunk(World world, int height, int girth, float vinesChance) {
|
||||
return generateTreeTrunk(world, height, girth, vinesChance, ForgeDirection.UNKNOWN, 0);
|
||||
}
|
||||
|
||||
protected List<ChunkCoordinates> generateTreeTrunk(World world, int height, int girth, float vinesChance, ForgeDirection leanDirection, float leanAmount) {
|
||||
return generateTreeTrunk(world, height, girth, 0, vinesChance, leanDirection, leanAmount);
|
||||
}
|
||||
|
||||
/** Returns a list of trunk top coordinates */
|
||||
protected List<ChunkCoordinates> generateTreeTrunk(World world, int height, int girth, int yStart, float vinesChance, ForgeDirection leanDirection, float leanAmount) {
|
||||
List<ChunkCoordinates> treeTops = new ArrayList<>();
|
||||
|
||||
final int leanStartY = (int) Math.floor(height * 0.33f);
|
||||
int prevXOffset = 0;
|
||||
int prevZOffset = 0;
|
||||
|
||||
protected void generateTreeTrunk(World world, int height, int girth, float vines) {
|
||||
int offset = (girth - 1) / 2;
|
||||
for (int x = 0; x < girth; x++) {
|
||||
for (int z = 0; z < girth; z++) {
|
||||
for (int y = yStart; y < height; y++) {
|
||||
float lean;
|
||||
if (y < leanStartY) {
|
||||
lean = 0;
|
||||
} else {
|
||||
lean = leanAmount * (y - leanStartY) / (height - leanStartY);
|
||||
}
|
||||
int xOffset = (int) Math.floor(leanDirection.offsetX * lean - offset);
|
||||
int zOffset = (int) Math.floor(leanDirection.offsetZ * lean - offset);
|
||||
|
||||
if (xOffset != prevXOffset || zOffset != prevZOffset) {
|
||||
prevXOffset = xOffset;
|
||||
prevZOffset = zOffset;
|
||||
if (y > 0) {
|
||||
wood.setDirection(leanDirection);
|
||||
addWood(world, x + xOffset, y - 1, z + zOffset, EnumReplaceMode.ALL);
|
||||
wood.setDirection(ForgeDirection.UP);
|
||||
}
|
||||
}
|
||||
|
||||
addWood(world, x + xOffset, y, z + zOffset, EnumReplaceMode.ALL);
|
||||
addVines(world, x + xOffset, y, z + zOffset, vinesChance);
|
||||
|
||||
if (y + 1 == height) {
|
||||
treeTops.add(new ChunkCoordinates(x + xOffset, y, z + zOffset));
|
||||
}
|
||||
for (int y = 0; y < height; y++) {
|
||||
addWood(world, x - offset, y, z - offset, EnumReplaceMode.ALL);
|
||||
addVines(world, x - offset, y, z - offset, vines);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spawnPods) {
|
||||
generatePods(world, height, girth);
|
||||
if (!spawnPods) {
|
||||
return;
|
||||
}
|
||||
|
||||
return treeTops;
|
||||
generatePods(world, height, girth);
|
||||
|
||||
}
|
||||
|
||||
protected void generatePods(World world, int height, int girth) {
|
||||
@@ -185,45 +116,32 @@ public abstract class WorldGenArboriculture extends WorldGenBase {
|
||||
continue;
|
||||
}
|
||||
|
||||
trySpawnFruitBlock(world, x + 1, y, z);
|
||||
trySpawnFruitBlock(world, x - 1, y, z);
|
||||
trySpawnFruitBlock(world, x, y, z + 1);
|
||||
trySpawnFruitBlock(world, x, y, z - 1);
|
||||
tree.trySpawnFruitBlock(world, startX + x + 1, startY + y, startZ + z);
|
||||
tree.trySpawnFruitBlock(world, startX + x - 1, startY + y, startZ + z);
|
||||
tree.trySpawnFruitBlock(world, startX + x, startY + y, startZ + z + 1);
|
||||
tree.trySpawnFruitBlock(world, startX + x, startY + y, startZ + z - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void trySpawnFruitBlock(World world, int x, int y, int z) {
|
||||
x += startX;
|
||||
y += startY;
|
||||
z += startZ;
|
||||
if (BlockUtil.isReplaceableBlock(world, x, y, z) || world.isAirBlock(x, y, z)) {
|
||||
tree.trySpawnFruitBlock(world, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
protected void generateSupportStems(World world, int height, int girth, float chance, float maxHeight) {
|
||||
|
||||
int offset = (int) Math.ceil(girth / 2.0f);
|
||||
int max = (int) Math.floor(girth / 2.0f) + offset;
|
||||
if (girth % 2 == 0) {
|
||||
max++;
|
||||
}
|
||||
int offset = 1;
|
||||
|
||||
for (int x = -offset; x < max; x++) {
|
||||
for (int z = -offset; z < max; z++) {
|
||||
for (int x = -offset; x < girth + offset; x++) {
|
||||
for (int z = -offset; z < girth + offset; z++) {
|
||||
|
||||
if (x == -offset && z == -offset) {
|
||||
continue;
|
||||
}
|
||||
if (x == max && z == max) {
|
||||
if (x == girth + offset && z == girth + offset) {
|
||||
continue;
|
||||
}
|
||||
if (x == -offset && z == max) {
|
||||
if (x == -offset && z == girth + offset) {
|
||||
continue;
|
||||
}
|
||||
if (x == max && z == -offset) {
|
||||
if (x == girth + offset && z == -offset) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -235,63 +153,7 @@ public abstract class WorldGenArboriculture extends WorldGenBase {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected List<ChunkCoordinates> generateBranches(World world, final int startY, int xOffset, int zOffset, float spreadY, float spreadXZ, int radius, int count) {
|
||||
return generateBranches(world, startY, xOffset, zOffset, spreadY, spreadXZ, radius, count, 1.0f);
|
||||
}
|
||||
|
||||
protected List<ChunkCoordinates> generateBranches(World world, final int startY, final int xOffset, final int zOffset, final float spreadY, final float spreadXZ, int radius, final int count, final float chance) {
|
||||
List<ChunkCoordinates> branchEnds = new ArrayList<>();
|
||||
if (radius < 1) {
|
||||
radius = 1;
|
||||
}
|
||||
|
||||
for (Direction cardinalDirection : Direction.values()) {
|
||||
ForgeDirection branchDirection = cardinalDirection.forgeDirection;
|
||||
wood.setDirection(branchDirection);
|
||||
for (int i = 0; i < count; i++) {
|
||||
if (world.rand.nextFloat() > chance) {
|
||||
continue;
|
||||
}
|
||||
int y = startY;
|
||||
int x = xOffset;
|
||||
int z = zOffset;
|
||||
|
||||
for (int r = 0; r < radius; r++) {
|
||||
if (world.rand.nextFloat() < spreadY) {
|
||||
// make branches only spread up, not down
|
||||
y++;
|
||||
} else {
|
||||
if (world.rand.nextFloat() < spreadXZ) {
|
||||
if (branchDirection.offsetX == 0) {
|
||||
if (world.rand.nextBoolean()) {
|
||||
x++;
|
||||
} else {
|
||||
x--;
|
||||
}
|
||||
wood.setDirection(ForgeDirection.EAST);
|
||||
} else if (branchDirection.offsetZ == 0) {
|
||||
if (world.rand.nextBoolean()) {
|
||||
z++;
|
||||
} else {
|
||||
z--;
|
||||
}
|
||||
wood.setDirection(ForgeDirection.SOUTH);
|
||||
}
|
||||
} else {
|
||||
x += branchDirection.offsetX;
|
||||
z += branchDirection.offsetZ;
|
||||
wood.setDirection(branchDirection);
|
||||
}
|
||||
}
|
||||
addWood(world, x, y, z, EnumReplaceMode.SOFT);
|
||||
branchEnds.add(new ChunkCoordinates(x, y, z));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return branchEnds;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,19 +25,18 @@ public class WorldGenBalsa extends WorldGenTree {
|
||||
generateTreeTrunk(world, height, girth);
|
||||
|
||||
int leafSpawn = height;
|
||||
float leafRadius = (girth - 1.0f) / 2.0f;
|
||||
|
||||
addLeaf(world, 0, leafSpawn--, 0, EnumReplaceMode.NONE);
|
||||
generateAdjustedCylinder(world, leafSpawn--, leafRadius, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 0, 1, leaf);
|
||||
|
||||
if (height > 10) {
|
||||
generateAdjustedCylinder(world, leafSpawn--, leafRadius, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 0, 1, leaf);
|
||||
}
|
||||
|
||||
leafSpawn--;
|
||||
|
||||
while (leafSpawn > 6) {
|
||||
generateAdjustedCylinder(world, leafSpawn, leafRadius, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn, 0, 1, leaf);
|
||||
leafSpawn--;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.worldgen;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
@@ -27,15 +24,10 @@ public class WorldGenBaobab extends WorldGenTree {
|
||||
public void generate(World world) {
|
||||
generateTreeTrunk(world, height - 1, girth);
|
||||
|
||||
List<ChunkCoordinates> branchCoords = generateBranches(world, height, 0, 0, 0, 0.5f, 4, 6);
|
||||
for (ChunkCoordinates branchEnd : branchCoords) {
|
||||
generateAdjustedCylinder(world, branchEnd.posY, branchEnd.posX, branchEnd.posZ, 0.0f, 2, leaf, EnumReplaceMode.NONE);
|
||||
}
|
||||
|
||||
if (world.rand.nextFloat() < 0.3f) {
|
||||
generateCylinder(world, new Vector(0, height - 1, 0), girth, 1, wood, EnumReplaceMode.SOFT);
|
||||
generateCylinder(world, new Vector(0, height - 1, 0), girth, 1, wood, EnumReplaceMode.NONE);
|
||||
} else if (world.rand.nextBoolean()) {
|
||||
generateCylinder(world, new Vector(0, height - 1, 0), girth - 1, 1, wood, EnumReplaceMode.SOFT);
|
||||
generateCylinder(world, new Vector(0, height - 1, 0), girth - 1, 1, wood, EnumReplaceMode.NONE);
|
||||
}
|
||||
|
||||
int leafSpawn = height + 1;
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.worldgen;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
@@ -28,18 +25,12 @@ public class WorldGenCherry extends WorldGenTree {
|
||||
generateTreeTrunk(world, height, girth);
|
||||
|
||||
int leafSpawn = height + 1;
|
||||
|
||||
generateAdjustedCylinder(world, leafSpawn--, 0, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1, 1, leaf);
|
||||
|
||||
int branchWidth = height / 2;
|
||||
while (leafSpawn > 2) {
|
||||
int leafRadius = Math.min(4, branchWidth);
|
||||
List<ChunkCoordinates> branchCoords = generateBranches(world, leafSpawn, 0, 0, 0.2f, 0.5f, branchWidth, 1);
|
||||
for (ChunkCoordinates branchEnd : branchCoords) {
|
||||
generateAdjustedCircle(world, branchEnd.posY, branchEnd.posX, branchEnd.posZ, leafRadius, 3, 2, leaf, 1.0f, EnumReplaceMode.NONE);
|
||||
}
|
||||
leafSpawn -= 2;
|
||||
branchWidth++;
|
||||
generateAdjustedCylinder(world, leafSpawn--, 2, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1, 1, leaf);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.worldgen;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
@@ -38,15 +35,7 @@ public class WorldGenChestnut extends WorldGenTree {
|
||||
if (world.rand.nextBoolean()) {
|
||||
generateAdjustedCylinder(world, leafSpawn--, 2f, 1, leaf);
|
||||
}
|
||||
|
||||
int branchRadius = height / 2;
|
||||
|
||||
List<ChunkCoordinates> branchCoords = generateBranches(world, leafSpawn, 0, 0, 0.5f, 0.5f, branchRadius, 2);
|
||||
for (ChunkCoordinates branchEnd : branchCoords) {
|
||||
generateAdjustedCylinder(world, branchEnd.posY, branchEnd.posX, branchEnd.posZ, 1.0f, 2, leaf, EnumReplaceMode.NONE);
|
||||
}
|
||||
|
||||
generateAdjustedCylinder(world, leafSpawn, 1.5f, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1.5f, 1, leaf);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
******************************************************************************/
|
||||
package forestry.arboriculture.worldgen;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
@@ -25,14 +22,11 @@ public class WorldGenCocobolo extends WorldGenTree {
|
||||
|
||||
@Override
|
||||
public void generate(World world) {
|
||||
List<ChunkCoordinates> treeTops = generateTreeTrunk(world, height, girth);
|
||||
generateTreeTrunk(world, height, girth);
|
||||
|
||||
int leafSpawn = height;
|
||||
|
||||
for (ChunkCoordinates treeTop : treeTops) {
|
||||
addLeaf(world, treeTop.posX, treeTop.posY + 1, treeTop.posZ, EnumReplaceMode.NONE);
|
||||
}
|
||||
leafSpawn--;
|
||||
addLeaf(world, 0, leafSpawn--, 0, EnumReplaceMode.NONE);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1, 1, leaf);
|
||||
|
||||
if (height > 10) {
|
||||
@@ -48,12 +42,12 @@ public class WorldGenCocobolo extends WorldGenTree {
|
||||
if (world.rand.nextBoolean()) {
|
||||
offset = -1;
|
||||
}
|
||||
generateAdjustedCylinder(world, leafSpawn, offset, offset, 2, 1, leaf, EnumReplaceMode.NONE);
|
||||
generateAdjustedCylinder(world, leafSpawn, offset, 2, 1, leaf, EnumReplaceMode.NONE);
|
||||
} else {
|
||||
if (world.rand.nextBoolean()) {
|
||||
offset = -1;
|
||||
}
|
||||
generateAdjustedCylinder(world, leafSpawn, offset, offset, 0, 1, leaf, EnumReplaceMode.NONE);
|
||||
generateAdjustedCylinder(world, leafSpawn, offset, 0, 1, leaf, EnumReplaceMode.NONE);
|
||||
}
|
||||
leafSpawn--;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
/*******************************************************************************
|
||||
* 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.arboriculture.worldgen;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import forestry.api.world.ITreeGenData;
|
||||
|
||||
public class WorldGenCrescentia extends WorldGenTree {
|
||||
|
||||
public WorldGenCrescentia(ITreeGenData tree) {
|
||||
super(tree, 6, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generate(World world) {
|
||||
generateTreeTrunk(world, height, girth);
|
||||
|
||||
int leafSpawn = height + 1;
|
||||
|
||||
generateAdjustedCylinder(world, leafSpawn--, 0, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 0.5f, 1, leaf);
|
||||
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1.9f, 1, leaf);
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1.9f, 1, leaf);
|
||||
if (world.rand.nextBoolean()) {
|
||||
generateAdjustedCylinder(world, leafSpawn--, 1.9f, 1, leaf);
|
||||
}
|
||||
|
||||
generateAdjustedCylinder(world, leafSpawn--, 0.5f, 1, leaf);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void generateTreeTrunk(World world, int height, int girth) {
|
||||
|
||||
int offset = (girth - 1) / 2;
|
||||
|
||||
//Trunk generation
|
||||
for (int x = 0; x < girth; x++) //offsets trunk in x direction
|
||||
{
|
||||
for (int z = 0; z < girth; z++) //offsets trunk in z direction
|
||||
{
|
||||
if (x == 0 || x == girth - 1) { //checks for edges in x direction
|
||||
if (z == 0 || z == girth - 1) {//checks for corners
|
||||
if (x == 0 && z == 0) {
|
||||
}//xz corner
|
||||
if (x == girth - 1 && z == 0) {
|
||||
}//x-1z corner
|
||||
if (x == 0 && z == girth - 1) {
|
||||
}//xz-1 corner
|
||||
if (x == girth - 1 && z == 0) {
|
||||
} //x-1z-1 corner
|
||||
} else { //these are the z only edges
|
||||
if (x == 0) {
|
||||
|
||||
} else if (x == girth - 1) {
|
||||
|
||||
}
|
||||
}
|
||||
} else if (z == 0 || z == girth - 1) { //these are the x only edges
|
||||
if (z == 0) {
|
||||
|
||||
} else if (z == girth - 1) {
|
||||
|
||||
}
|
||||
} else { //these are center pieces
|
||||
for (int i = 0; i < height; i++) { //grows trunk straight up in y direction to the correct height
|
||||
addWood(world, x - offset, i, z - offset, EnumReplaceMode.ALL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//End trunk generation
|
||||
|
||||
//Spawn pods
|
||||
generatePods(world, height, girth);
|
||||
}
|
||||
|
||||
}
|
||||
Loaded 100 of 521 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user