我的世界1.13 mod制作——简单的方块(五)

article/2025/3/11 8:22:04

(一) 注册一个方块

新建一个类,继承Block(本来可以不用新建,可以直接实例化一个Block,为方便管理还是新建一个)

package com.qiao.mymod.block;import net.minecraft.block.Block;public class MyBlock extends Block {public MyBlock(Properties properties) {super(properties);}
}

注册这个方块

public class MyMod
{public static Block block;public static Item item;// Directly reference a log4j logger.private static final Logger LOGGER = LogManager.getLogger();。。。。。。略// You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD// Event bus for receiving Registry Events)@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)public static class RegistryEvents {/***       订阅 事件 RegistryEvent.Register<Block>* @param blockRegistryEvent*/@SubscribeEventpublic static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {//实例化方块,方块的属性什么的跟 石头一致MyMod.block=new MyBlock(Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1.5F, 6.0F));block.setRegistryName("mymod:my_block");blockRegistryEvent.getRegistry().register(block);LOGGER.info("HELLO from Register Block");}/**** 订阅 事件 RegistryEvent.Register<Item>* @param itemRegisterEvent*/@SubscribeEventpublic static void onItemRegistry(final  RegistryEvent.Register<Item> itemRegisterEvent){Item.Properties properties=new Item.Properties(); //新建一Item的属性类 Item.Properties 是Item下的一个内部类,可以摁住CTRL+左键点进去看看具体有那些属性properties.group(MyItemGroup.MY_ITEM); //将这个物品暂时寄存在食物选卡下面item=new MyItem(10,10F,false,properties);item.setRegistryName("mymod:my_item");itemRegisterEvent.getRegistry().register(item);// .setRegistryName("mymod:my_item") 这个方法是设置Item的Id 规则是modID:物品id//注册my_block的itemItem.Properties blockP  = new Item.Properties();blockP.group(MyItemGroup.MY_ITEM);//通过实例化ItemBlock,生成一个my_block的ItemItem it=new ItemBlock(block,blockP);it.setRegistryName(block.getRegistryName());itemRegisterEvent.getRegistry().register(it);LOGGER.info("加载 物品"); //后台打印个日志}}
}

注册一个方块同时还得注册这个方块的item,用来显示在手里和物品栏里。同样的都得设置setRegistryName。

将这个方块放在mygroup选卡下。

(二)方块配置

 代码写完了,然后给方块模型、翻译、贴材质。这里参考原版里的石头 stone

翻译(略,参考上一篇)

模型状态: resources\assets\mymod\blockstates\my_block.json (没有就新建,也可以直接把原版石头的copy过来) 这里没有石头那么多状态。

{"variants": {"": [{ "model": "mymod:block/my_block" }]}
}

模型:  resources\assets\mymod\models\block\my_block.json (懒得写就copy原版的) 这里 all 是所有的面都用的是my_block.png这个图片。

{"parent": "block/cube_all","textures": {"all": "mymod:blocks/my_block"}
}

物品Item:  resources\assets\mymod\models\item\my_block.json   parent直接继承上面模型文件。

{"parent": "mymod:block/my_block"
}

图片: 自行准备

运行结果:拿在手上和放置都没有问题。

总结

方块的注册和物品注册相似,方块比物品多了很多配置。这里可以参考下面的链接(版本有点旧)。这只是简单的学习,代码就不优化了,省的阅读困难。


参考

https://blog.csdn.net/lyh20000420/article/details/83660874


http://chatgpt.dhexx.cn/article/n51LyLsX.shtml

相关文章

java我的世界mod制作_我的世界:MOD的编写有多复杂,估计你也学不会

原标题&#xff1a;我的世界&#xff1a;MOD的编写有多复杂&#xff0c;估计你也学不会 MOD应该有不少人使用&#xff0c;但是你们知道MOD的去做有多困难吗&#xff1f;你们知道该怎么做吗&#xff1f;如何才能做一个简单的游戏模组呢&#xff1f;其实制作模组是非常简单的&…

