diff options
Diffstat (limited to 'src/main')
20 files changed, 348 insertions, 51 deletions
diff --git a/src/main/java/kubatech/ClientProxy.java b/src/main/java/kubatech/ClientProxy.java index 3b5b68ec4e..99e9661e33 100644 --- a/src/main/java/kubatech/ClientProxy.java +++ b/src/main/java/kubatech/ClientProxy.java @@ -20,7 +20,15 @@ package kubatech; -import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLLoadCompleteEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; +import cpw.mods.fml.common.event.FMLServerStartedEvent; +import cpw.mods.fml.common.event.FMLServerStartingEvent; +import cpw.mods.fml.common.event.FMLServerStoppedEvent; +import cpw.mods.fml.common.event.FMLServerStoppingEvent; import kubatech.api.utils.ModUtils; import kubatech.loaders.MobRecipeLoader; import kubatech.nei.IMCForNEI; diff --git a/src/main/java/kubatech/CommonProxy.java b/src/main/java/kubatech/CommonProxy.java index a2ce560669..b0d8446211 100644 --- a/src/main/java/kubatech/CommonProxy.java +++ b/src/main/java/kubatech/CommonProxy.java @@ -26,9 +26,21 @@ import static kubatech.loaders.ItemLoader.registerItems; import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLLoadCompleteEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; +import cpw.mods.fml.common.event.FMLServerStartedEvent; +import cpw.mods.fml.common.event.FMLServerStartingEvent; +import cpw.mods.fml.common.event.FMLServerStoppedEvent; +import cpw.mods.fml.common.event.FMLServerStoppingEvent; import kubatech.api.LoaderReference; -import kubatech.commands.*; +import kubatech.commands.CommandBees; +import kubatech.commands.CommandConfig; +import kubatech.commands.CommandHandler; +import kubatech.commands.CommandHelp; +import kubatech.commands.CommandTea; import kubatech.config.Config; import kubatech.loaders.MTLoader; import kubatech.loaders.RecipeLoader; diff --git a/src/main/java/kubatech/api/utils/GSONUtils.java b/src/main/java/kubatech/api/utils/GSONUtils.java index 71d12d9e0a..90dd70f0df 100644 --- a/src/main/java/kubatech/api/utils/GSONUtils.java +++ b/src/main/java/kubatech/api/utils/GSONUtils.java @@ -30,7 +30,13 @@ import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTSizeTracker; import net.minecraft.nbt.NBTTagCompound; -import com.google.gson.*; +import com.google.gson.ExclusionStrategy; +import com.google.gson.FieldAttributes; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializer; public class GSONUtils { diff --git a/src/main/java/kubatech/api/utils/ModUtils.java b/src/main/java/kubatech/api/utils/ModUtils.java index a6cceecdeb..cd02d28dba 100644 --- a/src/main/java/kubatech/api/utils/ModUtils.java +++ b/src/main/java/kubatech/api/utils/ModUtils.java @@ -22,7 +22,11 @@ package kubatech.api.utils; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; -import java.util.*; +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Map; import javax.xml.bind.DatatypeConverter; diff --git a/src/main/java/kubatech/client/effect/EntityRenderer.java b/src/main/java/kubatech/client/effect/EntityRenderer.java index 1db113c563..0691dc07ce 100644 --- a/src/main/java/kubatech/client/effect/EntityRenderer.java +++ b/src/main/java/kubatech/client/effect/EntityRenderer.java @@ -20,7 +20,10 @@ package kubatech.client.effect; -import static net.minecraft.client.renderer.entity.RenderManager.*; +import static net.minecraft.client.renderer.entity.RenderManager.instance; +import static net.minecraft.client.renderer.entity.RenderManager.renderPosX; +import static net.minecraft.client.renderer.entity.RenderManager.renderPosY; +import static net.minecraft.client.renderer.entity.RenderManager.renderPosZ; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; diff --git a/src/main/java/kubatech/client/effect/MegaApiaryBeesRenderer.java b/src/main/java/kubatech/client/effect/MegaApiaryBeesRenderer.java index 40079f3fed..9ac093b6f6 100644 --- a/src/main/java/kubatech/client/effect/MegaApiaryBeesRenderer.java +++ b/src/main/java/kubatech/client/effect/MegaApiaryBeesRenderer.java @@ -20,7 +20,9 @@ package kubatech.client.effect; -import static net.minecraft.client.renderer.entity.RenderManager.*; +import static net.minecraft.client.renderer.entity.RenderManager.renderPosX; +import static net.minecraft.client.renderer.entity.RenderManager.renderPosY; +import static net.minecraft.client.renderer.entity.RenderManager.renderPosZ; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; diff --git a/src/main/java/kubatech/commands/CommandConfig.java b/src/main/java/kubatech/commands/CommandConfig.java index 6b61a4ca30..e4ffe9753d 100644 --- a/src/main/java/kubatech/commands/CommandConfig.java +++ b/src/main/java/kubatech/commands/CommandConfig.java @@ -20,7 +20,9 @@ package kubatech.commands; -import static kubatech.commands.CommandConfig.Translations.*; +import static kubatech.commands.CommandConfig.Translations.INVALID_OPTION; +import static kubatech.commands.CommandConfig.Translations.SUCCESS; +import static kubatech.commands.CommandConfig.Translations.USAGE; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommandSender; diff --git a/src/main/java/kubatech/commands/CommandHandler.java b/src/main/java/kubatech/commands/CommandHandler.java index 8003ac39ad..0daea862ca 100644 --- a/src/main/java/kubatech/commands/CommandHandler.java +++ b/src/main/java/kubatech/commands/CommandHandler.java @@ -20,9 +20,15 @@ package kubatech.commands; -import static kubatech.commands.CommandHandler.Translations.*; - -import java.util.*; +import static kubatech.commands.CommandHandler.Translations.CANT_FIND; +import static kubatech.commands.CommandHandler.Translations.GENERIC_HELP; +import static kubatech.commands.CommandHandler.Translations.INVALID; +import static kubatech.commands.CommandHandler.Translations.USAGE; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommand; diff --git a/src/main/java/kubatech/commands/CommandTea.java b/src/main/java/kubatech/commands/CommandTea.java index 48e1b110b5..70a924d9c7 100644 --- a/src/main/java/kubatech/commands/CommandTea.java +++ b/src/main/java/kubatech/commands/CommandTea.java @@ -20,7 +20,12 @@ package kubatech.commands; -import static kubatech.commands.CommandTea.Translations.*; +import static kubatech.commands.CommandTea.Translations.INVALID_OPTION; +import static kubatech.commands.CommandTea.Translations.PLAYER_NOT_FOUND; +import static kubatech.commands.CommandTea.Translations.SUCCESS_ADD; +import static kubatech.commands.CommandTea.Translations.SUCCESS_GET; +import static kubatech.commands.CommandTea.Translations.SUCCESS_SET; +import static kubatech.commands.CommandTea.Translations.USAGE; import java.math.BigInteger; import java.util.UUID; diff --git a/src/main/java/kubatech/kubatech.java b/src/main/java/kubatech/kubatech.java index 929165d075..e13f1c36e0 100644 --- a/src/main/java/kubatech/kubatech.java +++ b/src/main/java/kubatech/kubatech.java @@ -33,7 +33,15 @@ import org.apache.logging.log4j.Logger; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLLoadCompleteEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; +import cpw.mods.fml.common.event.FMLServerStartedEvent; +import cpw.mods.fml.common.event.FMLServerStartingEvent; +import cpw.mods.fml.common.event.FMLServerStoppedEvent; +import cpw.mods.fml.common.event.FMLServerStoppingEvent; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; import kubatech.api.enums.ItemList; diff --git a/src/main/java/kubatech/loaders/ItemLoader.java b/src/main/java/kubatech/loaders/ItemLoader.java index 03af96a406..5c3ec6cc02 100644 --- a/src/main/java/kubatech/loaders/ItemLoader.java +++ b/src/main/java/kubatech/loaders/ItemLoader.java @@ -20,12 +20,52 @@ package kubatech.loaders; -import static kubatech.api.enums.ItemList.*; +import static kubatech.api.enums.ItemList.Beeeeee; +import static kubatech.api.enums.ItemList.BlackTea; +import static kubatech.api.enums.ItemList.BlackTeaLeaf; +import static kubatech.api.enums.ItemList.BruisedTeaLeaf; +import static kubatech.api.enums.ItemList.EarlGrayTea; +import static kubatech.api.enums.ItemList.FermentedTeaLeaf; +import static kubatech.api.enums.ItemList.GreenTea; +import static kubatech.api.enums.ItemList.GreenTeaLeaf; +import static kubatech.api.enums.ItemList.LegendaryBlackTea; +import static kubatech.api.enums.ItemList.LegendaryButterflyTea; +import static kubatech.api.enums.ItemList.LegendaryEarlGrayTea; +import static kubatech.api.enums.ItemList.LegendaryGreenTea; +import static kubatech.api.enums.ItemList.LegendaryLemonTea; +import static kubatech.api.enums.ItemList.LegendaryMilkTea; +import static kubatech.api.enums.ItemList.LegendaryOolongTea; +import static kubatech.api.enums.ItemList.LegendaryPeppermintTea; +import static kubatech.api.enums.ItemList.LegendaryPuerhTea; +import static kubatech.api.enums.ItemList.LegendaryRedTea; +import static kubatech.api.enums.ItemList.LegendaryUltimateTea; +import static kubatech.api.enums.ItemList.LegendaryWhiteTea; +import static kubatech.api.enums.ItemList.LegendaryYellowTea; +import static kubatech.api.enums.ItemList.LemonTea; +import static kubatech.api.enums.ItemList.MilkTea; +import static kubatech.api.enums.ItemList.OolongTea; +import static kubatech.api.enums.ItemList.OolongTeaLeaf; +import static kubatech.api.enums.ItemList.OxidizedTeaLeaf; +import static kubatech.api.enums.ItemList.PartiallyOxidizedTeaLeaf; +import static kubatech.api.enums.ItemList.PeppermintTea; +import static kubatech.api.enums.ItemList.PuerhTea; +import static kubatech.api.enums.ItemList.PuerhTeaLeaf; +import static kubatech.api.enums.ItemList.RolledTeaLeaf; +import static kubatech.api.enums.ItemList.SteamedTeaLeaf; +import static kubatech.api.enums.ItemList.TeaAcceptorResearchNote; +import static kubatech.api.enums.ItemList.TeaLeafDehydrated; +import static kubatech.api.enums.ItemList.WhiteTea; +import static kubatech.api.enums.ItemList.WhiteTeaLeaf; +import static kubatech.api.enums.ItemList.YellowTea; +import static kubatech.api.enums.ItemList.YellowTeaLeaf; import cpw.mods.fml.common.registry.GameRegistry; import kubatech.loaders.item.ItemProxy; import kubatech.loaders.item.KubaItems; -import kubatech.loaders.item.items.*; +import kubatech.loaders.item.items.Tea; +import kubatech.loaders.item.items.TeaCollection; +import kubatech.loaders.item.items.TeaIngredient; +import kubatech.loaders.item.items.TeaUltimate; public class ItemLoader { diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java index 2c0bbf464f..ebb1a2a906 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -22,7 +22,9 @@ package kubatech.loaders; import static kubatech.api.utils.ModUtils.isClientSided; import static kubatech.api.utils.ModUtils.isDeobfuscatedEnvironment; -import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeExterminationChamber.*; +import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeExterminationChamber.DIAMOND_SPIKES_DAMAGE; +import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeExterminationChamber.MOB_SPAWN_INTERVAL; +import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeExterminationChamber.MobNameToRecipeMap; import java.io.File; import java.io.Reader; @@ -31,7 +33,14 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; import java.util.stream.Collectors; import net.minecraft.block.Block; diff --git a/src/main/java/kubatech/loaders/RecipeLoader.java b/src/main/java/kubatech/loaders/RecipeLoader.java index 4eb196a94e..acc2f89b1b 100644 --- a/src/main/java/kubatech/loaders/RecipeLoader.java +++ b/src/main/java/kubatech/loaders/RecipeLoader.java @@ -20,7 +20,35 @@ package kubatech.loaders; -import static kubatech.api.enums.ItemList.*; +import static kubatech.api.enums.ItemList.BlackTea; +import static kubatech.api.enums.ItemList.BlackTeaLeaf; +import static kubatech.api.enums.ItemList.BruisedTeaLeaf; +import static kubatech.api.enums.ItemList.EarlGrayTea; +import static kubatech.api.enums.ItemList.ExtremeExterminationChamber; +import static kubatech.api.enums.ItemList.ExtremeIndustrialApiary; +import static kubatech.api.enums.ItemList.ExtremeIndustrialGreenhouse; +import static kubatech.api.enums.ItemList.FermentedTeaLeaf; +import static kubatech.api.enums.ItemList.GreenTea; +import static kubatech.api.enums.ItemList.GreenTeaLeaf; +import static kubatech.api.enums.ItemList.LegendaryUltimateTea; +import static kubatech.api.enums.ItemList.LemonTea; +import static kubatech.api.enums.ItemList.MilkTea; +import static kubatech.api.enums.ItemList.OolongTea; +import static kubatech.api.enums.ItemList.OolongTeaLeaf; +import static kubatech.api.enums.ItemList.OxidizedTeaLeaf; +import static kubatech.api.enums.ItemList.PartiallyOxidizedTeaLeaf; +import static kubatech.api.enums.ItemList.PeppermintTea; +import static kubatech.api.enums.ItemList.PuerhTea; +import static kubatech.api.enums.ItemList.PuerhTeaLeaf; +import static kubatech.api.enums.ItemList.RolledTeaLeaf; +import static kubatech.api.enums.ItemList.SteamedTeaLeaf; +import static kubatech.api.enums.ItemList.TeaAcceptor; +import static kubatech.api.enums.ItemList.TeaAcceptorResearchNote; +import static kubatech.api.enums.ItemList.TeaLeafDehydrated; +import static kubatech.api.enums.ItemList.WhiteTea; +import static kubatech.api.enums.ItemList.WhiteTeaLeaf; +import static kubatech.api.enums.ItemList.YellowTea; +import static kubatech.api.enums.ItemList.YellowTeaLeaf; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/kubatech/loaders/item/items/TeaUltimate.java b/src/main/java/kubatech/loaders/item/items/TeaUltimate.java index db34f9e105..bad26bdb66 100644 --- a/src/main/java/kubatech/loaders/item/items/TeaUltimate.java +++ b/src/main/java/kubatech/loaders/item/items/TeaUltimate.java @@ -44,7 +44,13 @@ import com.gtnewhorizons.modularui.api.drawable.Text; import com.gtnewhorizons.modularui.api.math.Color; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.widget.Widget; -import com.gtnewhorizons.modularui.common.widget.*; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DynamicTextWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.MultiChildWidget; +import com.gtnewhorizons.modularui.common.widget.TabButton; +import com.gtnewhorizons.modularui.common.widget.TabContainer; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import codechicken.nei.NEIClientUtils; import kubatech.api.enums.ItemList; diff --git a/src/main/java/kubatech/nei/Mob_Handler.java b/src/main/java/kubatech/nei/Mob_Handler.java index 3dd9bb5e7b..f6e859eceb 100644 --- a/src/main/java/kubatech/nei/Mob_Handler.java +++ b/src/main/java/kubatech/nei/Mob_Handler.java @@ -20,7 +20,22 @@ package kubatech.nei; -import static kubatech.nei.Mob_Handler.Translations.*; +import static kubatech.nei.Mob_Handler.Translations.ADDITIONAL_DROPS; +import static kubatech.nei.Mob_Handler.Translations.AVERAGE_REMINDER; +import static kubatech.nei.Mob_Handler.Translations.BOSS; +import static kubatech.nei.Mob_Handler.Translations.CANNOT_USE_VIAL; +import static kubatech.nei.Mob_Handler.Translations.CHANCE; +import static kubatech.nei.Mob_Handler.Translations.EEC_CHANCE; +import static kubatech.nei.Mob_Handler.Translations.INFERNAL_ALWAYS; +import static kubatech.nei.Mob_Handler.Translations.INFERNAL_CAN; +import static kubatech.nei.Mob_Handler.Translations.INFERNAL_CANNOT; +import static kubatech.nei.Mob_Handler.Translations.INFERNAL_DROPS; +import static kubatech.nei.Mob_Handler.Translations.LOOTABLE; +import static kubatech.nei.Mob_Handler.Translations.MAX_HEALTH; +import static kubatech.nei.Mob_Handler.Translations.MOD; +import static kubatech.nei.Mob_Handler.Translations.NORMAL_DROPS; +import static kubatech.nei.Mob_Handler.Translations.PLAYER_ONLY; +import static kubatech.nei.Mob_Handler.Translations.RARE_DROPS; import java.awt.*; import java.lang.reflect.Field; @@ -58,7 +73,12 @@ import org.lwjgl.util.glu.GLU; import codechicken.lib.gui.GuiDraw; import codechicken.nei.NEIClientUtils; import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.*; +import codechicken.nei.recipe.GuiCraftingRecipe; +import codechicken.nei.recipe.GuiRecipe; +import codechicken.nei.recipe.GuiUsageRecipe; +import codechicken.nei.recipe.IUsageHandler; +import codechicken.nei.recipe.RecipeCatalysts; +import codechicken.nei.recipe.TemplateRecipeHandler; import cpw.mods.fml.common.event.FMLInterModComms; import crazypants.enderio.EnderIO; import crazypants.enderio.machine.spawner.BlockPoweredSpawner; diff --git a/src/main/java/kubatech/nei/NEI_Config.java b/src/main/java/kubatech/nei/NEI_Config.java index 4854053475..3836c05461 100644 --- a/src/main/java/kubatech/nei/NEI_Config.java +++ b/src/main/java/kubatech/nei/NEI_Config.java @@ -20,7 +20,19 @@ package kubatech.nei; -import static kubatech.api.enums.ItemList.*; +import static kubatech.api.enums.ItemList.LegendaryBlackTea; +import static kubatech.api.enums.ItemList.LegendaryButterflyTea; +import static kubatech.api.enums.ItemList.LegendaryEarlGrayTea; +import static kubatech.api.enums.ItemList.LegendaryGreenTea; +import static kubatech.api.enums.ItemList.LegendaryLemonTea; +import static kubatech.api.enums.ItemList.LegendaryMilkTea; +import static kubatech.api.enums.ItemList.LegendaryOolongTea; +import static kubatech.api.enums.ItemList.LegendaryPeppermintTea; +import static kubatech.api.enums.ItemList.LegendaryPuerhTea; +import static kubatech.api.enums.ItemList.LegendaryRedTea; +import static kubatech.api.enums.ItemList.LegendaryUltimateTea; +import static kubatech.api.enums.ItemList.LegendaryWhiteTea; +import static kubatech.api.enums.ItemList.LegendaryYellowTea; import codechicken.nei.api.API; import codechicken.nei.api.IConfigureNEI; diff --git a/src/main/java/kubatech/tileentity/TeaAcceptorTile.java b/src/main/java/kubatech/tileentity/TeaAcceptorTile.java index 8ba7401b0d..a2952117ea 100644 --- a/src/main/java/kubatech/tileentity/TeaAcceptorTile.java +++ b/src/main/java/kubatech/tileentity/TeaAcceptorTile.java @@ -39,7 +39,9 @@ import com.gtnewhorizons.modularui.api.ModularUITextures; import com.gtnewhorizons.modularui.api.drawable.Text; import com.gtnewhorizons.modularui.api.math.Color; import com.gtnewhorizons.modularui.api.math.Pos2d; -import com.gtnewhorizons.modularui.api.screen.*; +import com.gtnewhorizons.modularui.api.screen.ITileWithModularUI; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import com.gtnewhorizons.modularui.api.widget.Widget; import com.gtnewhorizons.modularui.common.builder.UIInfo; import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer; diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java index 19ca563a79..fcaf2a833e 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java @@ -20,15 +20,30 @@ package kubatech.tileentity.gregtech.multiblock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.enums.Textures.BlockIcons.*; -import static gregtech.api.util.GT_StructureUtility.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.isAir; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.enums.GT_HatchElement.InputBus; +import static gregtech.api.enums.GT_HatchElement.Maintenance; +import static gregtech.api.enums.GT_HatchElement.OutputBus; +import static gregtech.api.enums.GT_HatchElement.OutputHatch; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_GLOW; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofFrame; import static kubatech.api.Variables.Author; import static kubatech.api.Variables.StructureHologram; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Random; +import java.util.UUID; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -69,7 +84,14 @@ import com.gtnewhorizons.modularui.api.math.Color; import com.gtnewhorizons.modularui.api.math.Pos2d; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.*; +import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow; +import com.gtnewhorizons.modularui.common.widget.DynamicTextWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import com.mojang.authlib.GameProfile; import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java index de23f01795..4b86cda1e7 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java @@ -20,15 +20,29 @@ package kubatech.tileentity.gregtech.multiblock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.Textures.BlockIcons.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_GLOW; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import static kubatech.api.Variables.Author; import static kubatech.api.Variables.StructureHologram; import java.io.IOException; import java.lang.ref.WeakReference; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -42,7 +56,11 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.Slot; -import net.minecraft.item.*; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemSeedFood; +import net.minecraft.item.ItemSeeds; +import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraft.nbt.NBTTagCompound; @@ -73,7 +91,18 @@ import com.gtnewhorizons.modularui.api.widget.IWidgetParent; import com.gtnewhorizons.modularui.api.widget.Widget; import com.gtnewhorizons.modularui.common.builder.UIInfo; import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer; -import com.gtnewhorizons.modularui.common.widget.*; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.ChangeableWidget; +import com.gtnewhorizons.modularui.common.widget.Column; +import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow; +import com.gtnewhorizons.modularui.common.widget.DynamicTextWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.Scrollable; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; @@ -87,7 +116,10 @@ import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.*; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_MultiInput; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Utility; diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java index c42250dfdf..baabda3211 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java @@ -20,16 +20,34 @@ package kubatech.tileentity.gregtech.multiblock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlockAnyMeta; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlocksMap; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static forestry.api.apiculture.BeeManager.beeRoot; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.enums.Textures.BlockIcons.*; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.enums.GT_HatchElement.InputBus; +import static gregtech.api.enums.GT_HatchElement.Maintenance; +import static gregtech.api.enums.GT_HatchElement.OutputBus; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DISTILLATION_TOWER_GLOW; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static kubatech.api.Variables.*; +import static kubatech.api.Variables.StructureHologram; +import static kubatech.api.Variables.buildAuthorList; import java.io.IOException; import java.lang.ref.WeakReference; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -66,11 +84,28 @@ import com.gtnewhorizons.modularui.api.widget.IWidgetParent; import com.gtnewhorizons.modularui.api.widget.Widget; import com.gtnewhorizons.modularui.common.builder.UIInfo; import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer; -import com.gtnewhorizons.modularui.common.widget.*; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.ChangeableWidget; +import com.gtnewhorizons.modularui.common.widget.Column; +import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow; +import com.gtnewhorizons.modularui.common.widget.DynamicTextWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.Scrollable; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import forestry.api.apiculture.*; +import forestry.api.apiculture.EnumBeeType; +import forestry.api.apiculture.FlowerManager; +import forestry.api.apiculture.IAlleleBeeSpecies; +import forestry.api.apiculture.IBee; +import forestry.api.apiculture.IBeeGenome; +import forestry.api.apiculture.IBeeModifier; +import forestry.api.apiculture.IBeekeepingMode; import forestry.apiculture.blocks.BlockAlveary; import forestry.apiculture.blocks.BlockApicultureType; import forestry.apiculture.genetics.Bee; @@ -209,7 +244,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary } private boolean isCacheDirty = true; - private final HashSet<String> flowersCache = new HashSet<>(); + private final HashMap<String, String> flowersCache = new HashMap<>(); private final HashSet<String> flowersCheck = new HashSet<>(); private boolean flowersError = false; private boolean needsTVarUpdate = false; @@ -324,7 +359,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary mStorage.add(new BeeSimulator(aNBT.getCompoundTag("mStorage." + i))); megaApiaryStorageVersion = aNBT.getInteger("MEGA_APIARY_STORAGE_VERSION"); flowersCache.clear(); - mStorage.forEach(s -> flowersCache.add(s.flowerType)); + mStorage.forEach(s -> flowersCache.put(s.flowerType, s.flowerTypeDescription)); flowersCache.remove(""); isCacheDirty = false; } @@ -541,11 +576,12 @@ public class GT_MetaTileEntity_MegaIndustrialApiary mCasing = 0; if (isCacheDirty) { flowersCache.clear(); - mStorage.forEach(s -> flowersCache.add(s.flowerType)); + mStorage.forEach(s -> flowersCache.put(s.flowerType, s.flowerTypeDescription)); flowersCache.remove(""); isCacheDirty = false; } - flowersCheck.addAll(flowersCache); + flowersCheck.clear(); + flowersCheck.addAll(flowersCache.keySet()); if (!checkPiece(STRUCTURE_PIECE_MAIN, 7, 8, 0)) return false; if (this.mGlassTier < 10 && !this.mEnergyHatches.isEmpty()) for (GT_MetaTileEntity_Hatch_Energy hatchEnergy : this.mEnergyHatches) @@ -758,7 +794,30 @@ public class GT_MetaTileEntity_MegaIndustrialApiary throw new RuntimeException(e); } }), - builder)); + builder) + .attachSyncer(new FakeSyncWidget.ListSyncer<>(() -> { + if (flowersError) { + List<String> s = flowersCheck.stream() + .map(flowersCache::get) + .filter(Objects::nonNull) + .sorted() + .collect(Collectors.toList()); + s.add(0, "Missing flower types:"); + return s; + } else return Collections.emptyList(); + }, f -> flowersGUI = f, (b, e) -> { + try { + b.writeStringToBuffer(e); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + }, b -> { + try { + return b.readStringFromBuffer(999); + } catch (IOException e) { + throw new RuntimeException(e); + } + }), builder)); final DynamicPositionedColumn screenElements = new DynamicPositionedColumn(); drawTexts(screenElements, null); @@ -958,6 +1017,8 @@ public class GT_MetaTileEntity_MegaIndustrialApiary return builder.build(); } + private List<String> flowersGUI = Collections.emptyList(); + @Override protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) { screenElements.setSynced(false) @@ -968,14 +1029,15 @@ public class GT_MetaTileEntity_MegaIndustrialApiary new DynamicPositionedRow().setSynced(false) .widget(new TextWidget("Status: ").setDefaultColor(COLOR_TEXT_GRAY.get())) .widget(new DynamicTextWidget(() -> { - if (flowersError) return new Text("No flowers !").color(Color.RED.dark(3)); + if (flowersError) return new Text("Missing flowers!").color(Color.RED.dark(3)); if (getBaseMetaTileEntity().isActive()) return new Text("Working !").color(Color.GREEN.dark(3)); else if (getBaseMetaTileEntity().isAllowedToWork()) return new Text("Enabled").color(Color.GREEN.dark(3)); else if (getBaseMetaTileEntity().wasShutdown()) return new Text("Shutdown (CRITICAL)").color(Color.RED.dark(3)); else return new Text("Disabled").color(Color.RED.dark(3)); - })) + }).dynamicTooltip(() -> flowersGUI) + .setUpdateTooltipEveryTick(true)) .setEnabled(isFixed)); screenElements @@ -1026,6 +1088,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary float maxBeeCycles; String flowerType; + String flowerTypeDescription; public BeeSimulator(ItemStack queenStack, World world, float t) { isValid = false; @@ -1048,6 +1111,8 @@ public class GT_MetaTileEntity_MegaIndustrialApiary IBeeGenome genome = queen.getGenome(); this.flowerType = genome.getFlowerProvider() .getFlowerType(); + this.flowerTypeDescription = genome.getFlowerProvider() + .getDescription(); IAlleleBeeSpecies primary = genome.getPrimary(); beeSpeed = genome.getSpeed() * beeModifier.getProductionModifier(null, 1.f); genome.getPrimary() @@ -1071,12 +1136,16 @@ public class GT_MetaTileEntity_MegaIndustrialApiary specialDrops.add(new BeeDrop(tag.getCompoundTag("specialDrops" + i))); beeSpeed = tag.getFloat("beeSpeed"); maxBeeCycles = tag.getFloat("maxBeeCycles"); - if (tag.hasKey("flowerType")) flowerType = tag.getString("flowerType"); - else { + if (tag.hasKey("flowerType") && tag.hasKey("flowerTypeDescription")) { + flowerType = tag.getString("flowerType"); + flowerTypeDescription = tag.getString("flowerTypeDescription"); + } else { IBee queen = beeRoot.getMember(this.queenStack); IBeeGenome genome = queen.getGenome(); this.flowerType = genome.getFlowerProvider() .getFlowerType(); + this.flowerTypeDescription = genome.getFlowerProvider() + .getDescription(); } } @@ -1097,6 +1166,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary tag.setFloat("beeSpeed", beeSpeed); tag.setFloat("maxBeeCycles", maxBeeCycles); tag.setString("flowerType", flowerType); + tag.setString("flowerTypeDescription", flowerTypeDescription); return tag; } |