传送门配置文件在config\randomportals\portal_types下,直接删除原有的地狱门配置文件即可禁用原版地狱门。

新建文件夹,命名任意,可以写为维度id+维度名称。

新建文件,命名为<起点维度id>.json,例如如果想在主世界建立传送门,就命名为0.json。

文件内容如下:

{
    "frame": {
        "type": "LATERAL_OR_VERTICAL",//传送门类型,可选值: "LATERAL"(横向传送门,类似于暮色传送门), "VERTICAL"(原版地狱门), "VERTICAL_X"(原版地狱门,但只面向x轴), "VERTICAL_Z"(原版地狱门,但只面向z轴), "LATERAL_OR_VERTICAL"(横竖皆可)
        //可以为每个轴自定义长度
        "size": {
            "lateral": {
                "minWidth": 3,
                "maxWidth": 2147483647,
                "minHeight": 3,
                "maxHeight": 2147483647
            },
            "verticalX": {
                "minWidth": 3,
                "maxWidth": 2147483647,
                "minHeight": 3,
                "maxHeight": 2147483647
            },
            "verticalZ": {
                "minWidth": 3,
                "maxWidth": 2147483647,
                "minHeight": 3,
                "maxHeight": 2147483647
            }
        },
        "blocks": [
            //文件会被自动格式化,{"registryName":"leaves"}将被自动如下注册
            {
                "registryName": "minecraft:leaves",
                "meta": 32767,//32767是通配值
                "minimumAmount": 0//最小数量,搭建传送门时对应方块必须大于该值
            },
            {
                "registryName": "ore:stairWood",//使用格式"ore:<name>"来匹配矿辞
                //This has no effect on ore dictionary entries.
                "meta": 32767,
                "minimumAmount": 1
            }
        ],
        "requiredCorner": "SAME",//对传送门四个角的检测方式,可选值: "ANY"(会像原版那样四角可拿任何方块代替), "ANY_NON_AIR"(和any类似,但四个角不能是空气), "SAME"(必须使用上面列举的方块搭建)
        "cornerBlocksContributeToMinimumAmount": true,//四个角的方块是否被加入到上面最小需求量的计算
        "doGeneratedFramesDrop": true //生成的传送门框架是否可掉落,这被用来防止利用传送门刷框架方块
    },
    "activation": {
        "canBeActivatedByFire": true,//传送门是否可以被火激活,如果设置为false,玩家只能使用下面定义的物品激活传送门
        "activators": [
            {
                "registryName": "minecraft:diamond_block",//这一物品被用来激活传送门
                "meta": 32767
            }
        ],
        "activatorConsumeBehavior": "CONSUME",//在激活传送门后如何处理激活用的物品,可选值:"CONSUME"(消耗一个激活物品)"DAMAGE"(损坏一点激活物品的耐久)"DO_NOTHING"(不对激活物品进行任何处理)
        "spawnFireBeforeActivating": true,//激活时是否生成火(仅仅只是视觉效果)
        "activationSounds": [
            "minecraft:entity.wither.death"//激活传送门时播放的音效,如果有多个则随机选取。
        ]
    },
    "color": {
        "colors": [//可选值: "WHITE", "ORANGE", "MAGENTA", "LIGHT_BLUE", "YELLOW", "LIME", "PINK", "GRAY", "SILVER", "CYAN", "PURPLE", "BLUE", "BROWN", "GREEN", "RED", "BLACK"当传送门被激活时,将会从下面随机选择一个颜色给传送门染色。
            "GRAY",
            "YELLOW",
            "PURPLE",
            "BLACK",
            "RED"
        ],
        "dyeBehavior": "ONLY_DEFINED_COLORS"//传送门是否允许使用染料染色,可选值:"DISABLE"(禁止传送门染色)"ONLY_DEFINED_COLORS"(只能使用上面列举的颜色给传送门染色)"ENABLE"(传送门可以被染成任何颜色)
    },
    "destination": {
        "dimensionID": 1,//目标维度id
        "locationDetectionBehavior": "FORCE_INITIAL",//可选值:"IGNORE_INITIAL"(忽略初始位置)"USE_INITIAL"(如果目标维度没有其他传送门,则使用初始位置)"FORCE_INITIAL"(传送门将只在初始位置生成)
        "initialLocation": {//如果使用此选项,则此块应指向目标传送门框架的左下角方块,除非该框架是横向的,在这种情况下,这应该指向左上角的方块。如果框架是横向的,则会在传送门上方创建一个两个方块高的空白空间。仅当目标维度具有维度ID指定的ID时,此操作才会生效。
            "x": 0,
            "y": 0,
            "z": 0,
            "useTopSolidY": true//如果为true的,上面的Y坐标将被忽略,并且将使用顶部的方块。
        },
        "coordinateMultiplier": 2.0,//实体的X和Z坐标应乘以什么。如果目标维度没有维度ID指定的ID,则改为分割X和Z坐标。这尊重维度的运动因素,因此在这种情况下,从主世界传送到下界的实体的坐标将首先除以8,然后乘以2,从下界传送到主世界的实体将首先将其坐标乘以8,然后除以2。
        "teleportToPortal": true,//是否传送到目的地传送门
        "oneWay": false,//传送门是否为单向的,如果是,那么目的地的传送门将无法被使用。
        "ensureReturnToSameDimension": true,//进入生成的传送门是否总是回到原来的维度。
        "generatePortalIfNotFound": true,//如果未找到有效的传送门,是否在目标维度中生成传送门。
        "portalGenerationBehavior": "RANDOMIZE",//目标维度的传送门框架如何生成,可选值:"RANDOMIZE"(随机生成目标传送门框架的方块)"CLONE"(复制原本传送门的方块,请注意,这会复制任何传送块,这意味着染料图案是持久的,并且无效的方块如战利品箱子和床不会被克隆)"USE_RECEIVING_DIMENSION_PORTAL_TYPE"(使用目标维度定义的传送门框架方块来随机生成)
        "generatedFrameType": "VERTICAL",//可选值: "LATERAL", "VERTICAL", "VERTICAL_X", "VERTICAL_Z", "LATERAL_OR_VERTICAL","SAME"(按照起始维度传送门的搭建方式)。
        "generatedFrameSize": {//如果这些值中的任何一个设置为 0,则就地使用起始传送门的宽度或高度。在这种情况下,如果起始传送门是横向的,则生成的传送门将是相同大小的横向传送门,但具有随机方块;否则,生成的传送门将是一个垂直传送门,该传送门宽4个方块,高5个方块,带有随机方块
            "lateral": {
                "minWidth": 0,
                "maxWidth": 0,
                "minHeight": 0,
                "maxHeight": 0
            },
            "verticalX": {
                "minWidth": 4,
                "maxWidth": 4,
                "minHeight": 5,
                "maxHeight": 5
            },
            "verticalZ": {
                "minWidth": 4,
                "maxWidth": 4,
                "minHeight": 5,
                "maxHeight": 5
            }
        }
    },
    "teleportationDelay": {//生物被传所需的时间,如果为0,将使用原版值。在这种情况下,如果"lateral"设为1,玩家在搭建了横向传送门并站在传送门底下时,跳起来就能传送。
        "lateral": 1,
        "verticalX": 0,
        "verticalZ": 0
    },
    "decorative": false//如果为true,传送门就只是个装饰,无法进行任何传送。
}

定义完成后,在相同位置新建一个文件,命名为group_data.json,内容如下:

{
    "blacklistAllUndefinedDimensions": false,//将所有未定义的维度列入黑名单,防止在其他维度也激活传送门
    "activationDimensionIDBlacklist": [],//黑名单维度列表
    "defaultDimensionID": 0,//默认维度
    "entitySpawns": {//生物生成,模仿原版地狱门生成僵尸猪人的行为
        "0": {
            "rate": 2000,
            "entities": {
                "minecraft:zombie_pigman": {
                    "nbt": "{}",
                    "weight": 100.0
                }
            }
        }
    }
}

重启游戏即可,进入游戏后通过定义的方式搭建及激活传送门。