Java 如何仅重新加载插件并更新值
免责声明:请耐心等待,因为我是一名新的年轻开发人员,我看到如果有人不知道如何正确设置问题的格式,人们会感到不安/愤怒 因此,我有一个命令,基本上应该重新启动只是我的插件和config.yml:Java 如何仅重新加载插件并更新值,java,plugins,minecraft,Java,Plugins,Minecraft,免责声明:请耐心等待,因为我是一名新的年轻开发人员,我看到如果有人不知道如何正确设置问题的格式,人们会感到不安/愤怒 因此,我有一个命令,基本上应该重新启动只是我的插件和config.yml: public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (command.getName().equalsIgnoreCase("hello
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("hellopluginreload") || command.getName().equalsIgnoreCase("hpr"))
this.getPluginLoader().disablePlugin(this);
this.getPluginLoader().enablePlugin(this);
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&dHi&bMessage&7] &aSuccessfully &cReloaded &dHi&bMessage"));
return true;
不必重新启动整个服务器,因为这当然会给其他插件用户带来不便。我有一个launchpad(playerMoveListener)类:
当人们碰到某个街区时,它会把人弹起。问题是,当我在config.yml中放置一个新块,并运行命令/hellopluginreload时,它会更新config.yml,但在游戏中,新添加的块永远不会作为启动板工作,只有旧块工作。
我只是想澄清一下,是的,我使用的是正确的块名,因为当我重新启动服务器时,它就工作了
同样,我如何仅重新加载插件并更新ingame中的值(最好使用/hellopluginreload命令),而不使用/reload或/stop ect。
谢谢
import me.yarkosharko.helloplugin.Commands.bounceCommand;
import me.yarkosharko.helloplugin.HelloPlugin;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
public class playerMoveListener implements Listener {
HelloPlugin plugin;
public playerMoveListener(HelloPlugin plugin) {
this.plugin = plugin;
}
@EventHandler
public void onPlayerWalk(PlayerMoveEvent me){
if (plugin.getConfig().getBoolean("enabled")) {
Player p = me.getPlayer();
Location underBlock = p.getLocation();
underBlock.setY(underBlock.getY() -1);
if (p.getLocation().getBlock().getType().equals(Material.valueOf(plugin.getConfig().getString("top-block"))) && underBlock.getBlock().getType().equals(Material.valueOf(plugin.getConfig().getString("bottom-block")))){
p.setVelocity(p.getLocation().getDirection().multiply(2).setY(1));
}
}
}
}