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

Hello there, i have few questions about forge chunk loading system:

1) I there "common" way of storing information in Tickets nbt?

2) If ticket is associated to entity, does it mean that it will load chunks around this entity?

3) Is there a way to get ticket's source position? Maybe somehow via 1?

4) Is there a way of getting all chunk loaders for my dimension (including player entities)?

5) Is there a way of disabling tickets, not containing chunk loader's position, in custom dimension?

 

I need all this, because in my dimension chunk structure is completely different, and a lot of things (including chunk loading) happen in another way...

 

Thanks for help!

If you have any questions - just ask!!!

  • Author

Few more questions:

6) Are EntityPlayer using tickets also, or they are doing it in another way?

7) Is there any common or existing parser for ticket's zone. Because i need to know in which shape chunks must be loaded and distances to borders...

  • Author

1) I there "common" way of storing information in Tickets nbt?

Ticket#getModData

2) If ticket is associated to entity, does it mean that it will load chunks around this entity?
I am not 100% sure, but yes, that is what it does I think. It will only load the one chunk the entity is in though, if anything.

3) Is there a way to get ticket's source position? Maybe somehow via 1?

The "source position"? It depends on what created the Ticket. If it's a TE you'd have to store that TE's coordinates in the custom data.

4) Is there a way of getting all chunk loaders for my dimension (including player entities)?
world.getPersistentChunks

5) Is there a way of disabling tickets, not containing chunk loader's position, in custom dimension?
Probably not, but I haven't looked into this too deeply.

6) Are EntityPlayer using tickets also, or they are doing it in another way?

No. They are using the vanilla stuff. Relevant classes are PlayerManager (keeps track of which player is loading which chunks) and EntityPlayerMP#onUpdate for loading and unloading of chunks for that player.

The difference here is that chunk loaders are saved to disk and loaded at world startup so that the relevant chunks can be loaded as well. Player chunks only load when the player is actually online. It is not saved which chunks the player loads.

7) Is there any common or existing parser for ticket's zone. Because i need to know in which shape chunks must be loaded and distances to borders...

Borders? Zones? Tickets contain a set of chunks (=chunk coordinates) which should be kept loaded.

 

[nobbc]8)[/nobbc] How chunk loading for players is handled?

See above.

Thanks for all that info, but "common" way i was asking is common way of writing position/source to the ticket...

 

Actually, all i need is to know x,y,z coord of chunk loader and it's range (if it is not special shape)... And if it is specially shaped or it's pos (especially y) is unknown, to disable it...

 

 

PS: Apearently with what i'm doing in my dim, i should use custom chunk loading system for it, and disable all others...

  • Author

As I said before, there is no concept of chunk loaders, shapes, position or anything like that in the forge system. Mods tell forge "keep these chunks loaded" and forge does that for them.

 

I find it very weird how your dimension is supposed to be different. Do you not have chunks with coordinates?

Yes, i have chunks with coordinates: x and z. Loading whole chunk at xz will just crash server with out of memory... What i'm doing is 65% done concept in the way that i'm doing it...

Basically, each chunk is separated in to minichunks (on y axis), which them are handling blocks, lighting, entities, tileentities, loading, unloading... Yes, this needs some asm in order to work. Especially for replacing AnvilChunkLoader with mine in chunk providers, and isValidBlockPos in World in order to "remove" 256 height limitation... (By creating minichunks on y, i can handle many more blocks in one chunk, because not all of it is loaded. Now you can see, why i need y of chunk loader)...

 

So apearently, i have to write my own system for chunk loading my dimension... Now the last question is: how to disable "modded" chunk loading in my dimension? Or maybe just remove all mapped values each tick/sec/min/...? (if it is impossible - i will have some problems)...

  • Author

You will have some problems :P Chunkloaders being the least of them.

I know... I will have a lot of problems... But for now, do i just remove my dim mapping from ForgeChunkManager.forcedChunks in order to disable modded chunk loading there?

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.