diff --git a/build.gradle b/build.gradle index ed3eb24cc..7a2931fa0 100644 --- a/build.gradle +++ b/build.gradle @@ -58,7 +58,7 @@ task deleteOldArtifacts(type: Delete) { classes.dependsOn deleteOldArtifacts dependencies { - compile 'net.industrial-craft:industrialcraft-2:2.2.712-experimental:api' + compile 'net.industrial-craft:industrialcraft-2:2.2.712-experimental:dev' compile "codechicken:CodeChickenLib:1.7.10-1.1.3.127:dev" compile "codechicken:CodeChickenCore:1.7.10-1.0.4.+:dev" compile "codechicken:NotEnoughItems:1.7.10-1.0.4.+:dev" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c6d244f83..363239303 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Apr 12 10:46:15 BST 2015 +#Sun Apr 12 11:14:36 BST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-all.zip diff --git a/src/main/java/techreborn/Core.java b/src/main/java/techreborn/Core.java index 6b1c0ae32..cf7484ea5 100644 --- a/src/main/java/techreborn/Core.java +++ b/src/main/java/techreborn/Core.java @@ -1,10 +1,12 @@ package techreborn; import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import techreborn.client.GuiHandler; +import techreborn.compat.CompatManager; import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; import techreborn.init.ModItems; @@ -23,8 +25,7 @@ public class Core { public static Core INSTANCE; @Mod.EventHandler - public void preinit(FMLPreInitializationEvent event) - { + public void preinit(FMLPreInitializationEvent event) { INSTANCE = this; String path = event.getSuggestedConfigurationFile().getAbsolutePath() .replace(ModInfo.MOD_ID, "TechReborn"); @@ -33,20 +34,21 @@ public class Core { LogHelper.info("PreInitialization Compleate"); } - @Mod.EventHandler - public void init(FMLPreInitializationEvent event) - { - //Register ModBlocks - ModBlocks.init(); - //Register ModItems - ModItems.init(); - // Recipes - ModRecipes.init(); - // WorldGen - GameRegistry.registerWorldGenerator(new TROreGen(), 0); - //Register Gui Handler - NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler()); + @Mod.EventHandler + public void init(FMLInitializationEvent event) { + //Register ModBlocks + ModBlocks.init(); + //Register ModItems + ModItems.init(); + // Recipes + ModRecipes.init(); + //Compat + CompatManager.init(event); + // WorldGen + GameRegistry.registerWorldGenerator(new TROreGen(), 0); + //Register Gui Handler + NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler()); LogHelper.info("Initialization Compleate"); - } + } } diff --git a/src/main/java/techreborn/compat/CompatManager.java b/src/main/java/techreborn/compat/CompatManager.java new file mode 100644 index 000000000..501ed9815 --- /dev/null +++ b/src/main/java/techreborn/compat/CompatManager.java @@ -0,0 +1,14 @@ +package techreborn.compat; + +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import techreborn.compat.waila.CompatModuleWaila; + +public class CompatManager { + + public static void init(FMLInitializationEvent event) { + if(Loader.isModLoaded("Waila")){ + new CompatModuleWaila().init(event); + } + } +} diff --git a/src/main/java/techreborn/compat/waila/CompatModuleWaila.java b/src/main/java/techreborn/compat/waila/CompatModuleWaila.java new file mode 100644 index 000000000..f2dc20330 --- /dev/null +++ b/src/main/java/techreborn/compat/waila/CompatModuleWaila.java @@ -0,0 +1,17 @@ +package techreborn.compat.waila; + +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLInterModComms; +import mcp.mobius.waila.api.IWailaRegistrar; +import techreborn.tiles.TileMachineBase; + +public class CompatModuleWaila { + + public void init(FMLInitializationEvent event) { + FMLInterModComms.sendMessage("Waila", "register", getClass().getName() + ".callbackRegister"); + } + + public static void callbackRegister(IWailaRegistrar registrar) { + registrar.registerBodyProvider(new WailaProviderMachines(), TileMachineBase.class); + } +} diff --git a/src/main/java/techreborn/compat/waila/WailaProviderMachines.java b/src/main/java/techreborn/compat/waila/WailaProviderMachines.java new file mode 100644 index 000000000..4d65672a9 --- /dev/null +++ b/src/main/java/techreborn/compat/waila/WailaProviderMachines.java @@ -0,0 +1,55 @@ +package techreborn.compat.waila; + +import java.util.ArrayList; +import java.util.List; + +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; +import mcp.mobius.waila.api.IWailaDataProvider; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import techreborn.tiles.TileMachineBase; + +public class WailaProviderMachines implements IWailaDataProvider { + + private List info = new ArrayList(); + + @Override + public List getWailaBody(ItemStack item, List tip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + + TileMachineBase machine = (TileMachineBase) accessor.getTileEntity(); + + machine.addWailaInfo(info); + tip.addAll(info); + info.clear(); + + return tip; + } + + @Override + public List getWailaHead(ItemStack item, List tip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + + return tip; + } + + @Override + public List getWailaTail(ItemStack item, List tip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + + return tip; + } + + @Override + public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) { + + return null; + } + + @Override + public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World w, int x, int y, int z) { + + return tag; + } +} diff --git a/src/main/java/techreborn/tiles/TileMachineBase.java b/src/main/java/techreborn/tiles/TileMachineBase.java new file mode 100644 index 000000000..ffc0ed4cb --- /dev/null +++ b/src/main/java/techreborn/tiles/TileMachineBase.java @@ -0,0 +1,15 @@ +package techreborn.tiles; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.tileentity.TileEntity; + +import java.util.List; + +public class TileMachineBase extends TileEntity { + + @SideOnly(Side.CLIENT) + public void addWailaInfo(List info) { + + } +} diff --git a/src/main/java/techreborn/tiles/TileQuantumChest.java b/src/main/java/techreborn/tiles/TileQuantumChest.java index e1d222166..eec651d02 100644 --- a/src/main/java/techreborn/tiles/TileQuantumChest.java +++ b/src/main/java/techreborn/tiles/TileQuantumChest.java @@ -14,8 +14,10 @@ import techreborn.util.FluidUtils; import techreborn.util.Inventory; import techreborn.util.ItemUtils; +import java.util.List; -public class TileQuantumChest extends TileEntity implements IInventory ,IWrenchable{ + +public class TileQuantumChest extends TileMachineBase implements IInventory ,IWrenchable{ //Slot 0 = Input //Slot 1 = Output @@ -214,4 +216,13 @@ public class TileQuantumChest extends TileEntity implements IInventory ,IWrencha return dropStack; } + @Override + public void addWailaInfo(List info) { + super.addWailaInfo(info); + if(storedItem != null){ + info.add(storedItem.stackSize + " of " + storedItem.getItem().getItemStackDisplayName(storedItem)); + } else { + info.add("Empty"); + } + } } diff --git a/src/main/java/techreborn/tiles/TileQuantumTank.java b/src/main/java/techreborn/tiles/TileQuantumTank.java index 7977adbd5..a13ff6528 100644 --- a/src/main/java/techreborn/tiles/TileQuantumTank.java +++ b/src/main/java/techreborn/tiles/TileQuantumTank.java @@ -19,7 +19,9 @@ import techreborn.util.FluidUtils; import techreborn.util.Inventory; import techreborn.util.Tank; -public class TileQuantumTank extends TileEntity implements IFluidHandler, IInventory, IWrenchable { +import java.util.List; + +public class TileQuantumTank extends TileMachineBase implements IFluidHandler, IInventory, IWrenchable { public Tank tank = new Tank("TileQuantumTank", Integer.MAX_VALUE, this); public Inventory inventory = new Inventory(3, "TileQuantumTank", 64); @@ -200,4 +202,14 @@ public class TileQuantumTank extends TileEntity implements IFluidHandler, IInven dropStack.stackTagCompound.setTag("tileEntity", tileEntity); return dropStack; } + + @Override + public void addWailaInfo(List info) { + super.addWailaInfo(info); + if(tank.getFluid() != null){ + info.add(tank.getFluidAmount() + " of " + tank.getFluidType().getName()); + } else { + info.add("Empty"); + } + } }