Added waila support for crates
This commit is contained in:
parent
679c1f88dc
commit
3c2f73a27b
5 changed files with 228 additions and 112 deletions
|
@ -1,21 +1,5 @@
|
||||||
package resonantinduction.archaic;
|
package resonantinduction.archaic;
|
||||||
|
|
||||||
import calclavia.lib.content.ContentRegistry;
|
|
||||||
import calclavia.lib.network.PacketAnnotation;
|
|
||||||
import calclavia.lib.network.PacketHandler;
|
|
||||||
import calclavia.lib.prefab.item.ItemBlockMetadata;
|
|
||||||
import calclavia.lib.recipe.UniversalRecipe;
|
|
||||||
import cpw.mods.fml.common.Mod;
|
|
||||||
import cpw.mods.fml.common.Mod.EventHandler;
|
|
||||||
import cpw.mods.fml.common.Mod.Instance;
|
|
||||||
import cpw.mods.fml.common.ModMetadata;
|
|
||||||
import cpw.mods.fml.common.SidedProxy;
|
|
||||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
|
||||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
|
||||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
|
||||||
import cpw.mods.fml.common.network.NetworkMod;
|
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -41,25 +25,39 @@ import resonantinduction.archaic.process.BlockCastingMold;
|
||||||
import resonantinduction.archaic.process.BlockMillstone;
|
import resonantinduction.archaic.process.BlockMillstone;
|
||||||
import resonantinduction.archaic.process.TileCastingMold;
|
import resonantinduction.archaic.process.TileCastingMold;
|
||||||
import resonantinduction.archaic.process.TileMillstone;
|
import resonantinduction.archaic.process.TileMillstone;
|
||||||
|
import resonantinduction.archaic.waila.Waila;
|
||||||
import resonantinduction.core.Reference;
|
import resonantinduction.core.Reference;
|
||||||
import resonantinduction.core.ResonantInduction;
|
import resonantinduction.core.ResonantInduction;
|
||||||
import resonantinduction.core.Settings;
|
import resonantinduction.core.Settings;
|
||||||
import resonantinduction.core.TabRI;
|
import resonantinduction.core.TabRI;
|
||||||
import resonantinduction.core.prefab.imprint.ItemImprint;
|
import resonantinduction.core.prefab.imprint.ItemImprint;
|
||||||
import resonantinduction.core.resource.ItemHandCrank;
|
import resonantinduction.core.resource.ItemHandCrank;
|
||||||
|
import calclavia.lib.content.ContentRegistry;
|
||||||
|
import calclavia.lib.modproxy.ProxyHandler;
|
||||||
|
import calclavia.lib.network.PacketAnnotation;
|
||||||
|
import calclavia.lib.network.PacketHandler;
|
||||||
|
import calclavia.lib.prefab.item.ItemBlockMetadata;
|
||||||
|
import calclavia.lib.recipe.UniversalRecipe;
|
||||||
|
import cpw.mods.fml.common.Mod;
|
||||||
|
import cpw.mods.fml.common.Mod.EventHandler;
|
||||||
|
import cpw.mods.fml.common.Mod.Instance;
|
||||||
|
import cpw.mods.fml.common.ModMetadata;
|
||||||
|
import cpw.mods.fml.common.SidedProxy;
|
||||||
|
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||||
|
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||||
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||||
|
import cpw.mods.fml.common.network.NetworkMod;
|
||||||
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||||
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
/**
|
/** Resonant Induction Archaic Module
|
||||||
* Resonant Induction Archaic Module
|
|
||||||
*
|
*
|
||||||
* @author DarkCow, Calclavia
|
* @author DarkCow, Calclavia */
|
||||||
*/
|
|
||||||
@Mod(modid = Archaic.ID, name = Archaic.NAME, version = Reference.VERSION, dependencies = "required-after:" + ResonantInduction.ID)
|
@Mod(modid = Archaic.ID, name = Archaic.NAME, version = Reference.VERSION, dependencies = "required-after:" + ResonantInduction.ID)
|
||||||
@NetworkMod(channels = Reference.CHANNEL, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
|
@NetworkMod(channels = Reference.CHANNEL, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
|
||||||
public class Archaic
|
public class Archaic
|
||||||
{
|
{
|
||||||
/**
|
/** Mod Information */
|
||||||
* Mod Information
|
|
||||||
*/
|
|
||||||
public static final String ID = "ResonantInduction|Archaic";
|
public static final String ID = "ResonantInduction|Archaic";
|
||||||
public static final String NAME = Reference.NAME + " Archaic";
|
public static final String NAME = Reference.NAME + " Archaic";
|
||||||
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, Settings.idManager, ID).setPrefix(Reference.PREFIX).setTab(TabRI.DEFAULT);
|
public static final ContentRegistry contentRegistry = new ContentRegistry(Settings.CONFIGURATION, Settings.idManager, ID).setPrefix(Reference.PREFIX).setTab(TabRI.DEFAULT);
|
||||||
|
@ -89,9 +87,12 @@ public class Archaic
|
||||||
public static Block blockGutter;
|
public static Block blockGutter;
|
||||||
public static Block blockTank;
|
public static Block blockTank;
|
||||||
|
|
||||||
|
public ProxyHandler modproxies;
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void preInit(FMLPreInitializationEvent evt)
|
public void preInit(FMLPreInitializationEvent evt)
|
||||||
{
|
{
|
||||||
|
modproxies = new ProxyHandler();
|
||||||
NetworkRegistry.instance().registerGuiHandler(this, proxy);
|
NetworkRegistry.instance().registerGuiHandler(this, proxy);
|
||||||
Settings.CONFIGURATION.load();
|
Settings.CONFIGURATION.load();
|
||||||
blockEngineeringTable = contentRegistry.newBlock(TileEngineeringTable.class);
|
blockEngineeringTable = contentRegistry.newBlock(TileEngineeringTable.class);
|
||||||
|
@ -111,12 +112,13 @@ public class Archaic
|
||||||
itemImprint = contentRegistry.createItem(ItemImprint.class);
|
itemImprint = contentRegistry.createItem(ItemImprint.class);
|
||||||
itemHammer = contentRegistry.createItem(ItemHammer.class);
|
itemHammer = contentRegistry.createItem(ItemHammer.class);
|
||||||
|
|
||||||
proxy.preInit();
|
modproxies.applyModule(Waila.class, true);
|
||||||
Settings.CONFIGURATION.save();
|
Settings.CONFIGURATION.save();
|
||||||
|
|
||||||
PacketAnnotation.register(TileFirebox.class);
|
PacketAnnotation.register(TileFirebox.class);
|
||||||
PacketAnnotation.register(TileFilter.class);
|
PacketAnnotation.register(TileFilter.class);
|
||||||
proxy.preInit();
|
proxy.preInit();
|
||||||
|
modproxies.preInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -124,6 +126,7 @@ public class Archaic
|
||||||
{
|
{
|
||||||
Settings.setModMetadata(metadata, ID, NAME, ResonantInduction.ID);
|
Settings.setModMetadata(metadata, ID, NAME, ResonantInduction.ID);
|
||||||
proxy.init();
|
proxy.init();
|
||||||
|
modproxies.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -164,5 +167,6 @@ public class Archaic
|
||||||
GameRegistry.addRecipe(new ShapedOreRecipe(itemImprint, "PPP", "PIP", "PPP", 'P', Item.paper, 'I', new ItemStack(Item.dyePowder, 0)));
|
GameRegistry.addRecipe(new ShapedOreRecipe(itemImprint, "PPP", "PIP", "PPP", 'P', Item.paper, 'I', new ItemStack(Item.dyePowder, 0)));
|
||||||
GameRegistry.addRecipe(new ShapedOreRecipe(itemHammer, "CC ", "CS ", " S", 'C', "cobblestone", 'S', "stickWood"));
|
GameRegistry.addRecipe(new ShapedOreRecipe(itemHammer, "CC ", "CS ", " S", 'C', "cobblestone", 'S', "stickWood"));
|
||||||
proxy.postInit();
|
proxy.postInit();
|
||||||
|
modproxies.postInit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package resonantinduction.archaic.waila;
|
||||||
|
|
||||||
|
import calclavia.lib.modproxy.ICompatProxy;
|
||||||
|
import calclavia.lib.utility.Mods;
|
||||||
|
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since 21/03/14
|
||||||
|
* @author tgame14
|
||||||
|
*/
|
||||||
|
public class Waila implements ICompatProxy
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void preInit ()
|
||||||
|
{
|
||||||
|
// nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init ()
|
||||||
|
{
|
||||||
|
FMLInterModComms.sendMessage(Mods.WAILA(), "register", "resonantinduction.archaic.waila.WailaRegistrar.wailaCallBack");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void postInit ()
|
||||||
|
{
|
||||||
|
// nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String modId ()
|
||||||
|
{
|
||||||
|
return Mods.WAILA();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
package resonantinduction.archaic.waila;
|
||||||
|
|
||||||
|
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.item.ItemStack;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import resonantinduction.archaic.crate.TileCrate;
|
||||||
|
import calclavia.lib.utility.LanguageUtility;
|
||||||
|
|
||||||
|
/** Waila support for crates
|
||||||
|
*
|
||||||
|
* @author Darkguardsman */
|
||||||
|
public class WailaCrate implements IWailaDataProvider
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
|
||||||
|
{
|
||||||
|
TileEntity tile = accessor.getTileEntity();
|
||||||
|
if (tile instanceof TileCrate)
|
||||||
|
{
|
||||||
|
ItemStack stored = ((TileCrate) tile).getSampleStack();
|
||||||
|
int cap = ((TileCrate) tile).getSlotCount() * 64;
|
||||||
|
if (stored != null)
|
||||||
|
{
|
||||||
|
currenttip.add(LanguageUtility.getLocal("info.waila.crate.stack") + stored.getDisplayName());
|
||||||
|
currenttip.add(LanguageUtility.getLocal("info.waila.crate.stored") + stored.stackSize + " / " + cap);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
currenttip.add(LanguageUtility.getLocal("info.waila.crate.empty"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return currenttip;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
|
||||||
|
{
|
||||||
|
return currenttip;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
|
||||||
|
{
|
||||||
|
return currenttip;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package resonantinduction.archaic.waila;
|
||||||
|
|
||||||
|
import mcp.mobius.waila.api.IWailaRegistrar;
|
||||||
|
import resonantinduction.archaic.crate.TileCrate;
|
||||||
|
|
||||||
|
public class WailaRegistrar
|
||||||
|
{
|
||||||
|
public static void wailaCallBack(IWailaRegistrar registrar)
|
||||||
|
{
|
||||||
|
registrar.registerBodyProvider(new WailaCrate(), TileCrate.class);
|
||||||
|
}
|
||||||
|
}
|
|
@ -31,6 +31,7 @@ import resonantinduction.electrical.wire.EnumWireMaterial;
|
||||||
import resonantinduction.electrical.wire.ItemWire;
|
import resonantinduction.electrical.wire.ItemWire;
|
||||||
import resonantinduction.quantum.gate.ItemQuantumGlyph;
|
import resonantinduction.quantum.gate.ItemQuantumGlyph;
|
||||||
import calclavia.lib.content.ContentRegistry;
|
import calclavia.lib.content.ContentRegistry;
|
||||||
|
import calclavia.lib.modproxy.ProxyHandler;
|
||||||
import calclavia.lib.network.PacketHandler;
|
import calclavia.lib.network.PacketHandler;
|
||||||
import calclavia.lib.recipe.UniversalRecipe;
|
import calclavia.lib.recipe.UniversalRecipe;
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
|
@ -98,9 +99,12 @@ public class Electrical
|
||||||
public static Block blockQuantumGate;
|
public static Block blockQuantumGate;
|
||||||
public static Item itemQuantumGlyph;
|
public static Item itemQuantumGlyph;
|
||||||
|
|
||||||
|
public ProxyHandler modproxies;
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void preInit(FMLPreInitializationEvent evt)
|
public void preInit(FMLPreInitializationEvent evt)
|
||||||
{
|
{
|
||||||
|
modproxies = new ProxyHandler();
|
||||||
NetworkRegistry.instance().registerGuiHandler(this, proxy);
|
NetworkRegistry.instance().registerGuiHandler(this, proxy);
|
||||||
|
|
||||||
Settings.CONFIGURATION.load();
|
Settings.CONFIGURATION.load();
|
||||||
|
@ -149,6 +153,7 @@ public class Electrical
|
||||||
}
|
}
|
||||||
|
|
||||||
proxy.preInit();
|
proxy.preInit();
|
||||||
|
modproxies.preInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -157,6 +162,7 @@ public class Electrical
|
||||||
Settings.setModMetadata(metadata, ID, NAME, ResonantInduction.ID);
|
Settings.setModMetadata(metadata, ID, NAME, ResonantInduction.ID);
|
||||||
MultipartElectrical.INSTANCE = new MultipartElectrical();
|
MultipartElectrical.INSTANCE = new MultipartElectrical();
|
||||||
proxy.init();
|
proxy.init();
|
||||||
|
modproxies.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -225,5 +231,6 @@ public class Electrical
|
||||||
}
|
}
|
||||||
|
|
||||||
proxy.postInit();
|
proxy.postInit();
|
||||||
|
modproxies.postInit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue