Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

_Dommi_

Members
  • Joined

  • Last visited

  1. 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); } }
  2. 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; } }
  3. The problem is the IBlockState but i dont know why
  4. 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; } }
  5. My seed class: public class EmberOrchidSeeds extends ItemSeeds{ public EmberOrchidSeeds(){ super(BlazeBlocks.eo, Blocks.DIRT); this.setCreativeTab(Blazecraft.instance.tab); this.soilBlockID = Blocks.DIRT; } }
  6. 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
  7. but the models are eo_stage0 , eo_stage1, ....
  8. 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, ...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.