{"action":"created","issue":{"url":"https://api.github.com/repos/BuildCraft/BuildCraft/issues/3323","repository_url":"https://api.github.com/repos/BuildCraft/BuildCraft","labels_url":"https://api.github.com/repos/BuildCraft/BuildCraft/issues/3323/labels{/name}","comments_url":"https://api.github.com/repos/BuildCraft/BuildCraft/issues/3323/comments","events_url":"https://api.github.com/repos/BuildCraft/BuildCraft/issues/3323/events","html_url":"https://github.com/BuildCraft/BuildCraft/issues/3323","id":152009896,"number":3323,"title":"Quarry: Reports its location as the currently mined block, not the actual quarry","user":{"login":"DraksterAU","id":9921203,"avatar_url":"https://avatars.githubusercontent.com/u/9921203?v=3","gravatar_id":"","url":"https://api.github.com/users/DraksterAU","html_url":"https://github.com/DraksterAU","followers_url":"https://api.github.com/users/DraksterAU/followers","following_url":"https://api.github.com/users/DraksterAU/following{/other_user}","gists_url":"https://api.github.com/users/DraksterAU/gists{/gist_id}","starred_url":"https://api.github.com/users/DraksterAU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DraksterAU/subscriptions","organizations_url":"https://api.github.com/users/DraksterAU/orgs","repos_url":"https://api.github.com/users/DraksterAU/repos","events_url":"https://api.github.com/users/DraksterAU/events{/privacy}","received_events_url":"https://api.github.com/users/DraksterAU/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-30T04:58:59Z","updated_at":"2016-04-30T11:41:02Z","closed_at":null,"body":"Hi All,\r\n\r\nI'm currently working on a Thermos (Cauldron) compatibility addon that will allow quarries to be used without risk of griefing.\r\n\r\nThis will primarily be for use on Hybrid servers, like Thermos or KCauldron.\r\n\r\nAt present BC is reporting the location of the FakePlayer as the location of the block being broken, not the quarry, which means it is impossible to do check to see if the quarry can break / place blocks there.\r\n\r\nCan this possibly be adjusted? My plugin runs off the bukkit side of the hybrid server which relies on the FakePlayer reporting its location properly.\r\n\r\nThe location of the block is present in the block object in both forge and bukkit events, so having the fakeplayer location as that is pointless.\r\n\r\nThe End goal for Industrial miner grief protection will be;\r\n\r\n- If a player places a quarry in a location that is protected by factions, it assumes the player had (and the quarry shall have) build rights there.... so it will mine.\r\n- If a player places a quarry in unclaimed land, it will only let the quarry mine in unclaimed land as it cannot guarantee the player had rights to do so elsewhere.\r\n\r\nSide note: If you could name the FakePlayer the same as the placing player, or have it as an attribute of the BuildCraft fakeplayer, that would us to support grief prevention for quarries 100%.\r\n\r\nThe end result for this will support Grief prevention, Towny, Factions, FactionsUUID, FactionsOne, Redprotect, Worldguard and many other plugins (I have the code for this ready).\r\nExample is for factions.\r\n\r\nExample of what I'm trying to do:\r\n```\r\n\r\n    @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)\r\n    public void onBreak(BlockBreakEvent event) {\r\n        Player player = event.getPlayer();\r\n        Block block = event.getBlock();\r\n        Faction factionForPlayer = getFactionForChunk(player.getLocation().getChunk());\r\n        Faction chunkFaction = getFactionForChunk(block.getChunk());\r\n        \r\n        if ((chunkFaction.getId().equals(\"none\") || factionForPlayer == chunkFaction) && (event.getPlayer().getName().contains(\"[BuildCraft]\") || event.getPlayer().getName().contains(\"[Mekanism]\"))) {\r\n            // This is where we allow denied break events.\r\n            PerimeterPlugin.throwMessage(\"info\", \"Uncancelling a cancelled break event at: \" + block.getLocation() + \" for \" + player.getName() + \" at location: \" + player.getLocation());\r\n            event.setCancelled(false);\r\n        }\r\n    }\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/BuildCraft/BuildCraft/issues/comments/215958500","html_url":"https://github.com/BuildCraft/BuildCraft/issues/3323#issuecomment-215958500","issue_url":"https://api.github.com/repos/BuildCraft/BuildCraft/issues/3323","id":215958500,"user":{"login":"DraksterAU","id":9921203,"avatar_url":"https://avatars.githubusercontent.com/u/9921203?v=3","gravatar_id":"","url":"https://api.github.com/users/DraksterAU","html_url":"https://github.com/DraksterAU","followers_url":"https://api.github.com/users/DraksterAU/followers","following_url":"https://api.github.com/users/DraksterAU/following{/other_user}","gists_url":"https://api.github.com/users/DraksterAU/gists{/gist_id}","starred_url":"https://api.github.com/users/DraksterAU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DraksterAU/subscriptions","organizations_url":"https://api.github.com/users/DraksterAU/orgs","repos_url":"https://api.github.com/users/DraksterAU/repos","events_url":"https://api.github.com/users/DraksterAU/events{/privacy}","received_events_url":"https://api.github.com/users/DraksterAU/received_events","type":"User","site_admin":false},"created_at":"2016-04-30T11:41:01Z","updated_at":"2016-04-30T11:41:01Z","body":"If that's the case ..."}}