iPortalTeam / ImmersivePortalsMod

Non-Euclidean in Minecraft. See through portals and teleport seamlessly.
https://qouteall.fun/immptl/
Apache License 2.0
422 stars 100 forks source link

Error loading custom portal generation #1487

Closed kaolincash closed 6 months ago

kaolincash commented 6 months ago

Is it a mod compatibility issue?

No

If it's a mod compatibility issue, please provide the link(s) to the incompatible mod(s)

No response

Minecraft version

1.20.1

Describe the issue

Fabric version: 1.20.1 Immersive Portals version: immersive-portals-3.3.6-mc1.20.1-fabric.jar

I've been using a datapack I made, using this documentation as reference, since Fabric 1.19.2, but I have since updated to Fabric 1.20.1 and now it doesn't work. I updated the pack format to be in line with other 1.20.1 datapacks that do work, and the server recognises and loads it successfully, so that's probably not the issue.

The datapack-configured portals worked before, but don't now, and I can't find any new or updated documentation to describe any changes that have been made to the schema version or format or anything like that.

The last two lines of the log show me attempting to light two portals; one to a new dimension I uploaded to temporarily import worlds to copy over structures from ("impworld") and one to a dimension that previously worked on 1.19.2 which I used as a rumpus room for designing builds/redstone testing ("rumpus"), the configuration of which did not change in the datapack across updates and worked previously. The impworld config was simply copied from the rumpus config and I just altered the destination and frame block parameters. I attempted lighting both a newly cconfigured and previously configured portal to see if either would work, and neither successfully ignites.

Right here is a repo I just uploaded of the new dimensions datapack (new 'd's, aka "newds" (lol)) I made, so you can see the files inside it and their formatting: https://github.com/kaolincash/newds/tree/main/newds

Below is the server output when I load the datapack, and attempt to light the portals:

19.12 01:10:01 [Server] Server thread/INFO Loaded Custom Portal Gen newds:overworld
19.12 01:10:01 [Server] Server thread/INFO Custom Portal Gen Is Not Activated {
19.12 01:10:01 [Server] INFO "trigger": {
19.12 01:10:01 [Server] INFO "item": "minecraft:flint_and_steel",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:use_item"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "form": {
19.12 01:10:01 [Server] INFO "generate_frame_if_not_found": true,
19.12 01:10:01 [Server] INFO "area_block": "imm_ptl:pass",
19.12 01:10:01 [Server] INFO "frame_block": "minecraft:pink_concrete",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:heterogeneous"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "from": [
19.12 01:10:01 [Server] INFO "imm_ptl:any_dimension"
19.12 01:10:01 [Server] INFO ],
19.12 01:10:01 [Server] INFO "to": "marchpane:heaven",
19.12 01:10:01 [Server] INFO "schema_version": "imm_ptl:v1"
19.12 01:10:01 [Server] INFO }
19.12 01:10:01 [Server] Server thread/INFO Custom Portal Gen Is Not Activated {
19.12 01:10:01 [Server] INFO "trigger": {
19.12 01:10:01 [Server] INFO "item": "minecraft:flint_and_steel",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:use_item"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "form": {
19.12 01:10:01 [Server] INFO "generate_frame_if_not_found": true,
19.12 01:10:01 [Server] INFO "area_block": "imm_ptl:pass",
19.12 01:10:01 [Server] INFO "frame_block": "minecraft:lime_terracotta",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:heterogeneous"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "from": [
19.12 01:10:01 [Server] INFO "imm_ptl:any_dimension"
19.12 01:10:01 [Server] INFO ],
19.12 01:10:01 [Server] INFO "to": "marchpane:rumpus",
19.12 01:10:01 [Server] INFO "schema_version": "imm_ptl:v1"
19.12 01:10:01 [Server] INFO }
19.12 01:10:01 [Server] Server thread/INFO Custom Portal Gen Is Not Activated {
19.12 01:10:01 [Server] INFO "trigger": {
19.12 01:10:01 [Server] INFO "item": "minecraft:flint_and_steel",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:use_item"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "form": {
19.12 01:10:01 [Server] INFO "generate_frame_if_not_found": true,
19.12 01:10:01 [Server] INFO "area_block": "imm_ptl:pass",
19.12 01:10:01 [Server] INFO "frame_block": "minecraft:acacia_planks",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:heterogeneous"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "from": [
19.12 01:10:01 [Server] INFO "imm_ptl:any_dimension"
19.12 01:10:01 [Server] INFO ],
19.12 01:10:01 [Server] INFO "to": "marchpane:nerevys",
19.12 01:10:01 [Server] INFO "schema_version": "imm_ptl:v1"
19.12 01:10:01 [Server] INFO }
19.12 01:10:01 [Server] Server thread/INFO Custom Portal Gen Is Not Activated {
19.12 01:10:01 [Server] INFO "trigger": {
19.12 01:10:01 [Server] INFO "item": "minecraft:flint_and_steel",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:use_item"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "form": {
19.12 01:10:01 [Server] INFO "generate_frame_if_not_found": true,
19.12 01:10:01 [Server] INFO "area_block": "imm_ptl:pass",
19.12 01:10:01 [Server] INFO "frame_block": "minecraft:bedrock",
19.12 01:10:01 [Server] INFO "type": "imm_ptl:heterogeneous"
19.12 01:10:01 [Server] INFO },
19.12 01:10:01 [Server] INFO "from": [
19.12 01:10:01 [Server] INFO "imm_ptl:any_dimension"
19.12 01:10:01 [Server] INFO ],
19.12 01:10:01 [Server] INFO "to": "marchpane:impworld",
19.12 01:10:01 [Server] INFO "schema_version": "imm_ptl:v1"
19.12 01:10:01 [Server] INFO }
19.12 01:10:06 [Server] Server thread/INFO Portal Generation Attempted minecraft:overworld 712 112 -854
19.12 01:10:06 [Server] Server thread/ERROR Missing dimension imm_ptl:any_dimension
19.12 01:10:07 [Server] Server thread/INFO Portal Generation Attempted minecraft:overworld 712 112 -851
19.12 01:10:07 [Server] Server thread/ERROR Missing dimension imm_ptl:any_dimension

