Stargate Journey

Stargate Journey

5M Downloads

Universe Stargate Unique address?

snakeeater4526 opened this issue · 6 comments

commented

it would be cool to have the possibility to have the universe stargate having unique adress like the other stargates ( rn using ATM9 in 0.2.27 )

commented

You mean like a dedicated dimension which would by default have a Universe Stargate?

commented

well that would be cool too ofc, but no i mean that the universe stargate doesn't get a UNIQUE address like the other ( probably because it's out of the network ) but i feel like this limitation is kinda useless^^ . hope you understand

commented

well that would be cool too ofc, but no i mean that the universe stargate doesn't get a UNIQUE address like the other ( probably because it's out of the network ) but i feel like this limitation is kinda useless^^ . hope you understand

I don't quite understand what you mean. How did you come to the conclusion they don't have unique addresses?

Every Stargate works the same except for some minor differences, so every Stargate does have a unique 9-chevron address, otherwise it wouldn't work at all, because the unique 9-chevron address is used as an identifier for dialing and connections.

commented

Well that's the problem, when i give myself the Universe gate, pose it and break it, it doesn't have a unique address, which is a thing that work for other milkyway gates, however i just realised this bug also exist for the pegasus gate when giving ( the gate on lantea have a unique address )
image

commented

Well that's the problem, when i give myself the Universe gate, pose it and break it, it doesn't have a unique address, which is a thing that work for other milkyway gates, however i just realised this bug also exist for the pegasus gate when giving ( the gate on lantea have a unique address )

Ah, I see the problem. See that "Won't be added to network" thing written? That means exactly what it says, it won't be added to the Stargate Network, it won't have an address. If you want to get a properly working Stargate right now, either look into Stargate Journey's Blocks Creative Tab, as that one has a fully functional Stargate, or use the /give @p sgjourney:universe_stargate

The Stargate item you have in your inventory is basically an operator item that I only use when making Stargate structures. The bug isn't that it has no address, that's fully intended. The bug actually is that JEI and default Creative Inventory search prioritize these Stargates that aren't supposed to load immediately, as opposed to the ones that most people actually want to use. Don't worry, it's been taken care of in 0.6.9, so it won't bother anyone once I release it.

The thing is, due to the way Minecraft loads Block Entities, you can't really know if it's been loaded from Structure generation or by some other means. So if I put a regular Stargate inside a Structure, there would be 2 problems:

  1. Once placed in my building world, the Stargate will immediately generate a 9-chevron address. Now, that might not seem like much of a problem, the Structure's Stargate will just always have the same address. But what if there are 2 or more of the same Structure, like there are in the Common Stargates Datapack? Then multiple Stargates would have the same address, which creates lots of problems. (I do have checks preventing two Stargates having the same address)

  2. Once placed in my building world, the Stargate will immediately be added to the Stargate Network. Since it's already marked as added to the Stargate Network in the world I used for building the Structures, the Stargate won't notice it's been generated in your world inside a Structure, so it won't add itself to the Stargate Network of your world.

What's the easiest way of solving these problems? Since there exists no way of recognizing when it generates inside a Structure, the next best thing is to add a piece of code that basically says "Don't generate an address and add yourself to the network right now, wait for the next time you're loaded by Chunkloading" and add a parameter "Won't be added to network" which will activate the piece of code when present.

That's it, that's what that that "Won't be added to network" means. It's just a delay between the Stargate being placed and generating its address + getting added to Stargate Network. And yes, this also means that if you were to place that "Operator" Stargate in your world, leave the chunks and load them again, it would generate an address and add itself to the Stargate Network.

commented

thanks for the answer it's perfect, Btw you're work is amazing keep up the good work