物品物理掉落非官方版

物品物理掉落非官方版

一个我的世界锻造模组,为投掷物品添加物理效果。

ItemPhysic 1.7.10 Kotmatross 分支

一个为我的世界 Forge 模组,为投掷物品添加了一些物理效果。

原版项目


依赖:


与原版的差异:

HRudyPlayZ:

  • 添加了一些与燃烧物品列表相关的设置。你可以选择哪些物品会在火/岩浆等中燃烧或不燃烧。

    • 你也可以反转此设置。
  • 添加了一些与漂浮物品列表相关的设置。你可以选择哪些物品会在液体中漂浮或不漂浮。

    • 你也可以反转此设置。
  • 优化了配置文件的外观,为每个选项添加了描述。

  • 在模组列表中增加了绚丽的颜色格式。


我(Kotmatross):

  • 修复了物品拾取面板无法适应屏幕尺寸的 Bug。
  • 从头重写了整个列表系统(burnList 和 floatList)(修复了大量 Bug)。
    • 添加了矿物词典(OreDictionary)支持(可以添加大量物品组,无需逐个添加)。
    • 添加了物品元数据支持(以提高准确性)。
    • 添加了 Forge 流体系统支持(用于 floatList)。
    • 添加了对一些原版物品、神秘时代(Thaumcraft)和 etfuturum 物品的默认支持。
    • OreDictionary.WILDCARD_VALUE 添加了补丁。
  • 完全格式化了 README。
  • 修复了漂浮物品到达液面时旋转过快的问题。
  • 修复了物品消失选项不生效的问题。
  • 移植了物品在蜘蛛网中减速的功能。
  • 添加了一个配置选项,用于禁用 HUD 上方的“Power:”文本,并使其支持翻译。
  • 修复了物品拥有 3D 模型时,其纹理无法隐藏的问题。
  • 修复了 hbm 的 ntm 模组中的爆炸/遇水危险物品不生效的问题。
  • 添加了控制物品对仙人掌抗性的配置选项。
  • 添加了防爆物品列表。
  • 添加了不可破坏物品列表。
  • 添加了耐硫酸物品列表(hbm 的 ntm)。
  • 修复了物品在神秘时代(Thaumcraft)基座上旋转的问题。
  • 修复了物品在 Mo' Creatures 模组蚂蚁身上旋转的问题。
  • 移植了显示提示文本(Tooltip)的选项。
  • 移植了物品点燃功能。
  • 移植了物品落地音效。

关于列表的文档:

参数:

参数名 类型 默认值 示例
modid 字符串 (abc) - minecraft / etfuturum / hbm / Thaumcraft
itemname 字符串 (abc) - stick / beetroot / item.part_generic / blockCustomOre
metadata 整数 (123) 0 0 / 4 / 1 / 5
ignoremeta 布尔值 (true/false) false true / false
fluid 字符串 (abc) fluid.tile.water 如果是原版水/岩浆 - fluid.tile.water fluid.tile.lava,如果是其他模组(如热力基础) - fluid.redstone

burnList:

最小语法:

  • modid:itemname
    • 示例: minecraft:blaze_rod

表示来自 "modid" 的物品 "itemname" 将不会在岩浆中燃烧。

最大语法:

    1. modid:itemname:metadata
    • 示例: minecraft:golden_apple:1 //附魔金苹果

或者

    1. modid:itemname:ignoremeta
    • 示例: etfuturum:netherite_sword:true

表示来自 "modid" 的物品 "itemname":1) 具有 "metadata" 元数据的 2) 具有任何元数据的将不会在岩浆中燃烧。

B:invertBurnList=true 时,情况完全相反:此列表中指定的物品将是唯一会燃烧的物品。

(这意味着所有其他不在此列表中的物品都不会燃烧。)

floatList:

最小语法:

  • modid:itemname
    • 示例: minecraft:stick

表示来自 "modid" 的物品 "itemname" 将会在水中漂浮。

最大语法:

    1. modid:itemname:metadata:fluids[]...
    • 示例: etfuturum:tipped_arrow:8227:fluid.tile.lava

或者

    1. modid:itemname:ignoremeta:fluids[]...
    • 示例: etfuturum:netherite_sword:true:fluid.tile.lava:fluid.redstone

表示来自 "modid" 的物品 "itemname":1) 具有 "metadata" 元数据的 2) 具有任何元数据的将会在 "fluids[]" 指定的流体中漂浮。

B:invertFloatList=true 时,情况完全相反:此列表中指定的物品将是唯一不会在指定流体中漂浮的物品。

(这意味着所有其他不在此列表中的物品都将在所有流体中漂浮。)

注意:指定流体时:如果是原版水/岩浆,使用 fluid.tile.waterfluid.tile.lava。指定模组流体时,直接使用 fluid.fluidname(不带 .tile)

ignitingItemsList:

最小语法:

  • modidItem:itemname:modidBlock:blockname:chance
    • 示例: minecraft:torch:minecraft:fire:10

表示来自 "modidItem" 的物品 "itemname" 将会以 "chance" 的几率点燃其下方的方块,将其替换为来自 "modidBlock" 的 "blockname" 方块。

这可能难以理解,但其实很简单:

modidItem:itemname - 某个模组中的物品。我们称之为 "A"。

modidBlock:blockname - 某个模组中的方块。我们称之为 "B"。

chance - 一个从 1 到 100 的数字。

所以,如果一个物品 “A” 掉落到地面,它就有这个几率将其所处的方块替换为方块 “B”(仅当物品 “A” 位于空气或草方块中时才会发生替换)。

最大语法:

    1. modidItem:itemname:metadataItem:modidBlock:blockname:metadataBlock:chance
    • 示例: minecraft:red_flower:6:minecraft:stained_glass_pane:5:100

或者

    1. modidItem:itemname:ignoremetaItem:modidBlock:blockname:ignoremetaItem:chance
    • 示例: minecraft:golden_sword:true:minecraft:stained_glass_pane:7:100

所有内容相同,但现在可以指定元数据/或忽略元数据(默认元数据为 0)。

B:invertIgnitingItemsList=true 时,情况完全相反:此列表中指定的物品将是唯一不会点燃方块的物品(所有其他物品将使用原版火焰点燃方块)。

额外语法:

  • oredict:modidBlock:blockname:chance

对于 explosionList / undestroyableList / sulfuricAcidList,语法与 burnList 完全相同。


TODO:

待办功能名称 优先级 状态
修复漂浮物品到达液面时无限旋转(极快)的问题
修复物品消失选项不生效的问题
修复 hbm 的 ntm 模组中的爆炸/遇水危险物品不生效的问题
修复物品拥有 3D 模型时,其纹理无法隐藏的问题
添加防爆物品列表
添加不可破坏物品列表(祝你好运摆脱它们)
添加控制物品对仙人掌抗性的配置选项
添加耐硫酸物品列表(hbm 的 ntm)
添加一个配置选项,用于禁用 HUD 上方的 "Power:" 文本 && 使其支持翻译
修复物品在神秘时代(Thaumcraft)基座上旋转的问题
修复物品在 Mo' Creatures 模组蚂蚁身上旋转的问题
移植物品点燃功能
移植物品落地音效
移植显示提示文本(Tooltip)选项