# 1.1 - 插件的选择：从经济插件开始

什么，上来就提及插件的选择是不是太快了？是的，所以，我想告诉你一个服务器框架，而任何服务器的框架离不开插件的选择，这是这个框架组成的重要因素。首先，我来告诉你这个框架的第一个名词：**经济**。

## 解释：经济

在本教程中，像 **金币、点券** 这样的货币组成的一系列玩法和机制，我们都叫它经济。

## 插件选择：Vault

大部分服务器和经济插件所使用的经济 **API** 插件。听着有些绕口，说明白点，就是：是个服，它只要用经济插件，基本上离不开这个插件。

我们需要再提及一个新的名词：**API 插件**。

### 解释：**API 插件**

**API** 插件就是很多人喜欢叫的“前置插件”，**API** 插件的功能就是一个超市，其他插件在这个超市中各取所需，完成对应的工作。

**纯 API 插件** 本身往往对服主来说是不提供任何功能的，也就是说它只是超市本体，如果你想要在这个超市买到想要东西，你还需要一个拥有实际功能的插件帮助你，充当打工人的身份。

说明白点，就是：光一个 **Vault** 插件还不行，你还需要一个与其挂钩的经济插件。

我们再提及一个新的名词：**挂钩**。

### 解释：**挂钩**

挂钩在英文原注一般为 **hook**。挂钩正如其名，两个插件中间有一个钩子，使其能够互相交流，融为一体。

在这里，说明白点，我们需要一个与 **Vault** 互相交流、融为一体的经济插件，因为并不是所有经济插件和 **Vault** 挂钩的。

它们很难找吗？不，让我推荐一些吧：

* 首先，诸如 **CMI、EssentialX** 这样的基础插件往往自带经济功能，并且也是和 **Vault** 挂钩的。
* 如果你目前不知道上面所说的基础插件到底是什么，那么前期你还可以用独立的经济插件。国内大家用的比较多的是 ：<https://github.com/YiC200333/XConomy>
* 如果你打算你的服务器不止金币和点券这些传统货币，还要有其他的货币，可以试试这个多货币插件，其中一种货币可以与 Vault 挂钩：<https://github.com/SoKnight/PEconomy>

### 小技巧：GitHub 的介绍和在其上下载插件

我们首先向你介绍整个教程为你带来的第一个网站：**GitHub**。

**GitHub** 是世界上最大的代码共享网站之一，服务端插件正是由代码组成的，因此服务端插件们出现在 **GitHub** 网站是不足为奇的一件事情。

我们以向您推荐的第二个经济插件为例，介绍 **GitHub** 网站对您来说，应该如何使用：

<figure><img src="/files/ivNvOs3uwt5M4ntVz9KU" alt=""><figcaption></figcaption></figure>

图标1：Issues，这往往是你向插件作者反馈插件存在的问题时的地方。

图标2：Releases，这往往是插件作者发布插件版本号的地方。

图标3：Actions，一些作者可能会在 **GitHub** 假设自动构建，这样的话作者每次做出更改，你都可以在这里下载最新的测试版本，不过需要登录 **GitHub** 账号。不过这个示例中，我们打开以后是如下图的页面，这代表作者并没有这么做。

<figure><img src="/files/Ijg3237begZnvJxOYKKz" alt=""><figcaption></figcaption></figure>

我们稍微偏题一下，在这个项目中，作者提供了自动构建的功能，那么我们就可以下载作者最新做出的修改后的版本，快速体验新功能（bug）了。

<figure><img src="/files/2UZvUUwWltfrDH4371U1" alt=""><figcaption></figcaption></figure>

回到正题，我们再来介绍一下如何下载插件：

<figure><img src="/files/0t6tZDzwBT1InetqJYgx" alt=""><figcaption></figcaption></figure>

打开上面所说的图标2的页面，然后找到最新的版本后，点击如图箭头所指的文件即可。文件名称带有 **-source、-javadoc** 等的，是插件开发者们使用的，服主们无需理会即可。

而回到我推荐的第一个插件，由于其是多平台插件，所以可以根据后面的插件平台选择，我们是 **Bukkit** 系服务端使用者，选择 **Bukkit** 末尾的文件即可。

<figure><img src="/files/pey7WUWAeTQYMKxzl28g" alt=""><figcaption></figcaption></figure>

### 明白一些：使用 Vault 这个 API 插件的意义

说了这么多，你可能还是不明白，**Vault** 这个 **API** 插件真的有必要装吗？

我们先假设你的服务器货币只能在系统商店使用，玩家可以通过回收物品赚得金币，购买物品消耗金币。要实现这个功能，我们往往需要一个经济插件和一个商店插件。

但是，问题便出现了：市面上的商店插件不止一个，经济插件也不止一个，作为商店插件的开发者，我到底要和哪个经济插件挂钩，我的插件才能有更多的人使用便是一个很大的问题。

