Posted July 28, 201411 yr Hello, I would like to know when a player steps on a certain block using events i believe i have the to LivingUpdateEvent but i dont know what to do from there. Thank you, Drok
July 28, 201411 yr To get the position of the block underneath properly, you need to take into account the Yoffset of the entity/player. So full code should be more like this: public Block findBlockUnderEntity(World parWorld, Entity parEntity) { return parWorld.getBlock(MathHelper.floor_double(parEntity.posX), MathHelper.floor_double(parEntity.posY - 0.20000000298023224D - (double)parEntity.yOffset), MathHelper.floor_double(parEntity.posZ)); } (The high precision double number was copied from elsewhere in Minecraft code, but of course you could probably get by with 0.2D). Check out my tutorials here: http://jabelarminecraft.blogspot.com/
July 28, 201411 yr Author I would use this to register the handler correct? MinecraftForge.EVENT_BUS.register(new VillageEventHandlerBFM()); in my init method?
July 28, 201411 yr Author ok so then what would i use? FMLCommonHandler.instance().bus().register(new VillageEventHandlerBFM()); woudl this work?
July 28, 201411 yr Author ok it works now but when i make the method: public void onPlayerTickEvent(PlayerTickEvent event, World world) { so i can use world#getBlock it crashes what am i supposed to do?
July 28, 201411 yr You don't add the World as a parameter... You can get the world by using event.player.worldObj Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
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.