Posted August 7, 201312 yr I'm writing a mod that needs to make logs of broken blocks; Keepcalm's block break API would be perfect for the event I need, but it hasn't been updated in seven months, and implements interfaces that have been removed. So Does anybody know any good block break event or api (coremod?) for 1.6.2 forge?
August 7, 201312 yr I think the Forge team wanted to add a BlockBreakEvent, but I don't know if it is still in the works.
August 7, 201312 yr @gotolink, yea like months ago @op, forgeessentials coremod probably does that as well as mine if you need how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 7, 201312 yr Author Forge essentials seemed a bit heavy when I last used it on a forge server... And on top of that, all I would want is one function that would be used client side. The mod I'm making is a client-utility, and doesn't even have a serverside As far as yours goes, I would very much like a link and/or permission to use whatever you have I'm not too experienced in forge/mcp yet, so I wouldn't really understand how to make a coremod to support a block break event
August 7, 201312 yr Forge essentials seemed a bit heavy when I last used it on a forge server... didnt know :\ i tought that it was actually good (i use my own version of "essentials" and i dont have any problems on my server let me pack up the coremod and ill send it to you (either PM if it accept files or in this thread, or mediafire/dropbox/etc) how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 7, 201312 yr Author To be honest though, that might have just been the hosting. In any case, if I ever plan to release this mod, I'm not too sure I would want to have to package it with forge essentials :\ To many unwanted functions imo
August 7, 201312 yr yeah i feel you, this is also why i made my own version and didnt use essentials (also because shop sucks but thats another story) btw i didnt forget you its just i dont have access to my dev env right now and i also need to make SURE it works before sending it to you (like work in dev env, real client and real server) how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 7, 201312 yr Author Please, by all means, take your time. I'm sure you'd be able to send it to me faster than I could learn/ figure out how to code it lol
August 7, 201312 yr i jsut realised this ..im using ASM to insert stuff into the ItemInWorldManager class and that class is only used server side, so it would work if you're playing single player, but not if you're playing on a server :\, still want it ? how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 7, 201312 yr Author Dang. This mod was meant to be used on a server lol. I'll just go ahead an actually learn something I suppose Basically, I'm going to try to recreate or update Keepcalm's block break api
August 7, 201312 yr And on top of that, all I would want is one function that would be used client side. The mod I'm making is a client-utility, and doesn't even have a serverside contradicts This mod was meant to be used on a server lol. my core only notify server side, but you could always send a packet how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 8, 201312 yr Author Sorry, what I meant is it's a client-side utility for use on a server lol so like rei's minimap, for example.
August 17, 201312 yr Personally, I use PlayerInteractEvent, Action.LEFT_CLICK_BLOCK and some reflection to get the block break status.
August 17, 201312 yr lol an ugly hack you say ? It has no effect on performance so I am too lazy to edit that private boolean value.
August 18, 201312 yr @chillbill, are yoyu kidding ?!?!?! finally!! i have to check if theres a block place event too how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 18, 201312 yr https://github.com/MinecraftForge/MinecraftForge/pull/623 The PR is still open, but Lex discussed it last week. It could include a BlockDropXP event too. @hydroflame We already have PlayerInteractEvent and Action.RIGHT_CLICK_X handling most Block placed events
August 18, 201312 yr @gotolink: yeah thats what i tought too BUT http://www.minecraftforge.net/forum/index.php/topic,3094.msg20926.html#msg20926, one of my very first thread :') give it a read you'll understand why RIGHT_CLICK_BLOCK is wrong :\ @dies if they are havign bukkit overhead they are doing it wrong also, left_blick_block also has a bug with it and cant be use fully as a block break event (video demonstration: in this video i am adding exp everytime a Left_click_block event is fired, which obviously isnt enough, i would also like to know how gotolink does that) how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 18, 201312 yr @dies *facepalm* guess im still using my coremod then @chillbill haha, sorry about that buddy how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 18, 201312 yr @gotolink: yeah thats what i tought too BUT http://www.minecraftforge.net/forum/index.php/topic,3094.msg20926.html#msg20926, one of my very first thread :') give it a read you'll understand why RIGHT_CLICK_BLOCK is wrong :\ I never tried to canceled it...but this doesn't sound good indeed. So much Bukkit overhead .... Hurts my eyes... And also @GotoLink: Action.LEFT_CLICK_BLOCK fires only once, when the block is first clicked... How do you get the notified at the point where it actually gets broken? TickHandlers? I store the info and use a TickHandler to run checks, yes. Obviously, it is limited to one block break per player per tick, but i doubt it make any difference for players.
August 18, 201312 yr The canceling is only one concern I have. Also RIGHT_CLICK_BLOCK gets fired before the block get's placed, so you have to do all the calculations minecraft does to figure out where the block would be placed yourself (again!). Because x, y, z of the event give you the block being clicked, not the block being placed. You have the face of the click, it isn't so hard to move to the neighbouring block... At worst, 6 cases in a switch I store the info and use a TickHandler to run checks, yes. Obviously, it is limited to one block break per player per tick, but i doubt it make any difference for players. Ouch. But do what you must lol. I'd be glad to hear more convenient strategies
August 18, 201312 yr Plus: Special casing tall grass (and the forge hook for that), checking if the player is actually allowed to place a block here (spawn protection, adventure mode, space might be occupied already [torches!]), etc. etc. That's not what I want to do. Why would you check that ? you don't have to place the block... And more reliable, too. Because if you just check one tick later if the block has been placed you can't be sure it was actually the player. Just inject some code via ASM everywhere removeBlockByPlayer gets called. Not convenient at all. Plus, i can tell who is breaking the block with reflection.
August 18, 201312 yr because we need a block place event too and reflection is slower, sure asm takes some time to implement but once its working its native java speed. since block place/break event are one of the few things preventing forge from being a good high population mod it would be nice to have those integrated within standard forge. how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
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.