Minecraft 領地「自動圈地道具」插件
透過本插件,你可以定義多種自動圈地道具。玩家手持道具右鍵地面即可依照設定的大小自動圈出領地,過程中會扣除一個道具,但不會扣除玩家的金幣。
你也可以為每種道具設定使用條件,例如:要求玩家目前領地數量為 0、要求玩家達到指定等級、要求玩家擁有特定權限等等。
- 多道具設定:每種道具可獨立設定領地大小、名稱格式、使用條件與提示訊息。
- 選取範圍粒子效果:右鍵預覽圈地範圍時,以四角角柱 + 跟隨玩家高度的水平方框顯示選區。座標計算在異步線程完成,不佔用主線程,且完全可在
config.yml自訂(粒子種類、密度、時長等)。 - 頂天立地開關:每個道具可設定
size.full-height,開啟後 Y 軸自動包含世界最高與最低。 - MiniMessage 訊息:所有訊息與道具文字皆支援 MiniMessage(漸層、十六進位色碼等),同時相容傳統
&色碼。 - 道具綁定:可將道具綁定給指定玩家,僅該玩家能使用。
- Folia 支援。
目前支援以下領地插件,兩者共用同一套選區粒子效果:
更多插件可透過編寫附屬來相容,詳見 SweetAutoResidence#checkAdapter。
根命令為 /sweetautoresidence,別名為 /sautoresidence、/sautores、/sares、/sar
以 <> 包裹的為必填參數,以 [] 包裹的為可選參數。所有命令均只能由管理員執行。
| 命令 | 描述 |
|---|---|
/sares give <物品> [數量] [玩家] [-b] |
給予自己或指定玩家圈地道具。參數順序不限(數量/玩家/-b 可任意排列) |
/sares reload |
重載插件設定檔 |
關於 give:
- 指定玩家時會自動綁定給該玩家(等同帶上
-b)。 -b/--bind:綁定道具,僅綁定的玩家可使用。未指定玩家時綁定給自己。- 未指定玩家則給自己。玩家名須為線上玩家。
/sares give newbie 給自己 1 個(不綁定)
/sares give newbie -b 給自己並綁定給自己
/sares give newbie Steve 給 Steve 並綁定給 Steve
/sares give newbie Steve 5 給 Steve 5 個並綁定
selection-particle:
enabled: true # 總開關
duration-ticks: 200 # 顯示總時長(tick,20 tick = 1 秒)
interval-ticks: 10 # 重畫間隔(tick)
pillar: # 四角角柱(貫穿領地上下的標記柱)
particle: VILLAGER_HAPPY
vertical-step: 0.5 # 垂直間距,越小越密
outline: # 水平輪廓(跟隨玩家目前高度的方框)
enabled: true
particle: END_ROD
step: 0.5 # 粒子間距
ring-extend: 10.0 # 以玩家高度為中心,上下各延伸幾格粒子名稱請填服務端版本對應的 Bukkit
Particle列舉名(大小寫不限)。 例:開心村民粒子在 1.20.4↓ 為VILLAGER_HAPPY,1.20.5↑ 改名為HAPPY_VILLAGER。
每個道具檔可設定領地大小、頂天立地、偏移、名稱、條件、外觀與使用指令,詳見預設的 items/example.yml 內註解。其中:
size:
x: 10
y: 10
z: 10
full-height: false # true = 頂天立地(Y 軸包含世界最高與最低,忽略 size.y)本插件向 PlaceholderAPI 註冊了以下變數:
%sares_residence_count% 玩家目前領地數量
%sares_residence_max_count% 玩家目前最大領地數量限制
%sares_random_<字典名>% 隨機生成一個名字,詳見 config.yml
repositories {
maven("https://jitpack.io")
}
dependencies {
compileOnly("com.github.MrXiaoM:SweetAutoResidence:$VERSION")
}編寫一個類別,實作 top.mrxiaom.sweet.autores.api.IResidenceAdapter,可參考內建的 AdapterResidence。
這個類別必須有一個符合條件的建構子:有且僅有一個型別為 SweetAutoResidence(本插件主類)的參數。
package org.example;
import top.mrxiaom.sweet.autores.SweetAutoResidence;
import top.mrxiaom.sweet.autores.api.IResidenceAdapter;
public class MyAdapter implements IResidenceAdapter {
public MyAdapter(SweetAutoResidence plugin) {
// TODO
}
}選取範圍粒子效果由主插件的
SelectionParticleManager統一處理,適配器只要在showSelection中呼叫SelectionParticleManager.inst().show(player, area)即可共用同一套效果與設定。
然後將資源檔 residence-adapter.yml 加入 jar,寫入如下內容:
class: '你實作的類別引用路徑,例如 org.example.MyAdapter'將編譯後的領地適配器附屬 jar 放到 plugins/SweetAutoResidence/libraries/ 目錄中,重啟服務器即可使用。