Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • NBTdata driven canHarvestBlock()?
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 0
Draco18s

NBTdata driven canHarvestBlock()?

By Draco18s, September 17, 2013 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted September 17, 2013

public boolean canHarvestBlock(Block par1Block);

 

If this function determines if blocks drop their resource when mined.

 

However, it isn't passed the ItemStack the player is using to mine the block (thus block-droppage is determined at the Item class level, requiring new Item-IDs to differentiate "tools" from "non tools").

 

Is there any way around this?

 

My first thought was returning false (no drops) and then fixing it with the onBlockDestroyed() method to cause a drop if there should be one (based on the NBTdata) but this prevents getStrVsBlock() from being called, which means that NBTdata is not used to determine block breaking speed.

  • Quote

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56382 posts
Posted September 17, 2013

From Item.java:

    /**
     * ItemStack sensitive version of {@link #canHarvestBlock(Block)} 
     * @param par1Block The block trying to harvest
     * @param itemStack The itemstack used to harvest the block
     * @return true if can harvest the block
     */
    public boolean canHarvestBlock(Block par1Block, ItemStack itemStack)
    {
        return canHarvestBlock(par1Block);  
    }

  • Quote

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted September 17, 2013

Huh, I managed to miss that somehow. o..O

 

I mean, I litterally trawled the Item class for every function I would possibly need and managed to grab the wrong canHarvestBlock one.

 

Well damn.

  • Quote

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56382 posts
Posted September 17, 2013

Useful tip: Use the eclipse class outline.

Useful tip #2: Use the "sort" feature in said outline ;)

  • Quote

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted September 17, 2013

Useful tip: Use the eclipse class outline.

Useful tip #2: Use the "sort" feature in said outline ;)

 

I know how to use it, I just managed to not-see it. :P

  • Quote

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 0
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • BeardlessBrady
      [1.16.4] Null when OpenGUI

      By BeardlessBrady · Posted 4 minutes ago

      Ah.. Thats what I get for stopping half way through and not double checking, thanks!
    • poopoodice
      [1.16.4] Null when OpenGUI

      By poopoodice · Posted 19 minutes ago

      https://github.com/Beardlessbrady/Currency-Mod/blob/master-1.16/src/main/java/com/beardlessbrady/gocurrency/blocks/vending/VendingTile.java#L68 This should not be null.
    • -MCS_Gaming-
      Matchmaking System?

      By -MCS_Gaming- · Posted 21 minutes ago

      I'm making an fps style mod and want to implement a matchmaking system, but I have absolutely no idea where to begin. Would anyone be able to give me some pointers as to how I would go about doing this?
    • BeardlessBrady
      [1.16.4] Null when OpenGUI

      By BeardlessBrady · Posted 44 minutes ago

      While trying to open a gui in my block my console returns with this error: https://pastebin.com/XNYzf9pe Its basically saying that something is null on line 51. I am checking if namedContainerProvider is null and its doubtful the player is null so that means the NetworkHooks is returning null? How does one fix that issue.   Below is a link to the line the error is referring to: https://github.com/Beardlessbrady/Currency-Mod/blob/master-1.16/src/main/java/com/beardlessbrady/gocurrency/blocks/vending/VendingBlock.java#L51
    • Beethoven92
      [1.16.5] Beacon Overwrite (Screen Error)

      By Beethoven92 · Posted 58 minutes ago

      The beacon container uses a proximity check to see if the player is near enough to open the container..unfortunately this check is hardcoded to only work with the vanilla Blocks.BEACON. So if you created your own beacon block this will be different from the vanilla one, and the proximity check will always fail leading to the behavior you described above. You need to override canInteractWith in your ModBeaconContainer (which i suppose directly inherits from the BeaconContainer class?) and allow interaction with your own Beacon block
  • Topics

    • BeardlessBrady
      2
      [1.16.4] Null when OpenGUI

      By BeardlessBrady
      Started 44 minutes ago

    • -MCS_Gaming-
      0
      Matchmaking System?

      By -MCS_Gaming-
      Started 21 minutes ago

    • Nyko
      1
      [1.16.5] Beacon Overwrite (Screen Error)

      By Nyko
      Started 15 hours ago

    • ThisIsNotOriginal
      0
      Error at load_registries event phase

      By ThisIsNotOriginal
      Started 1 hour ago

    • GhostGamesFSM
      1
      1.16 Ore generation.

      By GhostGamesFSM
      Started 3 hours ago

  • Who's Online (See full list)

    • AiresNor
    • Draco18s
    • BeardlessBrady
    • Varzac
    • -MCS_Gaming-
    • JackRaidenPH
    • Top_DawgsPM
    • Talp1
    • onyxwarrior117
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • NBTdata driven canHarvestBlock()?
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community