Okay, so I'm using a Grief Prevention Plus API to make a plugin that claims lands for companies, whenever you claim land and you don't have enough blocks, it says you can't make a claim, and it never invokes the ClaimCreateEvent because it's cancelled way before then. So I went along trying to rewrite the Interact... which failed considering I had to go inside the API itself which I can't do. So I decided to give the player in accrued blocks (who is in Company Claim Mode) like 1,000,000 blocks so he could claim. Then once he made a claim, I would add the claim area to his accrued blocks, and removed 1,000,000, but this kept on giving me either a number of blocks that the player did not have previously, or give me a ridiculously low negative number. You might think a player can glitch somehow, or abuse something in order to get that 1,000,000 blocks without me subtracting it. But I already subtracted that amount whenever the player leaves or exits out of company claim mode (amongst other scenarios). But I don't understand what math I have to do in order to give the player blocks so he can claim for his company (like a placeholder), and redo the whole thing so he has the amount of personal blocks since he started. Note: The reason I'm handling blocks using "Accrued" blocks is because there's a method for retrieving total blocks, but not for setting total blocks because there are 3 types, bonus, accrued, and group. So I just decided to do all the transactions in accrued blocks. Methods/Fields From Company Plugin: CompanyData.claimBlocks (int) Code: When the player turns on Claim Mode: (pd being PlayerData) Code (Text): pd.setAccruedClaimBlocks(pd.getAccruedClaimBlocks() + 100000); Whenever a player successfully makes a claim for the company: Code (Text): pd.setAccruedClaimBlocks(pd.getAccruedClaimBlocks() + claim.getArea() - 100000); Thanks for help . EDIT: Math in Action: Let's say I have 10 accrued blocks, this is excluding any other types of blocks because of the reasons I already stated. I do /cpclaim which turns on Company Claiming mode, this adds 100,000 to my claim blocks so now I have 100,010 accrued blocks. Now let's say I claim land for my company, let's say that area of land is 100 blocks. So that automatically does 100,010 - 100 which is 99910. Now in ClaimCreateEvent I do 99910 + claim.getArea() which is 100,010. Then I subtract 100,000 for it which equals 10, which is what I had in the first place. I have no idea why it is not working then. Like I said, it mostly returns a negative number (if I have a low number of blocks). If I do have lots of personal claim blocks then it still is nowhere near the number I had previously.