我的世界1.13 mod制作——制作一个Item(二)

&#xff08;一&#xff09; 修改mod信息 forge 默认提供了一个mod配置&#xff0c;ExampleMod.java&#xff0c;接下来修改mod信息。 首先修改的是包的结构&#xff0c;去掉默认的包结构&#xff0c;改成符合mod信息的结构&#xff0c;我这里修改成了com.qiao.mymod. 修改类名…

java版我的世界如何做mod_《我的世界手机版》怎么制作mod制作JS教程图文攻略

&#xfeff;我的世界手机版中&#xff0c;用惯其他人分享的JS之后觉得不满意&#xff0c;自己想要创作专属的JS&#xff1f;今天当乐网小编给大家带来的是我的世界手机版的JS基础教程&#xff0c;各位小伙伴学习一下然后自己制作JS吧&#xff1a; 教程作者&#xff1a;s某某世…

【MineCraft】-- 学习我的世界Mod制作引雷附魔书与事件

基于前面搭建的环境继续。 下面完成一个附魔书制作&#xff0c;并且附魔武器后有雷击效果。 一、监听事件两种情况 成员函数 对象构造时AddToEventBus 如&#xff1a; 函数开头上一行加SubscribeEvent 如&#xff1a; 静态函数 类开头Mod.EventBusSubscriber(括号里可写…

【MC 网易-我的世界-mod开发基础笔记】 --- 创建第一个空白Mod

目录 创建Mod文件夹构建Mod的基本目录结构构建行为包基本结构构建脚本文件夹基本结构构建 mod 启动入口脚本 构建资源包基本结构构建国际化文件基本结构自定义物品配置中文名称自定义方块配置中文名称自定义实体配置中文名 构建贴图资源文件夹的基本结构 创建Mod文件夹 在电脑…

我的世界1.13 mod制作——环境搭建(一)

说明&#xff1a;已经玩过好多年《我的世界》&#xff0c;大概从13年开始吧&#xff0c;虽然不算早&#xff0c;但是也不是很晚。因为高度自由、丰富的mod、精美的材质光影&#xff0c;简单的方块游戏风靡世界。最近心血来潮想学学怎么做mod&#xff0c;但是直接从1.13.2直接起…

我的世界MOD制作(2)|| 你的第一个MOD

正文&#xff1a;I. 开发环境配置 我们需要一个带mixin的forge开发环境&#xff0c;这一步相当折磨人&#xff0c;网络不好的话半天时间都得砸这上面&#xff0c;但是不要灰心&#xff0c;过了这个坎接下来基本是顺风顺水。 1. 下载资源 & 修改build.gradle 首先去forge官网…

Ts 简单随机迷宫迷宫地图

直接上代码 //随机地图const { ccclass, property } cc._decorator;ccclass export default class NewClass extends cc.Component {property(cc.Node)mapItem: cc.Node null;property(cc.Node)mapContent: cc.Node null;private mapArr: any [];onLoad() {}start() {}ran…

C++游戏编程--实现鼠标编辑迷宫地图界面

鼠标左键放砖&#xff0c;右键取消。 void Change() {Show();while (true) {ExMessage m;//定义一个消息变量m getmessage(EM_MOUSE);//获取鼠标消息switch (m.message){case WM_MOUSEMOVE:// 鼠标移动的时候画红色的小点putpixel(m.x, m.y, RED);break;case WM_LBUTTONDOWN:/…

台州oj 5061 迷宫地图

5061: 迷宫地图 时间限制(普通/Java):1000MS/3000MS 内存限制:65536KByte 总提交: 114 测试通过:28 描述 在一些迷宫游戏中,往往有多个关卡,每个关卡有不同的地图,地图往往是由n行m列的方格组成,每个格子上可能是通道、墙壁、道具、玩家等。在设计时,…

关于矩形迷宫地图的数组化处理和相应寻路算法的思考

