From 88edbebedc080f72d9a60e66895099601399c535 Mon Sep 17 00:00:00 2001 From: Parker Date: Fri, 8 Aug 2014 09:06:15 -0400 Subject: [PATCH] Added Waila Integration --- .gitignore | 9 +++ build.gradle | 61 +++++++++++++------ gradlew | 0 .../info/jbcs/minecraft/chisel/Chisel.java | 11 ++-- .../info/jbcs/minecraft/chisel/Waila.java | 43 +++++++++++++ 5 files changed, 101 insertions(+), 23 deletions(-) mode change 100644 => 100755 gradlew create mode 100644 src/main/java/info/jbcs/minecraft/chisel/Waila.java diff --git a/.gitignore b/.gitignore index 4da761ca..02499770 100644 --- a/.gitignore +++ b/.gitignore @@ -5,12 +5,21 @@ org.* bin +#idea +.idea +*.iml +*.ipr +*.iws +out + #gradle build .gradle #runtime +eclipse run #mac .DS_Store +*.command diff --git a/build.gradle b/build.gradle index c9b7a9ad..f3f98529 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,5 @@ buildscript { - repositories { - mavenCentral() maven { name = "forge" @@ -25,11 +23,33 @@ archivesBaseName = "Chisel" minecraft { version = "1.7.10-10.13.0.1180" - assetDir = "eclipse/assets" + runDir = "run" + + replaceIn "Chisel.java" + replace "@MOD_VERSION@", project.version +} + +repositories { + maven { + name = "ChickenBones" + url = "http://chickenbones.net/maven" + } + maven { + name = "ProfMobius" + url = "http://mobiusstrip.eu/maven" + } +} + +dependencies { + compile 'mcp.mobius.waila:Waila:1.5.3_1.7.10:dev' } processResources { + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' @@ -42,28 +62,35 @@ processResources from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } - } +// some crazy stuff to make sure the chicken stuff is in the mods folder... +// because it wont work otherwise... because FML doesnt laod coremods from the classpath +task copyChicken(type: Copy, dependsOn: "extractUserDev") { + from { configurations.compile } + include "**/*Chicken*.jar", "**/*NotEnoughItems*.jar" + exclude "**/CodeChickenLib*" // because CCC downloads it anyways.. -_- + into file(minecraft.runDir + "/mods") + + mustRunAfter "deobfBinJar" + mustRunAfter "repackMinecraft" +} +tasks.setupDevWorkspace.dependsOn copyChicken +tasks.setupDecompWorkspace.dependsOn copyChicken + // Create deobf dev jars task deobfJar(type: Jar) { - from(sourceSets.main.output) { - appendix = 'deobf' - } + from sourceSets.main.output + classifier = 'deobf' } -// Create API library zip -task apiZip(type: Zip) { - from(sourceSets.main.java) { - - } - classifier = 'api' +// Create source attachment for dev jar +task sourcesJar(type: Jar) { + from sourceSets.main.allJava + classifier = 'sources' } -apiZip.mustRunAfter deobfJar - - artifacts { archives deobfJar - archives apiZip + archives sourcesJar } \ No newline at end of file diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/info/jbcs/minecraft/chisel/Chisel.java b/src/main/java/info/jbcs/minecraft/chisel/Chisel.java index c60ae400..37242474 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/Chisel.java +++ b/src/main/java/info/jbcs/minecraft/chisel/Chisel.java @@ -6,11 +6,8 @@ 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.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLMissingMappingsEvent; +import cpw.mods.fml.common.event.*; import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.NetworkRegistry; @@ -38,7 +35,7 @@ import net.minecraftforge.common.config.Configuration; import java.io.File; -@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = "1.5.6", guiFactory = "info.jbcs.minecraft.chisel.client.gui.GuiFactory"/*, dependencies = "after:ForgeMicroblock;"*/) +@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = "@MOD_VERSION@", guiFactory = "info.jbcs.minecraft.chisel.client.gui.GuiFactory"/*, dependencies = "after:ForgeMicroblock;"*/) public class Chisel { public static final String MOD_ID = "chisel"; @@ -62,7 +59,7 @@ public class Chisel public static int RenderCTMId; public static int RenderCarpetId; - @Instance("chisel") + @Instance(MOD_ID) public static Chisel instance; @SidedProxy(clientSide = "info.jbcs.minecraft.chisel.ClientProxy", serverSide = "info.jbcs.minecraft.chisel.CommonProxy") @@ -155,6 +152,8 @@ public class Chisel proxy.init(); MinecraftForge.EVENT_BUS.register(this); FMLCommonHandler.instance().bus().register(instance); + + FMLInterModComms.sendMessage("Waila", "register", "info.jbcs.minecraft.chisel.Waila.register"); } @EventHandler diff --git a/src/main/java/info/jbcs/minecraft/chisel/Waila.java b/src/main/java/info/jbcs/minecraft/chisel/Waila.java new file mode 100644 index 00000000..95ad90f1 --- /dev/null +++ b/src/main/java/info/jbcs/minecraft/chisel/Waila.java @@ -0,0 +1,43 @@ +package info.jbcs.minecraft.chisel; + +import java.util.List; + +import net.minecraft.item.ItemStack; + +import info.jbcs.minecraft.chisel.block.BlockCarvable; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; +import mcp.mobius.waila.api.IWailaDataProvider; +import mcp.mobius.waila.api.IWailaRegistrar; + +public class Waila implements IWailaDataProvider { + + @Override + public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler configHandler) { + return null; + } + + @Override + public List getWailaHead(ItemStack stack, List strings, IWailaDataAccessor accessor, IWailaConfigHandler configHandler) { + return strings; + } + + @Override + public List getWailaBody(ItemStack stack, List strings, IWailaDataAccessor accessor, IWailaConfigHandler configHandler) { + if(accessor.getBlock() instanceof BlockCarvable) { + BlockCarvable block = (BlockCarvable)accessor.getBlock(); + strings.add(block.getVariation(accessor.getMetadata()).description); + } + return strings; + } + + @Override + public List getWailaTail(ItemStack stack, List strings, IWailaDataAccessor accessor, IWailaConfigHandler configHandler) { + return strings; + } + + public static void register(IWailaRegistrar registrar) { + Waila instance = new Waila(); + registrar.registerBodyProvider(instance, BlockCarvable.class); + } +}