如果你学过一点经济方面的知识，此时就明白了：**Vault API** 的功能就是充当现实生活中的货币的作用，商店插件和经济插件由原来的“物物交换”转变为了“货币交换”。

你的服务器货币不止商店一个用途，要想很多功能都用到货币，**API** 插件的功能就不可少了。

## 插件选择：PlayerPoints

上文提了这么多，我们来介绍第二种经济插件：独立类型的经济插件。这种经济插件就是各干各家，不理会 **Vault API**。最具代表就是 **PlayerPoints**，很多服务器的点券插件都是靠它了。

我们还是假设你在商店插件要用到它，那么商店插件到底支不支持它呢。这就需要根据商店插件的介绍来判断了，作者需要在插件介绍页面明确指出该插件支持 **PlayerPoints**，否则该商店插件就不能和 **PlayerPoints** 挂钩，就不能使用点券购买商店里面的物品了。

### 小技巧：Edge 浏览器查找功能

使用键盘，同时按下 **Fn + F3** 两个按键，浏览器右上角将会弹出一个搜索框，在一个商店插件的介绍页面搜索 **PlayerPoints**，我们就可以在 **1** 秒钟之内知道这个商店插件到底支不支持 **PlayerPoints** 了。

<figure><img src="/files/Sum3WSIoyIJ447zxTmxF" alt=""><figcaption></figcaption></figure>

很明显，通过该小技巧查找某个商店插件的介绍页面，发现其支持 **PlayerPoints**。

### 小技巧：SpigotMC 的介绍和在其上下载插件

上文已经介绍了 **GitHub**，这是一个代码共享网站，而代码项目可谓千千万万种类型，在这成千上亿的项目中找到一个 **Bukkit** 系服务端插件还真的是不容易，所以我们需要了解一下第二个网站：**SpigotMC**。

**PlayerPoints** 项目的 **GitHub** 地址是：<https://github.com/Rosewood-Development/PlayerPoints>

打开以后，当你下载插件，发现图标2区域竟然是空的！这如何解决呢？

<figure><img src="/files/6L5JKpuK0pfSGZyLgx50" alt=""><figcaption></figcaption></figure>

解决的办法就是 **SpigotMC**，**SpigotMC** 是 **Spigot** 服务端的官方网站，配有一个资源中心，你可以在其中下载各种 **Spigot** 的服务端插件，其中就有 **PlayerPoints** 的身影。

<figure><img src="/files/XnDnA4mmXqib9OOZqjtw" alt=""><figcaption></figcaption></figure>

**PlayerPoints** 项目在 SpigotMC 上的地址是：<https://www.spigotmc.org/resources/playerpoints.80745/>

我们可以点击箭头所示按钮下载插件，这里又要介绍新的单词：download（下载）、now（现在），组合起来可以翻译为“立即下载”。

## 本节小结

现在，你的服务器应该有如下 3 个插件了：

* Vault
* 任意一个与 **Vault** 挂钩的插件
* PlayerPoints

现在，你应该知道如何从下面 2 个网站下载插件了：

* GitHub
* SpigotMC

## 小技巧：在 SpigotMC 上搜索插件

**GamePoints** 是一个与 **PlayerPoints** 类似的插件，其也是独立类型的经济插件。如果你想要你的服务器有 **2** 个点券货币，不妨再加上它，不过在此之前，我们先要找到它！

你或许注意到了 **SpigotMC** 右上角有一个搜索框，尝试搜索以后，我可以告诉你，它们都不是 **GamePoints** 插件地址。

<figure><img src="/files/RpLnpECXPHSubDsOUZVd" alt=""><figcaption></figcaption></figure>

解决办法就是搜索引擎，你可以使用必应搜索，在搜索框中输入“插件名称 site:spigotmc.org”，例如 **GamePoints** 就是“GamePoints site:spigotmc.org”，效果如图，第一个就是正确结果。（其实 MCBBS 也是同理）

{% hint style="info" %}
笔者注：由于本文写的前后时间较长，在文章发布的时候，GamePoints已经迭代升级为了CoinsEngine，你可以根据此教程的示例为模板，自己搜一下这个新版插件吧。
{% endhint %}

## 经验：Vault 基础的经济和 PlayerPoints 的简易使用教程

* /money give 玩家名称 数量 —— 给予玩家金币，不支持离线玩家
* /money set 玩家名称 数量 —— 将玩家金币设置到一定值，支持离线玩家

以上两个指令的 `money` 是根据你所选的经济插件而决定的，一般来说就是 `money`。

* /points give —— 同理，点券
* /points set —— 同理，点券


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.superiormc.cn/new-user-doc/yi-qie-de-qi-dian/1.1-cha-jian-de-xuan-ze-cong-jing-ji-cha-jian-kai-shi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