目录 矩形地图的数组化 思路 提取实现 实现过程 &#xff08;1&#xff09;特征 &#xff08;2&#xff09;取点问题 &#xff08;3&#xff09;需要确定的变量值 &#xff08;4&#xff09;另外的 (5)适用的迷宫类型 寻路算法 数组迷宫的特点 数组迷宫的缺点 算法…

C#迷宫Winform小游戏,生成可连通的迷宫地图

上一篇本人已经写了一个控制台小游戏&#xff0c;这次使用Winform来生成可连通的地图&#xff0c;并测试运行游戏 迷宫小游戏控制台 一、先更改控制台游戏的一点点代码&#xff0c;用于测试迷宫是否连通的【即&#xff1a;从起点可以到达终点】。只用更改 MazeUtil.cs的查找路…

迷宫游戏|自动寻径|随机生成迷宫地图|UI|闯关|地图反转

MazeGame 遵循开源协议 MIT 开发工具及运行环境 开发IDE环境 : Visual Studio 2019 代码管理工具: Git 开发语言:C 程序运行环境(开发环境为(Windows10)其他兼容性未知) 依赖库 EasyX 图形界面库 EasyX官网&#xff1a;EasyX Git仓库地址 Gitee:Gitee 仓库 Github:h…

Java程序:迷宫地图生成器

Java程序:迷宫地图生成器 1、运行效果 可以在【0,50】之间随意设置行数和列数,比如设置为25行25列的迷宫地图数组。 迷宫地图的每一个方格,如果是白色,单击就变成黑色,如果是黑色,单击就变成白色。黑色对应数组里的1,白色对应数组里的0。 因为没有采用路径搜索算法来设…

Java 开发实例(第3篇),绘制迷宫1 生成迷宫地图

开发环境&#xff1a; 操作系统Win10。 1.下载Java 15&#xff0c;提取码&#xff1a;soft 2.下载软件 Eclipse 2020-12&#xff0c;提取码&#xff1a;soft 下载本博客的实例工程代码&#xff0c;提取码&#xff1a;soft 前天2月9日在逛B站App时&#xff0c;意外看到一个很…

Python 打印迷宫地图小游戏

在实现玩转小迷宫这个游戏时&#xff0c;分别使用了input()输入函数、print()输出函数、if…elif…else语句、二维列表、while循环、for循环 下面对这些用法再一次重温 1.input()输入函数 在 Python 中&#xff0c;使用内置函数 input() 可以接收用户的键盘输入。input() 函数…

html5的canvas绘制迷宫地图

canvas标签一直是html5的亮点,用它可以实现很多东西。我想用它来绘画像迷宫那样的地图。借助到的工具有瓦片地图编辑器tiled(点击跳转到下载链接)。 如图:如果你想要画像这样的迷宫地图,如果不用canvas,可以通过dom操作拼接一个一个div,以达成这个效果。那样是不是很不合…

深度优先,Kruskal,Prim几种方式生成迷宫地图

小时候玩过一款3D版迷宫&#xff0c;那时还是功能机时代&#xff0c;黑白界面拼凑的伪3D效果还是给我带来了很多快乐。后来出现了智能机&#xff0c;却再也没找到过那样纯粹的迷宫游戏。总算自己找时间做一个出来。 本文主要介绍一下深度优先&#xff0c;Kruskal,Prim几种方式生…

二维数组随机生成地图迷宫_经验分享:三套简单的迷宫地图生成方案

文/兔四 概述:文章基于一种基础的地图,来讨论三套不同的地图生成方案。 文章不会出现跟代码相关的内容,会以较为通俗的语句和不少简单的示意图来表示迷宫的生成方案。其中不少方法来自于游戏界前辈,我根据自己的基础地图做了不少修正(毕竟迷宫和地图的形式多种多样,适合自…

算法自动生成迷宫地图

文章目录 前言一、什么是&#xff08;DFS&#xff09;深度优先算法&#xff1f;深度优先算法实现步骤1.引入库2.初始化参数3.Turtle画方格函数4.开始生成数组并调用Turtle画图 二、什么是&#xff08;BFS&#xff09;广度优先算法&#xff1f;广度优先算法实现步骤1.引入库2.初…