跳转至内容

[原创?][KJS6][EE.JS]较为方便地为矿物提供注册与通用配方修改的轮子

妙妙工具
4 3 144 1
  • EEJS 是N-Withe的整合包Omniworld-R的EEJS部分分支且添加了一些模组的支持,如有需要可以麻烦我或者自己写更多支持😺
    由于原仓库未标注协议,默认视为ARR,所以获得了原作者同意后才使用MIT协议。
    它可以让你优雅的编辑、统一矿物与材料。
    推荐与Almost unified一起使用!! (因为我懒得补全这部分)
    材质来自于Emendatus Enigmatica
    项目与本文使用MIT协议!!🤗

    存储库详见这里

    前置需求

    • minecraft => 1.20.1也许不止1.20.1
    • (NEO)Forge => any
    • KubeJS => 6
    • LootJS => any
    • KubeJS Mekanism 如果有Mekanism
    • KubeJS Immersive Engineering 如果有Immersive Enginnering
    • KubeJS Create 如果有Create
    • KubeJS Blood Magic 如果有Blood Magic
    • KubeJS Thermal 如果有Thermal Series
    • KubeJS-EnderIO 如果有Ender IO
    • Occultism KubeJS 如果有Occultism

    功能

    • 可自定义的容矿岩/材料
    • 便于编辑
    • 不错的兼容性

    使用文档

    注册部分

    自定义容矿岩

    添加新的定义在 EE_STRATAS ,它在 strata.js

    stone: {
    	name: "stone", // 命名材料
    	texture: "minecraft:block/stone", // 容矿岩材质
    	fill: "minecraft:stone",
    	hardness: 1.5, // 矿物硬度
    	resistance: 6, // 矿物爆炸抗性
    	tool: "pickaxe", // 工具类型
    }
    

    添加或修改 material_def.js 的开头,类似于下文
    e.g.

    let glodStratas = ["andesite", "diorite", "granite", "end_stone"];
    ...
    let EE_MATERIALS = [
        ...
    ] 
    

    自定义材料

    添加新的定义在 EE_MATERIALS ,它在 material_def.js

    * 代表非必须

    [1^]ProcessedTypes

    { 
    name: "coal", // 命名材料
    type: "dust", // 你的材料分类 -- ("dust","metal","gem")
    baseItem: "dust", //*基础类型是?
    processedTypes: ["dust","fluid"], //*处理物种类在下面的表格
    color: ["#393e46", "#2e2e2e", "#261e24", "#1f1721", "#1c1c1e"], //*你需要5种颜色才能正常生成材质
    burnTime: 1600, //*如果可以烧 / 时间单位是 tick
    strata: vanillaComplementStratas, //*容矿岩种类 -- *如果你加了"ore"类型,你需要有这条*
    fluidType:"thin" 
    //*types: "thin","thick" and "custom", if it's thin or thick it will use first color(color[0]), 
    // but custom has more configs! that need another color to color the fluid if you want, 
    // first color is the bucket color, and you need more textures named to "${name}_still" and "${name}_flowing" like vanilla.
    // 我懒得写一遍中文教程了,简单来说就是写了这个只会最多用2种颜色,三种type,只有custom会用第二种颜色然后作为材质第二次上色的颜色,第二种不写也没问题😁
    drop: {item: "minecraft:raw_iron",min: 1,max: 1,}, //*矿物掉落物
    harvestLevel: "stone", //*挖掘等级
    smallStorageBlock: true,//*存储方块合成的配方是4*4还是9*9
    gemTemplate: 1, //*纹理模板
    toolProperties: { //*工具属性 *加上了的话下面都要出现,不加就没有*
    damage: 9, // 伤害
    durability: 1800, // 耐久
    harvestLevel: 4, // 挖掘等级
    enchantValue: 24, // 附魔等级
    miningSpeed: 12 // 挖掘速度
    },
    armorProperties: { //*护甲属性 *加上了的话下面都要出现,不加就没有*
    durability: 1000, // 护甲耐久
    durabilityMultiplier: 70, // 护甲耐久乘数
    slotProtections: [4, 7, 9, 4], // 护甲部位的护甲值
    equipSound: 'minecraft:item.armor.equip_iron', // 穿戴声音
    toughness: 3.5, // 护甲抗性
    knockbackResistance: 0 // 击退减免
    }}
    

    太长不看

    clone或者下载压缩包后粘贴到kjs文件夹内后即可在material_def.jsstrata.js中添加新的材料与容矿岩,格式详见文档

    已知问题

    地物生成绝对有问题,但是我不知道怎么优雅地实现。

    画廊

    44b56256-f642-44e3-9620-d20a4f180440-image.png

  • 你的mod加载器和版本的tag呢(

  • 你的mod加载器和版本的tag呢(

    @忆然 在前置需求里(

  • 这里贴一份1.21.1版本的实现🤓 ☝


相关推荐


  • [原创][数据包][持续更新]NuQuest模组中的对话框使用示例

    妙妙工具
    1
    0 赞同
    1 帖子
    133 浏览
    昨天没做东西,今天也没K
    很多人在催这玩意,但是也有人不知道这玩意怎么用,那我今天来教教大家吧。 数据包路径 关于数据包的路径存放 目前的路径是在nu_quest/dialog下的 完整路径就是data/nu_quest/dialog 代码会自动检测这个路径下的全部文件,包括子文件夹,所以大可放心整理问题。 编写数据包 那现在我们就来介绍如何写对话了 { "dialogueId": "intro", "dialogTexts": [ { "title": "dialog.nuquest.intro.title", "text": "dialog.nuquest.intro.text", "imageGroup": { "image": "foo:textures/gui/npc.png", "x": "0", "y": "(screenheight / 3 * 2) - 64", "width": 64, "height": 64, "uOffset": 0, "vOffset": 0, "uWidth": 64, "vHeight": 64, "textureWidth": 64, "textureHeight": 64 }, "soundGroup": { "sound": "minecraft:entity.villager.yes", "volume": 1.0, "pitch": 1.0 }, "textEffect": { "name": "typewriter" }, "params": { "speed": 2 } } ], "dialogActionDatas": [ { "message": "dialog.nuquest.intro.continue", "action": { "name": "dialog", "params": { "dialogId": "foo:intro_2" } } }, { "message": "dialog.nuquest.intro.exit", "action": { "name": "close" } } ] } 这是目前对话中可用的全部功能 在最外级的json元素中主要有三个,分别是dialogueId,dialogTexts,dialogActionDatas dialogueId定义了这个动画的id名,调用时也是通过id名来查找,而dialogTexts是一个列表,里面存放了对话的文本内容,dialogActionDatas是选项按钮,在对话文字全部播放完后则会出现。
  • [原创][Mod]基于opengl取色的hsv色盘屏幕

    妙妙工具 渲染
    5
    0 赞同
    5 帖子
    113 浏览
    不是客服M
    没有教程的话,哇达西?
  • 0 赞同
    3 帖子
    190 浏览
    sdjgeS
    补药在1.21.1偷走我的钱包