Compare commits

..
37 Commits
Author SHA1 Message Date
ah-OOG-ah 3cd4c9a934 Update en_US.lang 2024-09-29 23:08:23 -04:00
ah-OOG-ah abcdd2e9fa Spotless 2024-09-29 19:14:10 -04:00
ah-OOG-ah 4566fef4cb Remove gross reflection 2024-09-29 19:14:10 -04:00
ah-OOG-ah 533b41cae8 Remove unused item classes 2024-09-29 19:14:10 -04:00
ah-OOG-ah afa0cbe790 Move drop items 2024-09-29 19:14:10 -04:00
ah-OOG-ah e0b90f69e0 Move comb items 2024-09-29 19:14:10 -04:00
ah-OOG-ah fe53e964c1 Move Propolis 2024-09-29 19:14:10 -04:00
ah-OOG-ah 822920d3b2 Move ET food 2024-09-29 19:14:10 -04:00
ah-OOG-ah c34ab342d9 Move Botany items 2024-09-29 19:14:10 -04:00
ah-OOG-ah 3f3443a374 Move initialization 2024-09-29 19:14:10 -04:00
ah-OOG-ah 43d06a9ba0 Remove empty methods 2024-09-29 19:14:10 -04:00
ah-OOG-ah 59534a05cf Fix broken langs in ExtraTrees 2024-09-29 19:14:10 -04:00
ah-OOG-ah 77068b106d Add default methods for some blocks 2024-09-29 19:14:10 -04:00
ah-OOG-ah 983bd25f7a Replace ExtraBees items 2024-09-29 19:14:10 -04:00
ah-OOG-ah 37fda09964 Load non-damage ET items 2024-09-29 19:14:10 -04:00
ah-OOG-ah ce71fe4912 Move init 2024-09-29 19:14:10 -04:00
ah-OOG-ah 033f536462 De-enum GeneticsItems, create ETItems 2024-09-29 19:14:10 -04:00
ah-OOG-ah 27c13f7758 Localise damage items 2024-09-29 19:14:10 -04:00
ah-OOG-ah 04c68468e5 Remap Genetics to genetics 2024-09-29 19:14:10 -04:00
ah-OOG-ah 004f38a782 Fix genetics item registration
However, now textures are screwed because Binnie made doesn't have consistent capitalization.
2024-09-29 19:14:10 -04:00
ah-OOG-ah aea58b0b65 Spotless 2024-09-29 19:14:10 -04:00
ah-OOG-ah 1bc0567b4a Replace GeneticsItems 2024-09-29 19:14:10 -04:00
ah-OOG-ah 882b9c3964 Remove redundant methods 2024-09-29 19:14:10 -04:00
ah-OOG-ah b61fff5691 Move simple Genetics items to enum 2024-09-29 19:14:10 -04:00
ah-OOG-ah 1a3b24c589 Remove unused GUI factory 2024-09-29 19:13:17 -04:00
ah-OOG-ah d77c705d54 Spotless 2024-09-26 19:18:43 -04:00
ah-OOG-ah 3222bf35ca Register EBConfig and add ranges 2024-09-26 19:18:19 -04:00
ah-OOG-ah 56c2e72748 Remove module configs
We don't support disabling parts
2024-09-26 17:33:07 -04:00
ah-OOG-ah 0f2e6bd76e Yeet the config system 2024-09-26 14:27:48 -04:00
ah-OOG-ah 880f952d0f Actually remove the last config 2024-09-26 14:27:48 -04:00
ah-OOG-ah 5db9be848f Remove the last config 2024-09-26 14:27:48 -04:00
ah-OOG-ah 57345f4daa I may be dense 2024-09-26 14:27:48 -04:00
ah-OOG-ah ccd425de9d Migrate ExtraBees config
Needs testing in prod
2024-09-26 14:27:48 -04:00
ah-OOG-ah df042779de Actually plug in the config class
Although I'm not sure that child mods are handled correctly.
2024-09-26 14:27:48 -04:00
ah-OOG-ah 162ac5a46c Move ExtraTrees to NHLib config 2024-09-26 14:27:48 -04:00
ah-OOG-ah 1077567cc3 Yeet empty config file 2024-09-26 14:27:48 -04:00
ah-OOG-ah a5ac246a28 Delete a bunch of unused code
Passes the scream test, at least without binnie-specific tests
2024-09-26 14:27:48 -04:00
194 changed files with 3240 additions and 4055 deletions

No files matched your search

