📄
XPlus KubeJS Tutorial v1 (zh_cn)
  • 前言
    • 本文更新日志
  • 一、一切的开始
    • 1.1 常用指令
    • 1.2 文件结构
    • 1.3 脚本基础
    • 1.4 事件列表
  • 二、配方
    • 2.1 新建配方及物品表示
    • 2.2 配方的修改和删除
    • 2.3 非标准配方修改
  • 三、自定义修改初步
    • 3 标签
    • 4 自定义Loot Table
    • 5 自定义流体
    • 6 自定义世界生成
    • 7 添加方块
    • 10:自定义窗口标题和logo
  • 四、事件初步
    • 8 聊天事件
    • 9 计划重启
  • 五、针对其他模组的修改
    • 11.1 JEI信息修改
    • 11.2 REI信息修改
    • 11.3 FTB Quest相关修改
    • 11.4 KubeJs内置游戏阶段 (类似于GameStage)
  • 六、拓展模组简介
    • 12.1 KubeJS Create
    • 12.2 KubeJS Blood Magic
    • 12.3 KubeJS Mekanism
    • 12.4 KubeJS UI
    • 12.5 KubeJS Termal
    • 12.7 便捷战利品表修改(LootJS Forge)
    • 12.8 LootJS战利品表修改实例
  • 七、游戏内容修改进阶
    • 13 自定义物品和物品ToolTip
    • 14 方块和物品属性修改
  • 八、事件进阶
    • 15.0 事件列表
    • 15.1 玩家&实体事件,信息获取及操作
    • 15.2 实体生成 & RayTraceResultJS & ItemStackJS及其他
    • 15.3 方块信息获取及操作
    • 15.4 WorldJS 和 ServerJS
    • 15.5 本章例子
    • 15.6 测试用例
  • 九、杂项
    • 16 网络包和Painter API
    • 17 本地化相关
    • 18.1 熔炼之镐
    • 18.2 罐头示例(包含物品注册, 配方添加, 玩家交互和persistentData的使用)
    • 19 Forge事件监听
  • 十、1.18.2的变化和介绍
    • 20 1.18.2中的变化和功能
    • 20.1 ProbeJS
    • 20.2 组件(Component)的使用
    • 20.3 格式变化
      • 20.3.1 世界生成
      • 20.3.2 方块 / 物品注册
      • 20.3.3 事件
      • 20.3.4 global[] 的使用
    • 20.4 命令注册
    • 20.5 反射与Java access
由 GitBook 提供支持
在本页

这有帮助吗?

在GitHub上编辑
  1. 三、自定义修改初步

6 自定义世界生成


暂不支持1.16.5 fabric。

onEvent('worldgen.add', event => {
  event.addLake(lake => { // 自定义湖
    lake.block = 'minecraft:diamond_block' // 方块ID (使用 [] 来为其添加属性)
    lake.chance = 3 // 约3个区块生成一次
  })

  event.addOre(ore => { //自定义矿石
    ore.block = 'minecraft:glowstone' // 方块ID (使用 [] 来为其添加属性)
    ore.spawnsIn.blacklist = false // 是否在矿石生成黑名单位置处生成
    ore.spawnsIn.values = [ // 该矿石可以在以下位置生成(支持方块ID、标签)
      '#minecraft:base_stone_overworld' // 默认的生成方式: 用于决定作为地下矿石生成时,该矿石能取代哪些方块。你可以在https://wiki.biligame.com/mc/%E6%A0%87%E7%AD%BE查看更多信息。
    ]
    
    ore.biomes.blacklist = true // 是否在矿石生成黑名单群系中生成
    ore.biomes.values = [ // 矿石可以生成的群系
      'minecraft:plains', // 群系ID
      '#nether' // 或者你可以使用“# + 群系类别”来代表群系, 在文末查看可用的列表
    ]
    
    ore.clusterMinSize = 5 // 每矿簇最少的矿石数量 (现在 ore.clusterMinSize 选项是被忽略的, 该功能将在以后更新, 现在它恒为1)
    ore.clusterMaxSize = 9 // 每矿簇最多的矿石数量
    ore.clusterCount = 30 // 每个区块矿石数量
    ore.minHeight = 0 // 最小Y值
    ore.maxHeight = 64 // 最大Y值
    ore.squared = true // 对X和Z值添加0~16的随机值. 推荐设置为 true
    // ore.chance = 4 // 每大约4个区块生成一次. 对于稀有的矿石来说, 你可以将它和 clusterCount = 1 一同使用
  })
  
  event.addSpawn(spawn => { // 自定义实体生成
    spawn.category = 'monster' // 实体类别, 可以设为 'creature', 'monster', 'ambient', 'water_creature' 和 'water_ambient'
    spawn.entity = 'minecraft:magma_cube' // 实体ID
    spawn.weight = 10 // 生成权重
    spawn.minCount = 4 // 每组最小数量
    spawn.maxCount = 4 // 每组最大数量
  })
})

/*
        可用的群系类别:
                taiga(针叶林类)
                extreme_hills(高山类)
                jungle(丛林类)
                mesa(恶地类)(太怪了,作者为什么要在这里用基岩版的名称...)
                plains(平原类)
                savanna(热带草原类)
                icy(冰原类)
                the_end(末地)
                beach(沙滩类)
                forest(树林类)
                ocean(海洋类)
                desert(沙漠类)
                river(河流类)
                swamp(沼泽类)
                mushroom(蘑菇岛类)
                nether(下界)

        以下是香草(划掉)世界生成的顺序:
                raw_generation
                lakes
                local_modifications
                underground_structures
                surface_structures
                strongholds
                underground_ores
                underground_decoration
                vegetal_decoration
                top_layer_modification
*/

onEvent('worldgen.remove', event => {
  event.removeOres(ores => {//移除矿石
    ores.blocks = [ 'minecraft:coal_ore', 'minecraft:iron_ore' ] // 移除铁矿和煤矿
    ores.biomes.values = [ 'minecraft:plains' ] // 限制该选项仅在平原生效
  })
  
  event.removeSpawnsByID(spawns => {//通过实体ID来禁止指定实体生成
    spawns.entities.values = [
      'minecraft:cow',
      'minecraft:chicken',
      'minecraft:pig',
      'minecraft:zombie'
    ]
  })
  
  event.removeSpawnsByCategory(spawns => {//移除实体生成
    spawns.biomes.values = [
      'minecraft:plains'//指定为平原群系
    ]
    spawns.categories.values = [//类型为怪物
      'monster'
    ]
  })
})
上一页5 自定义流体下一页7 添加方块

这有帮助吗?