Posted July 12, 20178 yr I am try to make a block that when a player is on top of it they get damaged. I have tried some events but none seem to work. Is there an event made to detect when player is on the block or is there any other way to do it? Edited July 12, 20178 yr by Mastef_Chief
July 12, 20178 yr Is this one of your blocks, meaning can you edit the class? If that is the case, you can override Block#onEntityCollidedWithBlock
July 13, 20178 yr Author I tried doing this but it still isnt damaging the player https://pastebin.com/c2q9mW1i
July 13, 20178 yr Your collision bounding box is the full block, but that wont work because you don't collide with the block if you're on top of it, instead of 'inside' of it, so make the bounding box height a fraction smaller Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
July 13, 20178 yr Author Like this: @Override public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) { return new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.9D, 1.0D); }
July 13, 20178 yr I believe you need to override getCollisionBoundingBox(...). Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
July 13, 20178 yr Author for getCollisionBoundingBox do i return the samething i would return for getBoundingBox
July 13, 20178 yr getBoundingBox needs to be a full block, and getCollisionBoundingBox needs to be less than a full block. Look at vanilla BlockSoulSand. Another way of doing this is to leave the bounding boxes alone and override onEntityWalk - look at vanilla BlockMagma. That method is only called when an entity is standing on top of a full block, not if they collide from other directions.
July 13, 20178 yr Note that onEntityWalk is not guaranteed to fire, especially if the player is sprinting. 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.
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.