Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I'm working on a mod that needs to manipulate structures after they generate.  (I'm adding something that is NOT procedurally generated, it must have a 100% chance of spawning and can only spawn once).

 

I've successfully done this for villages/mineshafts/strongholds but my method is extremely hacky.  I capture the mapgen then test each chunk as it's generated if a specific structure can spawn there and get a bounding box for where it would spawn.  This seems to work well but it's not clean at all and I'm not really happy with it.  I'm wondering if there is a better way to do this?

 

I apologize if this has been mentioned before I've been unable to find anything and even asked in IRC a couple weeks ago and diesieben07 suggested I'd have to hack something together.

 

Thanks for any help.

 

 

Well diesieben07 is pretty knowledgeable so if there was a "clean" way he'd probably know it. 

 

I guess my question is what your actual objection to the way you're doing it is?  I assume you're handling a chunk event and then doing some inspection of the chunk.  Seems like a logical way to do it.

 

In modding, since we're trying to affect other existing code without directly modifying it, there are only a few "clean" methods for modding:

1) Resource assets can be directly replaced -- not really a mod, but rather resource pack.

2) Use public fields and methods in vanilla classes, where available.

3) Use registries where available.

4) Use events where available.

5) Use Java reflection

6) Use access transformers (ASM)

 

You might want to consider Java reflection.  Otherwise, if there is not specific methods, registries, events for what you want to do then a bit of "hacky" might be the right thing.

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

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.