NitWikit/docs-java/start/basic/what-is-plugin.md
2024-07-08 10:24:18 +08:00

55 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 什么是插件?
sidebar_position: 5
---
# 什么是插件?
如果你玩过整合包你一定对 `Mod` (即模组)这个概念相当了解,但如果你是第一次开服,你可能不知道什么是 `Plugin`(插件),本文章会详细为你介绍。
## 工作形式
不同于大部分模组需要同时安装在客户端和服务端,插件安装在 **服务端**
玩家只需使用原版客户端即可进入服务器,大多数情况下不需要专门安装 Mod。
插件为什么叫插件Plugins是因为它相对于模组Mods有更高的即时性
能够更为方便地添加或修改游戏内容,对 Minecraft 本身的侵入性修改也更小。
## 安装位置
插件是需要安装在服务器根目录的 `/plugins` 文件夹,然后需要 **重启** 服务器
:::danger
永远不要在不知道会发生什么的情况下热加载/热重载/热卸载任何插件。
:::
## 插件的优点
* 插件服的开发大多数时候都更加简单而不需要接触Minecraft的源代码。像Skript那样的脚本语言将插件的开发难度降到了有点脑子就会
* 插件的接口大多数时候都使用了事件来抽象化监听服务器的各种行为的复杂性,同时也提供了更好的兼容性。
* 由于插件接口都不会因为Minecraft源代码更新而被破坏所以即使版本更新很多东西也不需要跟着修改。比如 Vault 三年前更新的插件到最新版本还可以用。
## 插件的缺点
* 接触Minecraft本身的代码变得困难而且通常需要考虑多个版本之间的代码变动。
* 很难直接像模组那样通过Mixin直接更改游戏代码某些必须需要修改源代码才能实现的功能在插件上很难实现。
## 插件可以做的事情
虽然插件不能像模组那样直接更改游戏源代码,但是依然可以利用游戏本身的内容做出一些超乎寻常的事情
这里是一些`超乎寻常`的插件(对新手来说)
* Slimefun 在插件中实现模组的功能
* ItemsAdder/Oraxen 自定义方块物品HUD家具还有更多
* ModelEngine 自定义生物实体,就像模组
* MythicMob 创造出像模组一样的技能和生物
插件服目前已经可以使用自定义物品方块HUD家具Emoij生物实体农作物树叶Tooltip附魔...
所以说不要轻易地认为插件在最终效果上不如MOD很多时候实际上不需要像模组那样修改源代码即可达到相同的效果不是么