
_Dommi_
Members-
Posts
8 -
Joined
-
Last visited
Everything posted by _Dommi_
-
Itemseeds class: package io.github.dommihd.blazecraft.items; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.blocks.EmberOrchid; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class EmberOrchidSeeds extends ItemSeeds{ private static EmberOrchid crops= new EmberOrchid(); private static Block soilBlockID; public EmberOrchidSeeds(){ super(BlazeBlocks.eo, Blocks.SOUL_SAND); this.setCreativeTab(Blazecraft.instance.tab); this.soilBlockID = Blocks.SOUL_SAND; } @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { net.minecraft.block.state.IBlockState state = worldIn.getBlockState(pos); if(state!=null&&facing!=null&&pos!=null&&stack!=null&&worldIn!=null&&playerIn!=null&&crops!=null){ if (facing == EnumFacing.UP && playerIn.canPlayerEdit(pos.offset(facing), facing, stack) && worldIn.isAirBlock(pos.up())&& this.crops.canSustainBush(state)) { worldIn.setBlockState(pos.up(),this.crops.getDefaultState()); --stack.stackSize; return EnumActionResult.SUCCESS; } else { return EnumActionResult.FAIL; } }else return EnumActionResult.FAIL; } } Block crops: package io.github.dommihd.blazecraft.blocks; import java.util.Random; import io.github.dommihd.blazecraft.items.BlazeItems; import net.minecraft.block.BlockCrops; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class EmberOrchid extends BlockCrops{ @Override protected Item getSeed(){ return BlazeItems.emberorchidSeeds; } @Override protected Item getCrop() { return Items.BLAZE_POWDER; } @Override public boolean canSustainBush(IBlockState state){ if(state.getBlock() == Blocks.SOUL_SAND){ return true; }else{ return false; } } } package io.github.dommihd.blazecraft.items; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.NameUtils; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.blocks.EmberOrchid; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemSeeds; import net.minecraftforge.fml.common.registry.GameRegistry; public class BlazeItems { public static Item testitem; public static EmberOrchidSeeds emberorchidSeeds =new EmberOrchidSeeds(); public void init(){ testitem = new ItemTest().setCreativeTab(Blazecraft.instance.tab); NameUtils.setNames(testitem, "testitem"); emberorchidSeeds = new EmberOrchidSeeds(); NameUtils.setNames(emberorchidSeeds, "emberorchidSeeds"); } public void register(){ registerItem(testitem); registerItemSeeds(emberorchidSeeds); } private void registerItem(Item item){ GameRegistry.register(item); } private void registerItemSeeds(ItemSeeds item){ GameRegistry.register(item); } } package io.github.dommihd.blazecraft.blocks; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.NameUtils; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.fml.common.registry.GameRegistry; public class BlazeBlocks { public static Block testblock; public static EmberOrchid eo = new EmberOrchid(); public void init(){ testblock = new BlockTest().setCreativeTab(Blazecraft.instance.tab); NameUtils.setNames(testblock, "testblock"); eo = new EmberOrchid(); NameUtils.setNames(eo, "eo"); } public void register(){ registerBlock(testblock); registerBlock(eo); } private void registerBlock(Block block){ GameRegistry.register(block); ItemBlock itemblock = new ItemBlock(block); itemblock.setUnlocalizedName(block.getUnlocalizedName()).setRegistryName(block.getRegistryName()); GameRegistry.register(itemblock); } private void registeremberBlock(Block block){ GameRegistry.register(block); //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block),0, new ModelResourceLocation("blazecraft:eo","inventory")); } } Client Proxy: package io.github.dommihd.blazecraft.proxy; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.items.BlazeItems; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemSeeds; public class ClientProxy extends CommonProxy { public void registerModels() { //items registerModel(BlazeItems.testitem, 0, new ModelResourceLocation(BlazeItems.testitem.getRegistryName(),"inventory")); registerModel(BlazeItems.emberorchidSeeds, 0, new ModelResourceLocation(BlazeItems.emberorchidSeeds.getRegistryName(),"inventory")); //blocks registerModel(BlazeBlocks.testblock, 0, new ModelResourceLocation(BlazeBlocks.testblock.getRegistryName(),"inventory")); registerModel(BlazeBlocks.eo, 0, new ModelResourceLocation(BlazeBlocks.eo.getRegistryName(),"inventory")); } private void registerModel(Object obj, int meta, ModelResourceLocation loc){ Item item = null; System.out.println(obj); if (obj instanceof Item){ item = (Item) obj; System.out.println(item); }else if (obj instanceof ItemSeeds){ item = (ItemSeeds) obj; System.out.println(item); } else if (obj instanceof Block){ item = Item.getItemFromBlock((Block) obj); System.out.println(item); }else{ throw new IllegalArgumentException(); } Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, meta, loc); } }
-
ok private static EmberOrchid crops; was null and i fixed it and the seeds can now only placed on soul sand, but theres no sound and no texture :'( package io.github.dommihd.blazecraft.items; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.blocks.EmberOrchid; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class EmberOrchidSeeds extends ItemSeeds{ private static EmberOrchid crops= new EmberOrchid(); private static Block soilBlockID; public EmberOrchidSeeds(){ super(BlazeBlocks.eo, Blocks.SOUL_SAND); this.setCreativeTab(Blazecraft.instance.tab); this.soilBlockID = Blocks.SOUL_SAND; } @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { net.minecraft.block.state.IBlockState state = worldIn.getBlockState(pos); if(state!=null&&facing!=null&&pos!=null&&stack!=null&&worldIn!=null&&playerIn!=null&&crops!=null){ System.out.println("hi"); if (facing == EnumFacing.UP && playerIn.canPlayerEdit(pos.offset(facing), facing, stack) && worldIn.isAirBlock(pos.up())&& this.crops.canSustainBush(state)) { System.out.println("hi2"); worldIn.setBlockState(pos.up(),this.crops.getDefaultState()); --stack.stackSize; return EnumActionResult.SUCCESS; } else { return EnumActionResult.FAIL; } }else return EnumActionResult.FAIL; } }
-
The problem is the IBlockState but i dont know why
-
now the game crashed ^^ : http://pastebin.com/yE0Nw1jB Seeds: package io.github.dommihd.blazecraft.items; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.blocks.EmberOrchid; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class EmberOrchidSeeds extends ItemSeeds{ private static EmberOrchid crops; private static Block soilBlockID; public EmberOrchidSeeds(){ super(BlazeBlocks.eo, Blocks.DIRT); this.setCreativeTab(Blazecraft.instance.tab); this.soilBlockID = Blocks.DIRT; } @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { net.minecraft.block.state.IBlockState state = worldIn.getBlockState(pos); if (facing == EnumFacing.UP && playerIn.canPlayerEdit(pos.offset(facing), facing, stack) && worldIn.isAirBlock(pos.up()) && this.crops.canSustainBush(state)) { worldIn.setBlockState(pos.up(), this.crops.getDefaultState()); --stack.stackSize; return EnumActionResult.SUCCESS; } else { return EnumActionResult.FAIL; } } } package io.github.dommihd.blazecraft.blocks; import java.util.Random; import io.github.dommihd.blazecraft.items.BlazeItems; import net.minecraft.block.BlockCrops; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class EmberOrchid extends BlockCrops{ @Override protected Item getSeed(){ return BlazeItems.emberorchidSeeds; } @Override protected Item getCrop() { return Items.BLAZE_POWDER; } @Override public boolean canSustainBush(IBlockState state){ if(state.getBlock() == Blocks.DIRT ||state.getBlock() == Blocks.GRASS || state.getBlock() == Blocks.SAND) return true; return false; } }
-
My seed class: public class EmberOrchidSeeds extends ItemSeeds{ public EmberOrchidSeeds(){ super(BlazeBlocks.eo, Blocks.DIRT); this.setCreativeTab(Blazecraft.instance.tab); this.soilBlockID = Blocks.DIRT; } }
-
i found out that all the textures and sounds works if i place the itemblock of the emberorchid , but i i try to place the seeds thers no sound and the missing-texture texture. This makes no sense
-
but the models are eo_stage0 , eo_stage1, ....
-
I have a Problem with my crops, they have the missing-texture texture and i cant find my mistake. Main: package io.github.dommihd.blazecraft; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.items.BlazeItems; import io.github.dommihd.blazecraft.proxy.CommonProxy; import io.github.dommihd.blazecraft.recepies.BlazeCrafting; import io.github.dommihd.blazecraft.recepies.BlazeSmelting; import net.minecraft.init.Blocks; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = Blazecraft.MODID, version = Blazecraft.VERSION, name = Blazecraft.NAME) public class Blazecraft { public static final String MODID = "blazecraft"; public static final String VERSION = "0.1"; public static final String NAME = "Blazecraft"; @Instance(MODID) public static Blazecraft instance = new Blazecraft(); @SidedProxy(modId = MODID, serverSide = "io.github.dommihd.blazecraft.proxy.CommonProxy", clientSide = "io.github.dommihd.blazecraft.proxy.ClientProxy") public static CommonProxy proxy = new CommonProxy(); public BlazeItems items; public BlazeBlocks blocks; public BlazeTab tab; public BlazeCrafting craft; public BlazeSmelting smelt; @EventHandler public void preInit(FMLPreInitializationEvent event){ tab = new BlazeTab(); items = new BlazeItems(); items.init(); items.register(); blocks = new BlazeBlocks(); blocks.init(); blocks.register(); } @EventHandler public void load(FMLInitializationEvent event){ craft = new BlazeCrafting(); craft.register(); smelt = new BlazeSmelting(); smelt.register(); } @EventHandler public void postInit(FMLPostInitializationEvent event){ proxy.registerModels(); } } Client Proxy: package io.github.dommihd.blazecraft.proxy; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.blocks.BlazeBlocks; import io.github.dommihd.blazecraft.items.BlazeItems; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemSeeds; public class ClientProxy extends CommonProxy { public void registerModels() { //items registerModel(BlazeItems.testitem, 0, new ModelResourceLocation(BlazeItems.testitem.getRegistryName(),"inventory")); registerModel(BlazeItems.emberorchidSeeds, 0, new ModelResourceLocation(BlazeItems.emberorchidSeeds.getRegistryName(),"inventory")); //blocks registerModel(BlazeBlocks.testblock, 0, new ModelResourceLocation(BlazeBlocks.testblock.getRegistryName(),"inventory")); registerModel(BlazeBlocks.emberorchid, 0, new ModelResourceLocation(BlazeBlocks.emberorchid.getRegistryName(),"inventory")); } private void registerModel(Object obj, int meta, ModelResourceLocation loc){ Item item = null; if (obj instanceof Item){ item = (Item) obj; }else if (obj instanceof ItemSeeds){ item = (ItemSeeds) obj; } else if (obj instanceof Block){ item = Item.getItemFromBlock((Block) obj); }else{ throw new IllegalArgumentException(); } Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, meta, loc); } } Name Utils: package io.github.dommihd.blazecraft; import net.minecraft.block.Block; import net.minecraft.item.Item; public class NameUtils { public static void setNames(Object obj,String name){ if(obj instanceof Item){ ((Item)obj).setRegistryName(name).setUnlocalizedName(name); } else if(obj instanceof Block){ ((Block)obj).setRegistryName(name).setUnlocalizedName(name); }else{ throw new IllegalArgumentException(); } } } Blocks Class: package io.github.dommihd.blazecraft.blocks; import io.github.dommihd.blazecraft.Blazecraft; import io.github.dommihd.blazecraft.NameUtils; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.fml.common.registry.GameRegistry; public class BlazeBlocks { public static Block testblock; public static Block emberorchid; public void init(){ testblock = new BlockTest().setCreativeTab(Blazecraft.instance.tab); NameUtils.setNames(testblock, "testblock"); emberorchid = new EmberOrchid(); NameUtils.setNames(emberorchid, "emberorchid"); } public void register(){ registerBlock(testblock); registeremberBlock(emberorchid); } private void registerBlock(Block block){ GameRegistry.register(block); ItemBlock itemblock = new ItemBlock(block); itemblock.setUnlocalizedName(block.getUnlocalizedName()).setRegistryName(block.getRegistryName()); GameRegistry.register(itemblock); } private void registeremberBlock(Block block){ GameRegistry.register(block); } } Block Crops package io.github.dommihd.blazecraft.blocks; import io.github.dommihd.blazecraft.items.BlazeItems; import net.minecraft.block.BlockCrops; import net.minecraft.init.Items; import net.minecraft.item.Item; public class EmberOrchid extends BlockCrops{ @Override protected Item getSeed(){ return BlazeItems.emberorchidSeeds; } @Override protected Item getCrop() { return Items.BLAZE_POWDER; } } blockstates: { "variants": { "age=0": { "model": "blazecraft:eo_stage0" }, "age=1": { "model": "blazecraft:eo_stage1" }, "age=2": { "model": "blazecraft:eo_stage2" }, "age=3": { "model": "blazecraft:eo_stage3" }, "age=4": { "model": "blazecraft:eo_stage4" }, "age=5": { "model": "blazecraft:eo_stage5" }, "age=6": { "model": "blazecraft:eo_stage6" }, "age=7": { "model": "blazecraft:eo_stage7" } } } block models exaple: { "parent": "block/crop", "textures": { "crop": "blazecraft:blocks/eo_stage0" } } texture names: eo_stage0.png, eo_stage1.png, ...