Jump to content

qpwoeiruty

Members
  • Posts

    159
  • Joined

  • Last visited

Everything posted by qpwoeiruty

  1. Hi to pretty much complete the first version of my mod, I require a way to make it so the when the player breaks a leaf block it drops a stick. Everywhere I have looked previously has supplied me with very contrasting information and so I thought I would try here as all the topics I have previously read have been very useful. Any help at all would great, thanks.
  2. I can't thank you all enough, this has been bugging me for a while and to finally get to a stage where the basics actually work is fantastic. Is there a simpler way than listing every single block to only have select blocks able to be broken, as I could just list every block but it would be very inefficient. Edit: This does work (just listing all the blocks I want) so it is technically solved but anyone with any better ideas feel free to post them.
  3. Thanks for the very detailed explanation, I understand far better what a NullPointerException is now, however, how to fix it is still quite confusing as I am trying to take in a lot of new information at once. Would have to somewhere say that getCurrentEquippedItem() != null then, or have I misunderstood?
  4. This link should work: https://gist.github.com/anonymous/954c3004b1a82d000210
  5. Hahaha yeah, both are working, but I am now getting a crash when I try and break a block with my fist but everything else works great. I believe it may have something to do with this error... FML has detected a mod that is using a package name based on 'net.minecraft.src' : net.minecraft.src.FMLRenderAccessLibrary. This is generally a severe programming error. There should be no mod code in the minecraft namespace. MOVE YOUR MOD! If you're in eclipse, select your source code and 'refactor' it into a new package. Go on. DO IT NOW! ...which sounds fairly bad, however I don't believe I am using a package based on 'net.minecraft.src' so I am confused. Edit: Actually I don't think it does as when I remover the MinecraftForge.EVENT_BUS.register(new WSPEventHandler()); everything works fine, so I now I believe it is something to do with this line: if(ForgeHooks.isToolEffective(event.entityPlayer.getCurrentEquippedItem(), event.block, event.metadata)) { Its within this class: package com.willr27survivalplus.handler; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.world.BlockEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; public class WSPEventHandler { @SubscribeEvent public void setBreakSpeed(PlayerEvent.BreakSpeed event) { if(ForgeHooks.isToolEffective(event.entityPlayer.getCurrentEquippedItem(), event.block, event.metadata)) { event.setCanceled(true); } else { event.setCanceled(false); } } }
  6. Ahhh that makes a lot more sense, I have mine set up in the opposite way so that it sets it to false if the tool is effective.
  7. So I should just leave it as (new ItemStack(Items.diamond_axe), block, metadata) ?
  8. Great thanks, but I don't really understand what to put in the parameters as it asks for (stack, block, metadata) and I thought it was just going to be like true or false.
  9. Now the problem arises that they can't break blocks when they nothing in their hand but they can say if they had a dirt block. So would I have to specify which blocks can be used with which tools? As in if the block they are mining equals stone and if they have a diamond pickaxe, allow them to break it.
  10. Alright will do thanks... I am using this and don't really understand whats wrong with it: private boolean objectInHand = true; @SubscribeEvent public void objectInHand(EntityPlayer event) { if(event.getCurrentEquippedItem() != null) { objectInHand = false; } } @SubscribeEvent public void setBreakSpeed(PlayerEvent.BreakSpeed event) { if(objectInHand = false) { event.setCanceled(true); } else { event.setCanceled(false); } }
  11. Thanks once again, could you give me a quick example because my game crashes when I do it.
  12. Wow, thanks again for another quick reply, I will try that out now... Well that was certainly one step in the right direction something is actually happening; the player can no longer break any blocks. However, they can't break any blocks with tools either which is not exactly what I wanted. Considering I entered one line of code inside my method I'm sure there is a way around this. @SubscribeEvent public void setBreakSpeed(PlayerEvent.BreakSpeed event) { event.setCanceled(true); }
  13. Firstly, thanks for the fast reply, but I am quite new to modding and events seem to be something I cannot get my head round. Could you show me how I would go about this as I have tried some events before and couldn't get them working. Sorry if this is really simple, I just have a poor understanding of events.
  14. I am trying to create a mod that makes the game more challenging, and so I would like to be able to remove the feature in vanilla Minecraft that allows the player to harvest wood through the power of their fist. However, I am not entirely sure how this would be possible as everywhere I looks seems to lead me back to changing the harvest level of the vanilla blocks, but this doesn't seem to do anything or I cannot get it working correctly. So I am wondering if anyone knew how this could be done, or could link me to any useful sources. If so this would be highly appreciated, thanks.
×
×
  • Create New...

Important Information

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