Posted March 13, 20178 yr Hi, I was just wondering if there is a better/more reliable way of determining if a player has edited a certain BlockPos in a specific dimension. Currently, the best way I can think of doing this is to create a new instance of WorldSavedData connected to World#getPerWorldStorage() (so its dimension-dependent) containing a list of BlockPos. That list would be updated by a method subscribed to the BlockEvent.PlaceEvent and BlockEvent.MultiPlaceEvent events. When I wanted to, I could pull that world storage instance for the world the player is in and check the list to see if a specific BlockPos has been edited (which for my purposes is only when a new block has been placed). The only problem with this that I see is if anything gets placed that doesn't invoke those two events, such as modded items and commands (like /setblock or /fill). Have I missed something, or does anyone know a better alternative/solution? Thanks - TMG Edited March 14, 20178 yr by TheMasterGabriel
March 14, 20178 yr You could subscribe to WorldTickEvent and check if specific BlockPos has been changed in specific dimension. This would work every time, but probably has more impact on the performance. Maybe check every few seconds?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.