Jump to content

[1.12.2] Prevent sand/gravel blocks from falling


kevinmd88

Recommended Posts

I'm trying to determine a way to stop blocks like sand and gravel from falling when there's nothing supportive beneath them. I found this topic in my searches: 

However unfortunately it isn't solved there.

 

I'm not aware of such an event I can subscribe to... Is there an effective way in Forge to handle this?

 

If it helps as to why I'm trying to accomplish this... I'm attempting to port over the CA-Teleport and CA-Static Bukkit plugins that Rumsey wrote for the CraftingAzeroth project over to Forge. I have finished coding for CA-Teleport (though I have not yet tested it), and my question here relates to how to adapt the plugin's onBlockPhysics handler in the Bukkit implementation.

Edited by kevinmd88
clarification
Link to comment
Share on other sites

4 hours ago, kevinmd88 said:

I'm not aware of such an event I can subscribe to... Is there an effective way in Forge to handle this?

There is no hook for this.

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.

Link to comment
Share on other sites

you could try and replace gravel and sand blocks base class via asm(every mod that extends x class) or replace them hard coded to do your function by using the same registry name for your block

Edited by diesieben07
no
Link to comment
Share on other sites

On 4/30/2018 at 12:30 PM, moonlyer said:

It is possible to override vanilla sand and gravel in the registry and replace them with your own versions of sand and gravel. I believe thats the only way to stop them from falling with Forge.

By replacing them with my own versions, would other recipes that depend on the vanilla versions still function?

Link to comment
Share on other sites

 

On 4/30/2018 at 7:30 PM, moonlyer said:

It is possible to override vanilla sand and gravel in the registry and replace them with your own versions of sand and gravel. I believe thats the only way to stop them from falling with Forge.

even if it were the only way, never do that. how would you make more than 5 mods work together (even as a player, not just modder) if they liberally replaced original stuff with their own?

 

On 4/30/2018 at 2:58 PM, kevinmd88 said:

I'm trying to determine a way to stop blocks like sand and gravel from falling when there's nothing supportive beneath them.

investigate EntityFallingBlock a little. consider subscribing to event bus and reacting to entity update (or, even better, entity join world or entity enter chunk).

i can not test things now (at work) but i believe one or two simple solutions exist, which rely on tripping the falling entity before it actually gets moving.

Link to comment
Share on other sites

5 hours ago, MFMods said:

 

even if it were the only way, never do that. how would you make more than 5 mods work together (even as a player, not just modder) if they liberally replaced original stuff with their own?

It would work fine. What I was suggesting is replacing it in the registry. Therefore, as far as all vanilla and other mods are concerned it would be sand/gravel. That's part of the benefit of a registry. This has nothing to do with modifying base classes, so the warnings about that aren't applicable.

 

The whole point of modding is changing behavior. If there is a conflict in what the mods want to do that is a different problem -- if one mod is preventing the sand from falling and another mod wants to make it fall faster then no interface is going to help that. 

 

LexManos and PaleoCrafter (both major Forge contributors) support this approach. See their discussion here: https://github.com/MinecraftForge/MinecraftForge/issues/4079. "Overrides" in the registry are an intended feature.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

Overriding items is an intended feature but only one mod can override any given item. It's a necessary sacrifice.

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.

Link to comment
Share on other sites

On 5/4/2018 at 8:25 PM, jabelar said:

The whole point of modding is changing behavior. If there is a conflict in what the mods want to do that is a different problem -- if one mod is preventing the sand from falling and another mod wants to make it fall faster then no interface is going to help that. 

well, true, but that example is a bit extreme isn't it?

what if one mod wants to make horses faster, second wants to make them avoid players when untamed, third wants to add more variation in stats, fourth wants to change the way they graze grass...? good mods will do their thing without replacing the horse, thus allowing us to have all four changes. lousy mod will block other changes for the sake of their own.

 

On 5/4/2018 at 8:25 PM, jabelar said:

LexManos and PaleoCrafter (both major Forge contributors) support this approach.

hold on... i would support replacement of an object which itself holds the behavior - you're making a "better fishing" mod? you need to replace the fishing rod and the bobber. i don't have a problem with that.

 

but sand doesn't contain the falling behavior. if he replaces sand and gravel, what about mystical sand? tropical sand? fairyland sand (i'm making them up)? end-sand? they'll keep falling down (maybe up in case of end-sand). he needs to go for the falling behavior, not just the sand - if possible of course, and i very much believe that in this case it is.

 

@kevinmd88: just be sure that the x and z-motion are zero. if there is a non-vertical component, leave it be, it's not a falling block.

  • Like 1
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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • where opportunities abound and promises of financial prosperity beckon from every corner of the internet, the line between opportunity and deception becomes increasingly blurred. As a 38-year-old single mom, I embarked on a journey into the world of cryptocurrency investing, hoping to secure a brighter future for myself and my family. Little did I know, this journey would lead me down a treacherous path fraught with deception and heartbreak. My foray into cryptocurrency investing began with the promise of lucrative returns from a platform claiming to operate within Europe and South Asia. Blinded by optimism and the allure of financial gain, I entrusted my hard-earned savings to this fraudulent company, believing wholeheartedly in its legitimacy. However, my hopes were dashed when I began encountering difficulties with withdrawals and found myself entangled in a web of exorbitant fees and dubious practices. In a desperate bid to salvage what remained of my investment, I turned to a recovery company recommended to me by the very platform that had deceived me. Yet, even in my darkest hour, the deceit persisted, as I soon discovered that the company tasked with recovering my funds was complicit in the deception. Faced with the crushing realization that I had been betrayed once again, I felt a sense of hopelessness engulf me. It was in this moment of despair that I stumbled upon Lee Ultimate Hacker – a shining beacon of hope amidst the darkness of deception. Through a stroke of luck, I came across a blog post singing the praises of this remarkable team, and I knew I had found my savior. With nothing left to lose and everything to gain, I reached out to them, hoping against hope for a chance at redemption. From the outset, Lee Ultimate Hacker proved to be a guiding light in my journey toward financial recovery. Their professionalism, expertise, and unwavering commitment to client satisfaction set them apart from the myriad of recovery services in the digital sphere. With empathy and understanding, they listened to my story and embarked on a mission to reclaim what was rightfully mine. Through their diligent efforts and meticulous attention to detail, Lee Ultimate Hacker succeeded where others had failed, restoring a sense of hope and security in the wake of betrayal. Their dedication to justice and unwavering determination to deliver results ensured that I emerged from the ordeal stronger and more resilient than ever before. Throughout the recovery process, their team remained accessible, transparent, and supportive, offering guidance and reassurance every step of the way. To anyone grappling with devastating financial fraud, I offer a lifeline of hope – trust in Lee Ultimate Hacker to guide you through the storm with expertise and compassion. In a world rife with deception and uncertainty, they stand as a beacon of reliability and trustworthiness, ready to lead you toward financial restitution and a brighter future. If you find yourself in a similar predicament, do not hesitate to reach out to Lee Ultimate Hacker.AT LEEULTIMATEHACKER@ AOL. COM   Support @ leeultimatehacker . com.  telegram:LEEULTIMATE   wh@tsapp +1  (715) 314  -  9248  https://leeultimatehacker.com
    • Sorry, this is the report https://paste.ee/p/OeDj1
    • Please share a link to your crash report on https://paste.ee, as explained in the FAQ
    • This is the crash report [User dumped their crash report directly in their thread, triggering the anti-spam]  
    • Add the crash-report or latest.log (logs-folder) with sites like https://paste.ee/ and paste the link to it here  
  • Topics

×
×
  • Create New...

Important Information

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