For modders:
How to:
Intercept a block harvest (change the drops without editing block class at all):
public class MyClass implements IInterceptHarvest { public MyClass() { SAPI.interceptAdd(this); } public boolean canIntercept(fd world, gs player, Loc loc, int blockID, int meta) { return blockID == 1 || blockID == 4; } public void intercept(fd world, gs player, Loc loc, int blockID, int meta) { SAPI.drop(world,loc,new iz(1,1,0)); } }Intercept block placing (block the placing without without editing block class at all):
public class MyClass implements IInterceptBlockSet { public MyClass() { SAPI.interceptAdd(this); } public boolean canIntercept(fd world, Loc loc, int blockID) { return blockID == 10 || blockID == 11; } public int intercept(fd world, Loc loc, int blockID) { return 49; } }Change the reach of an item (useful for lances, etc.):
public class MyClass implements IReach { public MyClass() { SAPI.reachAdd(this); } public boolean reachItemMatches(iz stack) { if (stack == null) return false; return stack.c == 280; } public float getReach(iz stack) { return 10F; //4 is the default reach } }Add new mobs to dungeons:
SAPI.dungeonAddMob("Creeper");Add new items in dungeon chests:
SAPI.dungeonAddItem(new DungeonLoot(new iz(327,1,0)));Make your own page in achievements GUI:
ny ac1 = new ny(12345,"acTest1",0,0,gm.bb,null).c(); ModLoader.AddAchievementDesc(ac1,"My 1st achievement","Just a test achievement"); ny ac2 = new ny(12346,"acTest2",0,2,gm.bb,ac1).c(); ModLoader.AddAchievementDesc(ac2,"My 2nd achievement","Another test achievement"); ACPage myPage = new ACPage("My Page"); myPage.addAchievements(ac1,ac2);Add new block to pickaxe’s minable blocks list:
ToolBase.Pickaxe.mineBlocks.add(new BlockHarvestPower(17,20)); //where 20 is equivalent to wood/gold, 40 - stone, 60 - iron, 80 - diamondIf you want to add a new tool, then DON’T USE the regular ItemTool, nor ItemPickaxe etc. AT ALL. Use Tool instead, and set proper ToolBase for your tool.
Download Link:
http://www.mediafire.com/?rna7ytt861x43zn