前面我们为模组添加了物品,当时我们没有深入到物品的不同类别。
本期我们就来为模组添加食物和燃料,一个可以通过API添加,一个不能。让我们了解食物组件和mixin。
另外推荐B站的一位mod教程up主——北山_Besson,我写的这些心得也可以说是看教程的课堂笔记。
AModFoodComponents.java要添加食物就需要写一个食物组件。在注册物品的时候给物品添加这个组件就行了。
123456789101112131415161718public class AModFoodComponents { public static final FoodComponent 组件名 = // 这里hunger()代表回复的饥饿值。 // saturationModifer()表示回复的饱和度的影响参数。计算公式:饥饿值*参数*2。 new FoodComponent.Builder().hunger(4).saturationModifier(0.7F) // 这里为食物添加食用 ...
java文件
因为我的世界这款游戏其实需要很多json文件,但手动书写很容易出现错误。所以fabric提供了数据生成类,用来实现自动生成json文件。减少工作量,避免出错。
注意:以下的文件生成类的类名没有要求,但建议起一个意义明确的名字。
AModBlockTagProvider.java此文件用于生成方块的tag数据。
1234567891011121314151617181920public class AModBlockTagsProvider extends FabricTagProvider.BlockTagProvider { // 此类需要继承fabric提供的抽象类,并实现以下方法。 public AModBlockTagsProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) { super(output, registriesFuture); // super构 ...
前言
如果您没有mod制作经验,那么在看本期前建议看一下上期心得。
上回我们成功注册了物品,成功在我的世界中添加了新物品。但是我们却没法从在创造模式物品栏中取出来,只能通过/give命令间接获得。本期我们将通过‘ fabricAPI ’,将物品添加到创造模式物品栏中。并注册我们自己的创造模式物品栏。
主要java代码AModItems.java让我们先尝试把物品添加到原版的创造模式物品栏,这需要借助fabric的API。
在上期我们创建的物品注册文件中:
1234567891011121314private static void addItemGroup(FabricItemGroupEntries entries){ entries.add(物品常量名); }// 上面这个方法中的代码是原版的添加代码,因为原版的物品添加是和物品栏注册写在一起的。// 我们当然不能直接修改原版代码,所以我们需要通过fabric的API调用这个方法,间接的添加物品。 public static void registerItems() ...
主要架构主要java文件
下文统一用”A“代表您mod的名字,用”modid”代表您mod的modid。
AClient.java此文件是必备文件,用于游戏客户端的主要内容。但与本篇文章无关。
AMod.java此文件也是必备文件,内容非常重要。
12345678910111213141516171819public class AMod implements ModInitializer { // 此处定义了静态常量,mod_id方便您随时调用。在模组创作中是常用的。 public static final String MOD_ID = "modid"; // 略过 public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); // 略过 @Override public void onInitialize() { // 注意这个函数调用,目前这是用来加载AItems类的。 // 我们知道java的特性是一个类的静态 ...
使用IDEA和git提交代码问题解决问题现象,github上已经配置sshkey。本地也没问题,但推送代码时报错:1fatal: unable to access ' ': SSL certificate problem: unable to get local issuer certificate
我一开始以为是github上的ssh没配置,但是查看之后发现已经配置过了。又怀疑是本地ssh和github上不一致,于是查看本地ssh,打算重新添加:
1cat ~/.ssh/id_ed25519.pub # 如果你使用的是rsa密钥,请将id_ed25519.pub改为id_rsa.pub
复制了ssh后去github添加,结果显示这个ssh已经添加了,现在万策尽了。
后来我在csdn上查了查,看到这篇文章:[文章]([克隆github项目时,报错:fatal: unable to access ‘https://github.com/YunaiV/yudao-cloud.git/‘: SSL certificate-CSDN博客](https://blog.c ...
算法方面目标现在蓝桥杯省赛比完了,可以开始准备国赛和其他竞赛了。如果能进入国赛的话,最少也要拼个国二。
以下是学习计划:
动态规划进一步深入学习(预计用1-2周时间专项突破)。
KMP算法等字符串操作的学习(预计6-7天)。
复杂的DFS算法,回溯和剪枝技巧(预计1周)。
图论、数据结构相关算法的学习(预计2-3周)。
数学技巧(预计1-2周)。
游戏开发方面Unity 技术学习目标打通 Unity 游戏开发工作流,能够有能力参加今年夏天的 GameJam。
学习计划
C# 特性复习。
GameObject 类、Input 类、MonoBehaviour 类等重要类。
Transform 组件、Rigidbody 组件、Collider 组件、ParticleSystem 组件等重要组件。
Raycast 方法、Coroutine 等特性。
我的世界 Mod 开发学习目标能够主导“天祸人灾”项目的开发,以求在今年下半年发布第一个测试版。
计划
Java 语法和特性学习。
Fabric 模组开发流程。
物品、方块添加,功能实现。
生物 AI 实现。
群系、结构添加。
事件编写。
其 ...