+6 -6
View File
@@ -1,12 +1,12 @@
// Add your dependencies here
dependencies {
api('com.github.GTNewHorizons:ForestryMC:4.10.17:dev')
implementation('com.github.GTNewHorizons:GTNHLib:0.7.0:dev')
api('com.github.GTNewHorizons:ForestryMC:4.9.16:dev')
implementation('com.github.GTNewHorizons:GTNHLib:0.5.11:dev')
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.8.0-GTNH:dev')
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.6.38-GTNH:dev')
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.44:api')
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
compileOnly("curse.maven:extrabiomesxl-60041:2273301")
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.39:api')
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
compileOnly("curse.maven:extrabiomesxl-60041:2273301")
}
+2 -2
View File
@@ -14,7 +14,7 @@ modId = BinnieCore
modGroup = binnie
# Whether to use modGroup as the maven publishing group.
# When false, com.github.GTNewHorizons is used.
# Due to a history of using JitPack, the default is com.github.GTNewHorizons for all mods.
useModGroupForPublishing = false
# Updates your build.gradle and settings.gradle automatically whenever an update is available.
@@ -151,7 +151,7 @@ modrinthProjectId =
# type can be one of [project, version],
# and the name is the Modrinth project or version slug/id of the other mod.
# Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech
# Note: UniMixins is automatically set as a required dependency if usesMixins = true.
# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true
modrinthRelations =
# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.
Binary file not shown.
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Vendored
+3 -2
View File
@@ -86,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -205,7 +206,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
+1 -1
View File
@@ -17,5 +17,5 @@ pluginManagement {
}
plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.43'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.27'
}
-2
View File
@@ -5,7 +5,6 @@ import java.util.List;
import binnie.core.ManagerBase;
import binnie.core.genetics.ManagerGenetics;
import binnie.core.item.ManagerItem;
import binnie.core.liquid.ManagerLiquid;
import binnie.core.machines.ManagerMachine;
import binnie.core.resource.ManagerResource;
@@ -16,6 +15,5 @@ public final class Binnie {
public static ManagerGenetics Genetics = new ManagerGenetics();
public static ManagerLiquid Liquid = new ManagerLiquid();
public static ManagerMachine Machine = new ManagerMachine();
public static ManagerItem Item = new ManagerItem();
public static ManagerResource Resource = new ManagerResource();
}
+160 -163
View File
@@ -1,12 +1,12 @@
package binnie.botany;
import static binnie.botany.items.BotanyItems.misc;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.BonemealEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent;
@@ -21,28 +21,20 @@ import binnie.botany.ceramic.BlockCeramicPatterned;
import binnie.botany.ceramic.BlockStained;
import binnie.botany.core.BotanyCore;
import binnie.botany.core.BotanyGUI;
import binnie.botany.core.ModuleCore;
import binnie.botany.flower.BlockFlower;
import binnie.botany.flower.ItemFlower;
import binnie.botany.flower.ItemInsulatedTube;
import binnie.botany.flower.TileEntityFlower;
import binnie.botany.gardening.BlockPlant;
import binnie.botany.gardening.BlockSoil;
import binnie.botany.gardening.Gardening;
import binnie.botany.gardening.ItemSoilMeter;
import binnie.botany.gardening.ItemTrowel;
import binnie.botany.gardening.ModuleGardening;
import binnie.botany.genetics.ItemDictionary;
import binnie.botany.genetics.ModuleGenetics;
import binnie.botany.items.ItemClay;
import binnie.botany.items.ItemPigment;
import binnie.botany.items.BotanyItems;
import binnie.botany.network.PacketID;
import binnie.botany.proxy.Proxy;
import binnie.core.AbstractMod;
import binnie.core.BinnieCore;
import binnie.core.Tags;
import binnie.core.gui.IBinnieGUID;
import binnie.core.item.ItemMisc;
import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.proxy.IProxyCore;
@@ -50,14 +42,24 @@ import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.Event;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
@Mod(modid = "Botany", name = "Botany", version = Tags.VERSION, useMetadata = true, dependencies = "after:BinnieCore")
@Mod(
modid = Botany.BOTANY_MODID,
name = Botany.BOTANY_MODNAME,
version = Tags.VERSION,
useMetadata = true,
dependencies = "after:BinnieCore")
public class Botany extends AbstractMod {
public static final String BOTANY_MODID = "botany";
public static final String BOTANY_MODNAME = "Botany";
@Mod.Instance("Botany")
public static Botany instance;
@@ -65,27 +67,13 @@ public class Botany extends AbstractMod {
public static Proxy proxy;
public static BlockFlower flower;
public static Item seed;
public static Item pollen;
public static ItemDictionary database;
public static BlockPlant plant;
public static ItemTrowel trowelWood;
public static ItemTrowel trowelStone;
public static ItemTrowel trowelIron;
public static ItemTrowel trowelDiamond;
public static ItemTrowel trowelGold;
public static BlockSoil soil;
public static BlockSoil loam;
public static BlockSoil flowerbed;
public static BlockSoil soilNoWeed;
public static BlockSoil loamNoWeed;
public static BlockSoil flowerbedNoWeed;
public static ItemInsulatedTube insulatedTube;
public static ItemSoilMeter soilMeter;
public static ItemMisc misc;
public static ItemFlower flowerItem;
public static ItemPigment pigment;
public static ItemClay clay;
public static BlockCeramic ceramic;
public static BlockCeramicPatterned ceramicTile;
public static BlockStained stained;
@@ -93,12 +81,14 @@ public class Botany extends AbstractMod {
public Botany() {
Botany.instance = this;
MinecraftForge.EVENT_BUS.register(new EventHandler());
}
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
addModule(new ModuleCore());
// Loads BotanyItems.class, guaranteeing that items are init by this point
// TODO: is this needed?
misc.getUnlocalizedName();
addModule(new ModuleGenetics());
addModule(new ModuleGardening());
preInit();
@@ -114,6 +104,19 @@ public class Botany extends AbstractMod {
postInit();
}
@Mod.EventHandler
public void missingMappings(FMLMissingMappingsEvent event) {
for (FMLMissingMappingsEvent.MissingMapping m : event.getAll()) {
final String[] name = m.name.split(":");
if (name.length < 2) continue;
if (name[0].equals("Botany")) {
if (m.type == GameRegistry.Type.BLOCK) m.remap(GameRegistry.findBlock(BOTANY_MODID, name[1]));
else m.remap(GameRegistry.findItem(BOTANY_MODID, name[1]));
}
}
}
@Override
public IBinnieGUID[] getGUIDs() {
return BotanyGUI.values();
@@ -136,7 +139,7 @@ public class Botany extends AbstractMod {
@Override
public String getModID() {
return "botany";
return BOTANY_MODID;
}
@Override
@@ -144,6 +147,118 @@ public class Botany extends AbstractMod {
return PacketHandler.class;
}
@SubscribeEvent
public void onShearFlower(PlayerInteractEvent event) {
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
return;
}
if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null
&& event.entityPlayer.getHeldItem().getItem() == Items.shears) {
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (tile instanceof TileEntityFlower tileFlower) {
tileFlower.onShear();
event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer);
}
}
if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null
&& event.entityPlayer.getHeldItem().getItem() == BotanyItems.pollen) {
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (tile instanceof TileEntityFlower tileFlower) {
IFlower pollen = BotanyCore.getFlowerRoot().getMember(event.entityPlayer.getHeldItem());
if (pollen != null && tileFlower.canMateWith(pollen)) {
tileFlower.mateWith(pollen);
if (!event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem = event.entityPlayer.getHeldItem();
heldItem.stackSize--;
}
}
}
}
}
@SubscribeEvent
public void onFertiliseSoil(PlayerInteractEvent event) {
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK || event.world == null) {
return;
}
if (event.entityPlayer == null || event.entityPlayer.getHeldItem() == null) {
return;
}
int y = event.y;
Block block = event.world.getBlock(event.x, y, event.z);
if (!Gardening.isSoil(block)) {
block = event.world.getBlock(event.x, --y, event.z);
}
if (!Gardening.isSoil(block)) {
return;
}
IBlockSoil soil = (IBlockSoil) block;
if (Gardening.isNutrientFertiliser(event.entityPlayer.getHeldItem())
&& soil.getType(event.world, event.x, y, event.z) != EnumSoilType.FLOWERBED) {
EnumSoilType type = soil.getType(event.world, event.x, y, event.z);
int next = Math.min(type.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2);
if (soil.fertilise(event.world, event.x, y, event.z, EnumSoilType.values()[next])
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem = event.entityPlayer.getHeldItem();
heldItem.stackSize--;
return;
}
}
if (Gardening.isAcidFertiliser(event.entityPlayer.getHeldItem())
&& soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.ACID) {
EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z);
int next = Math.max(pH.ordinal() - Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 0);
if (soil.setPH(event.world, event.x, y, event.z, EnumAcidity.values()[next])
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem2 = event.entityPlayer.getHeldItem();
heldItem2.stackSize--;
return;
}
}
if (Gardening.isAlkalineFertiliser(event.entityPlayer.getHeldItem())
&& soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.ALKALINE) {
EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z);
int next = Math.min(pH.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2);
if (soil.setPH(event.world, event.x, y, event.z, EnumAcidity.values()[next])
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem3 = event.entityPlayer.getHeldItem();
heldItem3.stackSize--;
return;
}
}
if (Gardening.isWeedkiller(event.entityPlayer.getHeldItem())
&& Gardening.addWeedKiller(event.world, event.x, y, event.z)
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem4 = event.entityPlayer.getHeldItem();
heldItem4.stackSize--;
}
}
@SubscribeEvent
public void plantVanilla(BlockEvent.PlaceEvent event) {
World world = event.world;
int x = event.x;
int y = event.y;
int z = event.z;
Block block = world.getBlock(x, y - 1, z);
if (!(block instanceof IBlockSoil)) {
return;
}
IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.itemInHand);
if (flower != null) {
Gardening.plant(world, x, y, z, flower, event.player.getGameProfile());
}
}
@Deprecated
public void onPlantVanilla(PlayerInteractEvent event) {
if (!BinnieCore.proxy.isSimulating(event.world)
@@ -177,6 +292,22 @@ public class Botany extends AbstractMod {
}
}
@SubscribeEvent
public void onBonemeal(BonemealEvent event) {
Block block = event.world.getBlock(event.x, event.y, event.z);
if (Gardening.isSoil(block)) {
IBlockSoil soil = (IBlockSoil) block;
if (soil.fertilise(event.world, event.x, event.y, event.z, EnumSoilType.LOAM)) {
event.setResult(Event.Result.ALLOW);
}
}
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).onBonemeal()) {
event.setResult(Event.Result.ALLOW);
}
}
@Mod.EventHandler
public void onIMC(FMLInterModComms.IMCEvent event) {
for (FMLInterModComms.IMCMessage message : event.getMessages()) {
@@ -207,138 +338,4 @@ public class Botany extends AbstractMod {
super(Botany.instance);
}
}
public static class EventHandler {
@SubscribeEvent
public void onShearFlower(PlayerInteractEvent event) {
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
return;
}
if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null
&& event.entityPlayer.getHeldItem().getItem() == Items.shears) {
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (tile instanceof TileEntityFlower tileFlower) {
tileFlower.onShear();
event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer);
}
}
if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null
&& event.entityPlayer.getHeldItem().getItem() == Botany.pollen) {
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (tile instanceof TileEntityFlower tileFlower) {
IFlower pollen = BotanyCore.getFlowerRoot().getMember(event.entityPlayer.getHeldItem());
if (pollen != null && tileFlower.canMateWith(pollen)) {
tileFlower.mateWith(pollen);
if (!event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem = event.entityPlayer.getHeldItem();
heldItem.stackSize--;
}
}
}
}
}
@SubscribeEvent
public void onFertiliseSoil(PlayerInteractEvent event) {
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK || event.world == null) {
return;
}
if (event.entityPlayer == null || event.entityPlayer.getHeldItem() == null) {
return;
}
int y = event.y;
Block block = event.world.getBlock(event.x, y, event.z);
if (!Gardening.isSoil(block)) {
block = event.world.getBlock(event.x, --y, event.z);
}
if (!Gardening.isSoil(block)) {
return;
}
IBlockSoil soil = (IBlockSoil) block;
if (Gardening.isNutrientFertiliser(event.entityPlayer.getHeldItem())
&& soil.getType(event.world, event.x, y, event.z) != EnumSoilType.FLOWERBED) {
EnumSoilType type = soil.getType(event.world, event.x, y, event.z);
int next = Math
.min(type.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2);
if (soil.fertilise(event.world, event.x, y, event.z, EnumSoilType.values()[next])
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem = event.entityPlayer.getHeldItem();
heldItem.stackSize--;
return;
}
}
if (Gardening.isAcidFertiliser(event.entityPlayer.getHeldItem())
&& soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.ACID) {
EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z);
int next = Math
.max(pH.ordinal() - Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 0);
if (soil.setPH(event.world, event.x, y, event.z, EnumAcidity.values()[next])
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem2 = event.entityPlayer.getHeldItem();
heldItem2.stackSize--;
return;
}
}
if (Gardening.isAlkalineFertiliser(event.entityPlayer.getHeldItem())
&& soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.ALKALINE) {
EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z);
int next = Math
.min(pH.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2);
if (soil.setPH(event.world, event.x, y, event.z, EnumAcidity.values()[next])
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem3 = event.entityPlayer.getHeldItem();
heldItem3.stackSize--;
return;
}
}
if (Gardening.isWeedkiller(event.entityPlayer.getHeldItem())
&& Gardening.addWeedKiller(event.world, event.x, y, event.z)
&& !event.entityPlayer.capabilities.isCreativeMode) {
ItemStack heldItem4 = event.entityPlayer.getHeldItem();
heldItem4.stackSize--;
}
}
@SubscribeEvent
public void plantVanilla(BlockEvent.PlaceEvent event) {
World world = event.world;
int x = event.x;
int y = event.y;
int z = event.z;
Block block = world.getBlock(x, y - 1, z);
if (!(block instanceof IBlockSoil)) {
return;
}
IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.itemInHand);
if (flower != null) {
Gardening.plant(world, x, y, z, flower, event.player.getGameProfile());
}
}
@SubscribeEvent
public void onBonemeal(BonemealEvent event) {
Block block = event.world.getBlock(event.x, event.y, event.z);
if (Gardening.isSoil(block)) {
IBlockSoil soil = (IBlockSoil) block;
if (soil.fertilise(event.world, event.x, event.y, event.z, EnumSoilType.LOAM)) {
event.setResult(Event.Result.ALLOW);
}
}
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).onBonemeal()) {
event.setResult(Event.Result.ALLOW);
}
}
}
}
@@ -16,7 +16,6 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
@@ -65,16 +64,6 @@ public class BlockCeramic extends Block implements IBlockMetadata {
return tileentity != null && tileentity.receiveClientEvent(eventId, eventType);
}
@Override
public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) {
return TileEntityMetadata.getItemDamage(itemStack);
}
@Override
public int getDroppedMeta(int blockMeta, int tileMeta) {
return tileMeta;
}
@Override
public String getBlockName(ItemStack itemStack) {
return I18N.localise("botany.ceramicBlock");
@@ -1,5 +1,7 @@
package binnie.botany.ceramic;
import static binnie.botany.items.BotanyMisc.Items.Mortar;
import java.util.ArrayList;
import java.util.List;
@@ -16,7 +18,6 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
@@ -73,16 +74,6 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa
return tileentity != null && tileentity.receiveClientEvent(eventId, eventType);
}
@Override
public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) {
return TileEntityMetadata.getItemDamage(itemStack);
}
@Override
public int getDroppedMeta(int blockMeta, int tileMeta) {
return tileMeta;
}
@Override
public String getBlockName(ItemStack itemStack) {
int meta = TileEntityMetadata.getItemDamage(itemStack);
@@ -484,7 +475,7 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa
}
private boolean isMortar(ItemStack stack) {
return stack.getItem() == Botany.misc && stack.getItemDamage() == BotanyItems.Mortar.ordinal();
return stack.getItem() == BotanyItems.misc && stack.getItemDamage() == Mortar.ordinal();
}
}
@@ -34,7 +34,6 @@ public class BlockStained extends Block implements IBlockMetadata {
public BlockStained() {
super(Material.glass);
setHardness(0.3f);
setCreativeTab(CreativeTabBotany.instance);
setBlockName("stained");
}
@@ -96,16 +95,6 @@ public class BlockStained extends Block implements IBlockMetadata {
return tileentity != null && tileentity.receiveClientEvent(eventId, eventType);
}
@Override
public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) {
return TileEntityMetadata.getItemDamage(itemStack);
}
@Override
public int getDroppedMeta(int blockMeta, int tileMeta) {
return tileMeta;
}
@Override
public String getBlockName(ItemStack itemStack) {
return I18N.localise("botany.pigmentedGlass");
@@ -1,5 +1,7 @@
package binnie.botany.ceramic;
import static binnie.botany.items.BotanyMisc.Items.Mortar;
import java.util.HashMap;
import java.util.Map;
@@ -10,7 +12,6 @@ import net.minecraft.util.IIcon;
import binnie.botany.Botany;
import binnie.botany.genetics.EnumFlowerColor;
import binnie.botany.items.BotanyItems;
import binnie.core.AbstractMod;
import binnie.core.BinnieCore;
import binnie.extratrees.api.IDesignMaterial;
@@ -96,7 +97,7 @@ public class CeramicDesignSystem implements IDesignSystem {
@Override
public ItemStack getAdhesive() {
return BotanyItems.Mortar.get(1);
return Mortar.get(1);
}
@Override
@@ -10,6 +10,7 @@ import net.minecraft.item.crafting.IRecipe;
import net.minecraft.world.World;
import binnie.botany.Botany;
import binnie.botany.items.BotanyItems;
public class CeramicTileRecipe implements IRecipe {
@@ -26,7 +27,7 @@ public class CeramicTileRecipe implements IRecipe {
Item ceramicBlock = Item.getItemFromBlock(Botany.ceramic);
Item ceramicTile = Item.getItemFromBlock(Botany.ceramicTile);
Item ceramicBrick = Item.getItemFromBlock(Botany.ceramicBrick);
Item mortar = Botany.misc;
Item mortar = BotanyItems.misc;
List<ItemStack> stacks = new ArrayList<>();
int ix = -1;
int iy = -1;
@@ -6,8 +6,8 @@ import net.minecraft.item.crafting.IRecipe;
import net.minecraft.world.World;
import binnie.Binnie;
import binnie.botany.Botany;
import binnie.botany.api.IFlower;
import binnie.botany.items.BotanyItems;
public class PigmentRecipe implements IRecipe {
@@ -47,7 +47,7 @@ public class PigmentRecipe implements IRecipe {
IFlower flower = Binnie.Genetics.getFlowerRoot().getMember(crafting.getStackInSlot(i));
if (flower.getAge() >= 1) {
stack = new ItemStack(Botany.pigment, 1, flower.getGenome().getPrimaryColor().getID());
stack = new ItemStack(BotanyItems.pigment, 1, flower.getGenome().getPrimaryColor().getID());
}
}
}
@@ -1,21 +0,0 @@
package binnie.botany.core;
import binnie.core.IInitializable;
public class ModuleCore implements IInitializable {
@Override
public void preInit() {
// ignored
}
@Override
public void init() {
// ignored
}
@Override
public void postInit() {
// ignored
}
}
@@ -27,6 +27,7 @@ import binnie.botany.genetics.EnumFlowerType;
import binnie.botany.genetics.Flower;
import binnie.core.BinnieCore;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IIndividual;
@@ -39,6 +40,8 @@ public abstract class ItemBotany extends Item {
setCreativeTab(CreativeTabBotany.instance);
setUnlocalizedName(name);
hasSubtypes = true;
GameRegistry.registerItem(this, name);
}
@Override
@@ -13,6 +13,7 @@ import net.minecraft.util.IIcon;
import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -21,10 +22,14 @@ public class ItemInsulatedTube extends Item {
IIcon[] icons;
public ItemInsulatedTube() {
final String name = "insulatedTube";
icons = new IIcon[3];
setUnlocalizedName("insulatedTube");
setUnlocalizedName(name);
setCreativeTab(CreativeTabBotany.instance);
setHasSubtypes(true);
GameRegistry.registerItem(this, name);
}
public static ItemStack getInsulateStack(ItemStack stack) {
@@ -1,5 +1,7 @@
package binnie.botany.gardening;
import static binnie.botany.items.BotanyMisc.Items.Weedkiller;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -22,7 +24,6 @@ import binnie.botany.api.EnumSoilType;
import binnie.botany.api.IFlower;
import binnie.botany.api.gardening.IBlockSoil;
import binnie.botany.flower.TileEntityFlower;
import binnie.botany.items.BotanyItems;
import binnie.core.BinnieCore;
import forestry.api.core.EnumTemperature;
@@ -263,7 +264,7 @@ public class Gardening {
}
public static boolean isWeedkiller(ItemStack heldItem) {
return heldItem != null && heldItem.isItemEqual(BotanyItems.Weedkiller.get(1));
return heldItem != null && heldItem.isItemEqual(Weedkiller.get(1));
}
public static boolean addWeedKiller(World world, int x, int y, int z) {
@@ -19,15 +19,20 @@ import binnie.botany.api.gardening.IBlockSoil;
import binnie.core.BinnieCore;
import binnie.core.util.I18N;
import binnie.genetics.genetics.AlleleHelper;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemSoilMeter extends Item {
public ItemSoilMeter() {
final String name = "soilMeter";
setCreativeTab(CreativeTabBotany.instance);
setUnlocalizedName("soilMeter");
setUnlocalizedName(name);
setMaxStackSize(1);
GameRegistry.registerItem(this, name);
}
@Override
@@ -13,21 +13,25 @@ import binnie.botany.CreativeTabBotany;
import binnie.botany.api.EnumAcidity;
import binnie.botany.api.EnumMoisture;
import binnie.botany.api.EnumSoilType;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemTrowel extends Item {
protected Item.ToolMaterial theToolMaterial;
String locName;
final String locName;
public ItemTrowel(Item.ToolMaterial toolMaterial, String material) {
locName = "trowel" + material;
theToolMaterial = toolMaterial;
maxStackSize = 1;
setMaxDamage(toolMaterial.getMaxUses());
setCreativeTab(CreativeTabBotany.instance);
setUnlocalizedName("trowel" + material);
locName = "trowel" + material;
setUnlocalizedName(locName);
GameRegistry.registerItem(this, locName);
}
@Override
@@ -1,5 +1,14 @@
package binnie.botany.gardening;
import static binnie.botany.items.BotanyMisc.Items.AshPowder;
import static binnie.botany.items.BotanyMisc.Items.CompostPowder;
import static binnie.botany.items.BotanyMisc.Items.FertiliserPowder;
import static binnie.botany.items.BotanyMisc.Items.Mortar;
import static binnie.botany.items.BotanyMisc.Items.MulchPowder;
import static binnie.botany.items.BotanyMisc.Items.PulpPowder;
import static binnie.botany.items.BotanyMisc.Items.SulphurPowder;
import static binnie.botany.items.BotanyMisc.Items.Weedkiller;
import java.util.HashMap;
import java.util.Map;
@@ -12,9 +21,7 @@ import net.minecraftforge.oredict.RecipeSorter;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import binnie.Binnie;
import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.botany.api.EnumAcidity;
import binnie.botany.api.EnumMoisture;
import binnie.botany.api.EnumSoilType;
@@ -28,8 +35,6 @@ import binnie.botany.farm.CircuitGarden;
import binnie.botany.flower.ItemInsulatedTube;
import binnie.botany.genetics.EnumFlowerColor;
import binnie.botany.items.BotanyItems;
import binnie.botany.items.ItemClay;
import binnie.botany.items.ItemPigment;
import binnie.core.BinnieCore;
import binnie.core.IInitializable;
import binnie.core.Mods;
@@ -68,17 +73,6 @@ public class ModuleGardening implements IInitializable {
Botany.flowerbedNoWeed = new BlockSoil(EnumSoilType.FLOWERBED, "flowerbedNoWeed", true);
GameRegistry.registerBlock(Botany.flowerbedNoWeed, ItemSoil.class, "flowerbedNoWeed");
Botany.soilMeter = new ItemSoilMeter();
Botany.insulatedTube = new ItemInsulatedTube();
Botany.trowelWood = new ItemTrowel(Item.ToolMaterial.WOOD, "Wood");
Botany.trowelStone = new ItemTrowel(Item.ToolMaterial.STONE, "Stone");
Botany.trowelIron = new ItemTrowel(Item.ToolMaterial.IRON, "Iron");
Botany.trowelDiamond = new ItemTrowel(Item.ToolMaterial.EMERALD, "Diamond");
Botany.trowelGold = new ItemTrowel(Item.ToolMaterial.GOLD, "Gold");
Botany.misc = Binnie.Item.registerMiscItems(BotanyItems.values(), CreativeTabBotany.instance);
Botany.pigment = new ItemPigment();
Botany.clay = new ItemClay();
Botany.ceramic = new BlockCeramic();
GameRegistry.registerBlock(Botany.ceramic, ItemMetadata.class, "ceramic");
BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.ceramic), new ItemMetadataRenderer());
@@ -100,7 +94,7 @@ public class ModuleGardening implements IInitializable {
@Override
public void init() {
OreDictionary.registerOre("pigment", Botany.pigment);
OreDictionary.registerOre("pigment", BotanyItems.pigment);
RecipeSorter.register("botany:ceramictile", CeramicTileRecipe.class, RecipeSorter.Category.SHAPED, "");
RecipeSorter.register("botany:pigment", PigmentRecipe.class, RecipeSorter.Category.SHAPED, "");
ItemStack yellow = new ItemStack(Blocks.yellow_flower, 1);
@@ -121,28 +115,28 @@ public class ModuleGardening implements IInitializable {
null,
manual,
fertilised,
new ItemStack(Botany.insulatedTube, 1, 128 * insulate),
new ItemStack(BotanyItems.insulatedTube, 1, 128 * insulate),
icon);
new CircuitGarden(
moist,
EnumAcidity.ACID,
manual,
fertilised,
new ItemStack(Botany.insulatedTube, 1, 1 + 128 * insulate),
new ItemStack(BotanyItems.insulatedTube, 1, 1 + 128 * insulate),
icon);
new CircuitGarden(
moist,
EnumAcidity.NEUTRAL,
manual,
fertilised,
new ItemStack(Botany.insulatedTube, 1, 2 + 128 * insulate),
new ItemStack(BotanyItems.insulatedTube, 1, 2 + 128 * insulate),
icon);
new CircuitGarden(
moist,
EnumAcidity.ALKALINE,
manual,
fertilised,
new ItemStack(Botany.insulatedTube, 1, 3 + 128 * insulate),
new ItemStack(BotanyItems.insulatedTube, 1, 3 + 128 * insulate),
icon);
}
}
@@ -154,7 +148,7 @@ public class ModuleGardening implements IInitializable {
GameRegistry.addRecipe(new CeramicTileRecipe());
for (int mat = 0; mat < 4; ++mat) {
for (int insulate = 0; insulate < 6; ++insulate) {
ItemStack tubes = new ItemStack(Botany.insulatedTube, 2, mat + 128 * insulate);
ItemStack tubes = new ItemStack(BotanyItems.insulatedTube, 2, mat + 128 * insulate);
ItemStack insulateStack = ItemInsulatedTube.getInsulateStack(tubes);
ItemStack forestryTube = new ItemStack(Mods.forestry.item("thermionicTubes"), 1, mat);
GameRegistry.addShapelessRecipe(tubes, forestryTube, forestryTube, insulateStack);
@@ -182,62 +176,61 @@ public class ModuleGardening implements IInitializable {
GameRegistry.addRecipe(
new ShapedOreRecipe(
Botany.trowelWood,
BotanyItems.trowelWood,
new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "plankWood" }));
GameRegistry.addRecipe(
new ShapedOreRecipe(
Botany.trowelStone,
BotanyItems.trowelStone,
new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "cobblestone" }));
GameRegistry.addRecipe(
new ShapedOreRecipe(
Botany.trowelIron,
BotanyItems.trowelIron,
new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "ingotIron" }));
GameRegistry.addRecipe(
new ShapedOreRecipe(
Botany.trowelGold,
BotanyItems.trowelGold,
new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "ingotGold" }));
GameRegistry.addRecipe(
new ShapedOreRecipe(
Botany.trowelDiamond,
BotanyItems.trowelDiamond,
new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "gemDiamond" }));
GameRegistry.addRecipe(
new ShapedOreRecipe(
Botany.soilMeter,
BotanyItems.soilMeter,
new Object[] { " gg", " rg", "i ", 'g', "ingotGold", 'r', "dustRedstone", 'i', "ingotIron" }));
GameRegistry.addShapelessRecipe(
BotanyItems.Weedkiller.get(4),
Weedkiller.get(4),
new ItemStack(Items.spider_eye),
new ItemStack(Items.wheat_seeds),
new ItemStack(Items.wheat_seeds),
new ItemStack(Items.wheat_seeds));
GameRegistry.addShapelessRecipe(BotanyItems.AshPowder.get(4), Mods.forestry.stack("ash"));
GameRegistry.addShapelessRecipe(BotanyItems.MulchPowder.get(4), Mods.forestry.stack("mulch"));
GameRegistry.addShapelessRecipe(BotanyItems.CompostPowder.get(4), Mods.forestry.stack("fertilizerBio"));
GameRegistry.addShapelessRecipe(BotanyItems.FertiliserPowder.get(4), Mods.forestry.stack("fertilizerCompound"));
GameRegistry.addShapelessRecipe(BotanyItems.PulpPowder.get(4), Mods.forestry.stack("woodPulp"));
GameRegistry
.addRecipe(new ShapelessOreRecipe(BotanyItems.SulphurPowder.get(4), new Object[] { "dustSulphur" }));
GameRegistry.addShapelessRecipe(AshPowder.get(4), Mods.forestry.stack("ash"));
GameRegistry.addShapelessRecipe(MulchPowder.get(4), Mods.forestry.stack("mulch"));
GameRegistry.addShapelessRecipe(CompostPowder.get(4), Mods.forestry.stack("fertilizerBio"));
GameRegistry.addShapelessRecipe(FertiliserPowder.get(4), Mods.forestry.stack("fertilizerCompound"));
GameRegistry.addShapelessRecipe(PulpPowder.get(4), Mods.forestry.stack("woodPulp"));
GameRegistry.addRecipe(new ShapelessOreRecipe(SulphurPowder.get(4), new Object[] { "dustSulphur" }));
GameRegistry.addRecipe(
new ShapelessOreRecipe(
new ItemStack(Botany.pigment, 2, EnumFlowerColor.BLACK.ordinal()),
new ItemStack(BotanyItems.pigment, 2, EnumFlowerColor.BLACK.ordinal()),
new Object[] { "pigment", "pigment", "dyeBlack" }));
ModuleGardening.queuedAcidFertilisers.put(BotanyItems.SulphurPowder.get(1), 1);
ModuleGardening.queuedAcidFertilisers.put(BotanyItems.MulchPowder.get(1), 1);
ModuleGardening.queuedAcidFertilisers.put(SulphurPowder.get(1), 1);
ModuleGardening.queuedAcidFertilisers.put(MulchPowder.get(1), 1);
ModuleGardening.queuedAcidFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "mulch")), 2);
for (ItemStack stack : OreDictionary.getOres("dustSulfur")) {
ModuleGardening.queuedAcidFertilisers.put(stack, 2);
}
ModuleGardening.queuedAlkalineFertilisers.put(BotanyItems.AshPowder.get(1), 1);
ModuleGardening.queuedAlkalineFertilisers.put(BotanyItems.PulpPowder.get(1), 1);
ModuleGardening.queuedAlkalineFertilisers.put(AshPowder.get(1), 1);
ModuleGardening.queuedAlkalineFertilisers.put(PulpPowder.get(1), 1);
ModuleGardening.queuedAlkalineFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "ash")), 2);
ModuleGardening.queuedAlkalineFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "woodPulp")), 2);
ModuleGardening.queuedNutrientFertilisers.put(BotanyItems.CompostPowder.get(1), 1);
ModuleGardening.queuedNutrientFertilisers.put(BotanyItems.FertiliserPowder.get(1), 1);
ModuleGardening.queuedNutrientFertilisers.put(CompostPowder.get(1), 1);
ModuleGardening.queuedNutrientFertilisers.put(FertiliserPowder.get(1), 1);
ModuleGardening.queuedNutrientFertilisers
.put(new ItemStack(GameRegistry.findItem("Forestry", "fertilizerBio")), 2);
ModuleGardening.queuedNutrientFertilisers
@@ -255,12 +248,11 @@ public class ModuleGardening implements IInitializable {
addNutrientFertiliser(entry.getKey(), entry.getValue());
}
GameRegistry
.addRecipe(BotanyItems.Mortar.get(6), " c ", "cgc", " c ", 'c', Items.clay_ball, 'g', Blocks.gravel);
GameRegistry.addRecipe(Mortar.get(6), " c ", "cgc", " c ", 'c', Items.clay_ball, 'g', Blocks.gravel);
for (EnumFlowerColor c : EnumFlowerColor.values()) {
ItemStack clay = new ItemStack(Botany.clay, 1, c.ordinal());
ItemStack pigment = new ItemStack(Botany.pigment, 1, c.ordinal());
ItemStack clay = new ItemStack(BotanyItems.clay, 1, c.ordinal());
ItemStack pigment = new ItemStack(BotanyItems.pigment, 1, c.ordinal());
GameRegistry.addShapelessRecipe(clay, Items.clay_ball, Items.clay_ball, Items.clay_ball, pigment);
GameRegistry.addSmelting(clay, TileEntityMetadata.getItemStack(Botany.ceramic, c.ordinal()), 0.0f);
ItemStack glass = TileEntityMetadata.getItemStack(Botany.stained, c.ordinal());
@@ -14,7 +14,6 @@ import net.minecraft.world.World;
import com.mojang.authlib.GameProfile;
import binnie.botany.Botany;
import binnie.botany.api.EnumFlowerChromosome;
import binnie.botany.api.EnumFlowerStage;
import binnie.botany.api.IAlleleFlowerSpecies;
@@ -24,6 +23,7 @@ import binnie.botany.api.IFlower;
import binnie.botany.api.IFlowerGenome;
import binnie.botany.api.IFlowerMutation;
import binnie.botany.api.IFlowerRoot;
import binnie.botany.items.BotanyItems;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IChromosomeType;
@@ -88,16 +88,16 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot {
return null;
}
Item flowerItem = Botany.flowerItem;
Item flowerItem = BotanyItems.flowerItem;
if (type == EnumFlowerStage.SEED.ordinal()) {
flowerItem = Botany.seed;
flowerItem = BotanyItems.seed;
}
if (type == EnumFlowerStage.POLLEN.ordinal()) {
flowerItem = Botany.pollen;
flowerItem = BotanyItems.pollen;
}
if (flowerItem != Botany.flowerItem) {
if (flowerItem != BotanyItems.flowerItem) {
((IFlower) flower).setAge(0);
}
@@ -113,13 +113,13 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot {
if (stack == null) {
return EnumFlowerStage.NONE;
}
if (stack.getItem() == Botany.flowerItem) {
if (stack.getItem() == BotanyItems.flowerItem) {
return EnumFlowerStage.FLOWER;
}
if (stack.getItem() == Botany.pollen) {
if (stack.getItem() == BotanyItems.pollen) {
return EnumFlowerStage.POLLEN;
}
if (stack.getItem() == Botany.seed) {
if (stack.getItem() == BotanyItems.seed) {
return EnumFlowerStage.SEED;
}
return EnumFlowerStage.NONE;
@@ -14,6 +14,7 @@ import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.botany.core.BotanyGUI;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -22,9 +23,13 @@ public class ItemDictionary extends Item {
protected IIcon iconMaster;
public ItemDictionary() {
final String name = "database";
setCreativeTab(CreativeTabBotany.instance);
setUnlocalizedName("database");
setUnlocalizedName(name);
setMaxStackSize(1);
GameRegistry.registerItem(this, name);
}
@Override
@@ -8,11 +8,9 @@ import binnie.Binnie;
import binnie.botany.Botany;
import binnie.botany.core.BotanyCore;
import binnie.botany.flower.BlockFlower;
import binnie.botany.flower.ItemFlower;
import binnie.botany.flower.ItemPollen;
import binnie.botany.flower.ItemSeed;
import binnie.botany.flower.RendererBotany;
import binnie.botany.flower.TileEntityFlower;
import binnie.botany.items.BotanyItems;
import binnie.core.BinnieCore;
import binnie.core.IInitializable;
import cpw.mods.fml.client.registry.RenderingRegistry;
@@ -30,14 +28,10 @@ public class ModuleGenetics implements IInitializable {
public void preInit() {
EnumFlowerColor.setupMutations();
Botany.flower = new BlockFlower();
Botany.flowerItem = new ItemFlower();
Botany.pollen = new ItemPollen();
Botany.seed = new ItemSeed();
AlleleManager.alleleRegistry.registerSpeciesRoot(BotanyCore.speciesRoot);
AlleleManager.alleleRegistry.registerAllele(ModuleGenetics.alleleEffectNone);
GameRegistry.registerBlock(Botany.flower, "flower");
BinnieCore.proxy.registerTileEntity(TileEntityFlower.class, "botany.tile.flower", null);
Botany.database = new ItemDictionary();
}
@Override
@@ -66,7 +60,7 @@ public class ModuleGenetics implements IInitializable {
100,
Binnie.Liquid.getLiquidStack("water", 2000),
null,
new ItemStack(Botany.database),
new ItemStack(BotanyItems.database),
"X#X",
"YEY",
"RDR",
@@ -1,62 +1,30 @@
package binnie.botany.items;
import java.util.List;
import net.minecraft.item.Item;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import binnie.botany.flower.ItemFlower;
import binnie.botany.flower.ItemInsulatedTube;
import binnie.botany.flower.ItemPollen;
import binnie.botany.flower.ItemSeed;
import binnie.botany.gardening.ItemSoilMeter;
import binnie.botany.gardening.ItemTrowel;
import binnie.botany.genetics.ItemDictionary;
import binnie.core.item.DamageItems;
import binnie.botany.Botany;
import binnie.core.item.IItemMisc;
import binnie.core.util.I18N;
public class BotanyItems {
public enum BotanyItems implements IItemMisc {
AshPowder("powderAsh"),
PulpPowder("powderPulp"),
MulchPowder("powderMulch"),
SulphurPowder("powderSulphur"),
FertiliserPowder("powderFertiliser"),
CompostPowder("powderCompost"),
Mortar("mortar"),
Weedkiller("weedkiller");
private IIcon icon;
private final String name;
private final String iconPath;
BotanyItems(String name) {
this.name = name;
this.iconPath = name;
}
@Override
public IIcon getIcon(ItemStack itemStack) {
return icon;
}
@Override
public void registerIcons(IIconRegister register) {
icon = Botany.proxy.getIcon(register, iconPath);
}
@Override
public void addInformation(List<String> data) {
// ignored
}
@Override
public String getName(ItemStack itemStack) {
return I18N.localise("botany.item." + name + ".name");
}
@Override
public ItemStack get(int count) {
return new ItemStack(Botany.misc, count, ordinal());
}
@Override
public boolean isActive() {
return true;
}
public static final ItemInsulatedTube insulatedTube = new ItemInsulatedTube();
public static final ItemSoilMeter soilMeter = new ItemSoilMeter();
public static final DamageItems misc = new BotanyMisc();
public static final ItemFlower flowerItem = new ItemFlower();
public static final ItemPigment pigment = new ItemPigment();
public static final ItemClay clay = new ItemClay();
public static final Item seed = new ItemSeed();
public static final Item pollen = new ItemPollen();
public static final ItemDictionary database = new ItemDictionary();
public static final ItemTrowel trowelWood = new ItemTrowel(Item.ToolMaterial.WOOD, "Wood");
public static final ItemTrowel trowelStone = new ItemTrowel(Item.ToolMaterial.STONE, "Stone");
public static final ItemTrowel trowelIron = new ItemTrowel(Item.ToolMaterial.IRON, "Iron");
public static final ItemTrowel trowelDiamond = new ItemTrowel(Item.ToolMaterial.EMERALD, "Diamond");
public static final ItemTrowel trowelGold = new ItemTrowel(Item.ToolMaterial.GOLD, "Gold");
}
@@ -0,0 +1,44 @@
package binnie.botany.items;
import static binnie.botany.Botany.BOTANY_MODID;
import static binnie.botany.items.BotanyItems.misc;
import java.util.Arrays;
import net.minecraft.item.ItemStack;
import binnie.botany.CreativeTabBotany;
import binnie.core.item.DamageItems;
public class BotanyMisc extends DamageItems {
public enum Items {
AshPowder("powderAsh"),
PulpPowder("powderPulp"),
MulchPowder("powderMulch"),
SulphurPowder("powderSulphur"),
FertiliserPowder("powderFertiliser"),
CompostPowder("powderCompost"),
Mortar("mortar"),
Weedkiller("weedkiller");
final String name;
private static final Items[] VALUES = values();
Items(String name) {
this.name = name;
}
public ItemStack get(int count) {
return misc.getStack(count, ordinal());
}
}
public BotanyMisc() {
super(
CreativeTabBotany.instance,
BOTANY_MODID,
Arrays.stream(Items.VALUES).map(i -> i.name).toArray(String[]::new));
}
}
@@ -13,15 +13,20 @@ import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.botany.genetics.EnumFlowerColor;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemClay extends Item {
public ItemClay() {
setUnlocalizedName("clay");
final String name = "clay";
setUnlocalizedName(name);
setHasSubtypes(true);
setCreativeTab(CreativeTabBotany.instance);
GameRegistry.registerItem(this, name);
}
@Override
@@ -13,15 +13,20 @@ import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.botany.genetics.EnumFlowerColor;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemPigment extends Item {
public ItemPigment() {
setUnlocalizedName("pigment");
final String name = "pigment";
setUnlocalizedName(name);
setHasSubtypes(true);
setCreativeTab(CreativeTabBotany.instance);
GameRegistry.registerItem(this, name);
}
@Override
+4 -39
View File
@@ -1,13 +1,11 @@
package binnie.core;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import net.minecraftforge.common.MinecraftForge;
import binnie.core.gui.IBinnieGUID;
import binnie.core.mod.parser.FieldParser;
import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.network.IPacketProvider;
@@ -20,13 +18,12 @@ import cpw.mods.fml.relauncher.Side;
public abstract class AbstractMod implements IPacketProvider, IInitializable {
private SimpleNetworkWrapper wrapper;
private final LinkedHashSet<Field> fields;
protected final List<IInitializable> modules;
public AbstractMod() {
fields = new LinkedHashSet<>();
modules = new ArrayList<>();
BinnieCore.registerMod(this);
MinecraftForge.EVENT_BUS.register(this);
}
public boolean isActive() {
@@ -65,22 +62,6 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable {
for (IInitializable module : modules) {
module.preInit();
}
// TODO what does it mean?
Collections.addAll(fields, getClass().getFields());
for (Class<?> cls : getClass().getClasses()) {
Collections.addAll(fields, getClass().getFields());
}
for (IInitializable module : modules) {
Collections.addAll(fields, module.getClass().getFields());
}
for (Field field4 : fields) {
try {
FieldParser.preInitParse(field4, this);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
@Override
@@ -96,14 +77,6 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable {
for (IInitializable module : modules) {
module.init();
}
for (Field field : fields) {
try {
FieldParser.initParse(field, this);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
@Override
@@ -116,18 +89,10 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable {
for (IInitializable module : modules) {
module.postInit();
}
for (Field field : fields) {
try {
FieldParser.postInitParse(field, this);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
protected void addModule(IInitializable init) {
modules.add(init);
init.registerEventHandler();
MinecraftForge.EVENT_BUS.register(init);
}
}
+27 -44
View File
@@ -5,9 +5,9 @@ import java.util.List;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.common.MinecraftForge;
import binnie.Binnie;
import binnie.core.block.MultipassBlockRenderer;
@@ -16,21 +16,17 @@ import binnie.core.craftgui.minecraft.ModuleCraftGUI;
import binnie.core.gui.BinnieCoreGUI;
import binnie.core.gui.BinnieGUIHandler;
import binnie.core.gui.IBinnieGUID;
import binnie.core.item.ItemGenesis;
import binnie.core.item.ModuleItems;
import binnie.core.liquid.FluidContainer;
import binnie.core.liquid.ItemFluidContainer;
import binnie.core.machines.MachineGroup;
import binnie.core.machines.storage.ModuleStorage;
import binnie.core.mod.parser.FieldParser;
import binnie.core.mod.parser.ItemParser;
import binnie.core.network.BinnieCorePacketID;
import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.proxy.BinnieProxy;
import binnie.core.proxy.IBinnieProxy;
import binnie.core.triggers.ModuleTrigger;
import binnie.genetics.item.ItemFieldKit;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
@@ -66,12 +62,6 @@ public class BinnieCore extends AbstractMod {
public static int multipassRenderID;
private static final List<AbstractMod> modList = new ArrayList<>();
public static MachineGroup packageCompartment;
public static ItemGenesis genesis;
public static ItemFieldKit fieldKit;
public BinnieCore() {
MinecraftForge.EVENT_BUS.register(new EventHandler());
}
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
@@ -110,7 +100,6 @@ public class BinnieCore extends AbstractMod {
Item item = new ItemFluidContainer(container);
GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5));
}
FieldParser.parsers.add(new ItemParser());
super.preInit();
}
@@ -165,6 +154,23 @@ public class BinnieCore extends AbstractMod {
return list;
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void handleSpeciesDiscovered(ForestryEvent.SpeciesDiscovered event) {
try {
EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager()
.func_152612_a(event.username.getName());
if (player == null) {
return;
}
event.tracker.synchToPlayer(player);
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("species", event.species.getUID());
} catch (Exception ex) {
// ignored
}
}
@Override
public String getChannel() {
return "BIN";
@@ -185,14 +191,18 @@ public class BinnieCore extends AbstractMod {
return BinnieCorePacketID.values();
}
@Override
protected Class<? extends BinniePacketHandler> getPacketHandler() {
return PacketHandler.class;
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void handleTextureRemap(TextureStitchEvent.Pre event) {
if (event.map.getTextureType() == 0) {
Binnie.Liquid.reloadIcons(event.map);
}
Binnie.Resource.registerIcons(event.map, event.map.getTextureType());
}
@Override
public boolean isActive() {
return true;
protected Class<? extends BinniePacketHandler> getPacketHandler() {
return PacketHandler.class;
}
public static class PacketHandler extends BinniePacketHandler {
@@ -201,31 +211,4 @@ public class BinnieCore extends AbstractMod {
super(instance);
}
}
public static class EventHandler {
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void handleSpeciesDiscovered(ForestryEvent.SpeciesDiscovered event) {
try {
EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager()
.func_152612_a(event.username.getName());
if (player == null) {
return;
}
event.tracker.synchToPlayer(player);
} catch (Exception ex) {
// ignored
}
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void handleTextureRemap(TextureStitchEvent.Pre event) {
if (event.map.getTextureType() == 0) {
Binnie.Liquid.reloadIcons(event.map);
}
Binnie.Resource.registerIcons(event.map, event.map.getTextureType());
}
}
}
@@ -2,11 +2,9 @@ package binnie.core;
public interface IInitializable {
void preInit();
default void preInit() {}
void init();
default void init() {}
void postInit();
default void registerEventHandler() {}
default void postInit() {}
}
@@ -7,19 +7,4 @@ public abstract class ManagerBase implements IInitializable {
public ManagerBase() {
Binnie.Managers.add(this);
}
@Override
public void preInit() {
// ignored
}
@Override
public void init() {
// ignored
}
@Override
public void postInit() {
// ignored
}
}
@@ -13,7 +13,6 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import binnie.core.BinnieCore;
@@ -61,16 +60,6 @@ public class BlockMetadata extends BlockContainer implements IBlockMetadata {
return getLocalizedName();
}
@Override
public void addBlockTooltip(ItemStack itemStack, List<String> tooltip) {
// ignored
}
@Override
public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) {
return TileEntityMetadata.getItemDamage(itemStack);
}
@Override
public int getDroppedMeta(int blockMeta, int tileMeta) {
return blockMeta;
@@ -9,13 +9,17 @@ import net.minecraftforge.common.util.ForgeDirection;
public interface IBlockMetadata extends ITileEntityProvider {
int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction);
default int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) {
return TileEntityMetadata.getItemDamage(itemStack);
}
int getDroppedMeta(int blockMeta, int tileMeta);
default int getDroppedMeta(int blockMeta, int tileMeta) {
return tileMeta;
}
String getBlockName(ItemStack itemStack);
void addBlockTooltip(ItemStack itemStack, List<String> tooltip);
default void addBlockTooltip(ItemStack itemStack, List<String> tooltip) {}
void dropAsStack(World world, int x, int y, int z, ItemStack itemStack);
}
@@ -76,14 +76,12 @@ public class TileEntityMetadata extends TileEntity {
}
public static ItemStack getItemStack(Block block, int damage) {
NBTTagCompound tag = new NBTTagCompound();
tag.setInteger("meta", damage);
ItemStack item = new ItemStack(block, 1, 0);
if (0 <= damage && damage < Short.MAX_VALUE) {
item.setItemDamage(damage);
} else {
NBTTagCompound tag = new NBTTagCompound();
tag.setInteger("meta", damage);
item.setTagCompound(tag);
}
item.setItemDamage(Math.min(damage, 16387));
item.setTagCompound(tag);
return item;
}
@@ -91,7 +91,7 @@ public interface IWidget {
void callEvent(Event event);
void receiveEvent(Event event);
void recieveEvent(Event event);
void onUpdateClient();
@@ -235,11 +235,11 @@ public class Widget implements IWidget {
@Override
public void callEvent(Event event) {
getSuperParent().receiveEvent(event);
getSuperParent().recieveEvent(event);
}
@Override
public void receiveEvent(Event event) {
public void recieveEvent(Event event) {
for (EventHandler handler : globalEventHandlers) {
if (handler.handles(event)) {
handler.onEvent(event);
@@ -248,7 +248,7 @@ public class Widget implements IWidget {
try {
for (IWidget child : getWidgets()) {
child.receiveEvent(event);
child.recieveEvent(event);
}
} catch (ConcurrentModificationException e) {
// ignored
@@ -12,7 +12,6 @@ import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import binnie.Binnie;
import binnie.core.AbstractMod;
@@ -33,8 +32,8 @@ import binnie.core.craftgui.resource.StyleSheet;
import binnie.core.craftgui.resource.minecraft.CraftGUITexture;
import binnie.core.craftgui.resource.minecraft.PaddedTexture;
import binnie.core.craftgui.resource.minecraft.StandardTexture;
import binnie.core.item.BinnieItems;
import binnie.core.machines.inventory.SlotValidator;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
import binnie.extrabees.core.ExtraBeeTexture;
import binnie.extrabees.gui.ExtraBeeGUITexture;
@@ -115,26 +114,20 @@ public class WindowFieldKit extends Window {
@Override
public void initialiseClient() {
final NBTTagList actions = new NBTTagList();
setTitle(getName());
CraftGUI.render.stylesheet(new StyleSheetPunnett());
getWindowInventory().createSlot(0);
getWindowInventory().createSlot(1);
setupValidators();
new ControlPlayerInventory(this).create(actions);
new ControlPlayerInventory(this);
IPoint handGlass = new IPoint(16.0f, 32.0f);
GlassControl = new ControlImage(
this,
handGlass.x(),
handGlass.y(),
new StandardTexture(0, 160, 96, 96, ExtraBeeTexture.GUIPunnett));
new ControlSlot(this, handGlass.x() + 54.0f, handGlass.y() + 26.0f).assign(actions, InventoryType.Window, 0);
new ControlSlot(this, 208.0f, 8.0f).assign(actions, InventoryType.Window, 1);
MessageCraftGUI.sendToServer(actions);
new ControlSlot(this, handGlass.x() + 54.0f, handGlass.y() + 26.0f).assign(InventoryType.Window, 0);
new ControlSlot(this, 208.0f, 8.0f).assign(InventoryType.Window, 1);
(text = new ControlText(this, new IPoint(232.0f, 13.0f), I18N.localise("binniecore.gui.tooltip.paper")))
.setColor(0x222222);
(text = new ControlText(this, new IArea(0.0f, 120.0f, w(), 24.0f), "", TextJustification.MIDDLE_CENTER))
@@ -233,7 +226,7 @@ public class WindowFieldKit extends Window {
super.onWindowInventoryChanged();
if (isServer()) {
ItemStack kit = getPlayer().getHeldItem();
if (kit == null || !kit.getItem().equals(BinnieCore.fieldKit)) {
if (kit == null || !kit.getItem().equals(BinnieItems.fieldKit)) {
return;
}
@@ -293,8 +286,8 @@ public class WindowFieldKit extends Window {
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
super.receiveGuiNBT(side, player, name, nbt);
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
super.recieveGuiNBT(side, player, name, nbt);
if (side != Side.SERVER || !name.equals("analyse")) {
return;
}
@@ -63,7 +63,7 @@ public class WindowGenesis extends Window {
@Override
public void initialiseClient() {
new ControlPlayerInventory(this).createAndRegister();
new ControlPlayerInventory(this);
setTitle(getName());
ControlTabBar<BreedingSystem> tabSystems = new BreedingSystemControlTabBar();
@@ -175,8 +175,8 @@ public class WindowGenesis extends Window {
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
super.receiveGuiNBT(side, player, name, nbt);
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
super.recieveGuiNBT(side, player, name, nbt);
if (side == Side.SERVER && name.equals("genesis")) {
ItemStack stack = ItemStack.loadItemStackFromNBT(nbt);
InventoryPlayer playerInv = player.inventory;
@@ -1,7 +1,5 @@
package binnie.core.craftgui.minecraft;
import static net.minecraftforge.common.util.Constants.NBT.TAG_COMPOUND;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -9,14 +7,12 @@ import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import com.mojang.authlib.GameProfile;
@@ -40,71 +36,43 @@ import cpw.mods.fml.relauncher.Side;
public class ContainerCraftGUI extends Container {
// Action type is one of the action constants below
public final static String ACTION_TYPE = "type";
// Action constants
public final static String ACTION_BATCH = "batch";
public final static String SLOT_REG = "slot-reg";
public final static String TANK_CLICK = "tank-click";
public final static String TANK_UPDATE = "tank-update-";
public final static String POWER_UPDATE = "power-update";
public final static String PROCESS_UPDATE = "process-update";
public final static String ERROR_UPDATE = "error-update";
public final static String MOUSE_OVER_SLOT = "mouse-over-slot";
public final static String SHIFT_CLICK_INFO = "shift-click-info";
// Error type is one of the error constants below
public final static String ERROR_TYPE = "type";
// Error constants
public static final byte CANNOT_WORK = (byte) 0;
public static final byte CANNOT_PROGRESS = (byte) 1;
// Slot constants
public static final String SLOT_TYPE = "t";
public static final String SLOT_INDEX = "i";
public static final String SLOT_NUMBER = "n";
// Uncategorized constants
public static final String ACTIONS = "actions";
private static final String USERNAME = "username";
private static final String SLOT_ID = "id";
private static final String SLOT = "slot";
private static final String SLOTS = "slots";
private static final String TANK = "tank";
private static final String ORIGIN = "origin";
private static final String NAME = "name";
private final Window window;
private final Map<String, NBTTagCompound> syncedNBT = new HashMap<>();
private final Map<String, NBTTagCompound> sentNBT = new HashMap<>();
private final Map<Integer, TankInfo> syncedTanks = new HashMap<>();
private PowerInfo syncedPower = new PowerInfo();
private ProcessInfo syncedProcess = new ProcessInfo();
private int errorType = 0;
private ErrorState error = null;
private int mousedOverSlotNumber = -1;
private final Map<String, NBTTagCompound> syncedNBT;
private final Map<String, NBTTagCompound> sentNBT;
private final Map<Integer, TankInfo> syncedTanks;
private PowerInfo syncedPower;
private ProcessInfo syncedProcess;
private int errorType;
private ErrorState error;
private int mousedOverSlotNumber;
public ContainerCraftGUI(Window window) {
this.window = window;
syncedNBT = new HashMap<>();
sentNBT = new HashMap<>();
syncedTanks = new HashMap<>();
syncedPower = new PowerInfo();
syncedProcess = new ProcessInfo();
errorType = 0;
error = null;
mousedOverSlotNumber = -1;
IMachine machine = Machine.getMachine(window.getInventory());
if (getSide() != Side.SERVER) {
return;
}
if (!window.isServer()) return;
// WARNING: The client side expects `ArrayList` and the server expects `ListMap`
inventoryItemStacks = new ListMap<>();
inventorySlots = new ListMap<>();
IInventory entityInventory = window.getInventory();
IMachine machine = Machine.getMachine(entityInventory);
if (machine == null) return;
if (machine == null) {
return;
}
GameProfile user = machine.getOwner();
if (user == null) return;
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString(USERNAME, user.getName());
sendNBTToClient(USERNAME, nbt);
if (user != null) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("username", user.getName());
sendNBTToClient("username", nbt);
}
}
@Override
@@ -118,47 +86,54 @@ public class ContainerCraftGUI extends Container {
@Override
public Slot getSlot(int index) {
return index < 0 || index >= inventorySlots.size() ? null : inventorySlots.get(index);
if (index < 0 || index >= inventorySlots.size()) {
return null;
}
return inventorySlots.get(index);
}
@Override
public void putStackInSlot(int index, ItemStack stack) {
final Slot slot = getSlot(index);
if (slot != null) slot.putStack(stack);
if (getSlot(index) != null) {
getSlot(index).putStack(stack);
}
}
@Override
public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) {
for (int i = 0; i < par1ArrayOfItemStack.length; ++i) {
final Slot slot = getSlot(i);
if (slot != null) slot.putStack(par1ArrayOfItemStack[i]);
if (getSlot(i) != null) {
getSlot(i).putStack(par1ArrayOfItemStack[i]);
}
}
}
@Override
public void onContainerClosed(EntityPlayer player) {
super.onContainerClosed(player);
WindowInventory windowInventory = window.getWindowInventory();
InventoryPlayer playerInventory = player.inventory;
WindowInventory inventory = window.getWindowInventory();
for (int i = 0; i < inventory.getSizeInventory(); ++i) {
if (!inventory.dispenseOnClose(i)) {
continue;
}
for (int i = 0; i < windowInventory.getSizeInventory(); ++i) {
if (!windowInventory.dispenseOnClose(i)) continue;
ItemStack stack = inventory.getStackInSlot(i);
if (stack == null) {
continue;
}
final ItemStack stack = windowInventory.getStackInSlot(i);
if (stack == null) continue;
final ItemStack newStack = new TransferRequest(stack, playerInventory).transfer(true);
if (newStack == null) continue;
player.dropPlayerItemWithRandomChoice(newStack, false);
stack = new TransferRequest(stack, player.inventory).transfer(true);
if (stack != null) {
player.dropPlayerItemWithRandomChoice(stack, false);
}
}
}
@Override
public ItemStack slotClick(int slotNum, int mouseButton, int modifier, EntityPlayer player) {
Slot slot = getSlot(slotNum);
if (slot instanceof CustomSlot customSlot && customSlot.handleClick()) {
customSlot.onSlotClick(this, mouseButton, modifier, player);
if (slot instanceof CustomSlot && ((CustomSlot) slot).handleClick()) {
((CustomSlot) slot).onSlotClick(this, mouseButton, modifier, player);
return player.inventory.getItemStack();
}
return super.slotClick(slotNum, mouseButton, modifier, player);
@@ -176,40 +151,45 @@ public class ContainerCraftGUI extends Container {
}
sentNBT.clear();
}
IInventory entityInventory = window.getInventory();
return entityInventory == null || entityInventory.isUseableByPlayer(player);
IInventory inventory = window.getInventory();
return inventory == null || inventory.isUseableByPlayer(player);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotID) {
shiftClick(player, slotID);
return null;
return shiftClick(player, slotID);
}
private void shiftClick(EntityPlayer player, int index) {
private ItemStack shiftClick(EntityPlayer player, int index) {
TransferRequest request = getShiftClickRequest(player, index);
if (request == null) return;
if (request == null) {
return null;
}
ItemStack stack = request.transfer(true);
Slot shiftClickedSlot = inventorySlots.get(index);
shiftClickedSlot.putStack(stack);
shiftClickedSlot.onSlotChanged();
return null;
}
private TransferRequest getShiftClickRequest(EntityPlayer player, int index) {
if (index < 0) return null;
if (index < 0) {
return null;
}
Slot shiftClickedSlot = inventorySlots.get(index);
Slot shiftClickedSlot = (Slot) inventorySlots.get(index);
ItemStack itemstack = null;
if (shiftClickedSlot.getHasStack()) {
itemstack = shiftClickedSlot.getStack().copy();
}
IInventory playerInventory = player.inventory;
IInventory entityInventory = window.getInventory();
IInventory containerInventory = window.getInventory();
IInventory windowInventory = window.getWindowInventory();
IInventory fromPlayer = (entityInventory == null) ? windowInventory : entityInventory;
IInventory fromPlayer = (containerInventory == null) ? windowInventory : containerInventory;
int[] target = new int[36];
for (int i = 0; i < target.length; ++i) {
for (int i = 0; i < 36; ++i) {
target[i] = i;
}
@@ -221,116 +201,108 @@ public class ContainerCraftGUI extends Container {
.setTargetSlots(target);
}
if (window instanceof IWindowAffectsShiftClick iWindowAffectsShiftClick) {
iWindowAffectsShiftClick.alterRequest(request);
if (window instanceof IWindowAffectsShiftClick) {
((IWindowAffectsShiftClick) window).alterRequest(request);
}
return request;
}
@SuppressWarnings("UnusedReturnValue")
public ItemStack tankClick(EntityPlayer player, int slotID) {
if (player.inventory.getItemStack() == null) return null;
ItemStack heldItem = player.inventory.getItemStack().copy();
IInventory entityInventory = window.getInventory();
heldItem = new TransferRequest(heldItem, entityInventory).setOrigin(player.inventory).setTargetSlots(new int[0])
.setTargetTanks(new int[] { slotID }).transfer(true);
player.inventory.setItemStack(heldItem);
if (player instanceof EntityPlayerMP entityPlayerMP) {
entityPlayerMP.updateHeldItem();
if (player.inventory.getItemStack() == null) {
return null;
}
ItemStack heldItem = player.inventory.getItemStack().copy();
heldItem = new TransferRequest(heldItem, window.getInventory()).setOrigin(player.inventory)
.setTargetSlots(new int[0]).setTargetTanks(new int[] { slotID }).transfer(true);
player.inventory.setItemStack(heldItem);
if (player instanceof EntityPlayerMP) {
((EntityPlayerMP) player).updateHeldItem();
}
return heldItem;
}
public void handleNBT(Side side, EntityPlayer player, NBTTagCompound action) {
final String actionType = action.getString(ACTION_TYPE);
public boolean handleNBT(Side side, EntityPlayer player, String name, NBTTagCompound action) {
if (side == Side.SERVER) {
switch (actionType) {
case TANK_CLICK -> tankClick(player, action.getByte(SLOT_ID));
case SLOT_REG -> {
final int slotType = action.getByte(SLOT_TYPE);
final int slotIndex = action.getShort(SLOT_INDEX);
final int slotNumber = action.getShort(SLOT_NUMBER);
if (name.equals("tank-click")) {
tankClick(player, action.getByte("id"));
}
if (name.equals("slot-reg")) {
int type = action.getByte("t");
int index = action.getShort("i");
int slotNumber = action.getShort("n");
getOrCreateSlot(InventoryType.values()[type % 4], index, slotNumber);
createSlot(InventoryType.values()[slotType % 4], slotIndex, slotNumber);
for (ICrafting crafterObject : crafters) {
crafterObject.sendContainerAndContentsToPlayer(this, getInventory());
}
for (ICrafting crafterObject : crafters) {
crafterObject.sendContainerAndContentsToPlayer(this, getInventory());
}
}
}
switch (actionType) {
case POWER_UPDATE -> onPowerUpdate(action);
case PROCESS_UPDATE -> onProcessUpdate(action);
case ERROR_UPDATE -> onErrorUpdate(action);
case MOUSE_OVER_SLOT -> onMouseOverSlot(player, action);
case SHIFT_CLICK_INFO -> onReceiveShiftClickHighlights(action);
default -> {
if (actionType.contains(TANK_UPDATE)) onTankUpdate(action);
}
if (name.contains("tank-update")) {
onTankUpdate(action);
} else if (name.equals("power-update")) {
onPowerUpdate(action);
} else if (name.equals("process-update")) {
onProcessUpdate(action);
} else if (name.equals("error-update")) {
onErrorUpdate(action);
} else if (name.equals("mouse-over-slot")) {
onMouseOverSlot(player, action);
} else if (name.equals("shift-click-info")) {
onRecieveShiftClickHighlights(player, action);
}
return false;
}
@Override
public void detectAndSendChanges() {
super.detectAndSendChanges();
IInventory entityInventory = window.getInventory();
ITankMachine tanks = Machine.getInterface(ITankMachine.class, entityInventory);
IPoweredMachine powered = Machine.getInterface(IPoweredMachine.class, entityInventory);
IErrorStateSource error = Machine.getInterface(IErrorStateSource.class, entityInventory);
IProcess process = Machine.getInterface(IProcess.class, entityInventory);
if (window.isServer() && tanks != null) {
final TankInfo[] tankInfos = tanks.getTankInfos();
for (int i = 0; i < tankInfos.length; ++i) {
final TankInfo tank = tankInfos[i];
if (this.getTankInfo(i).equals(tank)) continue;
syncedNBT.put(TANK_UPDATE + i, createTankNBT(i, tank));
syncedTanks.put(i, tank);
ITankMachine tanks = Machine.getInterface(ITankMachine.class, window.getInventory());
IPoweredMachine powered = Machine.getInterface(IPoweredMachine.class, window.getInventory());
IErrorStateSource error = Machine.getInterface(IErrorStateSource.class, window.getInventory());
IProcess process = Machine.getInterface(IProcess.class, window.getInventory());
if (tanks != null && window.isServer()) {
for (int i = 0; i < tanks.getTankInfos().length; ++i) {
TankInfo tank = tanks.getTankInfos()[i];
if (!getTankInfo(i).equals(tank)) {
syncedNBT.put("tank-update-" + i, createTankNBT(i, tank));
syncedTanks.put(i, tank);
}
}
}
if (window.isServer()) {
if (powered != null) syncedNBT.put(POWER_UPDATE, createPowerNBT(powered.getPowerInfo()));
if (process != null) syncedNBT.put(PROCESS_UPDATE, createProcessNBT(process.getInfo()));
if (error != null) syncedNBT.put(ERROR_UPDATE, createErrorNBT(error));
if (powered != null && window.isServer()) {
syncedNBT.put("power-update", createPowerNBT(powered.getPowerInfo()));
}
if (process != null && window.isServer()) {
syncedNBT.put("process-update", createProcessNBT(process.getInfo()));
}
if (error != null && window.isServer()) {
syncedNBT.put("error-update", createErrorNBT(error));
}
INetwork.SendGuiNBT machineSync = Machine.getInterface(INetwork.SendGuiNBT.class, entityInventory);
if (machineSync != null) machineSync.sendGuiNBT(syncedNBT);
INetwork.SendGuiNBT machineSync = Machine.getInterface(INetwork.SendGuiNBT.class, window.getInventory());
if (machineSync != null) {
machineSync.sendGuiNBT(syncedNBT);
}
Map<String, NBTTagCompound> sentThisTime = new HashMap<>();
NBTTagList actions = new NBTTagList();
for (Map.Entry<String, NBTTagCompound> nbt : syncedNBT.entrySet()) {
nbt.getValue().setString("type", nbt.getKey());
boolean shouldSend = true;
NBTTagCompound lastSent = sentNBT.get(nbt.getKey());
if (lastSent != null) {
shouldSend = !lastSent.equals(nbt.getValue());
}
for (Map.Entry<String, NBTTagCompound> entry : syncedNBT.entrySet()) {
final String actionType = entry.getKey();
final NBTTagCompound action = entry.getValue();
final NBTTagCompound actionPrev = sentNBT.get(actionType);
action.setString(ACTION_TYPE, actionType);
if (action.equals(actionPrev)) continue;
actions.appendTag(action);
sentThisTime.put(actionType, action);
}
NBTTagCompound actionsBatch = new NBTTagCompound();
actionsBatch.setString(ACTION_TYPE, ACTION_BATCH);
actionsBatch.setTag(ACTIONS, actions);
for (ICrafting crafter : crafters) {
if (crafter instanceof EntityPlayerMP playerMP) {
final MessageContainerUpdate packet = new MessageContainerUpdate(actionsBatch);
BinnieCore.proxy.sendToPlayer(packet, playerMP);
if (shouldSend) {
for (Object crafter : crafters) {
if (crafter instanceof EntityPlayerMP playerMP) {
BinnieCore.proxy.sendToPlayer(new MessageContainerUpdate(nbt.getValue()), playerMP);
}
}
sentThisTime.put(nbt.getKey(), nbt.getValue());
}
}
@@ -342,10 +314,10 @@ public class ContainerCraftGUI extends Container {
NBTTagCompound nbt = new NBTTagCompound();
ErrorState state = null;
if (error.canWork() != null) {
nbt.setByte(ERROR_TYPE, CANNOT_WORK);
nbt.setByte("type", (byte) 0);
state = error.canWork();
} else if (error.canProgress() != null) {
nbt.setByte(ERROR_TYPE, CANNOT_PROGRESS);
nbt.setByte("type", (byte) 1);
state = error.canProgress();
}
@@ -370,20 +342,19 @@ public class ContainerCraftGUI extends Container {
public NBTTagCompound createTankNBT(int tank, TankInfo tankInfo) {
NBTTagCompound nbt = new NBTTagCompound();
tankInfo.writeToNBT(nbt);
nbt.setByte(TANK, (byte) tank);
nbt.setByte("tank", (byte) tank);
return nbt;
}
public void onTankUpdate(NBTTagCompound nbt) {
int tankID = nbt.getByte(TANK);
int tankID = nbt.getByte("tank");
TankInfo tank = new TankInfo();
tank.readFromNBT(nbt);
syncedTanks.put(tankID, tank);
}
public void onProcessUpdate(NBTTagCompound nbt) {
syncedProcess = new ProcessInfo();
syncedProcess.readFromNBT(nbt);
(syncedProcess = new ProcessInfo()).readFromNBT(nbt);
}
public void onPowerUpdate(NBTTagCompound nbt) {
@@ -404,8 +375,8 @@ public class ContainerCraftGUI extends Container {
}
public void onErrorUpdate(NBTTagCompound nbt) {
errorType = nbt.getByte(ERROR_TYPE);
if (nbt.hasKey(NAME)) {
errorType = nbt.getByte("type");
if (nbt.hasKey("name")) {
error = new ErrorState("", "");
error.readFromNBT(nbt);
} else {
@@ -432,18 +403,20 @@ public class ContainerCraftGUI extends Container {
}
public void setMouseOverSlot(Slot slot) {
if (slot.slotNumber == mousedOverSlotNumber) return;
if (slot.slotNumber == mousedOverSlotNumber) {
return;
}
mousedOverSlotNumber = slot.slotNumber;
ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).clear();
NBTTagCompound nbt = new NBTTagCompound();
nbt.setShort(SLOT, (short) slot.slotNumber);
window.sendClientAction(MOUSE_OVER_SLOT, nbt);
nbt.setShort("slot", (short) slot.slotNumber);
window.sendClientAction("mouse-over-slot", nbt);
}
private void onMouseOverSlot(EntityPlayer player, NBTTagCompound data) {
int slotNumber = data.getShort(SLOT);
TransferRequest request = getShiftClickRequest(player, slotNumber);
int slotnumber = data.getShort("slot");
TransferRequest request = getShiftClickRequest(player, slotnumber);
if (request == null) {
return;
}
@@ -451,8 +424,8 @@ public class ContainerCraftGUI extends Container {
request.transfer(false);
NBTTagCompound nbt = new NBTTagCompound();
List<Integer> slots = new ArrayList<>();
for (TransferRequest.TransferSlot transferSlot : request.getInsertedSlots()) {
Slot slot = getSlot(transferSlot.inventory, transferSlot.id);
for (TransferRequest.TransferSlot tslot : request.getInsertedSlots()) {
Slot slot = getSlot(tslot.inventory, tslot.id);
if (slot != null) {
slots.add(slot.slotNumber);
}
@@ -463,15 +436,15 @@ public class ContainerCraftGUI extends Container {
array[i] = slots.get(i);
}
nbt.setIntArray(SLOTS, array);
nbt.setShort(ORIGIN, (short) slotNumber);
syncedNBT.put(SHIFT_CLICK_INFO, nbt);
nbt.setIntArray("slots", array);
nbt.setShort("origin", (short) slotnumber);
syncedNBT.put("shift-click-info", nbt);
}
private void onReceiveShiftClickHighlights(NBTTagCompound data) {
private void onRecieveShiftClickHighlights(EntityPlayer player, NBTTagCompound data) {
ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).clear();
for (int slotIndex : data.getIntArray(SLOTS)) {
ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).add(slotIndex);
for (int slotnumber : data.getIntArray("slots")) {
ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).add(slotnumber);
}
}
@@ -485,50 +458,58 @@ public class ContainerCraftGUI extends Container {
return null;
}
public void receiveNBT(Side side, EntityPlayer player, NBTTagCompound action) {
String actionType = action.getString(ACTION_TYPE);
if (actionType.equals(ACTION_BATCH)) {
NBTTagList actionsBatch = action.getTagList(ACTIONS, TAG_COMPOUND);
for (int i = 0; i < actionsBatch.tagCount(); i++) {
receiveNBT(side, player, actionsBatch.getCompoundTagAt(i));
}
public void recieveNBT(Side side, EntityPlayer player, NBTTagCompound action) {
String name = action.getString("type");
if (handleNBT(side, player, name, action)) {
return;
}
handleNBT(side, player, action);
window.receiveGuiNBT(getSide(), player, actionType, action);
INetwork.ReceiveGuiNBT machine = Machine.getInterface(INetwork.ReceiveGuiNBT.class, window.getInventory());
if (machine == null) return;
machine.receiveGuiNBT(getSide(), player, actionType, action);
window.recieveGuiNBT(getSide(), player, name, action);
INetwork.RecieveGuiNBT machine = Machine.getInterface(INetwork.RecieveGuiNBT.class, window.getInventory());
if (machine != null) {
machine.recieveGuiNBT(getSide(), player, name, action);
}
}
public Slot getOrCreateSlot(InventoryType inventoryType, int slotIndex) {
final IInventory inventory = getInventory(inventoryType);
Slot slot = getSlot(inventory, slotIndex);
public Slot getOrCreateSlot(InventoryType type, int index) {
IInventory inventory = getInventory(type);
Slot slot = getSlot(inventory, index);
if (slot == null) {
slot = new CustomSlot(inventory, slotIndex);
slot = new CustomSlot(inventory, index);
addSlotToContainer(slot);
}
NBTTagCompound nbt = new NBTTagCompound();
nbt.setByte("t", (byte) type.ordinal());
nbt.setShort("i", (short) index);
nbt.setShort("n", (short) slot.slotNumber);
window.sendClientAction("slot-reg", nbt);
return slot;
}
protected IInventory getInventory(InventoryType type) {
return switch (type) {
case Machine -> window.getInventory();
case Player -> window.getPlayer().inventory;
case Window -> window.getWindowInventory();
default -> null;
};
if (type == InventoryType.Machine) {
return window.getInventory();
}
if (type == InventoryType.Player) {
return window.getPlayer().inventory;
}
if (type == InventoryType.Window) {
return window.getWindowInventory();
}
return null;
}
private void createSlot(InventoryType type, int index, int slotNumber) {
if (inventorySlots.get(slotNumber) != null) return;
private Slot getOrCreateSlot(InventoryType type, int index, int slotNumber) {
IInventory inventory = getInventory(type);
if (inventorySlots.get(slotNumber) != null) {
return null;
}
Slot slot = new CustomSlot(inventory, index);
slot.slotNumber = slotNumber;
inventorySlots.add(slotNumber, slot);
inventoryItemStacks.add(slotNumber, null);
return slot;
}
}
@@ -4,12 +4,6 @@ import binnie.core.IInitializable;
public class ModuleCraftGUI implements IInitializable {
@Override
public void preInit() {}
@Override
public void init() {}
@Override
public void postInit() {
for (GUIIcon icon : GUIIcon.values()) {
@@ -48,7 +48,7 @@ import binnie.core.resource.ResourceType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public abstract class Window extends TopLevelWidget implements INetwork.ReceiveGuiNBT {
public abstract class Window extends TopLevelWidget implements INetwork.RecieveGuiNBT {
protected float titleButtonLeft;
protected float titleButtonRight;
@@ -291,7 +291,7 @@ public abstract class Window extends TopLevelWidget implements INetwork.ReceiveG
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
if (side == Side.CLIENT && name.equals("username")) {
float w = w();
float titleButtonRight = this.titleButtonRight + 16.0f;
@@ -3,13 +3,9 @@ package binnie.core.craftgui.minecraft.control;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.nbt.NBTTagList;
import binnie.core.craftgui.IWidget;
import binnie.core.craftgui.controls.core.Control;
import binnie.core.craftgui.minecraft.InventoryType;
import binnie.core.craftgui.resource.minecraft.CraftGUITexture;
import binnie.core.network.packet.MessageCraftGUI;
public class ControlPlayerInventory extends Control {
@@ -25,24 +21,23 @@ public class ControlPlayerInventory extends Control {
slots = new ArrayList<>();
for (int row = 0; row < 3; ++row) {
for (int column = 0; column < 9; ++column) {
ControlSlot slot = new ControlSlot(this, (wide ? 58 : 0) + column * 18, row * 18)
.setSlotTexture(CraftGUITexture.SlotInventory);
ControlSlot slot = new ControlSlot(this, (wide ? 58 : 0) + column * 18, row * 18);
slots.add(slot);
}
}
if (wide) {
for (int i1 = 0; i1 < 9; ++i1) {
ControlSlot slot2 = new ControlSlot(this, i1 % 3 * 18, i1 / 3 * 18)
.setSlotTexture(CraftGUITexture.SlotInventory);
ControlSlot slot2 = new ControlSlot(this, i1 % 3 * 18, i1 / 3 * 18);
slots.add(slot2);
}
} else {
for (int i1 = 0; i1 < 9; ++i1) {
ControlSlot slot2 = new ControlSlot(this, i1 * 18, 58.0f).setSlotTexture(CraftGUITexture.SlotInventory);
ControlSlot slot2 = new ControlSlot(this, i1 * 18, 58.0f);
slots.add(slot2);
}
}
create();
}
public ControlPlayerInventory(IWidget parent) {
@@ -54,33 +49,32 @@ public class ControlPlayerInventory extends Control {
slots = new ArrayList<>();
for (int row = 0; row < 6; ++row) {
for (int column = 0; column < 6; ++column) {
ControlSlot slot = new ControlSlot(this, column * 18, row * 18)
.setSlotTexture(CraftGUITexture.SlotInventory);
ControlSlot slot = new ControlSlot(this, column * 18, row * 18);
slots.add(slot);
}
}
create();
}
public ControlPlayerInventory create(NBTTagList actions) {
public void create() {
for (int row = 0; row < 3; ++row) {
for (int column = 0; column < 9; ++column) {
ControlSlot slot = slots.get(column + row * 9);
slot.assign(actions, InventoryType.Player, 9 + column + row * 9);
slot.assign(InventoryType.Player, 9 + column + row * 9);
}
}
for (int i1 = 0; i1 < 9; ++i1) {
ControlSlot slot2 = slots.get(27 + i1);
slot2.assign(actions, InventoryType.Player, i1);
slot2.assign(InventoryType.Player, i1);
}
return this;
}
public ControlPlayerInventory createAndRegister() {
final NBTTagList actions = new NBTTagList();
create(actions);
MessageCraftGUI.sendToServer(actions);
return this;
public ControlSlot getSlot(int i) {
if (i < 0 || i >= slots.size()) {
return null;
}
return slots.get(i);
}
}
@@ -1,11 +1,5 @@
package binnie.core.craftgui.minecraft.control;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.ACTION_TYPE;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.SLOT_INDEX;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.SLOT_NUMBER;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.SLOT_REG;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.SLOT_TYPE;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -16,8 +10,6 @@ import net.minecraft.client.multiplayer.PlayerControllerMP;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.IIcon;
import binnie.core.craftgui.CraftGUI;
@@ -34,7 +26,6 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture;
import binnie.core.machines.inventory.InventorySlot;
import binnie.core.machines.inventory.MachineSide;
import binnie.core.machines.inventory.SlotValidator;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
public class ControlSlot extends ControlSlotBase {
@@ -49,12 +40,10 @@ public class ControlSlot extends ControlSlotBase {
}
public Slot slot;
private CraftGUITexture slotTexture;
public ControlSlot(IWidget parent, float x, float y) {
super(parent, x, y);
slot = null;
slotTexture = CraftGUITexture.Slot;
addSelfEventHandler(new EventMouse.Down.Handler() {
@Override
@@ -82,17 +71,11 @@ public class ControlSlot extends ControlSlotBase {
public ControlSlot(IWidget parent, int x, int y, Slot slot) {
super(parent, x, y);
this.slot = slot;
slotTexture = CraftGUITexture.Slot;
}
public ControlSlot setSlotTexture(CraftGUITexture texture) {
slotTexture = texture == null ? CraftGUITexture.Slot : texture;
return this;
}
@Override
public void onRenderBackground() {
CraftGUI.render.texture(slotTexture, IPoint.ZERO);
CraftGUI.render.texture(CraftGUITexture.Slot, IPoint.ZERO);
if (slot == null) {
return;
}
@@ -196,28 +179,14 @@ public class ControlSlot extends ControlSlotBase {
return null;
}
/// Assign a slot and register it immediately. Should be used when no other actions need to be sent.
@SuppressWarnings("UnusedReturnValue")
public ControlSlot assignAndRegister(InventoryType inventoryType, int slotIndex) {
final NBTTagList actions = new NBTTagList();
assign(actions, inventoryType, slotIndex);
MessageCraftGUI.sendToServer(actions);
return this;
public ControlSlot assign(int index) {
return assign(InventoryType.Machine, index);
}
/// Assign a slot and defer registration using an `NBTTagList`.
/// Use in combination with {@link MessageCraftGUI#sendToServer(NBTTagList)}.
public ControlSlot assign(NBTTagList actions, InventoryType inventoryType, int slotIndex) {
if (slot == null) slot = ((Window) getSuperParent()).getContainer().getOrCreateSlot(inventoryType, slotIndex);
NBTTagCompound slotReg = new NBTTagCompound();
slotReg.setString(ACTION_TYPE, SLOT_REG);
slotReg.setByte(SLOT_TYPE, (byte) inventoryType.ordinal());
slotReg.setShort(SLOT_INDEX, (short) slotIndex);
slotReg.setShort(SLOT_NUMBER, (short) slot.slotNumber);
actions.appendTag(slotReg);
public ControlSlot assign(InventoryType inventory, int index) {
if (slot == null) {
slot = ((Window) getSuperParent()).getContainer().getOrCreateSlot(inventory, index);
}
return this;
}
@@ -4,8 +4,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.minecraft.nbt.NBTTagList;
import binnie.core.craftgui.IWidget;
import binnie.core.craftgui.controls.core.Control;
import binnie.core.craftgui.minecraft.InventoryType;
@@ -28,14 +26,15 @@ public class ControlSlotArray extends Control implements Iterable<ControlSlot> {
return new ControlSlot(this, x, y);
}
public ControlSlotArray create(NBTTagList actions, InventoryType inventoryType, int[] index) {
int i = 0;
for (ControlSlot controlSlot : slots) {
final int slotIndex = index[i];
controlSlot.assign(actions, inventoryType, slotIndex);
i++;
}
public ControlSlotArray create(int[] index) {
return create(InventoryType.Machine, index);
}
public ControlSlotArray create(InventoryType type, int[] index) {
int i = 0;
for (ControlSlot slot : slots) {
slot.assign(type, index[i++]);
}
return this;
}
@@ -10,7 +10,6 @@ public enum CraftGUITexture {
Button("button"),
ButtonHighlighted("button.highlighted"),
Slot("slot"),
SlotInventory("slot.inventory"),
SlotBorder("slot.border"),
SlotOverlay("slot.overlay"),
SlotCharge("slot.charge"),
@@ -57,7 +57,7 @@ public abstract class BreedingSystem implements IItemStackRepresentative {
public BreedingSystem() {
Binnie.Genetics.registerBreedingSystem(this);
MinecraftForge.EVENT_BUS.register(new EventHandler());
MinecraftForge.EVENT_BUS.register(this);
}
public String getChromosomeName(IChromosomeType chromo) {
@@ -294,16 +294,13 @@ public abstract class BreedingSystem implements IItemStackRepresentative {
public abstract Class<? extends IBreedingTracker> getTrackerClass();
public class EventHandler {
@SubscribeEvent
public void onSyncBreedingTracker(ForestryEvent.SyncedBreedingTracker event) {
IBreedingTracker tracker = event.tracker;
if (!getTrackerClass().isInstance(tracker)) {
return;
}
syncTracker(tracker);
@SubscribeEvent
public void onSyncBreedingTracker(ForestryEvent.SyncedBreedingTracker event) {
IBreedingTracker tracker = event.tracker;
if (!getTrackerClass().isInstance(tracker)) {
return;
}
syncTracker(tracker);
}
public void syncTracker(IBreedingTracker tracker) {
@@ -9,7 +9,6 @@ import java.util.Map;
import java.util.TreeSet;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.WorldEvent;
import binnie.Binnie;
@@ -68,11 +67,6 @@ public class ManagerGenetics extends ManagerBase {
refreshData();
}
@Override
public void registerEventHandler() {
MinecraftForge.EVENT_BUS.register(new EventHandler());
}
public ITreeRoot getTreeRoot() {
return (ITreeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees");
}
@@ -146,6 +140,11 @@ public class ManagerGenetics extends ManagerBase {
return (system == null) ? null : system.getConversion(stack);
}
@SubscribeEvent
public void onWorldLoad(WorldEvent.Load event) {
refreshData();
}
private void refreshData() {
loadAlleles();
for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) {
@@ -220,12 +219,4 @@ public class ManagerGenetics extends ManagerBase {
return o1.getUID().compareTo(o2.getUID());
}
}
public class EventHandler {
@SubscribeEvent
public void onWorldLoad(WorldEvent.Load event) {
refreshData();
}
}
}
@@ -0,0 +1,9 @@
package binnie.core.item;
import binnie.genetics.item.ItemFieldKit;
public class BinnieItems {
public static final ItemGenesis genesis = new ItemGenesis();
public static final ItemFieldKit fieldKit = new ItemFieldKit();
}
@@ -0,0 +1,85 @@
package binnie.core.item;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public abstract class DamageItems extends Item {
private final String[] NAMES;
private final IIcon[] ICONS;
private final String modid;
private final boolean overrideIcons;
protected DamageItems(CreativeTabs tab, String modid, String... names) {
this(tab, modid, "misc", false, names);
}
protected DamageItems(CreativeTabs tab, String modid, String name, boolean overrideIcons, String... names) {
setCreativeTab(tab);
setHasSubtypes(true);
setUnlocalizedName(name);
this.overrideIcons = overrideIcons;
NAMES = names;
ICONS = overrideIcons ? null : new IIcon[names.length];
this.modid = modid;
GameRegistry.registerItem(this, name);
}
public ItemStack getStack(int count, int damage) {
return new ItemStack(this, count, damage);
}
/**
* @param name One of the names passed to the constructor
* @return The unlocalized name string
*/
public String getUnlocalizedName(String name) {
return modid + ".item." + name + ".name";
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item thiz, CreativeTabs tab, List<ItemStack> list) {
for (int i = 0; i < NAMES.length; ++i) {
list.add(new ItemStack(thiz, 1, i));
}
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
final int damage = stack.getItemDamage();
return (damage < NAMES.length) ? I18N.localise(getUnlocalizedName(NAMES[damage])) : "null";
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int damage) {
if (overrideIcons) return null;
return (damage < ICONS.length && damage >= 0) ? ICONS[damage] : null;
}
public String getIconName(int damage) {
return NAMES[damage];
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
if (overrideIcons) return;
for (int i = 0; i < NAMES.length; ++i) {
ICONS[i] = register.registerIcon(modid + ":" + getIconName(i));
}
}
}
@@ -1,14 +0,0 @@
package binnie.core.item;
import net.minecraft.item.ItemStack;
public interface IItemEnum {
boolean isActive();
String getName(ItemStack itemStack);
int ordinal();
ItemStack get(int count);
}
@@ -1,20 +0,0 @@
package binnie.core.item;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public interface IItemMisc extends IItemEnum {
IIcon getIcon(ItemStack itemStack);
@SideOnly(Side.CLIENT)
void registerIcons(IIconRegister register);
void addInformation(List<String> data);
}
@@ -9,6 +9,7 @@ import net.minecraft.world.World;
import binnie.core.BinnieCore;
import binnie.core.gui.BinnieCoreGUI;
import binnie.core.util.I18N;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
@@ -22,9 +23,13 @@ public class ItemGenesis extends Item {
}
public ItemGenesis() {
final String name = "genesis";
setCreativeTab(Tabs.tabApiculture);
setUnlocalizedName("genesis");
setUnlocalizedName(name);
setMaxStackSize(1);
GameRegistry.registerItem(this, name);
}
@Override
@@ -1,82 +0,0 @@
package binnie.core.item;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemMisc extends Item {
private final IItemMisc[] items;
protected ItemMisc(CreativeTabs tab, IItemMisc[] items2) {
setCreativeTab(tab);
setHasSubtypes(true);
setUnlocalizedName("misc");
items = items2;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item par1, CreativeTabs tab, List<ItemStack> list) {
for (IItemMisc item : items) {
if (item.isActive()) {
list.add(getStack(item, 1));
}
}
}
private IItemMisc getItem(int damage) {
if (damage >= items.length) {
return items[0];
}
return items[damage];
}
public ItemStack getStack(IItemMisc type, int size) {
return new ItemStack(this, size, type.ordinal());
}
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer player, List<String> tooltip, boolean advanced) {
super.addInformation(itemStack, player, tooltip, advanced);
IItemMisc item = getItem(itemStack.getItemDamage());
if (item != null) {
item.addInformation(tooltip);
}
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
IItemMisc item = getItem(stack.getItemDamage());
return (item != null) ? item.getName(stack) : "null";
}
@Override
public IIcon getIcon(ItemStack stack, int pass) {
IItemMisc item = getItem(stack.getItemDamage());
return (item != null) ? item.getIcon(stack) : null;
}
@Override
public IIcon getIconFromDamage(int damage) {
IItemMisc item = getItem(damage);
return (item != null) ? item.getIcon(null) : null;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
for (IItemMisc item : items) {
item.registerIcons(register);
}
}
}
@@ -1,10 +0,0 @@
package binnie.core.item;
import net.minecraft.creativetab.CreativeTabs;
public class ManagerItem {
public ItemMisc registerMiscItems(IItemMisc[] items, CreativeTabs tab) {
return new ItemMisc(tab, items);
}
}
+31 -44
View File
@@ -1,22 +1,21 @@
package binnie.core.item;
import static binnie.core.item.BinnieItems.fieldKit;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import binnie.botany.Botany;
import binnie.botany.api.IFlower;
import binnie.botany.flower.TileEntityFlower;
import binnie.botany.network.PacketID;
import binnie.core.BinnieCore;
import binnie.core.IInitializable;
import binnie.core.network.packet.MessageNBT;
import binnie.genetics.item.ItemFieldKit;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
@@ -24,19 +23,15 @@ public class ModuleItems implements IInitializable {
@Override
public void preInit() {
BinnieCore.fieldKit = new ItemFieldKit();
BinnieCore.genesis = new ItemGenesis();
}
@Override
public void init() {
// ignored
// Loads BinnieItems.class, guaranteeing that items are init by this point
// TODO: is this needed?
fieldKit.getUnlocalizedName();
}
@Override
public void postInit() {
GameRegistry.addRecipe(
new ItemStack(BinnieCore.fieldKit, 1, 63),
new ItemStack(fieldKit, 1, 63),
"g ",
" is",
" pi",
@@ -50,44 +45,36 @@ public class ModuleItems implements IInitializable {
new ItemStack(Items.dye, 1));
}
@Override
public void registerEventHandler() {
MinecraftForge.EVENT_BUS.register(new EventHandler());
}
@SubscribeEvent
public void onUseFieldKit(PlayerInteractEvent event) {
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
return;
}
public static class EventHandler {
@SubscribeEvent
public void onUseFieldKit(PlayerInteractEvent event) {
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
EntityPlayer player = event.entityPlayer;
if (player != null && player.getHeldItem() != null
&& player.getHeldItem().getItem() == fieldKit
&& player.isSneaking()) {
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (!(tile instanceof TileEntityFlower tileFlower)) {
return;
}
EntityPlayer player = event.entityPlayer;
if (player != null && player.getHeldItem() != null
&& player.getHeldItem().getItem() == BinnieCore.fieldKit
&& player.isSneaking()) {
TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
if (!(tile instanceof TileEntityFlower tileFlower)) {
return;
}
IFlower flower = tileFlower.getFlower();
if (flower == null) {
return;
}
NBTTagCompound info = new NBTTagCompound();
info.setString("Species", flower.getGenome().getPrimary().getUID());
info.setString("Species2", flower.getGenome().getSecondary().getUID());
info.setFloat("Age", flower.getAge() / flower.getGenome().getLifespan());
info.setShort("Colour", (short) flower.getGenome().getPrimaryColor().getID());
info.setShort("Colour2", (short) flower.getGenome().getSecondaryColor().getID());
info.setBoolean("Wilting", flower.isWilted());
info.setBoolean("Flowered", flower.hasFlowered());
Botany.proxy.sendToPlayer(new MessageNBT(PacketID.FieldKit.ordinal(), info), event.entityPlayer);
event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer);
IFlower flower = tileFlower.getFlower();
if (flower == null) {
return;
}
NBTTagCompound info = new NBTTagCompound();
info.setString("Species", flower.getGenome().getPrimary().getUID());
info.setString("Species2", flower.getGenome().getSecondary().getUID());
info.setFloat("Age", flower.getAge() / flower.getGenome().getLifespan());
info.setShort("Colour", (short) flower.getGenome().getPrimaryColor().getID());
info.setShort("Colour2", (short) flower.getGenome().getSecondaryColor().getID());
info.setBoolean("Wilting", flower.isWilted());
info.setBoolean("Flowered", flower.hasFlowered());
Botany.proxy.sendToPlayer(new MessageNBT(PacketID.FieldKit.ordinal(), info), event.entityPlayer);
event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer);
}
}
}
@@ -9,7 +9,7 @@ import net.minecraftforge.fluids.FluidContainerRegistry;
import binnie.core.BinnieCore;
import binnie.core.Mods;
import binnie.core.util.I18N;
import binnie.genetics.item.GeneticsItems;
import binnie.genetics.item.GeneticsMisc;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -71,7 +71,7 @@ public enum FluidContainer {
case Capsule -> Mods.forestry.stack("waxCapsule");
case Glass -> new ItemStack(Items.glass_bottle, 1, 0);
case Refractory -> Mods.forestry.stack("refractoryEmpty");
case Cylinder -> GeneticsItems.Cylinder.get(1);
case Cylinder -> GeneticsMisc.Items.Cylinder.get(1);
};
}
@@ -277,16 +277,16 @@ public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePack
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
for (INetwork.ReceiveGuiNBT receive : getInterfaces(INetwork.ReceiveGuiNBT.class)) {
receive.receiveGuiNBT(side, player, name, nbt);
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
for (INetwork.RecieveGuiNBT recieve : getInterfaces(INetwork.RecieveGuiNBT.class)) {
recieve.recieveGuiNBT(side, player, name, nbt);
}
}
@Override
public void sendGuiNBT(Map<String, NBTTagCompound> nbts) {
for (INetwork.SendGuiNBT receive : getInterfaces(INetwork.SendGuiNBT.class)) {
receive.sendGuiNBT(nbts);
for (INetwork.SendGuiNBT recieve : getInterfaces(INetwork.SendGuiNBT.class)) {
recieve.sendGuiNBT(nbts);
}
}
}
@@ -50,7 +50,7 @@ public class MachineComponent implements INBTTagable {
return new MachinePayload(Binnie.Machine.getNetworkID(getClass()));
}
public void receiveData(MachinePayload payload) {}
public void recieveData(MachinePayload payload) {}
public MachineUtil getUtil() {
return getMachine().getMachineUtil();
@@ -32,11 +32,6 @@ public abstract class MachinePackage {
return I18N.localise(group.getMod().getModID() + ".machine." + group.getShortUID() + "." + getUID());
}
public String getGuiDisplayName() {
String guiKey = group.getMod().getModID() + ".machine." + group.getShortUID() + "." + getUID() + ".title";
return I18N.canLocalise(guiKey) ? I18N.localise(guiKey) : getDisplayName();
}
public Integer getMetadata() {
return metadata;
}
@@ -49,7 +49,7 @@ public class ComponentChargedSlots extends MachineComponent implements INetwork.
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
if (!name.equals("slot-charges")) {
return;
}
@@ -21,11 +21,11 @@ public interface INetwork {
void syncFromNBT(NBTTagCompound nbt);
}
interface ReceiveGuiNBT {
interface RecieveGuiNBT {
void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt);
void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt);
}
interface GuiNBT extends ReceiveGuiNBT, SendGuiNBT {
interface GuiNBT extends RecieveGuiNBT, SendGuiNBT {
}
}
@@ -69,7 +69,7 @@ class ComponentCompartmentInventory extends ComponentInventorySlots implements I
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
if (name.equals("comp-tabs")) {
NBTTagList tags = nbt.getTagList("tabs", 10);
for (int i = 0; i < tags.tagCount(); ++i) {
@@ -23,11 +23,6 @@ public class ModuleStorage implements IInitializable {
BinnieCore.packageCompartment.setCreativeTab(CreativeTabs.tabBlock);
}
@Override
public void init() {
// ignored
}
@Override
public void postInit() {
String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "ingotIron" : "gearIron";
@@ -15,7 +15,6 @@ import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import binnie.core.AbstractMod;
import binnie.core.BinnieCore;
@@ -43,7 +42,6 @@ import binnie.core.craftgui.geometry.Position;
import binnie.core.craftgui.minecraft.Dialog;
import binnie.core.craftgui.minecraft.EnumColor;
import binnie.core.craftgui.minecraft.IWindowAffectsShiftClick;
import binnie.core.craftgui.minecraft.InventoryType;
import binnie.core.craftgui.minecraft.MinecraftGUI;
import binnie.core.craftgui.minecraft.Window;
import binnie.core.craftgui.minecraft.control.ControlItemDisplay;
@@ -57,7 +55,6 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture;
import binnie.core.craftgui.window.Panel;
import binnie.core.machines.Machine;
import binnie.core.machines.transfer.TransferRequest;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
import binnie.genetics.craftgui.WindowMachine;
import cpw.mods.fml.relauncher.Side;
@@ -83,7 +80,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
@Override
public void initialiseClient() {
setTitle(Machine.getMachine(getInventory()).getPackage().getGuiDisplayName());
setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName());
int x = 16;
int y = 32;
ComponentCompartmentInventory inv = Machine.getMachine(getInventory())
@@ -190,11 +187,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
for (int k = 0; k < inv.getPageSize(); ++k) {
slotsIDs[k] = i++;
}
final NBTTagList actions = new NBTTagList();
new ControlSlotArray(thisPage, 8, 8, inv.getPageSize() / 5, 5)
.create(actions, InventoryType.Machine, slotsIDs);
MessageCraftGUI.sendToServer(actions);
new ControlSlotArray(thisPage, 8, 8, inv.getPageSize() / 5, 5).create(slotsIDs);
}
x += compartmentPageWidth;
if (tabs2.length > 0) {
@@ -252,7 +245,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
setSize(new IPoint(Math.max(32 + compartmentWidth, 252), h()));
controlCompartment.setPosition(new IPoint((w() - controlCompartment.w()) / 2.0f, controlCompartment.y()));
new ControlPlayerInventory(this, true).createAndRegister();
new ControlPlayerInventory(this, true);
ControlSlide slide = new ControlSlide(this, 0.0f, 134.0f, 136.0f, 92.0f, Position.LEFT);
slide.setLabel(I18N.localise("binniecore.machine.storage.tab.properties"));
slide.setSlide(false);
@@ -374,7 +367,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
};
slotGrid = new Control(scroll, 1.0f, 1.0f, 108.0f, 18.0f);
scroll.setScrollableContent(slotGrid);
new ControlPlayerInventory(this, true).createAndRegister();
new ControlPlayerInventory(this, true);
new ControlTextEdit(this, 16.0f, 16.0f, 100.0f, 14.0f).addEventHandler(new EventTextEdit.Handler() {
@Override
@@ -466,10 +459,8 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
slotGrid.deleteAllChildren();
slotGrid.setSize(new IPoint(width, height));
final NBTTagList actions = new NBTTagList();
for (int k : slotIds.keySet()) {
new ControlSlot(slotGrid, x, y).assign(actions, InventoryType.Machine, k);
new ControlSlot(slotGrid, x, y).assign(k);
x += 18;
if (x >= 108) {
x = 0;
@@ -477,8 +468,6 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
}
}
MessageCraftGUI.sendToServer(actions);
while (y < 108 || x != 0) {
new ControlSlot(slotGrid, x, y);
x += 18;
@@ -499,16 +488,14 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
public void updateTabs() {
CompartmentTab tab = getCurrentTab();
if (!tabName.isFocused()) {
tabName.setValue(tab.getName());
}
tabName.setValue(tab.getName());
tabIcon.setItemStack(tab.getIcon());
tabColour.setValue(tab.getColor());
}
@Override
public void receiveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
super.receiveGuiNBT(side, player, name, nbt);
public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) {
super.recieveGuiNBT(side, player, name, nbt);
if (name.equals("tab-change")) {
currentTab = nbt.getByte("i");
}
@@ -1,52 +0,0 @@
package binnie.core.mod.parser;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collection;
import binnie.core.AbstractMod;
public abstract class FieldParser {
public static Collection<FieldParser> parsers = new ArrayList<>();
public abstract boolean isHandled(Field field, AbstractMod mod);
public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException {
// ignored
}
public void init(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException {
// ignored
}
public void postInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException {
// ignored
}
public static void preInitParse(Field field, AbstractMod mod)
throws IllegalArgumentException, IllegalAccessException {
for (FieldParser parser : FieldParser.parsers) {
if (parser.isHandled(field, mod)) {
parser.preInit(field, mod);
}
}
}
public static void initParse(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException {
for (FieldParser parser : FieldParser.parsers) {
if (parser.isHandled(field, mod)) {
parser.init(field, mod);
}
}
}
public static void postInitParse(Field field, AbstractMod mod)
throws IllegalArgumentException, IllegalAccessException {
for (FieldParser parser : FieldParser.parsers) {
if (parser.isHandled(field, mod)) {
parser.postInit(field, mod);
}
}
}
}
@@ -1,24 +0,0 @@
package binnie.core.mod.parser;
import java.lang.reflect.Field;
import net.minecraft.item.Item;
import binnie.core.AbstractMod;
import cpw.mods.fml.common.registry.GameRegistry;
public class ItemParser extends FieldParser {
@Override
public boolean isHandled(Field field, AbstractMod mod) {
return Item.class.isAssignableFrom(field.getType());
}
@Override
public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException {
Item item = (Item) field.get(null);
if (item != null) {
GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5));
}
}
}
@@ -1,7 +1,6 @@
package binnie.core.network;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.tileentity.TileEntity;
@@ -28,71 +27,41 @@ public enum BinnieCorePacketID implements IPacketID {
@Override
public void onMessage(MessageBinnie message, MessageContext context) {
switch (this) {
case NetworkEntityUpdate -> processNetworkEntityUpdate(message);
case TileMetadata -> processTileMetadata(message);
case CraftGUIAction -> processCraftGUIAction(message, context);
case TileDescriptionSync -> processTileDescriptionSync(message, context);
}
}
private static void processNetworkEntityUpdate(MessageBinnie message) {
final MessageUpdate packet = new MessageUpdate(message);
final TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld());
if (tile instanceof INetworkedEntity iNetworkedEntity) {
iNetworkedEntity.readFromPacket(packet.payload);
}
}
private static void processTileMetadata(MessageBinnie message) {
final MessageMetadata packet = new MessageMetadata(message);
final TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld());
if (tile instanceof TileEntityMetadata tileEntityMetadata) {
tileEntityMetadata.setTileMetadata(packet.meta, true);
}
}
private static void processCraftGUIAction(MessageBinnie message, MessageContext context) {
final MessageCraftGUI packet = new MessageCraftGUI(message);
final NBTTagCompound tagCompound = packet.getTagCompound();
if (tagCompound == null) return;
if (context.side == Side.CLIENT) {
final EntityPlayer player = BinnieCore.proxy.getPlayer();
if (player.openContainer instanceof ContainerCraftGUI gui) {
gui.receiveNBT(Side.CLIENT, player, tagCompound);
if (this == BinnieCorePacketID.NetworkEntityUpdate) {
MessageUpdate packet = new MessageUpdate(message);
TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld());
if (tile instanceof INetworkedEntity) {
((INetworkedEntity) tile).readFromPacket(packet.payload);
}
} else {
if (context.netHandler instanceof NetHandlerPlayServer server) {
final EntityPlayer player = server.playerEntity;
if (player.openContainer instanceof ContainerCraftGUI gui) {
gui.receiveNBT(Side.SERVER, player, tagCompound);
} else if (this == BinnieCorePacketID.TileMetadata) {
MessageMetadata packet = new MessageMetadata(message);
TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld());
if (tile instanceof TileEntityMetadata) {
((TileEntityMetadata) tile).setTileMetadata(packet.meta, true);
}
} else if (this == BinnieCorePacketID.CraftGUIAction) {
if (context.side == Side.CLIENT) {
MessageCraftGUI packet = new MessageCraftGUI(message);
EntityPlayer player = BinnieCore.proxy.getPlayer();
if (player.openContainer instanceof ContainerCraftGUI && packet.getTagCompound() != null) {
((ContainerCraftGUI) player.openContainer).recieveNBT(Side.CLIENT, player, packet.getTagCompound());
}
} else if (context.netHandler instanceof NetHandlerPlayServer) {
MessageCraftGUI packet = new MessageCraftGUI(message);
EntityPlayer player = ((NetHandlerPlayServer) context.netHandler).playerEntity;
if (player.openContainer instanceof ContainerCraftGUI && packet.getTagCompound() != null) {
((ContainerCraftGUI) player.openContainer).recieveNBT(Side.SERVER, player, packet.getTagCompound());
}
}
} else if (this == BinnieCorePacketID.TileDescriptionSync && context.side == Side.CLIENT) {
MessageTileNBT packet = new MessageTileNBT(message);
TileEntity tile = packet.getTarget(BinnieCore.proxy.getWorld());
if (tile != null && packet.getTagCompound() != null) {
IMachine machine = Machine.getMachine(tile);
if (machine instanceof INetwork.TilePacketSync tps) {
tps.syncFromNBT(packet.getTagCompound());
}
}
}
}
private static void processTileDescriptionSync(MessageBinnie message, MessageContext context) {
if (!context.side.isClient()) return;
final MessageTileNBT packet = new MessageTileNBT(message);
final NBTTagCompound tagCompound = packet.getTagCompound();
if (tagCompound == null) return;
final TileEntity tile = packet.getTarget(BinnieCore.proxy.getWorld());
if (tile == null) return;
final IMachine machine = Machine.getMachine(tile);
if (machine instanceof INetwork.TilePacketSync tps) {
tps.syncFromNBT(tagCompound);
}
}
}
@@ -1,13 +1,7 @@
package binnie.core.network.packet;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.ACTIONS;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.ACTION_BATCH;
import static binnie.core.craftgui.minecraft.ContainerCraftGUI.ACTION_TYPE;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import binnie.core.BinnieCore;
import binnie.core.network.BinnieCorePacketID;
public class MessageCraftGUI extends MessageNBT {
@@ -19,12 +13,4 @@ public class MessageCraftGUI extends MessageNBT {
public MessageCraftGUI(NBTTagCompound action) {
super(BinnieCorePacketID.CraftGUIAction.ordinal(), action);
}
public static void sendToServer(NBTTagList actions) {
NBTTagCompound actionsBatch = new NBTTagCompound();
actionsBatch.setString(ACTION_TYPE, ACTION_BATCH);
actionsBatch.setTag(ACTIONS, actions);
final MessageCraftGUI packet = new MessageCraftGUI(actionsBatch);
BinnieCore.proxy.sendToServer(packet);
}
}
@@ -44,19 +44,4 @@ public class BinnieModProxy implements IBinnieModProxy {
public IIcon getIcon(IIconRegister register, String string) {
return BinnieCore.proxy.getIcon(register, mod.getModID(), string);
}
@Override
public void preInit() {
// ignored
}
@Override
public void init() {
// ignored
}
@Override
public void postInit() {
// ignored
}
}
@@ -6,11 +6,6 @@ import buildcraft.api.statements.StatementManager;
public class ModuleTrigger implements IInitializable {
@Override
public void preInit() {
// ignored
}
@Override
public void init() {
BinnieAction.actionPauseProcess = new BinnieAction(
@@ -80,8 +75,4 @@ public class ModuleTrigger implements IInitializable {
StatementManager.registerTriggerProvider(new TriggerProvider());
}
@Override
public void postInit() {
// ignored
}
}
+29 -9
View File
@@ -2,7 +2,8 @@ package binnie.extrabees;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.init.Items;
import net.minecraftforge.oredict.OreDictionary;
import com.gtnewhorizon.gtnhlib.config.ConfigException;
import com.gtnewhorizon.gtnhlib.config.ConfigurationManager;
@@ -19,24 +20,28 @@ import binnie.extrabees.core.ExtraBeeGUID;
import binnie.extrabees.core.ModuleCore;
import binnie.extrabees.genetics.ModuleGenetics;
import binnie.extrabees.liquids.ModuleLiquids;
import binnie.extrabees.products.CombItems;
import binnie.extrabees.products.ModuleProducts;
import binnie.extrabees.proxy.ExtraBeesProxy;
import binnie.extrabees.worldgen.ModuleGeneration;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
@Mod(
modid = ExtraBees.EB_MODID,
name = ExtraBees.EB_MOD_NAME,
version = Tags.VERSION,
useMetadata = true,
dependencies = "after:BinnieCore")
dependencies = "after:BinnieCore",
guiFactory = "binnie.extrabees.config.EBConfigGUIFactory")
public class ExtraBees extends AbstractMod {
public static final String EB_MODID = "ExtraBees";
public static final String EB_MODID = "extrabees";
public static final String EB_MOD_NAME = "Extra Bees";
@Mod.Instance("ExtraBees")
@@ -58,11 +63,6 @@ public class ExtraBees extends AbstractMod {
public static Block hive;
public static Material materialBeehive;
public static Block ectoplasm;
public static Item comb;
public static Item propolis;
public static Item honeyDrop;
public static Item dictionary;
public static Item itemMisc;
public ExtraBees() {
ExtraBees.instance = this;
@@ -81,6 +81,13 @@ public class ExtraBees extends AbstractMod {
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
OreDictionary.registerOre("ingotIron", Items.iron_ingot);
OreDictionary.registerOre("ingotGold", Items.gold_ingot);
OreDictionary.registerOre("gemDiamond", Items.diamond);
OreDictionary.registerOre("gemEmerald", Items.emerald);
CombItems.addSubtypes();
init();
}
@@ -89,6 +96,19 @@ public class ExtraBees extends AbstractMod {
postInit();
}
@Mod.EventHandler
public void missingMappings(FMLMissingMappingsEvent event) {
for (FMLMissingMappingsEvent.MissingMapping m : event.getAll()) {
final String[] name = m.name.split(":");
if (name.length < 2) continue;
if (name[0].equals("ExtraBees")) {
if (m.type == GameRegistry.Type.BLOCK) m.remap(GameRegistry.findBlock(EB_MODID, name[1]));
else m.remap(GameRegistry.findItem(EB_MODID, name[1]));
}
}
}
@Override
public IBinnieGUID[] getGUIDs() {
return ExtraBeeGUID.values();
@@ -106,7 +126,7 @@ public class ExtraBees extends AbstractMod {
@Override
public String getModID() {
return "extrabees";
return EB_MODID;
}
@Override
@@ -34,12 +34,12 @@ public class ModuleApiary implements IInitializable {
BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine"));
ModuleApiary.blockComponent = machineGroup.getBlock();
AlvearyMutator.addMutationItem(new ItemStack(Blocks.soul_sand), 1.5f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("itemUran"), 8.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("itemPlutonium"), 15.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("itemPlutoniumSmall"), 9.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("itemUran235"), 10.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("itemUran235small"), 5.5f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("itemUran238"), 2.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("UranFuel"), 8.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("Plutonium"), 15.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("smallPlutonium"), 9.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("Uran235"), 10.0f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("smallUran235"), 5.5f);
AlvearyMutator.addMutationItem(Mods.ic2.stack("Uran238"), 2.0f);
AlvearyMutator.addMutationItem(new ItemStack(Items.nether_star), 50.0f);
AlvearyMutator.addMutationItem(new ItemStack(Items.ender_pearl), 2.0f);
AlvearyMutator.addMutationItem(new ItemStack(Items.ender_eye), 4.0f);
@@ -6,23 +6,14 @@ import java.util.List;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import com.mojang.authlib.GameProfile;
import binnie.core.machines.TileEntityMachine;
import binnie.extrabees.apiary.machine.AlvearyMachine;
import forestry.api.apiculture.IBeeGenome;
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.api.genetics.IIndividual;
import forestry.api.multiblock.IAlvearyComponent;
import forestry.api.multiblock.IMultiblockComponent;
@@ -30,7 +21,7 @@ import forestry.api.multiblock.IMultiblockController;
import forestry.api.multiblock.IMultiblockLogicAlveary;
import forestry.api.multiblock.MultiblockManager;
public class TileExtraBeeAlveary extends TileEntityMachine implements IBeeHousing, IAlvearyComponent.Active,
public class TileExtraBeeAlveary extends TileEntityMachine implements IAlvearyComponent.Active,
IAlvearyComponent.BeeModifier, IAlvearyComponent.BeeListener, IBeeListener, IBeeModifier {
protected IMultiblockLogicAlveary structureLogic;
@@ -51,51 +42,11 @@ public class TileExtraBeeAlveary extends TileEntityMachine implements IBeeHousin
return new ChunkCoordinates(xCoord, yCoord, zCoord);
}
@Override
public Iterable<IBeeModifier> getBeeModifiers() {
return getMultiblockLogic().getController().getBeeModifiers();
}
@Override
public Iterable<IBeeListener> getBeeListeners() {
return getMultiblockLogic().getController().getBeeListeners();
}
@Override
public IBeeHousingInventory getBeeInventory() {
return getMultiblockLogic().getController().getBeeInventory();
}
@Override
public IBeekeepingLogic getBeekeepingLogic() {
return getMultiblockLogic().getController().getBeekeepingLogic();
}
@Override
public int getBlockLightValue() {
return getMultiblockLogic().getController().getBlockLightValue();
}
@Override
public boolean canBlockSeeTheSky() {
return getMultiblockLogic().getController().canBlockSeeTheSky();
}
@Override
public World getWorld() {
return null;
}
@Override
public GameProfile getOwner() {
return getMachine().getOwner();
}
@Override
public Vec3 getBeeFXCoordinates() {
return getMultiblockLogic().getController().getBeeFXCoordinates();
}
public List<TileEntity> getAlvearyBlocks() {
LinkedList<TileEntity> tiles = new LinkedList<>();
if (min == null || max == null) {
@@ -275,26 +226,6 @@ public class TileExtraBeeAlveary extends TileEntityMachine implements IBeeHousin
}
}
@Override
public BiomeGenBase getBiome() {
return getMultiblockLogic().getController().getBiome();
}
@Override
public EnumTemperature getTemperature() {
return getMultiblockLogic().getController().getTemperature();
}
@Override
public EnumHumidity getHumidity() {
return getMultiblockLogic().getController().getHumidity();
}
@Override
public IErrorLogic getErrorLogic() {
return getMultiblockLogic().getController().getErrorLogic();
}
// TODO why its commented?
// boolean init;
// //IStructureLogic structureLogic;
@@ -18,7 +18,8 @@ public class MutatorModifierComponent extends ComponentBeeModifier implements IB
return 1.0f;
}
return AlvearyMutator.getMutationMult(getUtil().getStack(AlvearyMutator.SLOT_MUTATOR));
float mult = AlvearyMutator.getMutationMult(getUtil().getStack(AlvearyMutator.SLOT_MUTATOR));
return Math.min(mult, 15.0f / currentModifier);
}
@Override
@@ -48,8 +48,8 @@ public class TransmissionModifierComponent extends ComponentBeeModifier implemen
}
for (IEnergyHandler handler : handlers) {
int received = handler.receiveEnergy(ForgeDirection.NORTH, output, false);
getUtil().getPoweredMachine().receiveEnergy(ForgeDirection.NORTH, -received, false);
int recieved = handler.receiveEnergy(ForgeDirection.NORTH, output, false);
getUtil().getPoweredMachine().receiveEnergy(ForgeDirection.NORTH, -recieved, false);
energy = getUtil().getPoweredMachine().getEnergyStored(ForgeDirection.NORTH);
if (energy <= 0) {
return;
@@ -0,0 +1,16 @@
package binnie.extrabees.config;
import static binnie.extrabees.ExtraBees.EB_MODID;
import static binnie.extrabees.ExtraBees.EB_MOD_NAME;
import net.minecraft.client.gui.GuiScreen;
import com.gtnewhorizon.gtnhlib.config.ConfigException;
import com.gtnewhorizon.gtnhlib.config.SimpleGuiConfig;
public class EBConfigGUI extends SimpleGuiConfig {
public EBConfigGUI(GuiScreen parent) throws ConfigException {
super(parent, EB_MODID, EB_MOD_NAME, false, EBConfig.class, EBConfigMachines.class);
}
}
@@ -0,0 +1,13 @@
package binnie.extrabees.config;
import net.minecraft.client.gui.GuiScreen;
import com.gtnewhorizon.gtnhlib.config.SimpleGuiFactory;
public class EBConfigGUIFactory implements SimpleGuiFactory {
@Override
public Class<? extends GuiScreen> mainConfigGuiClass() {
return EBConfigGUI.class;
}
}
@@ -1,220 +0,0 @@
package binnie.extrabees.core;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.oredict.OreDictionary;
import binnie.Binnie;
import binnie.core.Mods;
import binnie.core.item.IItemMisc;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.recipes.RecipeManagers;
public enum ExtraBeeItems implements IItemMisc {
ScentedGear("scentedGear"),
DiamondShard("diamondShard"),
EmeraldShard("emeraldShard"),
RubyShard("rubyShard"),
SapphireShard("sapphireShard"),
LapisShard("lapisShard"),
IronDust("ironDust"),
GoldDust("goldDust"),
SilverDust("silverDust"),
PlatinumDust("platinumDust"),
CopperDust("copperDust"),
TinDust("tinDust"),
NickelDust("nickelDust"),
LeadDust("leadDust"),
ZincDust("zincDust"),
TitaniumDust("titaniumDust"),
TungstenDust("tungstenDust"),
UraniumDust("radioactiveDust"),
CoalDust("coalDust"),
RedDye("dyeRed"),
YellowDye("dyeYellow"),
BlueDye("dyeBlue"),
GreenDye("dyeGreen"),
WhiteDye("dyeWhite"),
BlackDye("dyeBlack"),
BrownDye("dyeBrown"),
ClayDust("clayDust"),
YelloriumDust("yelloriumDust"),
BlutoniumDust("blutoniumDust"),
CyaniteDust("cyaniteDust");
static {
ExtraBeeItems.TinDust.setMetal("Tin");
ExtraBeeItems.ZincDust.setMetal("Zinc");
ExtraBeeItems.CopperDust.setMetal("Copper");
ExtraBeeItems.IronDust.setMetal("Iron");
ExtraBeeItems.NickelDust.setMetal("Nickel");
ExtraBeeItems.LeadDust.setMetal("Lead");
ExtraBeeItems.SilverDust.setMetal("Silver");
ExtraBeeItems.GoldDust.setMetal("Gold");
ExtraBeeItems.PlatinumDust.setMetal("Platinum");
ExtraBeeItems.TungstenDust.setMetal("Tungsten");
ExtraBeeItems.TitaniumDust.setMetal("Titanium");
ExtraBeeItems.CoalDust.setMetal("Coal");
ExtraBeeItems.YelloriumDust.setMetal("Yellorium");
ExtraBeeItems.BlutoniumDust.setMetal("Blutonium");
ExtraBeeItems.CyaniteDust.setMetal("Cyanite");
ExtraBeeItems.DiamondShard.setGem("Diamond");
ExtraBeeItems.EmeraldShard.setGem("Emerald");
ExtraBeeItems.RubyShard.setGem("Ruby");
ExtraBeeItems.SapphireShard.setGem("Sapphire");
}
protected String name;
protected String iconPath;
protected IIcon icon;
protected String metalString;
protected String gemString;
ExtraBeeItems(String name) {
this.name = name;
this.iconPath = name;
metalString = null;
gemString = null;
}
public static void init() {
OreDictionary.registerOre("dyeRed", ExtraBeeItems.RedDye.get(1));
OreDictionary.registerOre("dyeYellow", ExtraBeeItems.YellowDye.get(1));
OreDictionary.registerOre("dyeBlue", ExtraBeeItems.BlueDye.get(1));
OreDictionary.registerOre("dyeGreen", ExtraBeeItems.GreenDye.get(1));
OreDictionary.registerOre("dyeBlack", ExtraBeeItems.BlackDye.get(1));
OreDictionary.registerOre("dyeWhite", ExtraBeeItems.WhiteDye.get(1));
OreDictionary.registerOre("dyeBrown", ExtraBeeItems.BrownDye.get(1));
}
public static void postInit() {
ItemStack lapisShard = ExtraBeeItems.LapisShard.get(1);
GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 1, 4), lapisShard, lapisShard, lapisShard, lapisShard);
for (ExtraBeeItems item : values()) {
if (item.metalString != null) {
ItemStack dust = null;
ItemStack ingot = null;
if (!OreDictionary.getOres("ingot" + item.metalString).isEmpty()) {
ingot = OreDictionary.getOres("ingot" + item.metalString).get(0).copy();
}
if (!OreDictionary.getOres("dust" + item.metalString).isEmpty()) {
dust = OreDictionary.getOres("dust" + item.metalString).get(0).copy();
}
ItemStack input = item.get(1);
if (dust != null) {
GameRegistry.addShapelessRecipe(dust, input, input, input, input);
} else if (ingot != null) {
GameRegistry
.addShapelessRecipe(ingot, input, input, input, input, input, input, input, input, input);
} else if (item == ExtraBeeItems.CoalDust) {
GameRegistry.addShapelessRecipe(new ItemStack(Items.coal), input, input, input, input);
}
} else if (item.gemString != null) {
ItemStack gem = null;
if (!OreDictionary.getOres("gem" + item.gemString).isEmpty()) {
gem = OreDictionary.getOres("gem" + item.gemString).get(0);
}
ItemStack input2 = item.get(1);
if (gem != null) {
GameRegistry.addShapelessRecipe(
gem.copy(),
input2,
input2,
input2,
input2,
input2,
input2,
input2,
input2,
input2);
}
}
}
Item woodGear = null;
try {
woodGear = (Item) Class.forName("buildcraft.BuildCraftCore").getField("woodenGearItem").get(null);
} catch (Exception ex) {
// ignored
}
ItemStack gear = new ItemStack(Blocks.planks, 1);
if (woodGear != null) {
gear = new ItemStack(woodGear, 1);
}
RecipeManagers.carpenterManager.addRecipe(
100,
Binnie.Liquid.getLiquidStack("for.honey", 500),
null,
ExtraBeeItems.ScentedGear.get(1),
" j ",
"bgb",
" p ",
'j',
Mods.forestry.item("royalJelly"),
'b',
Mods.forestry.item("beeswax"),
'p',
Mods.forestry.item("pollen"),
'g',
gear);
}
private void setGem(String string) {
gemString = string;
}
private void setMetal(String string) {
metalString = string;
}
@Override
public boolean isActive() {
if (metalString != null) {
return !OreDictionary.getOres("ingot" + metalString).isEmpty()
|| !OreDictionary.getOres("dust" + metalString).isEmpty()
|| this == ExtraBeeItems.CoalDust;
}
return gemString == null || !OreDictionary.getOres("gem" + gemString).isEmpty();
}
@Override
public IIcon getIcon(ItemStack itemStack) {
return icon;
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister register) {
icon = ExtraBees.proxy.getIcon(register, "misc/" + iconPath);
}
@Override
public void addInformation(List tooltip) {
// ignored
}
@Override
public String getName(ItemStack itemStack) {
return I18N.localise("extrabees.item." + name);
}
@Override
public ItemStack get(int count) {
return new ItemStack(ExtraBees.itemMisc, count, ordinal());
}
}
@@ -1,24 +1,26 @@
package binnie.extrabees.core;
import binnie.Binnie;
import static binnie.extrabees.item.EBItems.itemMisc;
import binnie.core.IInitializable;
import binnie.extrabees.ExtraBees;
import forestry.api.core.Tabs;
import binnie.extrabees.item.EBMisc;
public class ModuleCore implements IInitializable {
@Override
public void preInit() {
ExtraBees.itemMisc = Binnie.Item.registerMiscItems(ExtraBeeItems.values(), Tabs.tabApiculture);
// Loads EBItems.class, guaranteeing that items are init by this point
// TODO: is this needed?
itemMisc.getUnlocalizedName();
}
@Override
public void init() {
ExtraBeeItems.init();
EBMisc.init();
}
@Override
public void postInit() {
ExtraBeeItems.postInit();
EBMisc.postInit();
}
}
@@ -14,8 +14,7 @@ import net.minecraftforge.common.BiomeDictionary;
import binnie.core.Mods;
import binnie.extrabees.genetics.effect.ExtraBeesEffect;
import binnie.extrabees.genetics.requirements.RequirementPerson;
import binnie.extrabees.products.EnumHoneyComb;
import binnie.extrabees.products.ItemHoneyComb;
import binnie.extrabees.products.CombItems;
import binnie.genetics.genetics.AlleleHelper;
import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.EnumBeeChromosome;
@@ -42,7 +41,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f).setTemperature(EnumTemperature.HOT)
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@@ -61,7 +60,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f).setTemperature(EnumTemperature.HOT)
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@@ -74,7 +73,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f).setTemperature(EnumTemperature.HOT)
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID).setHasEffect();
}
@@ -94,8 +93,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f).addSpecialty(EnumHoneyComb.COMPOST.get(1), 0.08f)
.setTemperature(EnumTemperature.HOT).setHumidity(EnumHumidity.ARID);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f)
.addSpecialty(CombItems.Items.COMPOST.get(1), 0.08f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@Override
@@ -107,8 +107,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.25f).addSpecialty(EnumHoneyComb.SAWDUST.get(1), 0.25f)
.setTemperature(EnumTemperature.HOT).setHumidity(EnumHumidity.ARID);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.25f)
.addSpecialty(CombItems.Items.SAWDUST.get(1), 0.25f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@Override
@@ -130,8 +131,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f).addSpecialty(EnumHoneyComb.ROTTEN.get(1), 0.10f)
.setTemperature(EnumTemperature.HOT).setHumidity(EnumHumidity.ARID);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f)
.addSpecialty(CombItems.Items.ROTTEN.get(1), 0.10f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@Override
@@ -151,7 +153,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f).addSpecialty(EnumHoneyComb.BONE.get(1), 0.10f)
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f).addSpecialty(CombItems.Items.BONE.get(1), 0.10f)
.setTemperature(EnumTemperature.HOT).setHumidity(EnumHumidity.ARID);
}
@@ -172,8 +174,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.30f)
.addSpecialty(ItemHoneyComb.VanillaComb.POWDERY.get(), 0.08f).setTemperature(EnumTemperature.HOT)
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.30f)
.addSpecialty(CombItems.ForestryCombs.POWDERY.get(), 0.08f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@@ -196,14 +198,14 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.30f);
}
},
STONE(ExtraBeeBranchDefinition.ROCKY, "lapis", false, new Color(0x757575), new Color(0x999999)) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.30f);
}
@Override
@@ -215,7 +217,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.30f);
}
@Override
@@ -233,7 +235,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.30f);
}
@Override
@@ -253,7 +255,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.COPPER.get(1), 0.06f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.COPPER.get(1), 0.06f);
}
@Override
@@ -266,7 +269,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.TIN.get(1), 0.06f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f).addSpecialty(CombItems.Items.TIN.get(1), 0.06f);
}
@Override
@@ -279,7 +282,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.IRON.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f).addSpecialty(CombItems.Items.IRON.get(1), 0.05f);
}
@Override
@@ -292,7 +295,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.LEAD.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f).addSpecialty(CombItems.Items.LEAD.get(1), 0.05f);
}
@Override
@@ -307,7 +310,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.ZINC.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f).addSpecialty(CombItems.Items.ZINC.get(1), 0.05f);
}
@Override
@@ -320,7 +323,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.TITANIUM.get(1), 0.02f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.TITANIUM.get(1), 0.02f);
}
@Override
@@ -332,7 +336,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.TUNGSTEN.get(1), 0.01f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.TUNGSTEN.get(1), 0.01f);
}
@Override
@@ -344,7 +349,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.NICKEL.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.NICKEL.get(1), 0.05f);
}
@Override
@@ -359,7 +365,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.GOLD.get(1), 0.02f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f).addSpecialty(CombItems.Items.GOLD.get(1), 0.02f);
}
@Override
@@ -374,7 +380,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.SILVER.get(1), 0.02f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.SILVER.get(1), 0.02f);
}
@Override
@@ -390,7 +397,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.PLATINUM.get(1), 0.01f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.PLATINUM.get(1), 0.01f);
}
@Override
@@ -404,7 +412,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.LAPIS.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.LAPIS.get(1), 0.05f);
}
@Override
@@ -423,7 +432,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.EMERALD.get(1), 0.04f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.EMERALD.get(1), 0.04f);
}
@Override
@@ -435,7 +445,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.RUBY.get(1), 0.03f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f).addSpecialty(CombItems.Items.RUBY.get(1), 0.03f);
}
@Override
@@ -447,7 +457,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.SAPPHIRE.get(1), 0.03f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.SAPPHIRE.get(1), 0.03f);
}
@Override
@@ -460,7 +471,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.DIAMOND.get(1), 0.01f);
beeSpecies.addProduct(CombItems.Items.STONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.DIAMOND.get(1), 0.01f);
}
@Override
@@ -474,7 +486,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.20f);
}
@Override
@@ -486,7 +498,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.20f);
}
@Override
@@ -503,8 +515,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f).addSpecialty(EnumHoneyComb.URANIUM.get(1), 0.02f)
.setHasEffect();
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.20f)
.addSpecialty(CombItems.Items.URANIUM.get(1), 0.02f).setHasEffect();
}
@Override
@@ -517,8 +529,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f)
.addSpecialty(EnumHoneyComb.YELLORIUM.get(1), 0.02f);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.20f)
.addSpecialty(CombItems.Items.YELLORIUM.get(1), 0.02f);
}
@Override
@@ -540,7 +552,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f).addSpecialty(EnumHoneyComb.CYANITE.get(1), 0.01f);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.20f)
.addSpecialty(CombItems.Items.CYANITE.get(1), 0.01f);
}
@Override
@@ -562,8 +575,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f)
.addSpecialty(EnumHoneyComb.BLUTONIUM.get(1), 0.01f);
beeSpecies.addProduct(CombItems.Items.BARREN.get(1), 0.20f)
.addSpecialty(CombItems.Items.BLUTONIUM.get(1), 0.01f);
}
@Override
@@ -587,7 +600,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.30f);
}
@Override
@@ -599,7 +612,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.30f);
}
@Override
@@ -616,7 +629,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.30f);
}
@Override
@@ -634,7 +647,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f).setHasEffect();
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.30f).setHasEffect();
}
@Override
@@ -653,7 +666,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.20f).addSpecialty(EnumHoneyComb.COAL.get(1), 0.08f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.20f).addSpecialty(CombItems.Items.COAL.get(1), 0.08f);
}
@Override
@@ -666,7 +679,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.20f).addSpecialty(EnumHoneyComb.RESIN.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.20f).addSpecialty(CombItems.Items.RESIN.get(1), 0.05f);
}
@Override
@@ -678,7 +691,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.20f).addSpecialty(EnumHoneyComb.OIL.get(1), 0.05f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.20f).addSpecialty(CombItems.Items.OIL.get(1), 0.05f);
}
@Override
@@ -694,7 +707,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.10f);
beeSpecies.addProduct(CombItems.Items.OLD.get(1), 0.10f);
}
@Override
@@ -706,7 +719,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.OIL.get(1), 0.10f).addSpecialty(EnumHoneyComb.FUEL.get(1), 0.04f)
beeSpecies.addProduct(CombItems.Items.OIL.get(1), 0.10f).addSpecialty(CombItems.Items.FUEL.get(1), 0.04f)
.setHasEffect();
}
@@ -719,8 +732,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.COAL.get(1), 0.10f).addSpecialty(EnumHoneyComb.CREOSOTE.get(1), 0.07f)
.setHasEffect();
beeSpecies.addProduct(CombItems.Items.COAL.get(1), 0.10f)
.addSpecialty(CombItems.Items.CREOSOTE.get(1), 0.07f).setHasEffect();
}
@Override
@@ -732,7 +745,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.RESIN.get(1), 0.10f).addSpecialty(EnumHoneyComb.LATEX.get(1), 0.05f)
beeSpecies.addProduct(CombItems.Items.RESIN.get(1), 0.10f).addSpecialty(CombItems.Items.LATEX.get(1), 0.05f)
.setHasEffect();
}
@@ -747,14 +760,14 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.WATER.get(1), 0.30f).setHumidity(EnumHumidity.DAMP);
beeSpecies.addProduct(CombItems.Items.WATER.get(1), 0.30f).setHumidity(EnumHumidity.DAMP);
}
},
RIVER(ExtraBeeBranchDefinition.AQUATIC, "flumen", true, new Color(0x83b3d4), new Color(0xffdc16)) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.WATER.get(1), 0.30f).addSpecialty(EnumHoneyComb.CLAY.get(1), 0.20f)
beeSpecies.addProduct(CombItems.Items.WATER.get(1), 0.30f).addSpecialty(CombItems.Items.CLAY.get(1), 0.20f)
.setHumidity(EnumHumidity.DAMP);
}
@@ -767,7 +780,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.WATER.get(1), 0.30f).setHumidity(EnumHumidity.DAMP);
beeSpecies.addProduct(CombItems.Items.WATER.get(1), 0.30f).setHumidity(EnumHumidity.DAMP);
}
@Override
@@ -779,8 +792,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.WATER.get(1), 0.30f).addSpecialty(new ItemStack(Items.dye, 1, 0), 0.10f)
.setHumidity(EnumHumidity.DAMP);
beeSpecies.addProduct(CombItems.Items.WATER.get(1), 0.30f)
.addSpecialty(new ItemStack(Items.dye, 1, 0), 0.10f).setHumidity(EnumHumidity.DAMP);
}
@Override
@@ -794,7 +807,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.35f);
}
@Override
@@ -816,8 +829,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f)
.addSpecialty(EnumHoneyComb.SEED.get(1), 0.10f);
beeSpecies.addProduct(CombItems.ForestryCombs.WHEATEN.get(), 0.30f)
.addSpecialty(CombItems.Items.SEED.get(1), 0.10f);
}
@Override
@@ -829,7 +842,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.35f);
}
@Override
@@ -851,7 +864,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.35f);
}
@Override
@@ -879,7 +892,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.40f)
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.40f)
.addProduct(new ItemStack(Items.sugar, 1, 0), 0.10f);
}
@@ -892,7 +905,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.40f)
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.40f)
.addProduct(new ItemStack(Items.sugar, 1, 0), 0.20f);
}
@@ -905,9 +918,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f)
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.30f)
.addProduct(new ItemStack(Items.sugar, 1, 0), 0.10f)
.addSpecialty(EnumHoneyComb.FRUIT.get(1), 0.10f);
.addSpecialty(CombItems.Items.FRUIT.get(1), 0.10f);
}
@Override
@@ -927,9 +940,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f)
.addProduct(new ItemStack(Items.sugar, 1, 0), 0.15f).addSpecialty(EnumHoneyComb.FRUIT.get(1), 0.20f)
.setHasEffect();
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.30f)
.addProduct(new ItemStack(Items.sugar, 1, 0), 0.15f)
.addSpecialty(CombItems.Items.FRUIT.get(1), 0.20f).setHasEffect();
}
@Override
@@ -951,8 +964,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f)
.addSpecialty(EnumHoneyComb.ALCOHOL.get(1), 0.10f);
beeSpecies.addProduct(CombItems.ForestryCombs.WHEATEN.get(), 0.30f)
.addSpecialty(CombItems.Items.ALCOHOL.get(1), 0.10f);
}
@Override
@@ -970,8 +983,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f)
.addSpecialty(EnumHoneyComb.MILK.get(1), 0.10f);
beeSpecies.addProduct(CombItems.ForestryCombs.WHEATEN.get(), 0.30f)
.addSpecialty(CombItems.Items.MILK.get(1), 0.10f);
}
@Override
@@ -983,8 +996,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f)
.addSpecialty(EnumHoneyComb.COFFEE.get(1), 0.08f);
beeSpecies.addProduct(CombItems.ForestryCombs.WHEATEN.get(), 0.30f)
.addSpecialty(CombItems.Items.COFFEE.get(1), 0.08f);
}
@Override
@@ -1000,7 +1013,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f).setHumidity(EnumHumidity.DAMP);
beeSpecies.addProduct(CombItems.ForestryCombs.MOSSY.get(), 0.30f).setHumidity(EnumHumidity.DAMP);
}
@Override
@@ -1018,7 +1031,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f);
beeSpecies.addProduct(CombItems.ForestryCombs.MOSSY.get(), 0.30f);
}
@Override
@@ -1036,8 +1049,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f)
.addSpecialty(EnumHoneyComb.FUNGAL.get(1), 0.15f).setHasEffect();
beeSpecies.addProduct(CombItems.ForestryCombs.MOSSY.get(), 0.30f)
.addSpecialty(CombItems.Items.FUNGAL.get(1), 0.15f).setHasEffect();
}
@Override
@@ -1066,7 +1079,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f)
beeSpecies.addProduct(CombItems.ForestryCombs.SIMMERING.get(), 0.25f)
.setTemperature(EnumTemperature.HELLISH).setHumidity(EnumHumidity.ARID);
}
@@ -1079,7 +1092,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f)
beeSpecies.addProduct(CombItems.ForestryCombs.SIMMERING.get(), 0.25f)
.setTemperature(EnumTemperature.HELLISH).setHumidity(EnumHumidity.ARID);
}
@@ -1094,8 +1107,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f)
.addSpecialty(EnumHoneyComb.BLAZE.get(1), 0.10f).setTemperature(EnumTemperature.HELLISH)
beeSpecies.addProduct(CombItems.ForestryCombs.SIMMERING.get(), 0.25f)
.addSpecialty(CombItems.Items.BLAZE.get(1), 0.10f).setTemperature(EnumTemperature.HELLISH)
.setHumidity(EnumHumidity.ARID).setHasEffect();
}
@@ -1109,7 +1122,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.GLOWSTONE.get(1), 0.15f).setTemperature(EnumTemperature.HELLISH)
beeSpecies.addProduct(CombItems.Items.GLOWSTONE.get(1), 0.15f).setTemperature(EnumTemperature.HELLISH)
.setHumidity(EnumHumidity.ARID);
}
@@ -1129,7 +1142,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM);
}
@@ -1142,7 +1155,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f);
}
@Override
@@ -1159,8 +1172,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f)
.addSpecialty(EnumHoneyComb.VENOMOUS.get(1), 0.12f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f)
.addSpecialty(CombItems.Items.VENOMOUS.get(1), 0.12f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM).setHasEffect();
}
@@ -1180,7 +1193,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM);
}
@@ -1193,7 +1206,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM);
}
@@ -1211,8 +1224,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f)
.addSpecialty(EnumHoneyComb.SLIME.get(1), 0.12f).setHasEffect();
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f)
.addSpecialty(CombItems.Items.SLIME.get(1), 0.12f).setHasEffect();
}
@Override
@@ -1231,7 +1244,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.20f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.20f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM);
}
@@ -1244,8 +1257,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f)
.addSpecialty(EnumHoneyComb.ACIDIC.get(1), 0.03f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.25f)
.addSpecialty(CombItems.Items.ACIDIC.get(1), 0.03f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM);
}
@@ -1258,8 +1271,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.20f)
.addSpecialty(EnumHoneyComb.ACIDIC.get(1), 0.16f).setHumidity(EnumHumidity.DAMP)
beeSpecies.addProduct(CombItems.ForestryCombs.SILKY.get(), 0.20f)
.addSpecialty(CombItems.Items.ACIDIC.get(1), 0.16f).setHumidity(EnumHumidity.DAMP)
.setTemperature(EnumTemperature.WARM).setHasEffect();
}
@@ -1274,7 +1287,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.10f);
beeSpecies.addProduct(CombItems.Items.REDSTONE.get(1), 0.10f);
}
@Override
@@ -1286,7 +1299,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.12f);
beeSpecies.addProduct(CombItems.Items.REDSTONE.get(1), 0.12f);
}
@Override
@@ -1298,8 +1311,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.20f)
.addSpecialty(EnumHoneyComb.IC2ENERGY.get(1), 0.08f).setHasEffect();
beeSpecies.addProduct(CombItems.Items.REDSTONE.get(1), 0.20f)
.addSpecialty(CombItems.Items.IC2ENERGY.get(1), 0.08f).setHasEffect();
}
@Override
@@ -1319,7 +1332,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.FROZEN.get(), 0.25f).setTemperature(EnumTemperature.ICY);
beeSpecies.addProduct(CombItems.ForestryCombs.FROZEN.get(), 0.25f).setTemperature(EnumTemperature.ICY);
}
@Override
@@ -1338,8 +1351,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.FROZEN.get(), 0.20f)
.addSpecialty(EnumHoneyComb.GLACIAL.get(1), 0.10f).setTemperature(EnumTemperature.ICY);
beeSpecies.addProduct(CombItems.ForestryCombs.FROZEN.get(), 0.20f)
.addSpecialty(CombItems.Items.GLACIAL.get(1), 0.10f).setTemperature(EnumTemperature.ICY);
}
@Override
@@ -1360,7 +1373,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.SHADOW.get(1), 0.05f).setTemperature(EnumTemperature.HELLISH)
beeSpecies.addProduct(CombItems.Items.SHADOW.get(1), 0.05f).setTemperature(EnumTemperature.HELLISH)
.setHumidity(EnumHumidity.ARID);
}
@@ -1373,7 +1386,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.SHADOW.get(1), 0.10f).setTemperature(EnumTemperature.HELLISH)
beeSpecies.addProduct(CombItems.Items.SHADOW.get(1), 0.10f).setTemperature(EnumTemperature.HELLISH)
.setHumidity(EnumHumidity.ARID);
}
@@ -1386,7 +1399,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.SHADOW.get(1), 0.25f).setTemperature(EnumTemperature.HELLISH)
beeSpecies.addProduct(CombItems.Items.SHADOW.get(1), 0.25f).setTemperature(EnumTemperature.HELLISH)
.setHumidity(EnumHumidity.ARID).setHasEffect();
}
@@ -1407,8 +1420,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.RED.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.RED.get(1), 0.25f);
}
@Override
@@ -1420,8 +1433,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.YELLOW.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.YELLOW.get(1), 0.25f);
}
@Override
@@ -1433,8 +1446,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.BLUE.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.BLUE.get(1), 0.25f);
}
@Override
@@ -1446,8 +1459,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.GREEN.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.GREEN.get(1), 0.25f);
}
@Override
@@ -1459,8 +1472,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.BLACK.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.BLACK.get(1), 0.25f);
}
@Override
@@ -1472,8 +1485,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.WHITE.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.WHITE.get(1), 0.25f);
}
@Override
@@ -1485,8 +1498,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.BROWN.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.BROWN.get(1), 0.25f);
}
@Override
@@ -1500,8 +1513,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.ORANGE.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.ORANGE.get(1), 0.25f);
}
@Override
@@ -1513,8 +1526,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.CYAN.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.CYAN.get(1), 0.25f);
}
@Override
@@ -1526,8 +1539,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.PURPLE.get(1), 0.25f);
}
@Override
@@ -1539,8 +1552,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.GRAY.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.GRAY.get(1), 0.25f);
}
@Override
@@ -1552,8 +1565,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.LIGHTBLUE.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.LIGHTBLUE.get(1), 0.25f);
}
@Override
@@ -1565,8 +1578,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.PINK.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.PINK.get(1), 0.25f);
}
@Override
@@ -1578,8 +1591,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.LIMEGREEN.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.LIMEGREEN.get(1), 0.25f);
}
@Override
@@ -1593,8 +1606,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.MAGENTA.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.MAGENTA.get(1), 0.25f);
}
@Override
@@ -1606,8 +1619,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f)
.addSpecialty(EnumHoneyComb.LIGHTGRAY.get(1), 0.25f);
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.75f)
.addSpecialty(CombItems.Items.LIGHTGRAY.get(1), 0.25f);
}
@Override
@@ -1644,9 +1657,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f)
.addSpecialty(Mods.forestry.stack("pollen"), 0.20f).addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.15f)
.setIsNotCounted().setHasEffect();
beeSpecies.addProduct(CombItems.ForestryCombs.HONEY.get(), 0.30f)
.addSpecialty(Mods.forestry.stack("pollen"), 0.20f)
.addSpecialty(CombItems.Items.PURPLE.get(1), 0.15f).setIsNotCounted().setHasEffect();
}
@Override
@@ -1660,7 +1673,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(new ItemStack(Items.cake, 1), 1f)
.addSpecialty(Mods.forestry.stack("pollenFertile"), 0.50f)
.addSpecialty(EnumHoneyComb.MILK.get(1), 0.55f).setIsNotCounted().setHasEffect();
.addSpecialty(CombItems.Items.MILK.get(1), 0.55f).setIsNotCounted().setHasEffect();
}
protected void setAlleles(IAllele[] template) {
@@ -1722,7 +1735,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(EnumHoneyComb.SALTPETER.get(1), 0.12f).setTemperature(EnumTemperature.HOT)
beeSpecies.addProduct(CombItems.Items.SALTPETER.get(1), 0.12f).setTemperature(EnumTemperature.HOT)
.setHumidity(EnumHumidity.ARID);
}
@@ -1751,9 +1764,9 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f)
.addSpecialty(EnumHoneyComb.CERTUS.get(1), 0.15f)
.addSpecialty(EnumHoneyComb.ENDERPEARL.get(1), 0.15f);
beeSpecies.addProduct(CombItems.ForestryCombs.QUARTZ.get(), 0.25f)
.addSpecialty(CombItems.Items.CERTUS.get(1), 0.15f)
.addSpecialty(CombItems.Items.ENDERPEARL.get(1), 0.15f);
}
@Override
@@ -1777,7 +1790,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f).setTemperature(EnumTemperature.COLD);
beeSpecies.addProduct(CombItems.ForestryCombs.QUARTZ.get(), 0.25f).setTemperature(EnumTemperature.COLD);
}
@Override
@@ -1789,8 +1802,8 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f)
.addSpecialty(EnumHoneyComb.CERTUS.get(1), 0.05f).setTemperature(EnumTemperature.COLD);
beeSpecies.addProduct(CombItems.ForestryCombs.QUARTZ.get(), 0.25f)
.addSpecialty(CombItems.Items.CERTUS.get(1), 0.05f).setTemperature(EnumTemperature.COLD);
}
@Override
@@ -9,7 +9,7 @@ import binnie.core.IInitializable;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.genetics.effect.BlockEctoplasm;
import binnie.extrabees.genetics.effect.ExtraBeesEffect;
import binnie.extrabees.genetics.items.ItemDictionary;
import binnie.extrabees.item.EBItems;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.apiculture.IAlleleBeeSpecies;
import forestry.api.genetics.IGenome;
@@ -24,8 +24,6 @@ public class ModuleGenetics implements IInitializable {
@Override
public void preInit() {
ExtraBees.dictionary = new ItemDictionary();
ExtraBees.ectoplasm = new BlockEctoplasm();
GameRegistry.registerBlock(ExtraBees.ectoplasm, "ectoplasm");
}
@@ -43,7 +41,7 @@ public class ModuleGenetics implements IInitializable {
100,
Binnie.Liquid.getLiquidStack("water", 2000),
null,
new ItemStack(ExtraBees.dictionary),
new ItemStack(EBItems.dictionary),
"X#X",
"YEY",
"RDR",
@@ -389,27 +389,34 @@ public enum ExtraBeesEffect implements IAlleleBeeEffect {
}
private void onFoodEffect(IBeeGenome genome, IBeeHousing housing) {
for (EntityPlayer player : getEntities(EntityPlayer.class, genome, housing)) {
player.getFoodStats().addStats(2, 0.2f);
for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) {
if (entity instanceof EntityPlayer player) {
player.getFoodStats().addStats(2, 0.2f);
}
}
}
private void onHungerEffect(IBeeGenome genome, IBeeHousing housing, World world) {
for (EntityPlayer player : getEntities(EntityPlayer.class, genome, housing)) {
if (world.rand.nextInt(4) < wearsItems(player)) {
continue;
for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) {
if (entity instanceof EntityPlayer player) {
if (world.rand.nextInt(4) < wearsItems(player)) {
continue;
}
player.getFoodStats().addExhaustion(4.0f);
player.addPotionEffect(new PotionEffect(Potion.hunger.id, 100));
}
player.addExhaustion(4.0f);
player.addPotionEffect(new PotionEffect(Potion.hunger.id, 100));
}
}
private void onPotionEffect(IBeeGenome genome, IBeeHousing housing, World world, PotionEffect potion) {
for (EntityPlayer player : getEntities(EntityPlayer.class, genome, housing)) {
if (world.rand.nextInt(4) < wearsItems(player)) {
continue;
for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) {
if (entity instanceof EntityPlayer player) {
if (world.rand.nextInt(4) < wearsItems(player)) {
continue;
}
player.addPotionEffect(potion);
}
player.addPotionEffect(potion);
}
}
@@ -604,16 +611,13 @@ public enum ExtraBeesEffect implements IAlleleBeeEffect {
public <T extends Entity> List<T> getEntities(Class<T> eClass, IBeeGenome genome, IBeeHousing housing) {
int[] area = genome.getTerritory();
int offsetX = -Math.round(area[0] / 2f);
int offsetY = -Math.round(area[1] / 2f);
int offsetZ = -Math.round(area[2] / 2f);
int minX = housing.getCoordinates().posX + offsetX;
int minY = housing.getCoordinates().posY + offsetY;
int minZ = housing.getCoordinates().posZ + offsetZ;
int maxX = housing.getCoordinates().posX + offsetX + area[0];
int maxY = housing.getCoordinates().posY + offsetY + area[1];
int maxZ = housing.getCoordinates().posZ + offsetZ + area[2];
AxisAlignedBB box = AxisAlignedBB.getBoundingBox(minX, minY, minZ, maxX, maxY, maxZ);
int[] offset = { -Math.round(area[0] / 2f), -Math.round(area[1] / 2f), -Math.round(area[2] / 2f) };
int[] min = { housing.getCoordinates().posX + offset[0], housing.getCoordinates().posY + offset[1],
housing.getCoordinates().posZ + offset[2] };
int[] max = { housing.getCoordinates().posX + offset[0] + area[0],
housing.getCoordinates().posY + offset[1] + area[1],
housing.getCoordinates().posZ + offset[2] + area[2] };
AxisAlignedBB box = AxisAlignedBB.getBoundingBox(min[0], min[1], min[2], max[0], max[1], max[2]);
return housing.getWorld().getEntitiesWithinAABB(eClass, box);
}
@@ -13,6 +13,7 @@ import net.minecraft.world.World;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.core.ExtraBeeGUID;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
@@ -22,9 +23,13 @@ public class ItemDictionary extends Item {
protected IIcon iconMaster;
public ItemDictionary() {
final String name = "dictionary";
setCreativeTab(Tabs.tabApiculture);
setUnlocalizedName("dictionary");
setUnlocalizedName(name);
setMaxStackSize(1);
GameRegistry.registerItem(this, name);
}
@Override
@@ -70,7 +75,7 @@ public class ItemDictionary extends Item {
@Override
public String getItemStackDisplayName(ItemStack stack) {
return (stack.getItemDamage() == 0) ? I18N.localise("extrabees.item.database")
: I18N.localise("extrabees.item.masterDatabase");
return (stack.getItemDamage() == 0) ? I18N.localise("extrabees.item.database.name")
: I18N.localise("extrabees.item.masterDatabase.name");
}
}
@@ -2,16 +2,14 @@ package binnie.extrabees.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.nbt.NBTTagList;
import binnie.core.AbstractMod;
import binnie.core.craftgui.minecraft.InventoryType;
import binnie.core.craftgui.minecraft.Window;
import binnie.core.craftgui.minecraft.control.ControlPlayerInventory;
import binnie.core.craftgui.minecraft.control.ControlSlot;
import binnie.core.machines.Machine;
import binnie.core.machines.TileEntityMachine;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import cpw.mods.fml.relauncher.Side;
@@ -34,11 +32,10 @@ public class WindowAlvearyFrame extends Window {
@Override
public void initialiseClient() {
setTitle(machine.getPackage().getGuiDisplayName());
final NBTTagList actions = new NBTTagList();
playerInventory = new ControlPlayerInventory(this).create(actions);
new ControlSlot(this, 79.0f, 30.0f).assign(actions, InventoryType.Machine, 0);
MessageCraftGUI.sendToServer(actions);
setTitle(I18N.localise("extrabees.machine.alveay.frame"));
playerInventory = new ControlPlayerInventory(this);
ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f);
slot.assign(0);
}
@Override
@@ -2,16 +2,14 @@ package binnie.extrabees.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.nbt.NBTTagList;
import binnie.core.AbstractMod;
import binnie.core.craftgui.minecraft.InventoryType;
import binnie.core.craftgui.minecraft.Window;
import binnie.core.craftgui.minecraft.control.ControlPlayerInventory;
import binnie.core.craftgui.minecraft.control.ControlSlotArray;
import binnie.core.machines.Machine;
import binnie.core.machines.TileEntityMachine;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.apiary.machine.hatchery.AlvearyHatchery;
import cpw.mods.fml.relauncher.Side;
@@ -35,11 +33,10 @@ public class WindowAlvearyHatchery extends Window {
@Override
public void initialiseClient() {
final NBTTagList actions = new NBTTagList();
setTitle(machine.getPackage().getGuiDisplayName());
playerInventory = new ControlPlayerInventory(this).create(actions);
new ControlSlotArray(this, 43, 30, 5, 1).create(actions, InventoryType.Machine, AlvearyHatchery.SLOT_LARVAE);
MessageCraftGUI.sendToServer(actions);
setTitle(I18N.localise("extrabees.machine.alveay.hatchery"));
playerInventory = new ControlPlayerInventory(this);
ControlSlotArray slot = new ControlSlotArray(this, 43, 30, 5, 1);
slot.create(AlvearyHatchery.SLOT_LARVAE);
}
@Override
@@ -3,21 +3,17 @@ package binnie.extrabees.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagList;
import binnie.core.AbstractMod;
import binnie.core.craftgui.controls.ControlText;
import binnie.core.craftgui.geometry.IArea;
import binnie.core.craftgui.geometry.IPoint;
import binnie.core.craftgui.geometry.TextJustification;
import binnie.core.craftgui.minecraft.InventoryType;
import binnie.core.craftgui.minecraft.Window;
import binnie.core.craftgui.minecraft.control.ControlItemDisplay;
import binnie.core.craftgui.minecraft.control.ControlPlayerInventory;
import binnie.core.craftgui.minecraft.control.ControlSlot;
import binnie.core.machines.Machine;
import binnie.core.machines.TileEntityMachine;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.apiary.machine.mutator.AlvearyMutator;
@@ -42,18 +38,17 @@ public class WindowAlvearyMutator extends Window {
@Override
public void initialiseClient() {
final NBTTagList actions = new NBTTagList();
setTitle(machine.getPackage().getGuiDisplayName());
playerInventory = new ControlPlayerInventory(this).create(actions);
new ControlSlot(this, 79.0f, 30.0f).assign(actions, InventoryType.Machine, AlvearyMutator.SLOT_MUTATOR);
setTitle(I18N.localise("extrabees.machine.alveay.mutator"));
playerInventory = new ControlPlayerInventory(this);
ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f);
slot.assign(AlvearyMutator.SLOT_MUTATOR);
new ControlText(
this,
new IArea(0.0f, 52.0f, w(), 16.0f),
I18N.localise("extrabees.machine.alveay.mutator.mutagens"),
TextJustification.MIDDLE_CENTER).setColor(0x555555);
int size = AlvearyMutator.getMutagens().size();
int w = size * 17;
int w = size * 18;
if (size <= 0) {
return;
@@ -63,12 +58,9 @@ public class WindowAlvearyMutator extends Window {
for (ItemStack stack : AlvearyMutator.getMutagens()) {
ControlItemDisplay display = new ControlItemDisplay(this, x, 66.0f);
display.setItemStack(stack);
display.setSize(new IPoint(14, 14));
display.hastooltip = true;
x += 17.0f;
x += 18.0f;
}
MessageCraftGUI.sendToServer(actions);
}
@Override
@@ -2,18 +2,16 @@ package binnie.extrabees.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.nbt.NBTTagList;
import binnie.core.AbstractMod;
import binnie.core.craftgui.geometry.Position;
import binnie.core.craftgui.minecraft.InventoryType;
import binnie.core.craftgui.minecraft.Window;
import binnie.core.craftgui.minecraft.control.ControlEnergyBar;
import binnie.core.craftgui.minecraft.control.ControlPlayerInventory;
import binnie.core.craftgui.minecraft.control.ControlSlot;
import binnie.core.machines.Machine;
import binnie.core.machines.TileEntityMachine;
import binnie.core.network.packet.MessageCraftGUI;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.apiary.machine.stimulator.AlvearyStimulator;
import cpw.mods.fml.relauncher.Side;
@@ -37,12 +35,11 @@ public class WindowAlvearyStimulator extends Window {
@Override
public void initialiseClient() {
final NBTTagList actions = new NBTTagList();
setTitle(machine.getPackage().getGuiDisplayName());
playerInventory = new ControlPlayerInventory(this).create(actions);
new ControlSlot(this, 41.0f, 28.0f).assign(actions, InventoryType.Machine, AlvearyStimulator.SLOT_CIRCUIT);
setTitle(I18N.localise("extrabees.machine.alveay.stimulator"));
new ControlEnergyBar(this, 75, 29, 60, 16, Position.LEFT);
MessageCraftGUI.sendToServer(actions);
ControlSlot slot = new ControlSlot(this, 41.0f, 28.0f);
slot.assign(AlvearyStimulator.SLOT_CIRCUIT);
playerInventory = new ControlPlayerInventory(this);
}
@Override
@@ -0,0 +1,18 @@
package binnie.extrabees.item;
import net.minecraft.item.Item;
import binnie.core.item.DamageItems;
import binnie.extrabees.genetics.items.ItemDictionary;
import binnie.extrabees.products.CombItems;
import binnie.extrabees.products.DropItems;
import binnie.extrabees.products.Propolis;
public class EBItems {
public final static DamageItems itemMisc = new EBMisc();
public final static DamageItems comb = new CombItems();
public final static DamageItems propolis = new Propolis();
public final static DamageItems honeyDrop = new DropItems();
public static Item dictionary = new ItemDictionary();
}
@@ -0,0 +1,199 @@
package binnie.extrabees.item;
import static binnie.extrabees.ExtraBees.EB_MODID;
import static binnie.extrabees.item.EBItems.itemMisc;
import java.util.Arrays;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import binnie.Binnie;
import binnie.core.Mods;
import binnie.core.item.DamageItems;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.core.Tabs;
import forestry.api.recipes.RecipeManagers;
public class EBMisc extends DamageItems {
public enum Items {
ScentedGear("scentedGear"),
DiamondShard("diamondShard", "Diamond", false),
EmeraldShard("emeraldShard", "Emerald", false),
RubyShard("rubyShard", "Ruby", false),
SapphireShard("sapphireShard", "Sapphire", false),
LapisShard("lapisShard"),
IronDust("ironDust", "Iron", true),
GoldDust("goldDust", "Gold", true),
SilverDust("silverDust", "Silver", true),
PlatinumDust("platinumDust", "Platinum", true),
CopperDust("copperDust", "Copper", true),
TinDust("tinDust", "Tin", true),
NickelDust("nickelDust", "Nickel", true),
LeadDust("leadDust", "Lead", true),
ZincDust("zincDust", "Zinc", true),
TitaniumDust("titaniumDust", "Titanium", true),
TungstenDust("tungstenDust", "Tungsten", true),
UraniumDust("radioactiveDust"),
// Don't look at me, it was like this when I got here
CoalDust("coalDust", "Coal", true),
RedDye("dyeRed"),
YellowDye("dyeYellow"),
BlueDye("dyeBlue"),
GreenDye("dyeGreen"),
WhiteDye("dyeWhite"),
BlackDye("dyeBlack"),
BrownDye("dyeBrown"),
ClayDust("clayDust"),
YelloriumDust("yelloriumDust", "Yellorium", true),
BlutoniumDust("blutoniumDust", "Blutonium", true),
CyaniteDust("cyaniteDust", "Cyanite", true);
final String name;
final String resourceString;
final boolean isMetal;
private static final Items[] VALUES = values();
private static final int[] binnieToVanillaColors = { 1, 11, 4, 2, 0, 15, 3, 14, 6, 5, 8, 12, 9, 10, 13, 7 };
Items(String name) {
this(name, null, false);
}
Items(String name, String resourceString, boolean isMetal) {
this.name = name;
this.resourceString = resourceString;
this.isMetal = isMetal;
}
public ItemStack get(int count) {
return itemMisc.getStack(count, ordinal());
}
/**
* @param binnieID The index of colors used by Binnie's mods, starting with red = 0
* @return An itemstack containing one dye item, preferring Binnie's when possible
*/
public static ItemStack getDye(int binnieID) {
final int i = binnieToVanillaColors[binnieID];
return switch (i) {
case 0 -> BlackDye.get(1);
case 1 -> RedDye.get(1);
case 2 -> GreenDye.get(1);
case 3 -> BrownDye.get(1);
case 4 -> BlueDye.get(1);
case 11 -> YellowDye.get(1);
case 15 -> WhiteDye.get(1);
default -> new ItemStack(net.minecraft.init.Items.dye, 1, i);
};
}
}
protected EBMisc() {
super(Tabs.tabApiculture, EB_MODID, Arrays.stream(Items.VALUES).map(i -> i.name).toArray(String[]::new));
}
@Override
public String getIconName(int damage) {
return "misc/" + super.getIconName(damage);
}
public static void init() {
OreDictionary.registerOre("dyeRed", Items.RedDye.get(1));
OreDictionary.registerOre("dyeYellow", Items.YellowDye.get(1));
OreDictionary.registerOre("dyeBlue", Items.BlueDye.get(1));
OreDictionary.registerOre("dyeGreen", Items.GreenDye.get(1));
OreDictionary.registerOre("dyeBlack", Items.BlackDye.get(1));
OreDictionary.registerOre("dyeWhite", Items.WhiteDye.get(1));
OreDictionary.registerOre("dyeBrown", Items.BrownDye.get(1));
}
public static void postInit() {
ItemStack lapisShard = Items.LapisShard.get(1);
GameRegistry.addShapelessRecipe(
new ItemStack(net.minecraft.init.Items.dye, 1, 4),
lapisShard,
lapisShard,
lapisShard,
lapisShard);
for (Items item : Items.VALUES) {
if (item.resourceString != null && item.isMetal) {
ItemStack dust = null;
ItemStack ingot = null;
if (!OreDictionary.getOres("ingot" + item.resourceString).isEmpty()) {
ingot = OreDictionary.getOres("ingot" + item.resourceString).get(0).copy();
}
if (!OreDictionary.getOres("dust" + item.resourceString).isEmpty()) {
dust = OreDictionary.getOres("dust" + item.resourceString).get(0).copy();
}
ItemStack input = item.get(1);
if (dust != null) {
GameRegistry.addShapelessRecipe(dust, input, input, input, input);
} else if (ingot != null) {
GameRegistry
.addShapelessRecipe(ingot, input, input, input, input, input, input, input, input, input);
} else if (item == Items.CoalDust) {
GameRegistry.addShapelessRecipe(
new ItemStack(net.minecraft.init.Items.coal),
input,
input,
input,
input);
}
} else if (item.resourceString != null) {
ItemStack gem = null;
if (!OreDictionary.getOres("gem" + item.resourceString).isEmpty()) {
gem = OreDictionary.getOres("gem" + item.resourceString).get(0);
}
ItemStack input2 = item.get(1);
if (gem != null) {
GameRegistry.addShapelessRecipe(
gem.copy(),
input2,
input2,
input2,
input2,
input2,
input2,
input2,
input2,
input2);
}
}
}
Item woodGear = null;
try {
woodGear = (Item) Class.forName("buildcraft.BuildCraftCore").getField("woodenGearItem").get(null);
} catch (Exception ex) {
// ignored
}
ItemStack gear = new ItemStack(Blocks.planks, 1);
if (woodGear != null) {
gear = new ItemStack(woodGear, 1);
}
RecipeManagers.carpenterManager.addRecipe(
100,
Binnie.Liquid.getLiquidStack("for.honey", 500),
null,
Items.ScentedGear.get(1),
" j ",
"bgb",
" p ",
'j',
Mods.forestry.item("royalJelly"),
'b',
Mods.forestry.item("beeswax"),
'p',
Mods.forestry.item("pollen"),
'g',
gear);
}
}
@@ -10,14 +10,4 @@ public class ModuleLiquids implements IInitializable {
public void preInit() {
Binnie.Liquid.createLiquids(ExtraBeeLiquid.values(), ItemFluidContainer.LiquidExtraBee);
}
@Override
public void init() {
// ignored
}
@Override
public void postInit() {
// ignored
}
}
@@ -0,0 +1,445 @@
package binnie.extrabees.products;
import static binnie.extrabees.ExtraBees.EB_MODID;
import static binnie.extrabees.item.EBItems.comb;
import static binnie.extrabees.item.EBMisc.Items.BlutoniumDust;
import static binnie.extrabees.item.EBMisc.Items.CoalDust;
import static binnie.extrabees.item.EBMisc.Items.CopperDust;
import static binnie.extrabees.item.EBMisc.Items.CyaniteDust;
import static binnie.extrabees.item.EBMisc.Items.DiamondShard;
import static binnie.extrabees.item.EBMisc.Items.EmeraldShard;
import static binnie.extrabees.item.EBMisc.Items.GoldDust;
import static binnie.extrabees.item.EBMisc.Items.IronDust;
import static binnie.extrabees.item.EBMisc.Items.LeadDust;
import static binnie.extrabees.item.EBMisc.Items.NickelDust;
import static binnie.extrabees.item.EBMisc.Items.PlatinumDust;
import static binnie.extrabees.item.EBMisc.Items.RubyShard;
import static binnie.extrabees.item.EBMisc.Items.SapphireShard;
import static binnie.extrabees.item.EBMisc.Items.SilverDust;
import static binnie.extrabees.item.EBMisc.Items.TinDust;
import static binnie.extrabees.item.EBMisc.Items.TitaniumDust;
import static binnie.extrabees.item.EBMisc.Items.TungstenDust;
import static binnie.extrabees.item.EBMisc.Items.YelloriumDust;
import static binnie.extrabees.item.EBMisc.Items.ZincDust;
import static net.minecraft.init.Items.dye;
import java.awt.Color;
import java.util.Arrays;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.oredict.OreDictionary;
import binnie.core.Mods;
import binnie.core.item.DamageItems;
import binnie.extrabees.item.EBItems;
import binnie.extrabees.item.EBMisc;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
import forestry.api.recipes.RecipeManagers;
import it.unimi.dsi.fastutil.objects.Object2FloatOpenHashMap;
public class CombItems extends DamageItems {
public enum Items {
BARREN("barren", new Color(0x736c44), new Color(0xc2bea7)),
ROTTEN("rotten", new Color(0x3e5221), new Color(0xb1cc89)),
BONE("bone", new Color(0xc4c4af), new Color(0xdedec1)),
OIL("oil", new Color(0x060608), new Color(0x2c2b36)),
COAL("coal", new Color(0x9e9478), new Color(0x38311e)),
FUEL("fuel", new Color(0x9c6f40), new Color(0xffc400)),
WATER("water", new Color(0x2732cf), new Color(0x79a8c9)),
MILK("milk", new Color(0xd7d9c7), new Color(0xffffff)),
FRUIT("fruit", new Color(0x7d2934), new Color(0xdb4f62)),
SEED("seed", new Color(0x344f33), new Color(0x71cc6e)),
ALCOHOL("alcohol", new Color(0x418521), new Color(0xded94e)),
STONE("stone", new Color(0x8c8c91), new Color(0xc6c6cc)),
REDSTONE("redstone", new Color(0xfa9696), new Color(0xe61010)),
RESIN("resin", new Color(0xffc74f), new Color(0xc98a00)),
IC2ENERGY("energy", new Color(0xe9f50f), new Color(0x20b3c9)),
IRON("iron", new Color(0x363534), new Color(0xa87058)),
GOLD("gold", new Color(0x363534), new Color(0xe6cc0b)),
COPPER("copper", new Color(0x363534), new Color(0xd16308)),
TIN("tin", new Color(0x363534), new Color(0xbdb1bd)),
SILVER("silver", new Color(0x363534), new Color(0xdbdbdb)),
URANIUM("uranium", new Color(0x1eff00), new Color(0x41ab33)),
CLAY("clay", new Color(0x6b563a), new Color(0xb0c0d6)),
OLD("old", new Color(0x453314), new Color(0xb39664)),
FUNGAL("fungal", new Color(0x6e654b), new Color(0x2b9443)),
CREOSOTE("creosote", new Color(0x9c810c), new Color(0xbdaa57)),
LATEX("latex", new Color(0x595541), new Color(0xa8a285)),
ACIDIC("acidic", new Color(0x348543), new Color(0x14f73e)),
VENOMOUS("venomous", new Color(0x7d187d), new Color(0xff33ff)),
SLIME("slime", new Color(0x3b473c), new Color(0x80d185)),
BLAZE("blaze", new Color(0xff6a00), new Color(0xffcc00)),
COFFEE("coffee", new Color(0x54381d), new Color(0xb37f4b)),
GLACIAL("glacial", new Color(0x4e8787), new Color(0xcbf2f2)),
SHADOW("shadow", new Color(0x000000), new Color(0x361835)),
LEAD("lead", new Color(0x363534), new Color(0x9a809c)),
ZINC("zinc", new Color(0x363534), new Color(0xedebff)),
TITANIUM("titanium", new Color(0x363534), new Color(0xb0aae3)),
TUNGSTEN("tungsten", new Color(0x363534), new Color(0x131214)),
PLATINUM("platinum", new Color(0x363534), new Color(0x9a809c)),
LAPIS("lapis", new Color(0x363534), new Color(0x3d2cdb)),
EMERALD("emerald", new Color(0x363534), new Color(0x1cff03)),
RUBY("ruby", new Color(0x363534), new Color(0xd60000)),
SAPPHIRE("sapphire", new Color(0x363534), new Color(0xa47ff)),
DIAMOND("diamond", new Color(0x363534), new Color(0x7fbdfa)),
RED("red", new Color(0xcc4c4c), new Color(0xff0000)),
YELLOW("yellow", new Color(0xe5e533), new Color(0xffdd00)),
BLUE("blue", new Color(0x99b2f2), new Color(0x0022ff)),
GREEN("green", new Color(0x667f33), new Color(0x009900)),
BLACK("black", new Color(0x191919), new Color(0x575757)),
WHITE("white", new Color(0xd6d6d6), new Color(0xffffff)),
BROWN("brown", new Color(0x7f664c), new Color(0x5c350f)),
ORANGE("orange", new Color(0xf2b233), new Color(0xff9d00)),
CYAN("cyan", new Color(0x4c99b2), new Color(0x00ffe5)),
PURPLE("purple", new Color(0xb266e5), new Color(0xae00ff)),
GRAY("gray", new Color(0x4c4c4c), new Color(0xbababa)),
LIGHTBLUE("lightblue", new Color(0x99b2f2), new Color(0x009dff)),
PINK("pink", new Color(0xf2b2cc), new Color(0xff80df)),
LIMEGREEN("limegreen", new Color(0x7fcc19), new Color(0x00ff08)),
MAGENTA("magenta", new Color(0xe57fd8), new Color(0xff00cc)),
LIGHTGRAY("lightgray", new Color(0x999999), new Color(0xc9c9c9)),
NICKEL("nickel", new Color(0x363534), new Color(0xffdefc)),
GLOWSTONE("glowstone", new Color(0xa69c5e), new Color(0xe0c409)),
SALTPETER("saltpeter", new Color(0xa69c5e), new Color(0xe0c409)),
COMPOST("compost", new Color(0x423308), new Color(0x6b5e3b)),
SAWDUST("sawdust", new Color(0xbfaa71), new Color(0xf2d37e)),
CERTUS("certus", new Color(0xc6d0ff), new Color(0x394d63)),
ENDERPEARL("enderpearl", new Color(0x349786), new Color(0x32620)),
YELLORIUM("yellorium", new Color(0x27204d), new Color(14019840)),
CYANITE("cyanite", new Color(0x27204d), new Color(0x86ed)),
BLUTONIUM("blutonium", new Color(0x27204d), new Color(0x1b00e6));
final String name;
final int primary;
final int secondary;
final Object2FloatOpenHashMap<ItemStack> products = new Object2FloatOpenHashMap<>();
public static final Items[] VALUES = values();
Items(String name, Color primary, Color secondary) {
this.name = name;
this.primary = primary.getRGB();
this.secondary = secondary.getRGB();
}
public ItemStack get(int count) {
return comb.getStack(count, ordinal());
}
public void addRecipe() {
RecipeManagers.centrifugeManager.addRecipe(20, get(1), products);
}
public void addProduct(ItemStack item, float chance) {
if (item == null) return;
products.put(item.copy(), chance);
}
public void copyProducts(Items comb) {
products.putAll(comb.products);
}
}
public enum ForestryCombs {
HONEY,
COCOA,
SIMMERING,
STRINGY,
FROZEN,
DRIPPING,
SILKY,
PARCHED,
MYSTERIOUS,
IRRADIATED,
POWDERY,
REDDENED,
DARKENED,
OMEGA,
WHEATEN,
MOSSY,
QUARTZ;
public ItemStack get() {
return new ItemStack(Mods.forestry.item("beeCombs"), 1, ordinal());
}
}
private IIcon cells;
private IIcon outline;
public CombItems() {
super(
Tabs.tabApiculture,
EB_MODID,
"honeyComb",
true,
Arrays.stream(Items.VALUES).map(i -> i.name).toArray(String[]::new));
setMaxStackSize(64);
setMaxDamage(0);
}
@Override
public String getUnlocalizedName(String name) {
return "extrabees.item.comb." + name;
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
public int getColorFromItemStack(ItemStack stack, int indexColor) {
final int damage = stack.getItemDamage();
final Items comb = damage < Items.VALUES.length ? Items.VALUES[stack.getItemDamage()] : null;
if (comb == null) return 0xffffff;
return indexColor == 0 ? comb.primary : comb.secondary;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int damage, int pass) {
return pass > 0 ? cells : outline;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
cells = register.registerIcon("forestry:beeCombs.0");
outline = register.registerIcon("forestry:beeCombs.1");
}
public static void addSubtypes() {
final ItemStack beeswax = Mods.forestry.stack("beeswax");
final ItemStack honeyDrop = Mods.forestry.stack("honeyDrop");
OreDictionary.registerOre("gemLapis", new ItemStack(dye, 1, 4));
Items.BARREN.addProduct(beeswax, 1.00f);
Items.BARREN.addProduct(honeyDrop, 0.50f);
Items.ROTTEN.addProduct(beeswax, 0.20f);
Items.ROTTEN.addProduct(honeyDrop, 0.20f);
Items.ROTTEN.addProduct(new ItemStack(net.minecraft.init.Items.rotten_flesh, 1, 0), 0.80f);
Items.BONE.addProduct(beeswax, 0.20f);
Items.BONE.addProduct(honeyDrop, 0.20f);
Items.BONE.addProduct(new ItemStack(dye, 1, 15), 0.80f);
Items.OIL.addProduct(Propolis.Items.OIL.get(1), 0.60f);
Items.OIL.addProduct(honeyDrop, 0.75f);
Items.COAL.addProduct(beeswax, 0.80f);
Items.COAL.addProduct(honeyDrop, 0.75f);
Items.COAL.addProduct(CoalDust.get(1), 1.00f);
Items.WATER.addProduct(Propolis.Items.WATER.get(1), 1.00f);
Items.WATER.addProduct(honeyDrop, 0.90f);
Items.STONE.addProduct(beeswax, 0.50f);
Items.STONE.addProduct(honeyDrop, 0.25f);
Items.MILK.addProduct(DropItems.Items.MILK.get(1), 1.00f);
Items.MILK.addProduct(honeyDrop, 0.90f);
Items.FRUIT.addProduct(DropItems.Items.APPLE.get(1), 1.00f);
Items.FRUIT.addProduct(honeyDrop, 0.90f);
Items.SEED.addProduct(DropItems.Items.SEED.get(1), 1.00f);
Items.SEED.addProduct(honeyDrop, 0.90f);
Items.ALCOHOL.addProduct(DropItems.Items.ALCOHOL.get(1), 1.00f);
Items.ALCOHOL.addProduct(honeyDrop, 0.90f);
Items.FUEL.addProduct(Propolis.Items.FUEL.get(1), 0.60f);
Items.FUEL.addProduct(honeyDrop, 0.50f);
Items.CREOSOTE.addProduct(Propolis.Items.CREOSOTE.get(1), 0.70f);
Items.CREOSOTE.addProduct(honeyDrop, 0.50f);
Items.LATEX.addProduct(honeyDrop, 0.50f);
Items.LATEX.addProduct(beeswax, 0.85f);
if (!OreDictionary.getOres("itemRubber").isEmpty()) {
Items.LATEX.addProduct(OreDictionary.getOres("itemRubber").get(0), 1.00f);
}
Items.REDSTONE.addProduct(beeswax, 0.80f);
Items.REDSTONE.addProduct(new ItemStack(net.minecraft.init.Items.redstone, 1, 0), 1.00f);
Items.REDSTONE.addProduct(honeyDrop, 0.50f);
Items.RESIN.addProduct(beeswax, 1.00f);
Items.RESIN.addProduct(Mods.ic2.stack("itemHarz"), 1.00f);
Items.RESIN.addProduct(Mods.ic2.stack("itemHarz"), 0.50f);
Items.IC2ENERGY.addProduct(beeswax, 0.80f);
Items.IC2ENERGY.addProduct(new ItemStack(net.minecraft.init.Items.redstone, 1, 0), 0.75f);
Items.IC2ENERGY.addProduct(DropItems.Items.ENERGY.get(1), 1.00f);
Items.IRON.copyProducts(Items.STONE);
Items.IRON.addProduct(IronDust.get(1), 1.00f);
Items.GOLD.copyProducts(Items.STONE);
Items.GOLD.addProduct(GoldDust.get(1), 1.00f);
Items.COPPER.copyProducts(Items.STONE);
Items.COPPER.addProduct(CopperDust.get(1), 1.00f);
Items.TIN.copyProducts(Items.STONE);
Items.TIN.addProduct(TinDust.get(1), 1.00f);
Items.NICKEL.copyProducts(Items.STONE);
Items.NICKEL.addProduct(NickelDust.get(1), 1.00f);
Items.SILVER.copyProducts(Items.STONE);
Items.SILVER.addProduct(SilverDust.get(1), 1.00f);
Items.URANIUM.copyProducts(Items.STONE);
if (!OreDictionary.getOres("crushedUranium").isEmpty()) {
Items.URANIUM.addProduct(OreDictionary.getOres("crushedUranium").get(0), 0.50f);
}
Items.CLAY.addProduct(beeswax, 0.25f);
Items.CLAY.addProduct(honeyDrop, 0.80f);
Items.CLAY.addProduct(new ItemStack(net.minecraft.init.Items.clay_ball), 0.80f);
Items.OLD.addProduct(beeswax, 1.00f);
Items.OLD.addProduct(honeyDrop, 0.90f);
Items.FUNGAL.addProduct(beeswax, 0.90f);
Items.FUNGAL.addProduct(new ItemStack(Blocks.brown_mushroom_block, 1, 0), 1.00f);
Items.FUNGAL.addProduct(new ItemStack(Blocks.red_mushroom_block, 1, 0), 0.75f);
Items.ACIDIC.addProduct(beeswax, 0.80f);
Items.ACIDIC.addProduct(DropItems.Items.ACID.get(1), 0.50f);
if (!OreDictionary.getOres("dustSulfur").isEmpty()) {
Items.ACIDIC.addProduct(OreDictionary.getOres("dustSulfur").get(0), 0.75f);
}
Items.VENOMOUS.addProduct(beeswax, 0.80f);
Items.VENOMOUS.addProduct(DropItems.Items.POISON.get(1), 0.80f);
Items.SLIME.addProduct(beeswax, 1.00f);
Items.SLIME.addProduct(honeyDrop, 0.75f);
Items.SLIME.addProduct(new ItemStack(net.minecraft.init.Items.slime_ball, 1, 0), 0.75f);
Items.BLAZE.addProduct(beeswax, 0.75f);
Items.BLAZE.addProduct(new ItemStack(net.minecraft.init.Items.blaze_powder, 1, 0), 1.00f);
Items.COFFEE.addProduct(beeswax, 0.90f);
Items.COFFEE.addProduct(honeyDrop, 0.75f);
Items.COFFEE.addProduct(Mods.ic2.stack("itemCofeePowder"), 0.75f);
Items.GLACIAL.addProduct(DropItems.Items.ICE.get(1), 0.80f);
Items.GLACIAL.addProduct(honeyDrop, 0.75f);
Items.SHADOW.addProduct(honeyDrop, 0.50f);
if (!OreDictionary.getOres("dustObsidian").isEmpty()) {
Items.SHADOW.addProduct(OreDictionary.getOres("dustObsidian").get(0), 0.75f);
}
Items.LEAD.copyProducts(Items.STONE);
Items.LEAD.addProduct(LeadDust.get(1), 1.00f);
Items.ZINC.copyProducts(Items.STONE);
Items.ZINC.addProduct(ZincDust.get(1), 1.00f);
Items.TITANIUM.copyProducts(Items.STONE);
Items.TITANIUM.addProduct(TitaniumDust.get(1), 1.00f);
Items.TUNGSTEN.copyProducts(Items.STONE);
Items.TUNGSTEN.addProduct(TungstenDust.get(1), 1.00f);
Items.PLATINUM.copyProducts(Items.STONE);
Items.PLATINUM.addProduct(PlatinumDust.get(1), 1.00f);
Items.LAPIS.copyProducts(Items.STONE);
Items.LAPIS.addProduct(new ItemStack(dye, 6, 4), 1.00f);
Items.EMERALD.copyProducts(Items.STONE);
Items.EMERALD.addProduct(EmeraldShard.get(1), 1.00f);
Items.RUBY.copyProducts(Items.STONE);
Items.RUBY.addProduct(RubyShard.get(1), 1.00f);
Items.SAPPHIRE.copyProducts(Items.STONE);
Items.SAPPHIRE.addProduct(SapphireShard.get(1), 1.00f);
Items.DIAMOND.copyProducts(Items.STONE);
Items.DIAMOND.addProduct(DiamondShard.get(1), 1.00f);
Items.RED.addProduct(honeyDrop, 0.80f);
Items.RED.addProduct(beeswax, 0.80f);
Items.GLOWSTONE.addProduct(honeyDrop, 0.25f);
Items.GLOWSTONE.addProduct(new ItemStack(net.minecraft.init.Items.glowstone_dust), 1.00f);
Items.SALTPETER.addProduct(honeyDrop, 0.25f);
final List<ItemStack> ores = OreDictionary.getOres("dustSaltpeter");
final ItemStack saltpeter = ores.isEmpty() ? null : ores.get(0);
Items.SALTPETER.addProduct(saltpeter, 1.00f);
Items.COMPOST.addProduct(honeyDrop, 0.25f);
Items.COMPOST.addProduct(Mods.forestry.stack("fertilizerBio"), 1.00f);
Items.SAWDUST.addProduct(honeyDrop, 0.25f);
if (!OreDictionary.getOres("dustSawdust").isEmpty()) {
Items.SAWDUST.addProduct(OreDictionary.getOres("dustSawdust").get(0), 1.00f);
} else if (!OreDictionary.getOres("sawdust").isEmpty()) {
Items.SAWDUST.addProduct(OreDictionary.getOres("sawdust").get(0), 1.00f);
}
Items.CERTUS.addProduct(honeyDrop, 0.25f);
Items.CERTUS.addProduct(new ItemStack(net.minecraft.init.Items.quartz), 0.25f);
if (!OreDictionary.getOres("dustCertusQuartz").isEmpty()) {
Items.CERTUS.addProduct(OreDictionary.getOres("dustCertusQuartz").get(0), 0.20f);
}
Items.ENDERPEARL.addProduct(honeyDrop, 0.25f);
if (!OreDictionary.getOres("dustEnderPearl").isEmpty()) {
Items.ENDERPEARL.addProduct(OreDictionary.getOres("dustEnderPearl").get(0), 0.25f);
}
Items.YELLORIUM.copyProducts(Items.STONE);
Items.YELLORIUM.addProduct(YelloriumDust.get(1), 0.25f);
Items.CYANITE.copyProducts(Items.STONE);
Items.CYANITE.addProduct(CyaniteDust.get(1), 0.25f);
Items.BLUTONIUM.copyProducts(Items.STONE);
Items.BLUTONIUM.addProduct(BlutoniumDust.get(1), 0.25f);
OreDictionary.registerOre("beeComb", new ItemStack(EBItems.comb, 1, 32767));
// Copy the default products on RED, then add a drop
for (int i = 0; i < 16; ++i) {
final Items dyeComb = Items.VALUES[Items.RED.ordinal() + i];
final DropItems.Items drop = DropItems.Items.VALUES[DropItems.Items.RED.ordinal() + i];
if (dyeComb != Items.RED) {
dyeComb.copyProducts(Items.RED);
dyeComb.addProduct(drop.get(1), 1);
}
}
// RED gets its drop later, to avoid copying it to all the others
Items.RED.addProduct(DropItems.Items.RED.get(1), 1);
// Add dyes to binnie drops
// TODO: move this to itemDrop
for (int i = 0; i < 16; ++i) {
final DropItems.Items drop = DropItems.Items.VALUES[DropItems.Items.RED.ordinal() + i];
drop.addRemnant(EBMisc.Items.getDye(i));
}
}
}
@@ -0,0 +1,135 @@
package binnie.extrabees.products;
import static binnie.extrabees.ExtraBees.EB_MODID;
import static binnie.extrabees.item.EBItems.honeyDrop;
import java.awt.Color;
import java.util.Arrays;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.fluids.FluidStack;
import binnie.Binnie;
import binnie.core.item.DamageItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
import forestry.api.recipes.RecipeManagers;
public class DropItems extends DamageItems {
public enum Items {
ENERGY("energy", new Color(0x9c4972), new Color(0xe37171), ""),
ACID("acid", new Color(0x4bb541), new Color(0x49de3c), "acid"),
POISON("poison", new Color(0xd106b9), new Color(0xff03e2), "poison"),
APPLE("apple", new Color(0xc75252), new Color(0xc92a2a), "juice"),
// CITRUS,
ICE("ice", new Color(0xaee8e2), new Color(0x96fff5), "liquidnitrogen"),
MILK("milk", new Color(0xe0e0e0), new Color(0xffffff), "milk"),
SEED("seed", new Color(0x7cc272), new Color(0xc2bea7), "seedoil"),
ALCOHOL("alcohol", new Color(0xdbe84d), new Color(0xa5e84d), "short.mead"),
// FRUIT,
// VEGETABLE,
// PUMPKIN,
// MELON,
RED("red", new Color(0xcc4c4c), new Color(0xff0000), "for.honey"),
YELLOW("yellow", new Color(0xe5e533), new Color(0xffdd00), "for.honey"),
BLUE("blue", new Color(0x99b2f2), new Color(0x0022ff), "for.honey"),
GREEN("green", new Color(0x667f33), new Color(0x009900), "for.honey"),
BLACK("black", new Color(0x191919), new Color(0x575757), "for.honey"),
WHITE("white", new Color(0xd6d6d6), new Color(0xffffff), "for.honey"),
BROWN("brown", new Color(0x7f664c), new Color(0x5c350f), "for.honey"),
ORANGE("orange", new Color(0xf2b233), new Color(0xff9d00), "for.honey"),
CYAN("cyan", new Color(0x4c99b2), new Color(0x00ffe5), "for.honey"),
PURPLE("purple", new Color(0xb266e5), new Color(0xae00ff), "for.honey"),
GRAY("gray", new Color(0x4c4c4c), new Color(0xbababa), "for.honey"),
LIGHTBLUE("lightblue", new Color(0x99b2f2), new Color(0x009dff), "for.honey"),
PINK("pink", new Color(0xf2b2cc), new Color(0xff80df), "for.honey"),
LIMEGREEN("limegreen", new Color(0x7fcc19), new Color(0x00ff08), "for.honey"),
MAGENTA("magenta", new Color(0xe57fd8), new Color(0xff00cc), "for.honey"),
LIGHTGRAY("lightgray", new Color(0x999999), new Color(0xc9c9c9), "for.honey");
final String name;
final String liquid;
final int primary;
final int secondary;
ItemStack remnant;
public static final Items[] VALUES = values();
Items(String name, Color primary, Color secondary, String liquid) {
this.name = name;
this.liquid = liquid;
this.primary = primary.getRGB();
this.secondary = secondary.getRGB();
}
public ItemStack get(int count) {
return honeyDrop.getStack(count, ordinal());
}
public void addRemnant(ItemStack stack) {
remnant = stack;
}
public void addRecipe() {
FluidStack liquid = Binnie.Liquid.getLiquidStack(name, 200);
if (liquid == null) {
return;
}
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[] { get(1) }, liquid, remnant, 100);
}
}
private IIcon drop;
private IIcon shine;
public DropItems() {
super(
Tabs.tabApiculture,
EB_MODID,
"honeyDrop",
true,
Arrays.stream(Items.VALUES).map(i -> i.name).toArray(String[]::new));
setMaxStackSize(64);
setMaxDamage(0);
}
@Override
public String getUnlocalizedName(String name) {
return "extrabees.item.honeydrop." + name;
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
public int getColorFromItemStack(ItemStack stack, int indexColor) {
final int damage = stack.getItemDamage();
final CombItems.Items comb = damage < CombItems.Items.VALUES.length
? CombItems.Items.VALUES[stack.getItemDamage()]
: null;
if (comb == null) return 0xffffff;
return indexColor == 0 ? comb.primary : comb.secondary;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int damage, int pass) {
return pass > 0 ? drop : shine;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
drop = register.registerIcon("forestry:honeyDrop.0");
shine = register.registerIcon("forestry:honeyDrop.1");
}
}
@@ -1,165 +0,0 @@
package binnie.extrabees.products;
import java.awt.Color;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import net.minecraft.item.ItemStack;
import binnie.core.item.IItemEnum;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import forestry.api.recipes.RecipeManagers;
public enum EnumHoneyComb implements IItemEnum {
BARREN(new Color(0x736c44), new Color(0xc2bea7)),
ROTTEN(new Color(0x3e5221), new Color(0xb1cc89)),
BONE(new Color(0xc4c4af), new Color(0xdedec1)),
OIL(new Color(0x060608), new Color(0x2c2b36)),
COAL(new Color(0x9e9478), new Color(0x38311e)),
FUEL(new Color(0x9c6f40), new Color(0xffc400)),
WATER(new Color(0x2732cf), new Color(0x79a8c9)),
MILK(new Color(0xd7d9c7), new Color(0xffffff)),
FRUIT(new Color(0x7d2934), new Color(0xdb4f62)),
SEED(new Color(0x344f33), new Color(0x71cc6e)),
ALCOHOL(new Color(0x418521), new Color(0xded94e)),
STONE(new Color(0x8c8c91), new Color(0xc6c6cc)),
REDSTONE(new Color(0xfa9696), new Color(0xe61010)),
RESIN(new Color(0xffc74f), new Color(0xc98a00)),
IC2ENERGY(new Color(0xe9f50f), new Color(0x20b3c9)),
IRON(new Color(0x363534), new Color(0xa87058)),
GOLD(new Color(0x363534), new Color(0xe6cc0b)),
COPPER(new Color(0x363534), new Color(0xd16308)),
TIN(new Color(0x363534), new Color(0xbdb1bd)),
SILVER(new Color(0x363534), new Color(0xdbdbdb)),
// BRONZE,
URANIUM(new Color(0x1eff00), new Color(0x41ab33)),
CLAY(new Color(0x6b563a), new Color(0xb0c0d6)),
OLD(new Color(0x453314), new Color(0xb39664)),
FUNGAL(new Color(0x6e654b), new Color(0x2b9443)),
CREOSOTE(new Color(0x9c810c), new Color(0xbdaa57)),
LATEX(new Color(0x595541), new Color(0xa8a285)),
ACIDIC(new Color(0x348543), new Color(0x14f73e)),
VENOMOUS(new Color(0x7d187d), new Color(0xff33ff)),
SLIME(new Color(0x3b473c), new Color(0x80d185)),
BLAZE(new Color(0xff6a00), new Color(0xffcc00)),
COFFEE(new Color(0x54381d), new Color(0xb37f4b)),
GLACIAL(new Color(0x4e8787), new Color(0xcbf2f2)),
// MINT,
// CITRUS,
// PEAT,
SHADOW(new Color(0x000000), new Color(0x361835)),
LEAD(new Color(0x363534), new Color(0x9a809c)),
// BRASS,
// ELECTRUM,
ZINC(new Color(0x363534), new Color(0xedebff)),
TITANIUM(new Color(0x363534), new Color(0xb0aae3)),
TUNGSTEN(new Color(0x363534), new Color(0x131214)),
// STEEL,
// IRIDIUM,
PLATINUM(new Color(0x363534), new Color(0x9a809c)),
LAPIS(new Color(0x363534), new Color(0x3d2cdb)),
// SODALITE,
// PYRITE,
// BAUXITE,
// CINNABAR,
// SPHALERITE,
EMERALD(new Color(0x363534), new Color(0x1cff03)),
RUBY(new Color(0x363534), new Color(0xd60000)),
SAPPHIRE(new Color(0x363534), new Color(0xa47ff)),
// OLIVINE,
DIAMOND(new Color(0x363534), new Color(0x7fbdfa)),
RED(new Color(0xcc4c4c), new Color(0xff0000)),
YELLOW(new Color(0xe5e533), new Color(0xffdd00)),
BLUE(new Color(0x99b2f2), new Color(0x0022ff)),
GREEN(new Color(0x667f33), new Color(0x009900)),
BLACK(new Color(0x191919), new Color(0x575757)),
WHITE(new Color(0xd6d6d6), new Color(0xffffff)),
BROWN(new Color(0x7f664c), new Color(0x5c350f)),
ORANGE(new Color(0xf2b233), new Color(0xff9d00)),
CYAN(new Color(0x4c99b2), new Color(0x00ffe5)),
PURPLE(new Color(0xb266e5), new Color(0xae00ff)),
GRAY(new Color(0x4c4c4c), new Color(0xbababa)),
LIGHTBLUE(new Color(0x99b2f2), new Color(0x009dff)),
PINK(new Color(0xf2b2cc), new Color(0xff80df)),
LIMEGREEN(new Color(0x7fcc19), new Color(0x00ff08)),
MAGENTA(new Color(0xe57fd8), new Color(0xff00cc)),
LIGHTGRAY(new Color(0x999999), new Color(0xc9c9c9)),
NICKEL(new Color(0x363534), new Color(0xffdefc)),
// INVAR,
GLOWSTONE(new Color(0xa69c5e), new Color(0xe0c409)),
SALTPETER(new Color(0xa69c5e), new Color(0xe0c409)),
// PULP,
// MULCH,
COMPOST(new Color(0x423308), new Color(0x6b5e3b)),
SAWDUST(new Color(0xbfaa71), new Color(0xf2d37e)),
CERTUS(new Color(0xc6d0ff), new Color(0x394d63)),
ENDERPEARL(new Color(0x349786), new Color(0x32620)),
YELLORIUM(new Color(0x27204d), new Color(14019840)),
CYANITE(new Color(0x27204d), new Color(0x86ed)),
BLUTONIUM(new Color(0x27204d), new Color(0x1b00e6));
public final Map<ItemStack, Float> products;
public final int primaryColor;
public final int secondaryColor;
public final String name;
boolean active;
EnumHoneyComb(Color primaryColor, Color secondaryColor) {
this.primaryColor = primaryColor.getRGB();
this.secondaryColor = secondaryColor.getRGB();
name = toString().toLowerCase(Locale.ENGLISH);
products = new LinkedHashMap<>();
}
public static EnumHoneyComb get(ItemStack itemStack) {
int i = itemStack.getItemDamage();
if (i >= 0 && i < values().length) {
return values()[i];
}
return values()[0];
}
public void addRecipe() {
RecipeManagers.centrifugeManager.addRecipe(20, get(1), products);
}
@Override
public boolean isActive() {
return active;
}
@Override
public ItemStack get(int count) {
return new ItemStack(ExtraBees.comb, count, ordinal());
}
@Override
public String getName(ItemStack stack) {
return I18N.localise("extrabees.item.comb." + name);
}
public boolean addProduct(ItemStack item, Float chance) {
if (item == null) {
return false;
}
products.put(item.copy(), chance);
return true;
}
public void tryAddProduct(ItemStack item, Float chance) {
active = addProduct(item, chance);
}
public void tryAddProduct(IItemEnum type, Float chance) {
tryAddProduct(type.get(1), chance);
active = active && type.isActive();
}
public void copyProducts(EnumHoneyComb comb) {
products.putAll(comb.products);
}
}
@@ -1,93 +0,0 @@
package binnie.extrabees.products;
import java.awt.Color;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import binnie.Binnie;
import binnie.core.item.IItemEnum;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import forestry.api.recipes.RecipeManagers;
public enum EnumHoneyDrop implements IItemEnum {
ENERGY(new Color(0x9c4972), new Color(0xe37171), ""),
ACID(new Color(0x4bb541), new Color(0x49de3c), "acid"),
POISON(new Color(0xd106b9), new Color(0xff03e2), "poison"),
APPLE(new Color(0xc75252), new Color(0xc92a2a), "juice"),
// CITRUS,
ICE(new Color(0xaee8e2), new Color(0x96fff5), "liquidnitrogen"),
MILK(new Color(0xe0e0e0), new Color(0xffffff), "milk"),
SEED(new Color(0x7cc272), new Color(0xc2bea7), "seedoil"),
ALCOHOL(new Color(0xdbe84d), new Color(0xa5e84d), "short.mead"),
// FRUIT,
// VEGETABLE,
// PUMPKIN,
// MELON,
RED(new Color(0xcc4c4c), new Color(0xff0000), "for.honey"),
YELLOW(new Color(0xe5e533), new Color(0xffdd00), "for.honey"),
BLUE(new Color(0x99b2f2), new Color(0x0022ff), "for.honey"),
GREEN(new Color(0x667f33), new Color(0x009900), "for.honey"),
BLACK(new Color(0x191919), new Color(0x575757), "for.honey"),
WHITE(new Color(0xd6d6d6), new Color(0xffffff), "for.honey"),
BROWN(new Color(0x7f664c), new Color(0x5c350f), "for.honey"),
ORANGE(new Color(0xf2b233), new Color(0xff9d00), "for.honey"),
CYAN(new Color(0x4c99b2), new Color(0x00ffe5), "for.honey"),
PURPLE(new Color(0xb266e5), new Color(0xae00ff), "for.honey"),
GRAY(new Color(0x4c4c4c), new Color(0xbababa), "for.honey"),
LIGHTBLUE(new Color(0x99b2f2), new Color(0x009dff), "for.honey"),
PINK(new Color(0xf2b2cc), new Color(0xff80df), "for.honey"),
LIMEGREEN(new Color(0x7fcc19), new Color(0x00ff08), "for.honey"),
MAGENTA(new Color(0xe57fd8), new Color(0xff00cc), "for.honey"),
LIGHTGRAY(new Color(0x999999), new Color(0xc9c9c9), "for.honey");
public final int primaryColor;
public final int secondaryColor;
private final String liquidName;
private ItemStack remenant;
EnumHoneyDrop(Color primaryColor, Color secondaryColor, String liquid) {
this.primaryColor = primaryColor.getRGB();
this.secondaryColor = secondaryColor.getRGB();
liquidName = liquid;
}
public static EnumHoneyDrop get(ItemStack itemStack) {
int i = itemStack.getItemDamage();
if (i >= 0 && i < values().length) {
return values()[i];
}
return values()[0];
}
public void addRemenant(ItemStack stack) {
remenant = stack;
}
public void addRecipe() {
FluidStack liquid = Binnie.Liquid.getLiquidStack(liquidName, 200);
if (liquid == null) {
return;
}
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[] { get(1) }, liquid, remenant, 100);
}
@Override
public boolean isActive() {
return liquidName == null || FluidRegistry.isFluidRegistered(liquidName);
}
@Override
public ItemStack get(int count) {
return new ItemStack(ExtraBees.honeyDrop, count, ordinal());
}
@Override
public String getName(ItemStack itemStack) {
return I18N.localise("extrabees.item.honeydrop." + name().toLowerCase());
}
}
@@ -1,67 +0,0 @@
package binnie.extrabees.products;
import java.awt.Color;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import binnie.Binnie;
import binnie.core.item.IItemEnum;
import binnie.core.util.I18N;
import binnie.extrabees.ExtraBees;
import forestry.api.recipes.RecipeManagers;
public enum EnumPropolis implements IItemEnum {
WATER(new Color(0x24b3c9), new Color(0xc2bea7), "Water"),
OIL(new Color(0x172f33), new Color(0xc2bea7), "oil"),
FUEL(new Color(0xa38d12), new Color(0xc2bea7), "fuel"),
// MILK,
// FRUIT,
// SEED,
// ALCOHOL,
CREOSOTE(new Color(0x877501), new Color(0xbda613), "creosote");
// GLACIAL,
// PEAT
public final int secondaryColor;
public final int primaryColor;
public final String liquidName;
EnumPropolis(Color primaryColor, Color secondaryColor, String liquidName) {
this.primaryColor = primaryColor.getRGB();
this.secondaryColor = secondaryColor.getRGB();
this.liquidName = liquidName;
}
public static EnumPropolis get(ItemStack itemStack) {
int i = itemStack.getItemDamage();
if (i >= 0 && i < values().length) {
return values()[i];
}
return values()[0];
}
public void addRecipe() {
FluidStack liquid = Binnie.Liquid.getLiquidStack(liquidName, 500);
if (liquid == null) {
return;
}
RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[] { get(1) }, liquid, null, 0);
}
@Override
public boolean isActive() {
return Binnie.Liquid.getLiquidStack(liquidName, 100) != null;
}
@Override
public ItemStack get(int count) {
return new ItemStack(ExtraBees.propolis, count, ordinal());
}
@Override
public String getName(ItemStack itemStack) {
return I18N.localise("extrabees.item.propolis." + name().toLowerCase());
}
}
@@ -1,326 +0,0 @@
package binnie.extrabees.products;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.oredict.OreDictionary;
import binnie.core.BinnieCore;
import binnie.core.Mods;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.core.ExtraBeeItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
public class ItemHoneyComb extends ItemProduct {
protected IIcon icon1;
protected IIcon icon2;
public ItemHoneyComb() {
super(EnumHoneyComb.values());
setCreativeTab(Tabs.tabApiculture);
setUnlocalizedName("honeyComb");
}
public static void addSubtypes() {
ItemStack beeswax = Mods.forestry.stack("beeswax");
ItemStack honeyDrop = Mods.forestry.stack("honeyDrop");
OreDictionary.registerOre("ingotIron", Items.iron_ingot);
OreDictionary.registerOre("ingotGold", Items.gold_ingot);
OreDictionary.registerOre("gemDiamond", Items.diamond);
OreDictionary.registerOre("gemEmerald", Items.emerald);
OreDictionary.registerOre("gemLapis", new ItemStack(Items.dye, 1, 4));
EnumHoneyComb.BARREN.addProduct(beeswax, 1.00f);
EnumHoneyComb.BARREN.addProduct(honeyDrop, 0.50f);
EnumHoneyComb.ROTTEN.addProduct(beeswax, 0.20f);
EnumHoneyComb.ROTTEN.addProduct(honeyDrop, 0.20f);
EnumHoneyComb.ROTTEN.addProduct(new ItemStack(Items.rotten_flesh, 1, 0), 0.80f);
EnumHoneyComb.BONE.addProduct(beeswax, 0.20f);
EnumHoneyComb.BONE.addProduct(honeyDrop, 0.20f);
EnumHoneyComb.BONE.addProduct(new ItemStack(Items.dye, 1, 15), 0.80f);
EnumHoneyComb.OIL.tryAddProduct(EnumPropolis.OIL, 0.60f);
EnumHoneyComb.OIL.addProduct(honeyDrop, 0.75f);
EnumHoneyComb.COAL.addProduct(beeswax, 0.80f);
EnumHoneyComb.COAL.addProduct(honeyDrop, 0.75f);
EnumHoneyComb.COAL.tryAddProduct(ExtraBeeItems.CoalDust, 1.00f);
EnumHoneyComb.WATER.tryAddProduct(EnumPropolis.WATER, 1.00f);
EnumHoneyComb.WATER.addProduct(honeyDrop, 0.90f);
EnumHoneyComb.STONE.addProduct(beeswax, 0.50f);
EnumHoneyComb.STONE.addProduct(honeyDrop, 0.25f);
EnumHoneyComb.MILK.tryAddProduct(EnumHoneyDrop.MILK, 1.00f);
EnumHoneyComb.MILK.addProduct(honeyDrop, 0.90f);
EnumHoneyComb.FRUIT.tryAddProduct(EnumHoneyDrop.APPLE, 1.00f);
EnumHoneyComb.FRUIT.addProduct(honeyDrop, 0.90f);
EnumHoneyComb.SEED.tryAddProduct(EnumHoneyDrop.SEED, 1.00f);
EnumHoneyComb.SEED.addProduct(honeyDrop, 0.90f);
EnumHoneyComb.ALCOHOL.tryAddProduct(EnumHoneyDrop.ALCOHOL, 1.00f);
EnumHoneyComb.ALCOHOL.addProduct(honeyDrop, 0.90f);
EnumHoneyComb.FUEL.tryAddProduct(EnumPropolis.FUEL, 0.60f);
EnumHoneyComb.FUEL.addProduct(honeyDrop, 0.50f);
EnumHoneyComb.CREOSOTE.tryAddProduct(EnumPropolis.CREOSOTE, 0.70f);
EnumHoneyComb.CREOSOTE.addProduct(honeyDrop, 0.50f);
EnumHoneyComb.LATEX.addProduct(honeyDrop, 0.50f);
EnumHoneyComb.LATEX.addProduct(beeswax, 0.85f);
if (!OreDictionary.getOres("itemRubber").isEmpty()) {
EnumHoneyComb.LATEX.tryAddProduct(OreDictionary.getOres("itemRubber").get(0), 1.00f);
} else {
EnumHoneyComb.LATEX.active = false;
}
EnumHoneyComb.REDSTONE.addProduct(beeswax, 0.80f);
EnumHoneyComb.REDSTONE.addProduct(new ItemStack(Items.redstone, 1, 0), 1.00f);
EnumHoneyComb.REDSTONE.addProduct(honeyDrop, 0.50f);
EnumHoneyComb.RESIN.addProduct(beeswax, 1.00f);
EnumHoneyComb.RESIN.tryAddProduct(Mods.ic2.stack("itemHarz"), 1.00f);
EnumHoneyComb.RESIN.tryAddProduct(Mods.ic2.stack("itemHarz"), 0.50f);
EnumHoneyComb.IC2ENERGY.addProduct(beeswax, 0.80f);
EnumHoneyComb.IC2ENERGY.addProduct(new ItemStack(Items.redstone, 1, 0), 0.75f);
EnumHoneyComb.IC2ENERGY.tryAddProduct(EnumHoneyDrop.ENERGY, 1.00f);
EnumHoneyComb.IRON.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.IRON.tryAddProduct(ExtraBeeItems.IronDust, 1.00f);
EnumHoneyComb.GOLD.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.GOLD.tryAddProduct(ExtraBeeItems.GoldDust, 1.00f);
EnumHoneyComb.COPPER.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.COPPER.tryAddProduct(ExtraBeeItems.CopperDust, 1.00f);
EnumHoneyComb.TIN.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.TIN.tryAddProduct(ExtraBeeItems.TinDust, 1.00f);
EnumHoneyComb.NICKEL.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.NICKEL.tryAddProduct(ExtraBeeItems.NickelDust, 1.00f);
EnumHoneyComb.SILVER.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.SILVER.tryAddProduct(ExtraBeeItems.SilverDust, 1.00f);
EnumHoneyComb.URANIUM.copyProducts(EnumHoneyComb.STONE);
if (!OreDictionary.getOres("crushedUranium").isEmpty()) {
EnumHoneyComb.URANIUM.tryAddProduct(OreDictionary.getOres("crushedUranium").get(0), 0.50f);
}
EnumHoneyComb.CLAY.addProduct(beeswax, 0.25f);
EnumHoneyComb.CLAY.addProduct(honeyDrop, 0.80f);
EnumHoneyComb.CLAY.addProduct(new ItemStack(Items.clay_ball), 0.80f);
EnumHoneyComb.OLD.addProduct(beeswax, 1.00f);
EnumHoneyComb.OLD.addProduct(honeyDrop, 0.90f);
EnumHoneyComb.FUNGAL.addProduct(beeswax, 0.90f);
EnumHoneyComb.FUNGAL.addProduct(new ItemStack(Blocks.brown_mushroom_block, 1, 0), 1.00f);
EnumHoneyComb.FUNGAL.addProduct(new ItemStack(Blocks.red_mushroom_block, 1, 0), 0.75f);
EnumHoneyComb.ACIDIC.addProduct(beeswax, 0.80f);
EnumHoneyComb.ACIDIC.tryAddProduct(EnumHoneyDrop.ACID, 0.50f);
if (!OreDictionary.getOres("dustSulfur").isEmpty()) {
EnumHoneyComb.ACIDIC.addProduct(OreDictionary.getOres("dustSulfur").get(0), 0.75f);
}
EnumHoneyComb.VENOMOUS.addProduct(beeswax, 0.80f);
EnumHoneyComb.VENOMOUS.tryAddProduct(EnumHoneyDrop.POISON, 0.80f);
EnumHoneyComb.SLIME.addProduct(beeswax, 1.00f);
EnumHoneyComb.SLIME.addProduct(honeyDrop, 0.75f);
EnumHoneyComb.SLIME.addProduct(new ItemStack(Items.slime_ball, 1, 0), 0.75f);
EnumHoneyComb.BLAZE.addProduct(beeswax, 0.75f);
EnumHoneyComb.BLAZE.addProduct(new ItemStack(Items.blaze_powder, 1, 0), 1.00f);
EnumHoneyComb.COFFEE.addProduct(beeswax, 0.90f);
EnumHoneyComb.COFFEE.addProduct(honeyDrop, 0.75f);
EnumHoneyComb.COFFEE.tryAddProduct(Mods.ic2.stack("itemCofeePowder"), 0.75f);
EnumHoneyComb.GLACIAL.tryAddProduct(EnumHoneyDrop.ICE, 0.80f);
EnumHoneyComb.GLACIAL.addProduct(honeyDrop, 0.75f);
EnumHoneyComb.SHADOW.addProduct(honeyDrop, 0.50f);
if (!OreDictionary.getOres("dustObsidian").isEmpty()) {
EnumHoneyComb.SHADOW.tryAddProduct(OreDictionary.getOres("dustObsidian").get(0), 0.75f);
} else {
EnumHoneyComb.SHADOW.active = false;
}
EnumHoneyComb.LEAD.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.LEAD.tryAddProduct(ExtraBeeItems.LeadDust, 1.00f);
EnumHoneyComb.ZINC.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.ZINC.tryAddProduct(ExtraBeeItems.ZincDust, 1.00f);
EnumHoneyComb.TITANIUM.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.TITANIUM.tryAddProduct(ExtraBeeItems.TitaniumDust, 1.00f);
EnumHoneyComb.TUNGSTEN.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.TUNGSTEN.tryAddProduct(ExtraBeeItems.TungstenDust, 1.00f);
EnumHoneyComb.PLATINUM.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.PLATINUM.tryAddProduct(ExtraBeeItems.PlatinumDust, 1.00f);
EnumHoneyComb.LAPIS.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.LAPIS.addProduct(new ItemStack(Items.dye, 6, 4), 1.00f);
EnumHoneyComb.EMERALD.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.EMERALD.tryAddProduct(ExtraBeeItems.EmeraldShard, 1.00f);
EnumHoneyComb.RUBY.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.RUBY.tryAddProduct(ExtraBeeItems.RubyShard, 1.00f);
EnumHoneyComb.SAPPHIRE.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.SAPPHIRE.tryAddProduct(ExtraBeeItems.SapphireShard, 1.00f);
EnumHoneyComb.DIAMOND.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.DIAMOND.tryAddProduct(ExtraBeeItems.DiamondShard, 1.00f);
EnumHoneyComb.RED.addProduct(honeyDrop, 0.80f);
EnumHoneyComb.RED.addProduct(beeswax, 0.80f);
EnumHoneyComb.GLOWSTONE.addProduct(honeyDrop, 0.25f);
EnumHoneyComb.GLOWSTONE.addProduct(new ItemStack(Items.glowstone_dust), 1.00f);
EnumHoneyComb.SALTPETER.addProduct(honeyDrop, 0.25f);
EnumHoneyComb.SALTPETER.tryAddProduct(getOreDictionary("dustSaltpeter"), 1.00f);
EnumHoneyComb.COMPOST.addProduct(honeyDrop, 0.25f);
EnumHoneyComb.COMPOST.tryAddProduct(Mods.forestry.stack("fertilizerBio"), 1.00f);
EnumHoneyComb.SAWDUST.addProduct(honeyDrop, 0.25f);
if (!OreDictionary.getOres("dustSawdust").isEmpty()) {
EnumHoneyComb.SAWDUST.tryAddProduct(OreDictionary.getOres("dustSawdust").get(0), 1.00f);
} else if (!OreDictionary.getOres("sawdust").isEmpty()) {
EnumHoneyComb.SAWDUST.tryAddProduct(OreDictionary.getOres("sawdust").get(0), 1.00f);
}
EnumHoneyComb.CERTUS.addProduct(honeyDrop, 0.25f);
EnumHoneyComb.CERTUS.addProduct(new ItemStack(Items.quartz), 0.25f);
if (!OreDictionary.getOres("dustCertusQuartz").isEmpty()) {
EnumHoneyComb.CERTUS.tryAddProduct(OreDictionary.getOres("dustCertusQuartz").get(0), 0.20f);
}
EnumHoneyComb.ENDERPEARL.addProduct(honeyDrop, 0.25f);
if (!OreDictionary.getOres("dustEnderPearl").isEmpty()) {
EnumHoneyComb.ENDERPEARL.tryAddProduct(OreDictionary.getOres("dustEnderPearl").get(0), 0.25f);
}
EnumHoneyComb.YELLORIUM.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.YELLORIUM.tryAddProduct(ExtraBeeItems.YelloriumDust, 0.25f);
EnumHoneyComb.CYANITE.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.CYANITE.tryAddProduct(ExtraBeeItems.CyaniteDust, 0.25f);
EnumHoneyComb.BLUTONIUM.copyProducts(EnumHoneyComb.STONE);
EnumHoneyComb.BLUTONIUM.tryAddProduct(ExtraBeeItems.BlutoniumDust, 0.25f);
OreDictionary.registerOre("beeComb", new ItemStack(ExtraBees.comb, 1, 32767));
for (int i = 0; i < 16; ++i) {
EnumHoneyComb type = EnumHoneyComb.values()[EnumHoneyComb.RED.ordinal() + i];
if (type != EnumHoneyComb.RED) {
type.copyProducts(EnumHoneyComb.RED);
}
}
for (int i = 0; i < 16; ++i) {
EnumHoneyComb type = EnumHoneyComb.values()[EnumHoneyComb.RED.ordinal() + i];
EnumHoneyDrop drop = EnumHoneyDrop.values()[EnumHoneyDrop.RED.ordinal() + i];
int[] dyeC = { 1, 11, 4, 2, 0, 15, 3, 14, 6, 5, 8, 12, 9, 10, 13, 7 };
int k = dyeC[i];
ItemStack dye = switch (k) {
case 0 -> ExtraBeeItems.BlackDye.get(1);
case 1 -> ExtraBeeItems.RedDye.get(1);
case 2 -> ExtraBeeItems.GreenDye.get(1);
case 3 -> ExtraBeeItems.BrownDye.get(1);
case 4 -> ExtraBeeItems.BlueDye.get(1);
case 11 -> ExtraBeeItems.YellowDye.get(1);
case 15 -> ExtraBeeItems.WhiteDye.get(1);
default -> new ItemStack(Items.dye, 1, k);
};
type.addProduct(drop.get(1), 1.00f);
drop.addRemenant(dye);
}
}
private static ItemStack getOreDictionary(String string) {
if (!OreDictionary.getOres(string).isEmpty()) {
return OreDictionary.getOres(string).get(0);
}
return null;
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
public int getColorFromItemStack(ItemStack stack, int indexColor) {
EnumHoneyComb comb = EnumHoneyComb.get(stack);
if (comb == null) {
return 0xffffff;
}
if (indexColor == 0) {
return comb.primaryColor;
}
return comb.secondaryColor;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int i, int j) {
if (j > 0) {
return icon1;
}
return icon2;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
icon1 = BinnieCore.proxy.getIcon(register, "forestry", "beeCombs.0");
icon2 = BinnieCore.proxy.getIcon(register, "forestry", "beeCombs.1");
}
public enum VanillaComb {
HONEY,
COCOA,
SIMMERING,
STRINGY,
FROZEN,
DRIPPING,
SILKY,
PARCHED,
MYSTERIOUS,
IRRADIATED,
POWDERY,
REDDENED,
DARKENED,
OMEGA,
WHEATEN,
MOSSY,
QUARTZ;
public ItemStack get() {
return new ItemStack(Mods.forestry.item("beeCombs"), 1, ordinal());
}
}
}
@@ -1,52 +0,0 @@
package binnie.extrabees.products;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import binnie.core.BinnieCore;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
public class ItemHoneyDrop extends ItemProduct {
protected IIcon icon1;
protected IIcon icon2;
public ItemHoneyDrop() {
super(EnumHoneyDrop.values());
setCreativeTab(Tabs.tabApiculture);
setUnlocalizedName("honeyDrop");
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
public int getColorFromItemStack(ItemStack itemStack, int j) {
if (j == 0) {
return EnumHoneyDrop.get(itemStack).primaryColor;
}
return EnumHoneyDrop.get(itemStack).secondaryColor;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int i, int j) {
if (j > 0) {
return icon1;
}
return icon2;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
icon1 = BinnieCore.proxy.getIcon(register, "forestry", "honeyDrop.0");
icon2 = BinnieCore.proxy.getIcon(register, "forestry", "honeyDrop.1");
}
}
@@ -1,43 +0,0 @@
package binnie.extrabees.products;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import binnie.core.item.IItemEnum;
public class ItemProduct extends Item {
protected IItemEnum[] types;
public ItemProduct(IItemEnum[] types) {
this.types = types;
setMaxStackSize(64);
setMaxDamage(0);
setHasSubtypes(true);
}
public IItemEnum get(ItemStack stack) {
int i = stack.getItemDamage();
if (i >= 0 && i < types.length) {
return types[i];
}
return types[0];
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
return get(stack).getName(stack);
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
for (IItemEnum type : types) {
if (type.isActive()) {
list.add(new ItemStack(this, 1, type.ordinal()));
}
}
}
}
@@ -1,32 +0,0 @@
package binnie.extrabees.products;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import binnie.core.BinnieCore;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
public class ItemPropolis extends ItemProduct {
public ItemPropolis() {
super(EnumPropolis.values());
setCreativeTab(Tabs.tabApiculture);
setUnlocalizedName("propolis");
}
@Override
public int getColorFromItemStack(ItemStack itemStack, int j) {
if (j == 0) {
return EnumPropolis.get(itemStack).primaryColor;
}
return EnumPropolis.get(itemStack).secondaryColor;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
itemIcon = BinnieCore.proxy.getIcon(register, "forestry", "propolis.0");
}
}
Loaded 100 of 194 files, more files were not shown because too many files have changed in this diff. Show more