Well I couldn't get it to work i don't want it to move i just want an idle entity for now. It's confusing to fiddle around because of all the coding to make it move.
I would assume so, as everyone call tile entities "non living entities'. you dont really need a tile entity for block models anyway. i dont know ask him if it is a block or a mob.
Well I meant an entity such as a boat I get extremely mad when i search custom entity tutorial and get mob tutorials i mean to find an entity for something like a boat or minecart without movement but when i search non living entity i get tile entities even though i am happy with what i have it would be nice to find thorough updated tutorial on entities.
hey, when i was trying to make some slabs using your tutorial i got some errors at proxy and CommonProxy. i thought i could ignore them so i started the test up anyways and got a black screen. i dont know what is wrong or how to fix it. so i was wondering if you knew. did i do something wrong?
//Items
public static Item chocolatemilk;
public static Item whitechocolatemilk;
public static Item darkchocolatemilk;
public static Item lightchocolatemilk;
public static Item fruitbits;
public static Item lightchocolatelump;
public static Item bowlmilk;
//Food
public static Item chocolatebar;
public static Item whitechocolatebar;
public static Item darkchocolatebar;
public static Item lightchocolatebar;
public static Item fruitychocolatebar;
public static Item fruitywhitechocolatebar;
public static Item fruitydarkchocolatebar;
public static Item fruitylightchocolatebar;
public static Item chocolateapple;
public static Item darkchocolateapple;
public static Item lightchocolateapple;
public static Item whitechocolateapple;
public static Item cookiesandcreambar;
public static Item chocolateball;
public static Item darkchocolateball;
public static Item lightchocolateball;
public static Item whitechocolateball;
public static Item fruitychocolateball;
public static Item fruitydarkchocolateball;
public static Item fruitylightchocolateball;
public static Item fruitywhitechocolateball;
//Blocks
public static Block chocolateblock;
public static Block whitechocolateblock;
public static Block darkchocolateblock;
public static Block lightchocolateblock;
public static Block fruitychocolateblock;
public static Block fruitywhitechocolateblock;
public static Block fruitydarkchocolateblock;
public static Block fruitylightchocolateblock;
public static Block cookiesandcreamblock;
public static Block ChocolateMould;
public static Block ChocolateBallMould;
public static Block hardenedchocolateblock;
public static Block hardeneddarkchocolateblock;
public static Block hardenedlightchocolateblock;
public static Block hardenedwhitechocolateblock;
public static Block chocolatebrick;
public static Block darkchocolatebrick;
public static Block lightchocolatebrick;
public static Block whitechocolatebrick;
public static Block chocolatepiller;
public static Block darkchocolatepiller;
public static Block lightchocolatepiller;
public static Block whitechocolatepiller;
public static Block chocolatebrick_carved;
public static Block darkchocolatebrick_carved;
public static Block lightchocolatebrick_carved;
public static Block whitechocolatebrick_carved;
public static Block chocolateblock_chiseled;
public static Block darkchocolateblock_chiseled;
public static Block lightchocolateblock_chiseled;
public static Block whitechocolateblock_chiseled;
public static Block chocolatebrickstairs;
public static Block darkchocolatebrickstairs;
public static Block lightchocolatebrickstairs;
public static Block whitechocolatebrickstairs;
public static Block chocolatefence;
public static Block darkchocolatefence;
public static Block lightchocolatefence;
public static Block whitechocolatefence;
//Slabs
public static BlockHalfSlab chocolatebrickdouble;
public static BlockHalfSlab chocolatebricksingle;
//Slabs
public static int chocolatebricksingleID;
public static int chocolatebrickdoubleID;
@SidedProxy(clientSide = "yourpackage.client.ClientProxy", serverSide = "yourpackage.CommonProxy")
public static CommonProxy proxy;
@cpw.mods.fml.common.Mod.PostInit
public void PostInit(FMLPostInitializationEvent event)
{
Item.itemsList[chocolatebricksingle.blockID] = (new ItemSlab(chocolatebricksingle.blockID - 256, (BlockHalfSlab)chocolatebricksingle, (BlockHalfSlab)chocolatebrickdouble, false));
}
//Cake
public static Block ChocolateCake = (new BlockChocolateCake(1008)).setUnlocalizedName("chocolatecake").setStepSound(Block.soundClothFootstep);
public static Item ChocolateCake1 = (new ItemReed(2020, ChocolateMod.ChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:chocolatecake").setCreativeTab(CreativeTabs.tabFood);
public static Block DarkChocolateCake = (new BlockDarkChocolateCake(1009)).setUnlocalizedName("darkchocolatecake").setStepSound(Block.soundClothFootstep);
public static Item DarkChocolateCake1 = (new ItemReed(2021, ChocolateMod.DarkChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:darkchocolatecake").setCreativeTab(CreativeTabs.tabFood);
public static Block LightChocolateCake = (new BlockLightChocolateCake(1010)).setUnlocalizedName("lightchocolatecake").setStepSound(Block.soundClothFootstep);
public static Item LightChocolateCake1 = (new ItemReed(2022, ChocolateMod.LightChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:lightchocolatecake").setCreativeTab(CreativeTabs.tabFood);
public static Block WhiteChocolateCake = (new BlockWhiteChocolateCake(1011)).setUnlocalizedName("whitechocolatecake").setStepSound(Block.soundClothFootstep);
public static Item WhiteChocolateCake1 = (new ItemReed(2023, ChocolateMod.WhiteChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:whitechocolatecake").setCreativeTab(CreativeTabs.tabFood);
//Brewing
public static Block BlockMilkCauldron =(new BlockMilkCauldron(1014)).setHardness(2.0F).setUnlocalizedName("milkcauldron");
public static int milkCauldronRenderID;
public static Block BlockWhiteChocolateMilk =(new BlockWhiteChocolateMilkCauldron(1015)).setHardness(2.0F).setUnlocalizedName("Whitechocolatemilkcauldron");
public static int whiteChocolatemilkCauldronRenderID;
public static Block LightBlockChocolateMilk =(new BlockLightChocolateMilkCauldron(1016)).setHardness(2.0F).setUnlocalizedName("Lightchocolatemilkcauldron");
public static int LightChocolatemilkCauldronRenderID;
public static Block BlockChocolateMilk =(new BlockChocolateMilkCauldron(1017)).setHardness(2.0F).setUnlocalizedName("chocolatemilkcauldron");
public static int ChocolatemilkCauldronRenderID;
//Moulding
//CreativeTab
public static CreativeTabs tabChocolateFood = new CreativeTabs("tabChocolateFood") {
public ItemStack getIconItemStack() {
return new ItemStack(chocolatebar, 1, 0);
}
};
public static CreativeTabs tabChocolateBlocks = new CreativeTabs("tabChocolateBlocks") {
public ItemStack getIconItemStack() {
return new ItemStack(chocolateblock, 1, 0);
}
};
public static CreativeTabs tabChocolateMisc = new CreativeTabs("tabChocolateMisc") {
public ItemStack getIconItemStack() {
return new ItemStack(chocolatemilk, 1, 0);
}
};
//Declaring Init
@Init
public void load(FMLInitializationEvent event){
// define items/blocks
//Items
chocolatemilk = new chocolatemilk(2027, 2, false).setUnlocalizedName("Chocolate:chocolatemilk");
whitechocolatemilk = new mods.Chocolate.whitechocolatemilk(2030, 2, false).setUnlocalizedName("Chocolate:whitechocolatemilk");
darkchocolatemilk = new darkchocolatemilk(2032, 2, false).setUnlocalizedName("Chocolate:darkchocolatemilk");
lightchocolatemilk = new lightchocolatemilk(2013, 2, false).setUnlocalizedName("Chocolate:lightchocolatemilk");
fruitbits = new fruitbits(2014).setUnlocalizedName("Chocolate:fruitbits");
lightchocolatelump = new chocolatelump(2038).setUnlocalizedName("Chocolate:lightchocolatelump");
bowlmilk = new bowlmilk(2025, 2,false).setUnlocalizedName("Chocolate:bowlmilk");
//Food
chocolatebar = new itemchocolatefood(2028, 4, false).setUnlocalizedName("Chocolate:chocolatebar");
whitechocolatebar = new itemchocolatefood(2029, 4, false).setUnlocalizedName("Chocolate:whitechocolatebar");
darkchocolatebar = new itemchocolatefood(2031, 4, false).setUnlocalizedName("Chocolate:darkchocolatebar");
lightchocolatebar = new itemchocolatefood(2034, 4, false).setUnlocalizedName("Chocolate:lightchocolatebar");
fruitychocolatebar = new itemchocolatefood(2035, 6, false).setUnlocalizedName("Chocolate:fruitychocolatebar");
fruitywhitechocolatebar = new itemchocolatefood(2036, 6, false).setUnlocalizedName("Chocolate:fruitywhitechocolatebar");
fruitydarkchocolatebar = new itemchocolatefood(2037, 6, false).setUnlocalizedName("Chocolate:fruitydarkchocolatebar");
fruitylightchocolatebar = new itemchocolatefood( 2015, 6, false).setUnlocalizedName("Chocolate:fruitylightchocolatebar");
chocolateapple = new chocolateapple(2016, 4, false).setUnlocalizedName("Chocolate:chocolateApple");
darkchocolateapple = new chocolateapple(2017, 4, false).setUnlocalizedName("Chocolate:darkchocolateApple");
lightchocolateapple = new chocolateapple(2018, 4, false).setUnlocalizedName("Chocolate:lightchocolateApple");
whitechocolateapple = new chocolateapple(2019, 4, false).setUnlocalizedName("Chocolate:whitechocolateApple");
cookiesandcreambar = new itemchocolatefood(2024, 4, false).setUnlocalizedName("Chocolate:cookiesandcreambar");
chocolateball = new itemchocolatefood(2039, 6, false).setUnlocalizedName("Chocolate:chocolateball");
darkchocolateball = new itemchocolatefood(2040, 6, false).setUnlocalizedName("Chocolate:darkchocolateball");
lightchocolateball = new itemchocolatefood(2041, 6, false).setUnlocalizedName("Chocolate:lightchocolateball");
whitechocolateball = new itemchocolatefood(2042, 6, false).setUnlocalizedName("Chocolate:whitechocolateball");
fruitychocolateball = new itemchocolatefood(2043, 8, false).setUnlocalizedName("Chocolate:fruitychocolateball");
fruitydarkchocolateball = new itemchocolatefood(2044, 8, false).setUnlocalizedName("Chocolate:fruitydarkchocolateball");
fruitylightchocolateball = new itemchocolatefood(2045, 8, false).setUnlocalizedName("Chocolate:fruitylightchocolateball");
fruitywhitechocolateball = new itemchocolatefood(2046, 8, false). setUnlocalizedName("Chocolate:fruitywhitechocolateball");
fruitywhitechocolateblock = new fruitywhitechocolateblock(1004, Material.rock).setUnlocalizedName("Chocolate:fruitywhitechocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitywhitechocolateblock, "White Fruit Chocolate Block");
GameRegistry.registerBlock(fruitywhitechocolateblock,"White Fruit Chocolate Block");
fruitydarkchocolateblock = new fruitydarkchocolateblock(1005, Material.rock).setUnlocalizedName("Chocolate:fruitydarkchocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitydarkchocolateblock, "Dark Fruit Chocolate Block");
GameRegistry.registerBlock(fruitydarkchocolateblock, "Dark Fruit Chocolate Block");
fruitylightchocolateblock = new fruitylightchocolateblock(1007, Material.rock).setUnlocalizedName("Chocolate:fruitylightchocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitylightchocolateblock, "Light Fruit Chocolate Block");
GameRegistry.registerBlock(fruitylightchocolateblock, "Light Fruit Chocolate Block");
cookiesandcreamblock = new cookiesandcreamblock(1012, Material.rock).setUnlocalizedName("Chocolate:cookiesandcreamblock");
GameRegistry.registerBlock(cookiesandcreamblock, "Cookeis And Cream Block");
LanguageRegistry.addName(bowlmilk, "Bowl of Milk");
ChocolateMould = (new BlockBarMould( 1018)).setHardness(2.0F).setUnlocalizedName("barmould").setCreativeTab(CreativeTabs.tabBlock);
LanguageRegistry.addName(ChocolateMould, "Chocolate Bar Mould");
GameRegistry.registerBlock(ChocolateMould, "Chocolate Bar Mould");
hardeneddarkchocolateblock = new hardeneddarkchocolateblock(1021, Material.iron).setHardness(4).setResistance(11).setUnlocalizedName("Chocolate:harddarkblockofchocolate");
LanguageRegistry.addName(hardeneddarkchocolateblock, "Hardened Dark Chocolate Block");
GameRegistry.registerBlock(hardeneddarkchocolateblock, "Hardened Dark Chocolate Block");
hardenedwhitechocolateblock = new hardenedwhitechocolateblock(1023, Material.iron).setHardness(4).setResistance(11).setUnlocalizedName("Chocolate:hardwhiteblockofchocolate");
LanguageRegistry.addName(hardenedwhitechocolateblock, "Hardened White Chocolate Block");
GameRegistry.registerBlock(hardenedwhitechocolateblock, "Hardened White Chocolate Block");
//Brewing
RenderingRegistry.registerBlockHandler(milkCauldronRenderID, new RenderMilkCauldron() );
RenderingRegistry.registerBlockHandler(whiteChocolatemilkCauldronRenderID, new RenderWhiteChocolateMilkCauldron() );
RenderingRegistry.registerBlockHandler(LightChocolatemilkCauldronRenderID, new RenderLightChocolateMilkCauldron() );
RenderingRegistry.registerBlockHandler(ChocolatemilkCauldronRenderID, new RenderChocolateMilkCauldron() );
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
if (par1 != ChocolateMod.chocolatebrickdouble.blockID)
{
par3List.add(new ItemStack(par1, 1, 0));
}
}
}
and at one point i just simply deleted the lines with the errors in them but i got this error.
error report
---- Minecraft Crash Report ----
// Why is it breaking
Time: 7/12/13 2:46 PM
Description: Failed to start game
java.lang.IllegalArgumentException: Slot 0 is already occupied by [email protected] when adding [email protected]
at net.minecraft.block.Block.<init>(Block.java:340)
at net.minecraft.block.BlockHalfSlab.<init>(BlockHalfSlab.java:20)
at mods.Chocolate.BlockchocolatebrickSlab.<init>(BlockchocolatebrickSlab.java:20)
at mods.Chocolate.ChocolateMod.load(ChocolateMod.java:389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:494)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:192)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:103)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:213)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:448)
at net.minecraft.client.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:44)
at net.minecraft.client.Minecraft.run(Minecraft.java:733)
at java.lang.Thread.run(Unknown Source)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.5.2
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_21, Oracle Corporation
Java VM Version: Java HotSpotâ„¢ 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 976615016 bytes (931 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v7.51 FML v5.2.23.736 Minecraft Forge 7.8.0.736 4 mods loaded, 4 mods active
mcp{7.51} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
FML{5.2.23.736} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized
Forge{7.8.0.736} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized
Killerjdog51{v1.5} [Chocolate Mod] (bin) Unloaded->Constructed->Pre-initialized->Errored
LWJGL: 2.4.2
OpenGL: Intel® HD Graphics Family GL version 3.1.0 - Build 8.15.10.2559, Intel
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Texture Pack: Default
Profiler Position: N/A (disabled)
Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
BTW i am on minecraft 1.5.2, im pretty sure that nothing changed with the code from 1.5.1 to 1.5.2 correct?
derp. sorry, i guess i always thought that you needed an id in the block class. so i accidently had both the double and single slabs use the same id. but now that i fixed that it works perfectly. well except for the textures, but i can fix that eventually.
glad to hear it, and just a note....you should always have the postinit at the bottom, not really necessary I guess, but I had some problems with it once being there at the top so now I always just do preinit, load, and then the post init
Hey nice tut micro! Here's what I did with it to add different trades to different villager types, as well as adding in trades that require multiple items or use metadata:
In the main mod:
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
// iterate through all the villager types and add their new trades
for (int i = 0; i < 5; ++i) {
VillagerRegistry.instance().registerVillageTradeHandler(i, new TradeHandler());
}
}
Then the trade handler class:
public class TradeHandler implements IVillageTradeHandler
{
@Override
public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random)
{
switch(villager.getProfession()) {
case 0: // FARMER
// standard trade
recipeList.add(new MerchantRecipe(new ItemStack(Item.emerald, 2), new ItemStack(YourMod.youritem, 1)));
break;
case 1: // LIBRARIAN
// use metadata in either case
recipeList.add(new MerchantRecipe(new ItemStack(Item.dye, 4, 15), // dye of metadata 15 is bonemeal, so we need 4 bonemeals
new ItemStack(YourMod.youritem, 1, 6))); // to buy 1 mod item of metadata value 6
break;
case 2: // PRIEST
// trading two itemstacks for one itemstack in return
recipeList.add(new MerchantRecipe(new ItemStack(Item.emerald, 6), new ItemStack(YourMod.youritem1, 2), new ItemStack(YourMod.youritem2, 2)));
break;
case 3: // BLACKSMITH
// using the passed in Random to randomize amounts; nextInt(value) returns an int between 0 and value (non-inclusive)
recipeList.add(new MerchantRecipe(new ItemStack(Item.emerald, 6 + random.nextInt(6)), new ItemStack(YourMod.youritem1, 5 + random.nextInt(4)), new ItemStack(YourMod.youritem2, 1)));
break;
case 4: // BUTCHER
// You can also add directly to the villager with 2 different methods:
// Method 1: takes the list, an item ID that may be bought OR sold, rand, and a float value that
// determines how common the trade is. The price of the item is determined in the HashMap
// blacksmithSellingList, which we'll add our custom Item to first:
villager.blacksmithSellingList.put(Integer.valueOf(YourMod.yourItem.itemID), new Tuple(Integer.valueOf(4), Integer.valueOf(8)));
// Then add the trade, which will buy or sell for between 4 and 8 emeralds
villager.addBlacksmithItem(recipeList, ItemToTrade.itemID, rand, 0.5F);
// Method 2: Basically the same as above, but only for selling items and at a fixed price of 1 emerald
// However, the stack sold will have a variable size determined by the HashMap villagerStockList,
// to which we first need to add our custom Item:
villager.villagerStockList.put(Integer.valueOf(YourMod.YourItem.itemID), new Tuple(Integer.valueOf(16), Integer.valueOf(24)));
// Then add the trade, which will sell between 16 and 24 of our Item for 1 emerald
villager.addMerchantItem(recipeList, ItemToSell.itemID, rand, 0.5F);
break;
default:
break;
}
}
}
Anyways, just thought I'd add on to what you've done. Thanks for the tut!
EDIT: Added some other ways to add trades. See BUTCHER case.
-
View User Profile
-
View Posts
-
Send Message
Curse Premiumoh and u know that i have a modding tips post, can i put the slab tut part of the forge in mine?
And i'll try the villager later...i might also add that part of my modding tips....
Help modders out by contributing to the Forge Ore Dictionary List! http://mce626.wix.com/odnlist
yeah...sure, I dont care.
Find out how I generate....coolAlias...world structure generation and rotation tool...
-
View User Profile
-
View Posts
-
Send Message
Curse Premiumchocolatemod.class
package mods.Chocolate; //Package directory
/*
* Basic importing
*/
import java.util.Arrays;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.BlockCake;
import net.minecraft.block.BlockCauldron;
import net.minecraft.block.BlockFence;
import net.minecraft.block.BlockHalfSlab;
import net.minecraft.block.BlockLog;
import net.minecraft.block.BlockStoneBrick;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemMultiTextureTile;
import net.minecraft.item.ItemReed;
import net.minecraft.item.ItemSlab;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
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.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/*
* Basic needed forge stuff
*/
@Mod(modid="Killerjdog51",name="Chocolate Mod",version="v1.5")
@NetworkMod(clientSideRequired=true,serverSideRequired=false)
public class ChocolateMod {
/*
* ToolMaterial
*/
//Telling forge that we are creating these
//Items
public static Item chocolatemilk;
public static Item whitechocolatemilk;
public static Item darkchocolatemilk;
public static Item lightchocolatemilk;
public static Item fruitbits;
public static Item lightchocolatelump;
public static Item bowlmilk;
//Food
public static Item chocolatebar;
public static Item whitechocolatebar;
public static Item darkchocolatebar;
public static Item lightchocolatebar;
public static Item fruitychocolatebar;
public static Item fruitywhitechocolatebar;
public static Item fruitydarkchocolatebar;
public static Item fruitylightchocolatebar;
public static Item chocolateapple;
public static Item darkchocolateapple;
public static Item lightchocolateapple;
public static Item whitechocolateapple;
public static Item cookiesandcreambar;
public static Item chocolateball;
public static Item darkchocolateball;
public static Item lightchocolateball;
public static Item whitechocolateball;
public static Item fruitychocolateball;
public static Item fruitydarkchocolateball;
public static Item fruitylightchocolateball;
public static Item fruitywhitechocolateball;
//Blocks
public static Block chocolateblock;
public static Block whitechocolateblock;
public static Block darkchocolateblock;
public static Block lightchocolateblock;
public static Block fruitychocolateblock;
public static Block fruitywhitechocolateblock;
public static Block fruitydarkchocolateblock;
public static Block fruitylightchocolateblock;
public static Block cookiesandcreamblock;
public static Block ChocolateMould;
public static Block ChocolateBallMould;
public static Block hardenedchocolateblock;
public static Block hardeneddarkchocolateblock;
public static Block hardenedlightchocolateblock;
public static Block hardenedwhitechocolateblock;
public static Block chocolatebrick;
public static Block darkchocolatebrick;
public static Block lightchocolatebrick;
public static Block whitechocolatebrick;
public static Block chocolatepiller;
public static Block darkchocolatepiller;
public static Block lightchocolatepiller;
public static Block whitechocolatepiller;
public static Block chocolatebrick_carved;
public static Block darkchocolatebrick_carved;
public static Block lightchocolatebrick_carved;
public static Block whitechocolatebrick_carved;
public static Block chocolateblock_chiseled;
public static Block darkchocolateblock_chiseled;
public static Block lightchocolateblock_chiseled;
public static Block whitechocolateblock_chiseled;
public static Block chocolatebrickstairs;
public static Block darkchocolatebrickstairs;
public static Block lightchocolatebrickstairs;
public static Block whitechocolatebrickstairs;
public static Block chocolatefence;
public static Block darkchocolatefence;
public static Block lightchocolatefence;
public static Block whitechocolatefence;
//Slabs
public static BlockHalfSlab chocolatebrickdouble;
public static BlockHalfSlab chocolatebricksingle;
//Slabs
public static int chocolatebricksingleID;
public static int chocolatebrickdoubleID;
@SidedProxy(clientSide = "yourpackage.client.ClientProxy", serverSide = "yourpackage.CommonProxy")
public static CommonProxy proxy;
@cpw.mods.fml.common.Mod.PostInit
public void PostInit(FMLPostInitializationEvent event)
{
Item.itemsList[chocolatebricksingle.blockID] = (new ItemSlab(chocolatebricksingle.blockID - 256, (BlockHalfSlab)chocolatebricksingle, (BlockHalfSlab)chocolatebrickdouble, false));
}
//Cake
public static Block ChocolateCake = (new BlockChocolateCake(1008)).setUnlocalizedName("chocolatecake").setStepSound(Block.soundClothFootstep);
public static Item ChocolateCake1 = (new ItemReed(2020, ChocolateMod.ChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:chocolatecake").setCreativeTab(CreativeTabs.tabFood);
public static Block DarkChocolateCake = (new BlockDarkChocolateCake(1009)).setUnlocalizedName("darkchocolatecake").setStepSound(Block.soundClothFootstep);
public static Item DarkChocolateCake1 = (new ItemReed(2021, ChocolateMod.DarkChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:darkchocolatecake").setCreativeTab(CreativeTabs.tabFood);
public static Block LightChocolateCake = (new BlockLightChocolateCake(1010)).setUnlocalizedName("lightchocolatecake").setStepSound(Block.soundClothFootstep);
public static Item LightChocolateCake1 = (new ItemReed(2022, ChocolateMod.LightChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:lightchocolatecake").setCreativeTab(CreativeTabs.tabFood);
public static Block WhiteChocolateCake = (new BlockWhiteChocolateCake(1011)).setUnlocalizedName("whitechocolatecake").setStepSound(Block.soundClothFootstep);
public static Item WhiteChocolateCake1 = (new ItemReed(2023, ChocolateMod.WhiteChocolateCake)).setMaxStackSize(1).setUnlocalizedName("Chocolate:whitechocolatecake").setCreativeTab(CreativeTabs.tabFood);
//Brewing
public static Block BlockMilkCauldron =(new BlockMilkCauldron(1014)).setHardness(2.0F).setUnlocalizedName("milkcauldron");
public static int milkCauldronRenderID;
public static Block BlockWhiteChocolateMilk =(new BlockWhiteChocolateMilkCauldron(1015)).setHardness(2.0F).setUnlocalizedName("Whitechocolatemilkcauldron");
public static int whiteChocolatemilkCauldronRenderID;
public static Block LightBlockChocolateMilk =(new BlockLightChocolateMilkCauldron(1016)).setHardness(2.0F).setUnlocalizedName("Lightchocolatemilkcauldron");
public static int LightChocolatemilkCauldronRenderID;
public static Block BlockChocolateMilk =(new BlockChocolateMilkCauldron(1017)).setHardness(2.0F).setUnlocalizedName("chocolatemilkcauldron");
public static int ChocolatemilkCauldronRenderID;
//Moulding
//CreativeTab
public static CreativeTabs tabChocolateFood = new CreativeTabs("tabChocolateFood") {
public ItemStack getIconItemStack() {
return new ItemStack(chocolatebar, 1, 0);
}
};
public static CreativeTabs tabChocolateBlocks = new CreativeTabs("tabChocolateBlocks") {
public ItemStack getIconItemStack() {
return new ItemStack(chocolateblock, 1, 0);
}
};
public static CreativeTabs tabChocolateMisc = new CreativeTabs("tabChocolateMisc") {
public ItemStack getIconItemStack() {
return new ItemStack(chocolatemilk, 1, 0);
}
};
//Declaring Init
@Init
public void load(FMLInitializationEvent event){
// define items/blocks
//Items
chocolatemilk = new chocolatemilk(2027, 2, false).setUnlocalizedName("Chocolate:chocolatemilk");
whitechocolatemilk = new mods.Chocolate.whitechocolatemilk(2030, 2, false).setUnlocalizedName("Chocolate:whitechocolatemilk");
darkchocolatemilk = new darkchocolatemilk(2032, 2, false).setUnlocalizedName("Chocolate:darkchocolatemilk");
lightchocolatemilk = new lightchocolatemilk(2013, 2, false).setUnlocalizedName("Chocolate:lightchocolatemilk");
fruitbits = new fruitbits(2014).setUnlocalizedName("Chocolate:fruitbits");
lightchocolatelump = new chocolatelump(2038).setUnlocalizedName("Chocolate:lightchocolatelump");
bowlmilk = new bowlmilk(2025, 2,false).setUnlocalizedName("Chocolate:bowlmilk");
//Food
chocolatebar = new itemchocolatefood(2028, 4, false).setUnlocalizedName("Chocolate:chocolatebar");
whitechocolatebar = new itemchocolatefood(2029, 4, false).setUnlocalizedName("Chocolate:whitechocolatebar");
darkchocolatebar = new itemchocolatefood(2031, 4, false).setUnlocalizedName("Chocolate:darkchocolatebar");
lightchocolatebar = new itemchocolatefood(2034, 4, false).setUnlocalizedName("Chocolate:lightchocolatebar");
fruitychocolatebar = new itemchocolatefood(2035, 6, false).setUnlocalizedName("Chocolate:fruitychocolatebar");
fruitywhitechocolatebar = new itemchocolatefood(2036, 6, false).setUnlocalizedName("Chocolate:fruitywhitechocolatebar");
fruitydarkchocolatebar = new itemchocolatefood(2037, 6, false).setUnlocalizedName("Chocolate:fruitydarkchocolatebar");
fruitylightchocolatebar = new itemchocolatefood( 2015, 6, false).setUnlocalizedName("Chocolate:fruitylightchocolatebar");
chocolateapple = new chocolateapple(2016, 4, false).setUnlocalizedName("Chocolate:chocolateApple");
darkchocolateapple = new chocolateapple(2017, 4, false).setUnlocalizedName("Chocolate:darkchocolateApple");
lightchocolateapple = new chocolateapple(2018, 4, false).setUnlocalizedName("Chocolate:lightchocolateApple");
whitechocolateapple = new chocolateapple(2019, 4, false).setUnlocalizedName("Chocolate:whitechocolateApple");
cookiesandcreambar = new itemchocolatefood(2024, 4, false).setUnlocalizedName("Chocolate:cookiesandcreambar");
chocolateball = new itemchocolatefood(2039, 6, false).setUnlocalizedName("Chocolate:chocolateball");
darkchocolateball = new itemchocolatefood(2040, 6, false).setUnlocalizedName("Chocolate:darkchocolateball");
lightchocolateball = new itemchocolatefood(2041, 6, false).setUnlocalizedName("Chocolate:lightchocolateball");
whitechocolateball = new itemchocolatefood(2042, 6, false).setUnlocalizedName("Chocolate:whitechocolateball");
fruitychocolateball = new itemchocolatefood(2043, 8, false).setUnlocalizedName("Chocolate:fruitychocolateball");
fruitydarkchocolateball = new itemchocolatefood(2044, 8, false).setUnlocalizedName("Chocolate:fruitydarkchocolateball");
fruitylightchocolateball = new itemchocolatefood(2045, 8, false).setUnlocalizedName("Chocolate:fruitylightchocolateball");
fruitywhitechocolateball = new itemchocolatefood(2046, 8, false). setUnlocalizedName("Chocolate:fruitywhitechocolateball");
//Blocks
chocolateblock = new chocolateblock(1000, Material.rock).setUnlocalizedName("Chocolate:chocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(chocolateblock, "Chocolate Block");
GameRegistry.registerBlock(chocolateblock, "chocolateblock");
whitechocolateblock = new whitechocolateblock(1001, Material.rock).setUnlocalizedName("Chocolate:whitechocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(whitechocolateblock, "White Chocolate Block");
GameRegistry.registerBlock(whitechocolateblock, "White Chocolate Block");
darkchocolateblock = new darkchocolateblock(1002, Material.rock).setUnlocalizedName("Chocolate:darkchocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(darkchocolateblock, "Dark Chocolate Block");
GameRegistry.registerBlock(darkchocolateblock, "Dark Chocolate Block");
lightchocolateblock = new lightchocolateblock(1003, Material.rock).setUnlocalizedName("Chocolate:lightchocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(lightchocolateblock, "Light Chocolate Block");
GameRegistry.registerBlock(lightchocolateblock, "Light Chocolate Block");
fruitychocolateblock = new fruitychocolateblock(1006, Material.rock).setUnlocalizedName("Chocolate:fruitychocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitychocolateblock, "Fruit Chocolate Block");
GameRegistry.registerBlock(fruitychocolateblock, "Fruit Chocolate Block");
fruitywhitechocolateblock = new fruitywhitechocolateblock(1004, Material.rock).setUnlocalizedName("Chocolate:fruitywhitechocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitywhitechocolateblock, "White Fruit Chocolate Block");
GameRegistry.registerBlock(fruitywhitechocolateblock,"White Fruit Chocolate Block");
fruitydarkchocolateblock = new fruitydarkchocolateblock(1005, Material.rock).setUnlocalizedName("Chocolate:fruitydarkchocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitydarkchocolateblock, "Dark Fruit Chocolate Block");
GameRegistry.registerBlock(fruitydarkchocolateblock, "Dark Fruit Chocolate Block");
fruitylightchocolateblock = new fruitylightchocolateblock(1007, Material.rock).setUnlocalizedName("Chocolate:fruitylightchocolateblock").setHardness(3).setResistance(10);
LanguageRegistry.addName(fruitylightchocolateblock, "Light Fruit Chocolate Block");
GameRegistry.registerBlock(fruitylightchocolateblock, "Light Fruit Chocolate Block");
cookiesandcreamblock = new cookiesandcreamblock(1012, Material.rock).setUnlocalizedName("Chocolate:cookiesandcreamblock");
GameRegistry.registerBlock(cookiesandcreamblock, "Cookeis And Cream Block");
LanguageRegistry.addName(bowlmilk, "Bowl of Milk");
ChocolateMould = (new BlockBarMould( 1018)).setHardness(2.0F).setUnlocalizedName("barmould").setCreativeTab(CreativeTabs.tabBlock);
LanguageRegistry.addName(ChocolateMould, "Chocolate Bar Mould");
GameRegistry.registerBlock(ChocolateMould, "Chocolate Bar Mould");
ChocolateBallMould = (new BlockBallMould(1019)).setHardness(2.0F).setUnlocalizedName("ballmould").setCreativeTab(CreativeTabs.tabBlock);
LanguageRegistry.addName(ChocolateBallMould, "Chocolate Ball Mould");
GameRegistry.registerBlock(ChocolateBallMould, "Chocolate Ball Mould");
hardenedchocolateblock = new hardenedchocolateblock(1020, Material.iron).setHardness(4).setResistance(11).setUnlocalizedName("Chocolate:hardenedchocolateblock");
LanguageRegistry.addName(hardenedchocolateblock, "Hardened Chocolate Block");
GameRegistry.registerBlock(hardenedchocolateblock, "Hardened Chocolate Block");
hardeneddarkchocolateblock = new hardeneddarkchocolateblock(1021, Material.iron).setHardness(4).setResistance(11).setUnlocalizedName("Chocolate:harddarkblockofchocolate");
LanguageRegistry.addName(hardeneddarkchocolateblock, "Hardened Dark Chocolate Block");
GameRegistry.registerBlock(hardeneddarkchocolateblock, "Hardened Dark Chocolate Block");
hardenedlightchocolateblock = new hardenedlightchocolateblock(1022, Material.iron).setHardness(4).setResistance(11).setUnlocalizedName("Chocolate:hardlightblockofchocolate");
LanguageRegistry.addName(hardenedlightchocolateblock, "Hardened Light Chocolate Block");
GameRegistry.registerBlock(hardenedlightchocolateblock, "Hardened Light Chocolate Block");
hardenedwhitechocolateblock = new hardenedwhitechocolateblock(1023, Material.iron).setHardness(4).setResistance(11).setUnlocalizedName("Chocolate:hardwhiteblockofchocolate");
LanguageRegistry.addName(hardenedwhitechocolateblock, "Hardened White Chocolate Block");
GameRegistry.registerBlock(hardenedwhitechocolateblock, "Hardened White Chocolate Block");
chocolatebrick = new chocolatebrick(1024, Material.rock).setHardness(2.0F).setResistance(10.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:chocolatebrick");
GameRegistry.registerBlock(chocolatebrick, "Chocolate Bricks");
LanguageRegistry.addName(chocolatebrick, "Chocolate Bricks");
darkchocolatebrick = new darkchocolatebrick(1025, Material.rock).setHardness(2.0F).setResistance(10.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:darkchocolatebrick");
GameRegistry.registerBlock(darkchocolatebrick, "Dark Chocolate Bricks");
LanguageRegistry.addName(darkchocolatebrick, "Dark Chocolate Bricks");
lightchocolatebrick = new lightchocolatebrick(1026, Material.rock).setHardness(2.0F).setResistance(10.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:lightchocolatebrick");
GameRegistry.registerBlock(lightchocolatebrick, "Light Chocolate Bricks");
LanguageRegistry.addName(lightchocolatebrick, "Light Chocolate Bricks");
whitechocolatebrick = new whitechocolatebrick(1027, Material.rock).setHardness(2.0F).setResistance(10.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:whitechocolatebrick");
GameRegistry.registerBlock(whitechocolatebrick, "White Chocolate Bricks");
LanguageRegistry.addName(whitechocolatebrick, "White Chocolate Bricks");
chocolatepiller = new chocolatepiller(1028).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:chocolateblock_lines");
GameRegistry.registerBlock(chocolatepiller, "Chocolate Pillers");
LanguageRegistry.addName(chocolatepiller, "Chocolate Pillers");
darkchocolatepiller = new darkchocolatepiller(1029).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:darkchocolateblock_lines");
GameRegistry.registerBlock(darkchocolatepiller, "Dark Chocolate Pillers");
LanguageRegistry.addName(darkchocolatepiller, "Dark Chocolate Pillers");
lightchocolatepiller = new lightchocolatepiller(1030).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:lightchocolateblock_lines");
GameRegistry.registerBlock(lightchocolatepiller, "Light Chocolate Pillers");
LanguageRegistry.addName(lightchocolatepiller, "Light Chocolate Pillers");
whitechocolatepiller = new whitechocolatepiller(1031).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:whitechocolateblock_lines");
GameRegistry.registerBlock(whitechocolatepiller, "White Chocolate Pillers");
LanguageRegistry.addName(whitechocolatepiller, "White Chocolate Pillers");
chocolatebrick_carved = new chocolatebrick_carved(1032, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:chocolatebrick_carved");
LanguageRegistry.addName(chocolatebrick_carved, "Chocolate Brick Carved");
GameRegistry.registerBlock(chocolatebrick_carved, "Chocolate Brick Carved");
darkchocolatebrick_carved = new darkchocolatebrick_carved(1033, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:darkchocolatebrick_carved");
LanguageRegistry.addName(darkchocolatebrick_carved, "Dark Chocolate Brick Carved");
GameRegistry.registerBlock(darkchocolatebrick_carved, "Dark Chocolate Brick Carved");
lightchocolatebrick_carved = new lightchocolatebrick_carved(1034, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:lightchocolatebrick_carved");
LanguageRegistry.addName(lightchocolatebrick_carved, "Light Chocolate Brick Carved");
GameRegistry.registerBlock(lightchocolatebrick_carved, "Light Chocolate Brick Carved");
whitechocolatebrick_carved = new whitechocolatebrick_carved(1035, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:whitechocolatebrick_carved");
LanguageRegistry.addName(whitechocolatebrick_carved, "White Chocolate Brick Carved");
GameRegistry.registerBlock(whitechocolatebrick_carved, "White Chocolate Brick Carved");
chocolateblock_chiseled = new chocolateblock_chiseled(1036, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:chocolateblock_chiseled");
LanguageRegistry.addName(chocolateblock_chiseled, "Chiseled Chocolate Block");
GameRegistry.registerBlock(chocolateblock_chiseled, "Chiseled Chocolate Block");
darkchocolateblock_chiseled = new darkchocolateblock_chiseled(1037, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:darkchocolateblock_chiseled");
LanguageRegistry.addName(darkchocolateblock_chiseled, "Dark Chiseled Chocolate Block");
GameRegistry.registerBlock(darkchocolateblock_chiseled, "Dark Chiseled Chocolate Block");
lightchocolateblock_chiseled = new lightchocolateblock_chiseled(1038, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:lightchocolateblock_chiseled");
LanguageRegistry.addName(lightchocolateblock_chiseled, "Light Chiseled Chocolate Block");
GameRegistry.registerBlock(lightchocolateblock_chiseled, "Light Chiseled Chocolate Block");
whitechocolateblock_chiseled = new whitechocolateblock_chiseled(1039, Material.rock).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:whitechocolateblock_chiseled");
LanguageRegistry.addName(whitechocolateblock_chiseled, "White Chiseled Chocolate Block");
GameRegistry.registerBlock(whitechocolateblock_chiseled, "White Chiseled Chocolate Block");
chocolatebrickstairs = new chocolatebrickstairs(1040, chocolatebrick, 0).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:chocolatebrick");
LanguageRegistry.addName(chocolatebrickstairs, "Chocolate Brick Stairs");
GameRegistry.registerBlock(chocolatebrickstairs, "Chocolate Brick Stairs");
darkchocolatebrickstairs = new darkchocolatebrickstairs(1041, darkchocolatebrick, 0).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:darkchocolatebrick");
LanguageRegistry.addName(darkchocolatebrickstairs, "Dark Chocolate Brick Stairs");
GameRegistry.registerBlock(darkchocolatebrickstairs, "Dark Chocolate Brick Stairs");
lightchocolatebrickstairs = new lightchocolatebrickstairs(1042, lightchocolatebrick, 0).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:lightchocolatebrick");
LanguageRegistry.addName(lightchocolatebrickstairs, "Light Chocolate Brick Stairs");
GameRegistry.registerBlock(lightchocolatebrickstairs, "Light Chocolate Brick Stairs");
whitechocolatebrickstairs = new whitechocolatebrickstairs(1043, whitechocolatebrick, 0).setHardness(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:whitechocolatebrick");
LanguageRegistry.addName(whitechocolatebrickstairs, "White Chocolate Brick Stairs");
GameRegistry.registerBlock(whitechocolatebrickstairs, "White Chocolate Brick Stairs");
chocolatefence = new BlockFence(1044, "Chocolate:chocolatebrick", Material.rock).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:chocolatebrick").setCreativeTab(ChocolateMod.tabChocolateBlocks);
LanguageRegistry.addName(chocolatefence, "Chocolate Fence");
GameRegistry.registerBlock(chocolatefence, "Chocolate Fence");
darkchocolatefence = new BlockFence(1045, "Chocolate:darkchocolatebrick", Material.rock).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:darkchocolatebrick").setCreativeTab(ChocolateMod.tabChocolateBlocks);
LanguageRegistry.addName(darkchocolatefence, "Dark Chocolate Fence");
GameRegistry.registerBlock(darkchocolatefence, "Dark Chocolate Fence");
lightchocolatefence = new BlockFence(1046, "Chocolate:chocolatebrick", Material.rock).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:lightchocolatebrick").setCreativeTab(ChocolateMod.tabChocolateBlocks);
LanguageRegistry.addName(lightchocolatefence, "Light Chocolate Fence");
GameRegistry.registerBlock(lightchocolatefence, "Light Chocolate Fence");
whitechocolatefence = new BlockFence(1047, "Chocolate:whitechocolatebrick", Material.rock).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Chocolate:whitechocolatebrick").setCreativeTab(ChocolateMod.tabChocolateBlocks);
LanguageRegistry.addName(whitechocolatefence, "White Chocolate Fence");
GameRegistry.registerBlock(whitechocolatefence, "White Chocolate Fence");
//Slabs
chocolatebrickdouble = (BlockHalfSlab)(new BlockchocolatebrickSlab(chocolatebrickdoubleID, true)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("blackWoodSlab");;
chocolatebricksingle = (BlockHalfSlab)(new BlockchocolatebrickSlab(chocolatebricksingleID, false)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("blackWoodSlab").setCreativeTab(ChocolateMod.tabChocolateBlocks);
GameRegistry.registerBlock(chocolatebrickdouble, "blackWoodDoubleSlab");
GameRegistry.registerBlock(chocolatebricksingle, "blackWoodSingleSlab");
LanguageRegistry.addName(chocolatebrickdouble,"Chocolate Brick DoubleSlab");
LanguageRegistry.instance().addStringLocalization(((BlockchocolatebrickSlab)chocolatebricksingle).getFullSlabName(0)+".name", "Chocolate Brick Slab");
proxy.registerRenderThings();
//Brewing
milkCauldronRenderID = RenderingRegistry.getNextAvailableRenderId();
whiteChocolatemilkCauldronRenderID = RenderingRegistry.getNextAvailableRenderId();
LightChocolatemilkCauldronRenderID = RenderingRegistry.getNextAvailableRenderId();
ChocolatemilkCauldronRenderID = RenderingRegistry.getNextAvailableRenderId();
//Moulding
//adding names
LanguageRegistry.addName(chocolatemilk, "Bucket of Chocolate Milk");
LanguageRegistry.addName(chocolatebar, "Chocolate Bar");
LanguageRegistry.addName(whitechocolatebar, "White Chocolate Bar");
LanguageRegistry.addName(whitechocolatemilk, "Bucket of White Chocolate Milk");
LanguageRegistry.addName(darkchocolatebar, "Dark Chocolate Bar");
LanguageRegistry.addName(darkchocolatemilk, "Bucket of Dark Chocolate Milk");
LanguageRegistry.addName(fruitylightchocolatebar, "Light Fruit Chocolate Bar");
LanguageRegistry.addName(fruitbits, "Fruit Bits");
LanguageRegistry.addName(fruitychocolatebar, "Fruit Chocolate Bar");
LanguageRegistry.addName(fruitywhitechocolatebar, "White Fruit Chocolate Bar");
LanguageRegistry.addName(fruitydarkchocolatebar, "Dark Fruit Chocolate Bar");
LanguageRegistry.addName(lightchocolatelump, "Chocolate Lump");
LanguageRegistry.addName(lightchocolatemilk, "Bucket of Light Chocolate Milk");
LanguageRegistry.addName(lightchocolatebar, "Light Chocolate Bar");
LanguageRegistry.addName(chocolateapple, "Chocolate Apple");
LanguageRegistry.addName(darkchocolateapple, "Dark Chocolate Apple");
LanguageRegistry.addName(lightchocolateapple, "Light Chocolate Apple");
LanguageRegistry.addName(whitechocolateapple, "White Chocolate Apple");
LanguageRegistry.addName(cookiesandcreambar, "Cookies And Cream Bar");
LanguageRegistry.addName(cookiesandcreamblock, "Cookies And Cream Block");
LanguageRegistry.addName(chocolateball, "Chocolate Ball");
LanguageRegistry.addName(darkchocolateball, "Dark Chocolate Ball");
LanguageRegistry.addName(lightchocolateball, "Light Chocolate Ball");
LanguageRegistry.addName(whitechocolateball, "White Chocolate Ball");
LanguageRegistry.addName(fruitychocolateball, "Fruit Chocolate Ball");
LanguageRegistry.addName(fruitydarkchocolateball, "Dark Fruit Chocolate Ball");
LanguageRegistry.addName(fruitylightchocolateball, "Light Fruit Chocolate Ball");
LanguageRegistry.addName(fruitywhitechocolateball, "White Fruit Chocolate Ball");
//Cake
LanguageRegistry.addName(ChocolateCake1, "Chocolate Cake");
GameRegistry.registerBlock(ChocolateCake, "Chocolate Cake");
LanguageRegistry.addName(DarkChocolateCake1, "Dark Chocolate Cake");
GameRegistry.registerBlock(DarkChocolateCake, "Dark Chocolate Cake");
LanguageRegistry.addName(LightChocolateCake1, "Light Chocolate Cake");
GameRegistry.registerBlock(LightChocolateCake, "Light Chocolate Cake");
LanguageRegistry.addName(WhiteChocolateCake1, "White Chocolate Cake");
GameRegistry.registerBlock(WhiteChocolateCake, "White Chocolate Cake");
//Brewing
RenderingRegistry.registerBlockHandler(milkCauldronRenderID, new RenderMilkCauldron() );
RenderingRegistry.registerBlockHandler(whiteChocolatemilkCauldronRenderID, new RenderWhiteChocolateMilkCauldron() );
RenderingRegistry.registerBlockHandler(LightChocolatemilkCauldronRenderID, new RenderLightChocolateMilkCauldron() );
RenderingRegistry.registerBlockHandler(ChocolatemilkCauldronRenderID, new RenderChocolateMilkCauldron() );
//Moulding
//Creative Tabs
LanguageRegistry.instance().addStringLocalization("itemGroup.tabChocolateFood", "en_US", "Chocolate Food");
LanguageRegistry.instance().addStringLocalization("itemGroup.tabChocolateBlocks", "en_US", "Chocolate Blocks");
LanguageRegistry.instance().addStringLocalization("itemGroup.tabChocolateMisc", "en_US", "Chocolate Misc");
//crafting
GameRegistry.addRecipe(new ItemStack(chocolatebar, 1), new Object [] {
"X","Y","X",Character.valueOf('X'), Item.sugar,Character.valueOf('Y'), chocolatemilk
});
GameRegistry.addRecipe(new ItemStack(chocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), chocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(chocolatebar,9), new Object []{
new ItemStack(chocolateblock,1)
});
GameRegistry.addRecipe(new ItemStack(whitechocolatebar, 1), new Object [] {
"X","Y","X",Character.valueOf('X'), Item.sugar,Character.valueOf('Y'), whitechocolatemilk
});
GameRegistry.addRecipe(new ItemStack(whitechocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), whitechocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(whitechocolatebar,9), new Object []{
new ItemStack(whitechocolateblock,1)
});
GameRegistry.addShapelessRecipe(new ItemStack(chocolatebar,1), new Object []{
new ItemStack(whitechocolatebar,1), new ItemStack(Item.dyePowder,1,3)
});
GameRegistry.addShapelessRecipe(new ItemStack(lightchocolatelump,1), new Object []{
new ItemStack(Item.dyePowder,4,3),new ItemStack(Item.dyePowder,4,3),new ItemStack(Item.dyePowder,4,3),new ItemStack(Item.dyePowder,4,3)
});
GameRegistry.addRecipe(new ItemStack(darkchocolatebar, 1), new Object [] {
"X","Y","X",Character.valueOf('X'), Item.sugar,Character.valueOf('Y'), darkchocolatemilk
});
GameRegistry.addRecipe(new ItemStack(darkchocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), darkchocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(darkchocolatebar,9), new Object []{
new ItemStack(darkchocolateblock,1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitbits, 4), new Object []{
new ItemStack(Item.appleRed, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(Item.appleRed, 1), new Object []{
new ItemStack(fruitbits, 4),new ItemStack(fruitbits, 4),new ItemStack(fruitbits, 4),new ItemStack(fruitbits, 4)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitychocolatebar, 1), new Object []{
new ItemStack(fruitbits, 1), new ItemStack(chocolatebar, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitywhitechocolatebar, 1), new Object []{
new ItemStack(fruitbits, 1), new ItemStack(whitechocolatebar, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitydarkchocolatebar, 1), new Object []{
new ItemStack(fruitbits, 1), new ItemStack(darkchocolatebar, 1)
});
GameRegistry.addRecipe(new ItemStack(fruitychocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), fruitychocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitychocolatebar, 9), new Object [] {
new ItemStack(fruitychocolateblock)
});
GameRegistry.addRecipe(new ItemStack(fruitywhitechocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), fruitywhitechocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitywhitechocolatebar, 9), new Object [] {
new ItemStack(fruitywhitechocolateblock)
});
GameRegistry.addRecipe(new ItemStack(fruitydarkchocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), fruitydarkchocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitydarkchocolatebar, 9), new Object [] {
new ItemStack(fruitydarkchocolateblock)
});
GameRegistry.addRecipe(new ItemStack(lightchocolatebar, 1), new Object [] {
"X","Y","X",Character.valueOf('X'), Item.sugar,Character.valueOf('Y'), lightchocolatemilk
});
GameRegistry.addShapelessRecipe(new ItemStack(lightchocolatebar,1), new Object [] {
new ItemStack(chocolatebar,1), new ItemStack(Item.dyePowder, 1, 3)
});
GameRegistry.addRecipe(new ItemStack(lightchocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), lightchocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(lightchocolatebar, 9), new Object []{
new ItemStack(lightchocolateblock, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitylightchocolatebar, 1), new Object []{
new ItemStack(lightchocolatebar, 1), new ItemStack(fruitbits, 1)
});
GameRegistry.addRecipe(new ItemStack(fruitylightchocolateblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), fruitylightchocolatebar
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitylightchocolatebar, 9), new Object []{
new ItemStack(fruitylightchocolateblock, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(chocolateapple, 1), new Object []{
new ItemStack(Item.appleRed), new ItemStack(chocolatemilk)
});
GameRegistry.addShapelessRecipe(new ItemStack(darkchocolateapple, 1), new Object []{
new ItemStack(Item.appleRed), new ItemStack(darkchocolatemilk)
});
GameRegistry.addShapelessRecipe(new ItemStack(lightchocolateapple, 1), new Object []{
new ItemStack(Item.appleRed), new ItemStack(lightchocolatemilk)
});
GameRegistry.addShapelessRecipe(new ItemStack(whitechocolateapple, 1), new Object []{
new ItemStack(Item.appleRed), new ItemStack(whitechocolatemilk)
});
GameRegistry.addRecipe(new ItemStack(ChocolateCake1, 1), new Object []{
"XXX", "SES", "YYY", Character.valueOf('X'), chocolatemilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('Y'), Item.wheat
});
GameRegistry.addRecipe(new ItemStack(DarkChocolateCake1, 1), new Object []{
"XXX", "SES", "YYY", Character.valueOf('X'), darkchocolatemilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('Y'), Item.wheat
});
GameRegistry.addRecipe(new ItemStack(LightChocolateCake1, 1), new Object []{
"XXX", "SES", "YYY", Character.valueOf('X'), lightchocolatemilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('Y'), Item.wheat
});
GameRegistry.addRecipe(new ItemStack(WhiteChocolateCake1, 1), new Object []{
"XXX", "SES", "YYY", Character.valueOf('X'), whitechocolatemilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('Y'), Item.wheat
});
GameRegistry.addShapelessRecipe(new ItemStack(cookiesandcreambar, 1), new Object [] {
new ItemStack(Item.bucketMilk, 1), new ItemStack(chocolatebar, 1), new ItemStack(Item.cookie, 1)
});
GameRegistry.addRecipe(new ItemStack(cookiesandcreamblock, 1), new Object [] {
"XXX", "XXX", "XXX",Character.valueOf('X'), cookiesandcreambar
});
GameRegistry.addShapelessRecipe(new ItemStack(cookiesandcreambar,9), new Object []{
new ItemStack(cookiesandcreamblock,1)
});
GameRegistry.addShapelessRecipe(new ItemStack(bowlmilk, 1), new Object []{
new ItemStack(Item.bucketMilk, 1), new ItemStack(Item.bowlEmpty, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(Item.dyePowder, 4, 3), new Object [] {
new ItemStack(ChocolateMod.lightchocolatelump, 1)
});
GameRegistry.addRecipe(new ItemStack(ChocolateBallMould, 1), new Object []{
"YYY", "Y Y", "YYY", Character.valueOf('Y'), Block.stone
});
GameRegistry.addRecipe(new ItemStack(ChocolateMould, 1), new Object [] {
" Y ", " Y ", "XXX", Character.valueOf('X'), Block.cobblestone, Character.valueOf('Y'),Block.stone
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitychocolateball, 1), new Object [] {
new ItemStack(ChocolateMod.chocolateball, 1), new ItemStack(ChocolateMod.fruitbits, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitydarkchocolateball, 1), new Object [] {
new ItemStack(ChocolateMod.darkchocolateball, 1), new ItemStack(ChocolateMod.fruitbits, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitylightchocolateball, 1), new Object [] {
new ItemStack(ChocolateMod.lightchocolateball, 1), new ItemStack(ChocolateMod.fruitbits, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(fruitywhitechocolateball, 1), new Object [] {
new ItemStack(ChocolateMod.whitechocolateball, 1), new ItemStack(ChocolateMod.fruitbits, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(chocolateball, 1), new Object []{
new ItemStack(chocolatemilk, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(darkchocolateball, 1), new Object []{
new ItemStack(darkchocolatemilk, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(lightchocolateball, 1), new Object []{
new ItemStack(lightchocolatemilk, 1)
});
GameRegistry.addShapelessRecipe(new ItemStack(whitechocolateball, 1), new Object []{
new ItemStack(whitechocolatemilk, 1)
});
//Cooking
GameRegistry.addSmelting( chocolateblock.blockID, new ItemStack(hardenedchocolateblock, 1), 1.0F);
GameRegistry.addSmelting( darkchocolateblock.blockID, new ItemStack(hardeneddarkchocolateblock, 1), 1.0F);
GameRegistry.addSmelting( lightchocolateblock.blockID, new ItemStack(hardenedlightchocolateblock, 1), 1.0F);
GameRegistry.addSmelting( whitechocolateblock.blockID, new ItemStack(hardenedwhitechocolateblock, 1), 1.0F);
}
private CreativeTabs CreativeTabChocolateFood(int nextID, String string) {
// TODO Auto-generated method stub
return null;
}
private Block itemchocolatefood(int i, int j, boolean
// TODO Auto-generated method stub
return null;
}
}
BlockchocolatebrickSlab.class
package mods.Chocolate;
import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.BlockHalfSlab;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLiving;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class BlockchocolatebrickSlab extends BlockHalfSlab
{
public static final String[] woodType = { "blackWood" };
public BlockchocolatebrickSlab(int par1, boolean par2)
{
super(par1, par2, Material.wood);
setBurnProperties(this.blockID, 5, 20);
useNeighborBrightness[this.blockID] = true;
}
public void registerIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon("YourMod:blackPlanks");
}
public int idDropped(int par1, Random par2Random, int par3)
{
return ChocolateMod.chocolatebricksingle.blockID;
}
public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving)
{
if(par1World.getBlockId(par2, par3 - 1, par4) == ChocolateMod.chocolatebricksingle.blockID)
{
par1World.setBlock(par2, par3, par4, 0);
par1World.setBlock(par2, par3 - 1, par4, ChocolateMod.chocolatebrickdouble.blockID);
}
if(par1World.getBlockId(par2, par3 + 1, par4) == ChocolateMod.chocolatebricksingle.blockID)
{
par1World.setBlock(par2, par3, par4, 0);
par1World.setBlock(par2, par3 + 1, par4, ChocolateMod.chocolatebrickdouble.blockID);
}
}
protected ItemStack createStackedBlock(int par1)
{
return new ItemStack(ChocolateMod.chocolatebricksingle.blockID, 2, par1 & 7);
}
public String getFullSlabName(int par1)
{
if ((par1 < 0) || (par1 >= woodType.length))
{
par1 = 0;
}
return super.getUnlocalizedName2() + "." + woodType[par1];
}
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
if (par1 != ChocolateMod.chocolatebrickdouble.blockID)
{
par3List.add(new ItemStack(par1, 1, 0));
}
}
}
and at one point i just simply deleted the lines with the errors in them but i got this error.
error report
---- Minecraft Crash Report ----
// Why is it breaking
Time: 7/12/13 2:46 PM
Description: Failed to start game
java.lang.IllegalArgumentException: Slot 0 is already occupied by [email protected] when adding [email protected]
at net.minecraft.block.Block.<init>(Block.java:340)
at net.minecraft.block.BlockHalfSlab.<init>(BlockHalfSlab.java:20)
at mods.Chocolate.BlockchocolatebrickSlab.<init>(BlockchocolatebrickSlab.java:20)
at mods.Chocolate.ChocolateMod.load(ChocolateMod.java:389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:494)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:192)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:103)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:213)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:448)
at net.minecraft.client.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:44)
at net.minecraft.client.Minecraft.run(Minecraft.java:733)
at java.lang.Thread.run(Unknown Source)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.5.2
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_21, Oracle Corporation
Java VM Version: Java HotSpotâ„¢ 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 976615016 bytes (931 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v7.51 FML v5.2.23.736 Minecraft Forge 7.8.0.736 4 mods loaded, 4 mods active
mcp{7.51} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
FML{5.2.23.736} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized
Forge{7.8.0.736} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized
Killerjdog51{v1.5} [Chocolate Mod] (bin) Unloaded->Constructed->Pre-initialized->Errored
LWJGL: 2.4.2
OpenGL: Intel® HD Graphics Family GL version 3.1.0 - Build 8.15.10.2559, Intel
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Texture Pack: Default
Profiler Position: N/A (disabled)
Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
BTW i am on minecraft 1.5.2, im pretty sure that nothing changed with the code from 1.5.1 to 1.5.2 correct?
Find out how I generate....coolAlias...world structure generation and rotation tool...
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumFind out how I generate....coolAlias...world structure generation and rotation tool...
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumIn the main mod:
@EventHandler public void preInit(FMLPreInitializationEvent event) { // iterate through all the villager types and add their new trades for (int i = 0; i < 5; ++i) { VillagerRegistry.instance().registerVillageTradeHandler(i, new TradeHandler()); } }Then the trade handler class:
public class TradeHandler implements IVillageTradeHandler { @Override public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random) { switch(villager.getProfession()) { case 0: // FARMER // standard trade recipeList.add(new MerchantRecipe(new ItemStack(Item.emerald, 2), new ItemStack(YourMod.youritem, 1))); break; case 1: // LIBRARIAN // use metadata in either case recipeList.add(new MerchantRecipe(new ItemStack(Item.dye, 4, 15), // dye of metadata 15 is bonemeal, so we need 4 bonemeals new ItemStack(YourMod.youritem, 1, 6))); // to buy 1 mod item of metadata value 6 break; case 2: // PRIEST // trading two itemstacks for one itemstack in return recipeList.add(new MerchantRecipe(new ItemStack(Item.emerald, 6), new ItemStack(YourMod.youritem1, 2), new ItemStack(YourMod.youritem2, 2))); break; case 3: // BLACKSMITH // using the passed in Random to randomize amounts; nextInt(value) returns an int between 0 and value (non-inclusive) recipeList.add(new MerchantRecipe(new ItemStack(Item.emerald, 6 + random.nextInt(6)), new ItemStack(YourMod.youritem1, 5 + random.nextInt(4)), new ItemStack(YourMod.youritem2, 1))); break; case 4: // BUTCHER // You can also add directly to the villager with 2 different methods: // Method 1: takes the list, an item ID that may be bought OR sold, rand, and a float value that // determines how common the trade is. The price of the item is determined in the HashMap // blacksmithSellingList, which we'll add our custom Item to first: villager.blacksmithSellingList.put(Integer.valueOf(YourMod.yourItem.itemID), new Tuple(Integer.valueOf(4), Integer.valueOf(8))); // Then add the trade, which will buy or sell for between 4 and 8 emeralds villager.addBlacksmithItem(recipeList, ItemToTrade.itemID, rand, 0.5F); // Method 2: Basically the same as above, but only for selling items and at a fixed price of 1 emerald // However, the stack sold will have a variable size determined by the HashMap villagerStockList, // to which we first need to add our custom Item: villager.villagerStockList.put(Integer.valueOf(YourMod.YourItem.itemID), new Tuple(Integer.valueOf(16), Integer.valueOf(24))); // Then add the trade, which will sell between 16 and 24 of our Item for 1 emerald villager.addMerchantItem(recipeList, ItemToSell.itemID, rand, 0.5F); break; default: break; } } }EDIT: Added some other ways to add trades. See BUTCHER case.
Nice Work
Find out how I generate....coolAlias...world structure generation and rotation tool...