*이 글은 Spigot 1.19.3 버전을 기준으로 하여 제작되었습니다.
https://zepelown.tistory.com/61
간단하게 Config를 리로드 하는 명령어를 만들어보겠습니다.
ReloadConfig.java
package io.github.zepelown.testplugin.commands;
import io.github.zepelown.testplugin.TestPlugin;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class ReloadConfig implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
sender.sendMessage("config reload");
TestPlugin.getConfigManager().reloadConfigs();
sender.sendMessage("config reload complete");
return false;
}
}
여기서
TestPlugin.getConfigManager().reloadConfigs();
이건 이전 강의에서 작성했던 것으로
ConfigManager.java
public void reloadConfigs() {
for (String key : configSet.keySet()){
plugin.getLogger().info(key);
configSet.get(key).reloadConfig();
}
}
위 메서드를 의미합니다.
config들을 저장한 HashMap인 configSet을
반복문을 통해 돌면서
리로드를 해주는 겁니다.
configSet.get(key).reloadConfig()는 뭘까요?
ConfigMaker.java
public void reloadConfig(){
if(!exists())
return;
config = YamlConfiguration.loadConfiguration(file);
}
위 함수로 파일을 다시 로드하는 메서드입니다.
다시 돌아와 명령어를 이어서 만들어보겠습니다.
명령어는 /treload로 만들 예정입니다.
TestPlugin.java
(메인 클래스)
private void registerCommands(){
getServer().getPluginCommand("thelp").setExecutor(new Help());
getServer().getPluginCommand("tgivedia").setExecutor(new GiveDia());
getServer().getPluginCommand("topeninv").setExecutor(new OpenInv());
getServer().getPluginCommand("tgetpotion").setExecutor(new GetPotion());
getServer().getPluginCommand("treload").setExecutor(new ReloadConfig());
}
plugin.yml
name: TestPlugin
version: '${project.version}'
main: io.github.zepelown.testplugin.TestPlugin
api-version: 1.19
commands:
thelp:
description: help command
aliases:
- thelp2
tgivedia:
description: givedia
topeninv:
description: open gui
tgetpotion:
description: get custom potion
treload:
description: reload config;
명령어를 등록해 줍니다.
작동이 되는지 확인해 보겠습니다.
먼저 서버를 열고
message.yml을 다음과 같이 수정해 봅니다.
저장 후
그리고 이제 명령어를 쳐봅시다.
'마인크래프트 > 플러그인 제작 강좌(자바)' 카테고리의 다른 글
[자바로 마크 Paper 플러그인 만들기]1. 기본 세팅하기 (21) | 2023.12.23 |
---|---|
[인텔리제이로 마크 플러그인 개발하기](보충) Gradle로 jar 빌드하기 2 (3) | 2023.06.30 |
[인텔리제이로 마크 플러그인 개발하기](보충)Config 분할하기 (0) | 2023.03.07 |
[인텔리제이로 마크 플러그인 개발하기]13. Custom Config에 관하여 (Config 파일 여러 개 만들기, 플레이어 등급 관리하기) (1) | 2023.02.10 |
[인텔리제이로 마크 플러그인 개발하기]12. 채팅 및 탭리스트에 칭호 달기 (2) | 2023.02.06 |
댓글