Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package test;
- import java.io.ByteArrayInputStream;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.util.io.BukkitObjectInputStream;
- import org.bukkit.util.io.BukkitObjectOutputStream;
- import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
- import net.minecraft.util.org.apache.commons.io.output.ByteArrayOutputStream;
- public class Main4 extends JavaPlugin {
- public static String itemStackArrayToBase64(ItemStack[] items) {
- try {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream);
- dataOutput.writeInt(items.length);
- for (int i=0; i<items.length; i++) {
- dataOutput.writeObject(items[i]);
- }
- dataOutput.close();
- return Base64Coder.encodeLines(outputStream.toByteArray());
- } catch (Exception e) {
- return null;
- }
- }
- public static ItemStack[] itemStackArrayFromBase64(String data) {
- try {
- ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data));
- BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream);
- ItemStack[] items = new ItemStack[dataInput.readInt()];
- for (int i=0; i<items.length; i++) {
- items[i] = (ItemStack) dataInput.readObject();
- }
- dataInput.close();
- return items;
- } catch (Exception e) {
- return null;
- }
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(sender instanceof Player) {
- Player player = (Player) sender;
- if(label.equalsIgnoreCase("save")) {
- String armor = itemStackArrayToBase64(player.getInventory().getArmorContents());
- String inv = itemStackArrayToBase64(player.getInventory().getContents());
- getConfig().set("Kit.Armor", armor);
- getConfig().set("Kit.Inventory", inv);
- saveConfig();
- player.sendMessage(ChatColor.GREEN + "Kit saved!");
- }
- if(label.equalsIgnoreCase("load")) {
- if(getConfig().contains("Kit.Armor") && getConfig().contains("Kit.Inventory")) {
- String armor = getConfig().getString("Kit.Armor");
- String inv = getConfig().getString("Kit.Inventory");
- player.getInventory().setArmorContents(itemStackArrayFromBase64(armor));
- player.getInventory().setContents(itemStackArrayFromBase64(inv));
- player.sendMessage(ChatColor.GREEN + "Kit loaded!");
- } else {
- player.sendMessage(ChatColor.RED + "Kit is not saved!");
- }
- }
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement