• 注册
  • 服务器&插件 服务器&插件 关注:5 内容:9951

    存档插件 (SaveBasic)

  • 查看作者
  • 打赏作者
  • 当前位置: SodaMC > 服务器&插件 > 正文
  • 潮涌核心
    反派

    存档插件 (SaveBasic)

    package me.Kruciial.save;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.UUID;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.event.player.PlayerRespawnEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    public class Main extends JavaPlugin implements Listener, CommandExecutor {
    public Map inventories = new HashMap();
    public Map armor = new HashMap();
    public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);
    }
    public void onDisable() {}
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player)) {
    sender.sendMessage("You have to be a player to perform this command!");
    return false;
    }
    Player p = (Player)sender;
    if (label.equalsIgnoreCase("save")) {
    this.inventories.put(p.getUniqueId(), p.getInventory().getContents());
    this.armor.put(p.getUniqueId(), p.getInventory().getArmorContents());
    msg(p, new String[] { "&7? &6FFA &7? &6Your inventory has been saved until you logout!" });
    }
    return false;
    }
    @EventHandler
    public void onQuit(PlayerQuitEvent e) {
    Player p = e.getPlayer();
    if (this.inventories.containsKey(p.getUniqueId())) {
    this.inventories.remove(p.getUniqueId());
    }
    if (this.armor.containsKey(p.getUniqueId())) {
    this.armor.remove(p.getUniqueId());
    }
    }
    @EventHandler
    public void onDeath(PlayerDeathEvent e) {
    Player p = e.getEntity();
    if (this.inventories.containsKey(p.getUniqueId()) || this.armor.containsKey(p.getUniqueId())) {
    e.getDrops().clear();
    }
    }
    @EventHandler
    public void onRespawn(PlayerRespawnEvent e) {
    Player p = e.getPlayer();
    if (this.inventories.containsKey(e.getPlayer().getUniqueId())) {
    p.getInventory().setContents((ItemStack[])this.inventories.get(p.getUniqueId()));
    }
    if (this.armor.containsKey(p.getUniqueId())) {
    p.getInventory().setArmorContents((ItemStack[])this.armor.get(p.getUniqueId()));
    }
    }
    public void msg(Player p, String... msg) {
    String[] arrayOfString;
    int j = (arrayOfString = msg).length;
    for (int i = 0; i < j; i++) {
    String s = arrayOfString[i];
    p.sendMessage(color(s));
    }
    }
    public boolean isInt(String s) {
    try {
    Integer.parseInt(s);
    return true;
    } catch (Exception localException) {}
    return false;
    }
    public String color(String s) {
    return ChatColor.translateAlternateColorCodes('&', s);
    }
    }​

    1. 功能:SaveBasic是一个基本的插件,适用于自由对抗(FFA)服务器。其主要功能是允许玩家保存他们的物品栏和装备,并在退出游戏时自动保存,以便下次登录时恢复。

    2. 配置:无需额外配置,只需将插件放入服务器插件文件夹中即可。

    3. 用法:玩家可以使用命令“/save”来保存他们当前的物品栏和装备状态。保存后,这些物品将保留在他们的账户中,直到他们下次登录服务器。插件会在保存成功时向玩家发送确认消息。

    4. 权限:此插件不涉及特定权限,任何玩家都可以使用“/save”命令来保存他们的物品栏和装备状态。

    希望这款简单的插件能为您的服务器增添一些便利,祝您使用愉快!

    存档插件 (SaveBasic)

    存档插件 (SaveBasic)

    可用版本为:|1.8|1.9|1.10|1.11|1.12

    源站下载
    登录后前往SPIGOT

  • 收录

  • 请登录之后再进行评论

    登录
  • Soda任务 图片
  • 偏好设置
  • 主题
  • 帖子间隔 侧栏位置: