自定义实体 您所在的位置:网站首页 pixivview 自定义实体

自定义实体

2023-12-08 17:01| 来源: 网络整理| 查看: 265

自1.17之后, SpigotMC 开始提供 Mojang 混淆表版本的 Spigot 服务端,这意味着大大简化了开发难度 —— 不需要再对照混淆表一个一个看NMS 方法名

HikariLanBukkit NMS 开发实践 —— 创建你自己的自定义实体(适用于 1.16.3 - 1.16.5 版本)

本篇我来介绍使用Paper API的插件如何使用Mojang mappings自定义实体

引入依赖

这里使用Gradle Groovy讲解

这里有用Gradle Kotlin的例子https://github.com/PaperMC/paperweight-test-plugin/

一共要改两处地方

build.gradle123456789plugins { ... id "io.papermc.paperweight.userdev" version "1.4.1"}dependencies { ... paperweightDevelopmentBundle "io.papermc.paper:dev-bundle:1.19.3-R0.1-SNAPSHOT" // compileOnly 'io.papermc.paper:paper-api:1.19.3-R0.1-SNAPSHOT'}settings.gradle123456pluginManagement { repositories { gradlePluginPortal() maven{ url = "https://repo.papermc.io/repository/maven-public/"} }}创建自定义实体

很明显,根据已有的API,甚至是Paper API,都没有向我们提供创建自定义实体的功能。因此,想要创建自定义实体,需要使用 Mojang mappings 我们刚才依赖引入的就是(1.17- 需要使用NMS)

本例中,我们创建一个不会被破坏,只能坐一个玩家的船(不是箱船),来自我的项目 – IceBoat

继承已有实体

让我们创建 GameBoat 类,继承 net.minecraft.world.entity.vehicle.Boat 类

1public class GameBoat extends Boat {}

接下来,初始化该实体,实现超类构造器

12345public class GameBoat extends Boat { public GameBoat(EntityType


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有