Loophole In Auto Rank System [Need Help]

Discussion in 'Spigot Plugin Help' started by SmashLies, May 26, 2016.

  1. So I've just realized that with my auto ranking system, we require players to play a certain amount of time, mine a certain amount of blocks and kill mobs. It just dawned on me that players can use silktouch and just keep breaking and placing the diamond and other ore blocks. I'm not sure if there is a way to fix this. We've thought about making it so you have to keep the items in your inventory when you complete the requirement but then players could just give them to a friend and rank up.
     
  2. There should be a way in spigot to check if a block was placed by a player or naturally generated. If you can find how to do this, you can get someone to make a quick plugin to help you.
     
  3. 4chan

    Supporter

    Check if a player has broken the same ore on a single position twice. If so, they should get autoban.
     
  4. I don't think there is. Your best bet op Is to get a plugin that's stores the location of placed blocks for a certain amount of time or set meta data for the block and if it as X meta don't add xp.
     
  5. This is the most common solution. The issue with this is:
    1) In survival if a player breaks a block, there is no special data added to it. So you can't check for that.
    2) Keeping a storage of all the blocks placed would take up way too much storage/memory.
     
    #5 Leniency, May 26, 2016
    Last edited: May 26, 2016
  6. That's why I said for a certain amount of time since a lot of blocks would be placed. I also suggested the metadata as you said in the post below. Although metadata doesn't stay after a restart I'm not sure how that plugin handles it.
     
  7. Idk either. Somehow it manages to have lightweight persistent metadata storage .