如何在沒有Graham Cracker Craul的自製芝士蛋糕 - Tutorials/Creating Forge mods – Minecraft Wiki
( Updated : October 27, 2021 )
🔥 DOWNLOAD LINK Links to an external site.
Tutorials/Creating Forge mods – Minecraft Wiki 年在 Minecraft 中安装 Mod 的指南 | 提示/指南
MC Forge Mod 开发记录:加入配置界面 Minecraft Wiki 如何在 Minecraft:PC 上的 Java 版中安装和使用模组 2021 年在 Minecraft 中安装 Mod 的指南 MINECRAFT删除MOD问题 -- minecraft-java-edition 领域 gaming 相关 的问题
在安装了Forge 的情况下启动Minecraft。 Minecraft 是一款非常神奇的沙盒游戏,时 笔记:Minecraft 版本下拉菜单允许您在所有当前安装的Minecraft 版本之间切换,例如最新版本、快照和(在这种情况下)Forge mod 安装程序。 Minecraft Java 版模组指南 我想删除我的lom mod(很多mobs mod),因为它是崩溃的minecraft,但我不能因为它声称minecraft正在运行。但是,我在屏幕上没有看到MINECRAFT。 我想删除我的mod而不 在MINECRAFT BETA中,我只是打击了一些深熔岩,我着火了,但在我去世之前,我击败了游戏。在这个暂停的状态下,我可以做什么,以离开熔岩? 我在macosx上。 Mods (short for 'modifications') can modify or add items, blocks, entities, and much more. Presumably, you already have an idea for a mod you want to create If you do have the Java Edition, then Minecraft Forge is a fantastic tool for managing every single one of your compatible mods 这篇文章中所记载的就是我如何在不使用该框架的情况下,直接用Minecraft 的API 来写一个类似的mod 配置界面。 本文描述的方法适用于Minecraft 和 说到游戏版本不一致,一般情况下Forge还是会直接告诉你的:. 但有的时候是这样子的:. 没有找到中文的图片,这里用文字表示:
Minecraft Forge 本来有一个允许 mod 创建自己的配置界面的框架,但是该框架在 Minecraft 1. 本文描述的方法适用于 Minecraft 1. x。该方法可能也适用于 Minecraft 1. 如果您使用的 Minecraft 版本是 1. x,请参阅 此篇文章 。. 如果是 Minecraft 1. 最近我萌生了一个想法,写一些记录我开发 Minecraft Forge 模组(mod)的过程、和我维护时长两年半的个人 mod 项目 Hypixel 起床战争助手 (HBW Helper)之间的故事的文章。这么做的目的主要有两个:首先是对我个人而言,可以有一个记录下我如何作出 mod 开发过程中的一些关键决定、遇到 mod 开发问题时的解决思路以及解决方案的地方,可供日后温习;其次是为屏幕前的您和其他的读者朋友,在遇到与我类似的情况时,提供一个参考内容。. Hypixel 起床战争助手是专为在 Hypixel 上玩起床战争的玩家设计的一款 mod。它可以将您在游戏中购买的升级、下一次钻石和绿宝石的刷新时间、以及其它一些关键的游戏信息直接显示在屏幕上,一目了然。两年半前,我为了解决自己想方便查看一局起床中哪些升级已经购买的需求开发了这个 mod;现在虽然我已经不玩起床了,但依然会每年对这个 mod 进行数次维护。. 首篇 mod 开发记录便是关于我在最新版本的 Minecraft 和 Minecraft Forge 之上研究和开发 mod 选项界面的心得,也正好是伴随着我的 mod 近期 1. 为了允许玩家自定义游戏信息的显示位置,我提供了几个相关的配置选项。在此基础上,还需要给玩家提供一种调整设置的机制。我在 年上旬开始开发这个 mod 时,Minecraft 最新版本还是 1. 几个月后,Minecraft 1. x 到最后没有 Forge 的稳定版。. 我在 年 8 月 把我的 mod 移植到 Minecraft 1. 这一等就是一年,Forge 都发布三个稳定版了,新的配置界面框架却还没完成,目前仅有的进度还是一个 外部开发者提交的尚未完工的 pull request 。当时我写的只准备用来熬到框架完成的 mod 配置命令,已经不能指望着用来糊弄了,而且继续等下去也是个无底洞,所以我放弃了无止境的等待,研究如何不用 Forge 的框架来做配置界面。我估计,如果不是这名外部开发者做了一些东西提交了个 pull request,Forge 的核心开发者可能已经忘了他们有东西删了后没加回来,甚至可能都不准备重写了,让 Forge 就这么一个个地失去本来有的功能,继续发布功能残缺的稳定版,逐渐退化下去。. 在配置 Minecraft Forge 开发环境的时候,会自动安装 Mod Coder Pack MCP 。MCP 可以反编译 Minecraft,然后以一个程序库的形式提供反编译后的代码,这样一来 Forge mod 就可以直接使用 Minecraft 的 API,与之进行交互。也正是因为如此,我们可以仿照 Minecraft 设置界面的风格,利用 Minecraft 的 API 来做一个 mod 的配置界面。. 在 Minecraft 1. x 上为一个 Minecraft Forge mod 做配置界面的步骤大致分为:为配置界面创建一个类、注册配置界面工厂、添加配置界面上要显示的元素、以及将配置界面前端和 mod 配置后端连接起来。. Minecraft 当中有一个 net. Screen 抽象类被设计为所有游戏内屏幕界面的父类,因此我的 mod 的配置界面也将成为它的子类。. 配置界面工厂的注册操作应在 mod 主类(也就是有 Mod 标注的类)的公有构造器中完成:. 这个用来注册工厂的 registerExtensionPoint 方法 调用有些复杂,我们来仔细看一下。这个方法的签名如下:. Button 类,可以用来创建各种按钮。. 我在上面代码里加的注释应该可以解释这些类的用法和注意事项,不过还是有必要再额外说一下 Button 构造器的最后一个参数。这个参数的类型是 Button. IPressable ,是一个接口,定义如下:. 这个接口代表了按钮被按下时的回调函数。实现这个接口,在它唯一的 onPress 方法的实现中插入按钮被按下时要执行的代码,然后在用户点击按钮时, onPress 方法就会被调用, button 参数的值也就是该按钮对应的 Button 对象。. onClose 来实现它。. 我的 mod 的选项的值都是布尔值、数值或者枚举常量。对于每种数据类型,Minecraft 的 net. settings 程序包中都有对应的控件:. IteratableOption 用于多选一的选项,也就是允许的所有设定值都在一个序列中的选项,例如从一个存有多个字符串的数组中选择一项、或者从一个枚举类的常量中选择一个的选项。. 我们从最简单的 BooleanOption 入手。 BooleanOption 类唯一构造器的签名如下:. 此处定义的 getter 和 setter 都用到了泛型,并且包含类型参数 net. GameSettings ——这是 Minecraft 用来代表游戏设置的类。Getter 是一个 Predicate ,接受一个某种类型的数值然后返回一个 boolean 值;setter 是一个 BiConsumer ,接受两个值,然后可能使用它们进行一些操作,但不返回任何值。. 两个参数的类型参数里都有 Minecraft 的 GameSettings 类,这个 BooleanOption 类的主要设计意图显然是对 Minecraft 自己的游戏设置进行操作。Getter 会接受一个 GameSettings 对象,从中读取一项 Minecraft 游戏设定的当前值然后返回;setter 把新的设定值写入接受的 GameSettings 对象,达到更改游戏设置的效果。 GameSettings 类中有许多和 Minecraft 游戏设置相关的字段,故无法被用来表示一个 mod 的设定;但是我们可以忽略所有和 GameSettings 有关的参数,让 getter 和 setter 直接访问 mod 自己的配置。. 在下面的示例中,假设 mod 有一个包含读取和修改 mod 配置的静态方法的 ModSettings 类。. SliderPercentageOption 类就有点复杂了,从它的构造器的参数数量和类型上就可以看出来:. 至于其它的不同点, minValue 和 maxValue 指定选项数值允许的范围。它们的数据类型都是 double ,因此这个类可同时用于整数值和小数值的选项。 stepSize 参数决定用户在配置界面上拖动滑块时,设定值最小可以变更的量是多大。如果某个选项的值必须是整数的话,在这里指定 1. get gs 。. 在下面的示例中,假设 ModSettings. getHudX 返回 int ,并且 ModSettings. setHudX 需要一个 int 参数。. IteratableOption 的构造器和 BooleanOption 的很像,不过请注意一点,那就是 getter 和 setter 的位置被调换了。. IteratableOption 类并不关心这个选项允许的值的类型;它只关心被选定的选项在允许的设定值序列中的下标。这也是为什么它的 setter 接受的是一个整数,而不是一个泛型对象。因此,如果要使用 IteratableOption 的话,需要明确定义每个允许的设定值的下标。如果允许的设定值都被存在一个数组或者列表里的话,直接用数组或列表的下标就可以了;如果是枚举类常量,可以将 Enum. ordinal 方法返回的序数用作下标。. 当选项被更改时,setter 会被传入一个整数值。把这个值和当前设定在允许的设定值序列中的下标相加,在一般情况下就会得到新设定值的下标。这个计算操作是需要由 setter 负责的;特别需要注意的是,如果越过了序列的结尾,回到了序列的开头,必须小心处理下标的计算,及时将下标归零,避免越界。. 至于 getter 方面,它是一个返回字符串而非整数的 BiFunction ,数据类型和 setter 出现了偏差。 IteratableOption 的 getter 的作用和上文中 SliderPercentageOption 构造器的 getDisplayString 是一样的,都是返回直接显示在配置界面上的文字,而非代表当前设定值的对象,甚至不是下标。. 这样的设计可能让 API 难以理解和使用,不过倒是允许 IteratableOption 忽略所有与合法设定值相关的信息。比如,像总共有多少个不同的合法设定值、以及每个设定值如何用字符串表示这些信息, IteratableOption 都不需要知道。. 下面的示例演示了如何添加一个允许的设定值来自枚举类常量的选项。用到的枚举类是我的 mod 的 DreamMode 类,可以在 此处 找到它的源代码。. 如果 mod 的配置需要通过调用某个方法来手动保存,那么应该覆写 Screen. onClose 方法,在其中调用保存配置文件的方法:. 保存上级界面的方法是在配置界面类的构造器中添加一个 Screen 类型的参数,然后将其保存到一个字段当中。当配置界面被关闭时,显示上级界面。. 如果您想找个用此文章记载的方法创建的配置界面的完整例子,可以在 这里 找到我的 mod 的配置界面类。. Leo 的个人网站 标签 分类 切换菜单 切换语言 English 简体中文. x,请参阅 此篇文章 。 如果是 Minecraft 1. x 到最后没有 Forge 的稳定版。 直到 1. x 上为一个 Minecraft Forge mod 做配置界面的步骤大致分为:为配置界面创建一个类、注册配置界面工厂、添加配置界面上要显示的元素、以及将配置界面前端和 mod 配置后端连接起来。 为配置界面创建类 Minecraft 当中有一个 net. Screen 抽象类被设计为所有游戏内屏幕界面的父类,因此我的 mod 的配置界面也将成为它的子类。 Screen 类中有如下重要成员,子类可能往往会覆写或调用: protected Screen ITextComponent title :唯一的构造器 protected void init :执行屏幕界面初始化任务 public void render int mouseX, int mouseY, float partialTicks :渲染屏幕界面 public void onClose :关闭屏幕界面,并执行清理任务 于是,我首先写了一个简单的 ConfigScreen 类: import net. Screen ; import net. title" , HbwHelper. drawCenteredString this. font , this. getFormattedText , this. import net. ExtensionPoint ; import net. ModLoadingContext ; import net. Mod ; import net. FMLClientSetupEvent ; import net. FMLJavaModLoadingContext ; Mod HbwHelper. registerExtensionPoint ExtensionPoint. Button ; import net. OptionsRowList ; import net. I18n ; import minecraft , this. width , this. add this. addButton new Button this. format "gui. render mouseX , mouseY , partialTicks ; this. addOption new BooleanOption "hbwhelper. setShowArmorInfo newValue ; this. optionsRowList ; addOption new SliderPercentageOption "hbwhelper. setHudX newValue. get gs ;. addOption new IteratableOption "hbwhelper. setDreamMode DreamMode. values [ ModSettings. format ModSettings. getTranslateKey ;. save ; super. NAME ; this.
GTA 5裂縫下載2021
world of warcraft mods twitch
how to add mod capacity in warframe
Skyrim SE兼容Mod列表
如何安裝mod 4 dead 2
skyrim se no quest markers mod
is gta 5 online before story mode
GTA 5 Geld欺詐PC離線
在作弊之後,如何讓我的男朋友再次相信我
can you play doom eternal battlemode offline
如何在MINECRAFT中設置模式
how to sell your cars in gta 5 story mode
roblox被黑了2021
使命召喚WW2秘籍PC
如何攻擊Fortnite Aimbot開關
gta 5 online mod menu pc free download 2021
among us hacks to be impostor
你能用Graham Cracker Craul做什麼
如何在MINECRAFT中獲取作弊模式
CyberPunk 2077第三人稱Mod安裝
minecraft 1.16.5 fps boost mod forge
how to make models spin in roblox
小偷PC欺詐引擎