Thanks for your attention, and apologies if I've overlooked something extremely obvious here!

qouteall commented 6 months ago

"Custom Portal Gen Is Not Activated" is caused by not detecting the dimension in the server. Is marchpane:impworld loaded in the server? Does it provide that dimension id's completion when typing /execute in command?

kaolincash commented 6 months ago

Oh! No, it doesn't. Is there a command to load it?

qouteall commented 6 months ago

It means that the dimension datapack is not configured correctly.

kaolincash commented 6 months ago

Sorry the delay in responding, I've been busy over the holidays.

It's configured the same way it was in 1.19.2 and I'm following the documentation as written (I linked the datapack in the issue).

Can you confirm where I've gone wrong so I can resolve it? I'm confused as to what about it isn't correctly configured if nothing has changed in the documentation across versions.

Thanks :)

qouteall commented 6 months ago

@kaolincash The linked datapack only has custom portal generation. It does not contain dimension. You need the datapack or mod that provides the dimension.

When typing command /execute at the completion will show loaded dimensions. If there is no marchpane:heaven then that dimension is not loaded.

kaolincash commented 6 months ago

I'm not sure what datapack or mod "provides the dimension", can you offer some guidance as to where I'd look for finding/making one?

The dimensions themselves /do/ exist as worlds that I've placed in the dimensions directory within the marchpane world directory on my server, but I confess I'm confused as to where to go from here to make minecraft recognise them.

How exactly do I go about loading one of those dimensions?

Thanks, and sorry again for such a delayed response to this until now, and for my general lack of understanding lmao, I find this stuff very confusing and I don't want to be a bother.

Maia

qouteall commented 6 months ago

@kaolincash Having only the world data folder does not make the dimension in-game. The dimension configuration is inside level.dat. It's not recommended to directly edit level.dat.

These dimensions was introduced by datapack or mod. You need to find that datapack or mod, and install it to the server. Some datapack only works with only one minecraft version. Unfortunately I don't know which datapack or mod provides marchpane:heaven.

kaolincash commented 6 months ago

I copied over the dimension as it was in the 1.19.4 iteration of this server, I put the files in place manually, not using a mod.

For the sake of argument, if you were to try importing a manually created dimension to an existing world, how would you go about it? Would you have to make a custo. datapack yourself that loads that dimension, or something?

Come to think of it, I seem to recall following some sort of template at one point, is there by any chance such a datapack template available in the Immersive Portals documentation or somewhere inside the server files for the alternative dimensions Immersive Portals can load?

I can't find a page mentioning it but I could just be overlooking something obvious. Or maybe I'm just remembering something else entirely; it's been a while since I set it up the first time on 1.19.4 but I did get it working then so I know it's possible.

Thanks, Maia

qouteall commented 6 months ago

Immersive portals allows dynamically adding dimensions.

https://qouteall.fun/immptl/wiki/Dimension-Management.html

If you don't remember what datapacks or mods were used for these dimensions, you can add a new dimension with the same id. The newly added dimension's world generation will be different. (World generation ony affects new chunks.) If you want the same world generation as before, the only way is to find which datapack/mod were used to add that dimension.

kaolincash commented 6 months ago

I see, thanks.

Is there a mechanism to modify or create new presets like the ones in the Dimension Management page? I would like to add a superflat world with specific block layers, for redstone/test building, for example.

qouteall commented 6 months ago

@kaolincash You can search online for dimension datapacks.

kaolincash commented 5 months ago

Now that I'm home after the holidays and have access to my PC again, I want to add a solution update for my own reference, as I'm sure to forget what I did and maybe it'll help a passing stranger who's also confused about how this works.

It's actually very simple, the "newds.zip" pack indeed works fine once you run /dims clone_dimension <source world> "new:dimension"

For some reason the add_dimension command doesn't seem to exist and so as yet I can't specify a new dimension type (e.g. void world) and make a new one, which is odd, and I'd welcome feedback on that, but using clone_dimension is fine for my purposes as I've already pregenerated the world I'm importing.

Thanks for all your help with me understanding this!