Jump to content

Block Break Event/api for 1.6.2?


drazuam

Recommended Posts

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?

Link to comment
Share on other sites

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 :P

 

As far as yours goes, I would very much like a link and/or permission to use whatever you have :D

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

Link to comment
Share on other sites

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-

Link to comment
Share on other sites

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 xD 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-

Link to comment
Share on other sites

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-

Link to comment
Share on other sites

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 :P

 

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-

Link to comment
Share on other sites

  • 2 weeks later...

@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-

Link to comment
Share on other sites

@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.

Link to comment
Share on other sites

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 :P

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 :)

Link to comment
Share on other sites

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... :o

 

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.

Link to comment
Share on other sites

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-

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.