Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.ArsenArsen.tentmod;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.logging.Logger;
- import me.ArsenArsen.tentmod.Updater;
- import net.milkbowl.vault.economy.Economy;
- import net.milkbowl.vault.economy.EconomyResponse;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.Server;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.PluginDescriptionFile;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.RegisteredServiceProvider;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.sk89q.worldedit.CuboidClipboard;
- import com.sk89q.worldedit.EditSession;
- import com.sk89q.worldedit.MaxChangedBlocksException;
- import com.sk89q.worldedit.Vector;
- import com.sk89q.worldedit.bukkit.BukkitWorld;
- import com.sk89q.worldedit.data.DataException;
- import com.sk89q.worldedit.foundation.World;
- public class Main extends JavaPlugin
- {
- public static RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
- public ArrayList<String> lt = new ArrayList<String>();
- public static Economy econ = rsp.getProvider();
- public static Economy eco = null;
- public static PluginManager plmanager = Bukkit.getPluginManager();
- public static boolean sucess;
- public static String pp = "tentmod.";
- public static boolean payment;
- public static String np = ChatColor.BOLD + "[TentMod] " + ChatColor.RESET;
- public static void init() {
- if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) return;
- RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
- econ = rsp.getProvider();
- }
- public void warning(String text) {
- logger.warning(text);
- }
- public void severe(String text) {
- logger.severe(text);
- }
- public static boolean pay(String playername, double amount) {
- EconomyResponse r = econ.withdrawPlayer(playername, amount);
- return r.transactionSuccess();
- }
- public void onDisable()
- {
- PluginDescriptionFile pdfFile = getDescription();
- logger.info(np + pdfFile.getName() + " Has Been Disabled");
- }
- public void onEnable()
- {
- this.getConfig().options().copyDefaults(true);
- if(tent != null ){
- severe(np + "You need tent.schematic in folder TendMod to run this plugin!");
- }else{
- init();
- PluginDescriptionFile pdfFile = getDescription();
- logger.info(np + pdfFile.getName() + " V." + pdfFile.getVersion() + " Has Been Enabled");
- onUpdate();
- }
- }
- public final Logger logger = Logger.getLogger("Minecraft");
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
- {
- String amountforpay = this.getConfig().getString("tent-price");
- double amountforpayd = Double.parseDouble(amountforpay);
- Player p = (Player)sender;
- if (commandLabel.equalsIgnoreCase("tentmod")) {
- String name = p.getName();
- PluginDescriptionFile pdf = this.getDescription();
- if(args.length == 0){
- sender.sendMessage(ChatColor.GOLD + "[TentMod]" + ChatColor.DARK_RED + " /tentmod [givetent <playername>|version|reload]");
- }else if(args.length == 1){
- if(args[0] == "givetent"){
- if(sender instanceof Player)
- {
- if(p.hasPermission("tentmod.give")){
- if(p.hasPermission("tentmod.give.payoverride")){
- ItemStack tent = new ItemStack(Material.getMaterial(this.getConfig().getString("tent-item")));
- ItemMeta tm = tent.getItemMeta();
- ArrayList<String> lt = new ArrayList<String>();
- tm.setDisplayName(ChatColor.BOLD + "" + ChatColor.ITALIC + "" + ChatColor.UNDERLINE + "Tent");
- lt.add(ChatColor.GOLD + "TentItem");
- lt.add(ChatColor.UNDERLINE + "Place tent with right-click");
- tm.setLore(lt);
- tent.setItemMeta(tm);
- p.getInventory().addItem(new ItemStack (tent));
- } else {
- if(Bukkit.getServer().getPluginManager().isPluginEnabled("Vault")){
- pay(name, amountforpayd);
- ItemStack tent = new ItemStack(Material.getMaterial(this.getConfig().getString("tent-item")));
- ItemMeta tm = tent.getItemMeta();
- ArrayList<String> lt = new ArrayList<String>();
- tm.setDisplayName(ChatColor.BOLD + "" + ChatColor.ITALIC + "" + ChatColor.UNDERLINE + "Tent");
- lt.add(ChatColor.GOLD + "TentItem");
- lt.add(ChatColor.UNDERLINE + "Place tent with right-click");
- tm.setLore(lt);
- tent.setItemMeta(tm);
- p.getInventory().addItem(new ItemStack (tent));
- } else {
- warning("You do NOT have enabled Vault, So we cannot do payment!");
- ItemStack tent = new ItemStack(Material.getMaterial(this.getConfig().getString("tent-item")));
- ItemMeta tm = tent.getItemMeta();
- ArrayList<String> lt = new ArrayList<String>();
- tm.setDisplayName(ChatColor.BOLD + "" + ChatColor.ITALIC + "" + ChatColor.UNDERLINE + "Tent");
- lt.add(ChatColor.GOLD + "TentItem");
- lt.add(ChatColor.UNDERLINE + "Place tent with right-click");
- tm.setLore(lt);
- tent.setItemMeta(tm);
- p.getInventory().addItem(new ItemStack (tent));
- }
- }
- }
- else{
- p.sendMessage(ChatColor.DARK_RED + "You need more perms to give tents!");
- }
- }
- else{
- sender.sendMessage("You must be player or add second arguement!");
- if(args.length == 2){
- ItemStack tent = new ItemStack(Material.getMaterial(this.getConfig().getString("tent-item")));
- ItemMeta tm = tent.getItemMeta();
- tm.setDisplayName(ChatColor.BOLD + "" + ChatColor.ITALIC + "" + ChatColor.UNDERLINE + "Tent");
- lt.add(ChatColor.GOLD + "TentItem");
- lt.add(ChatColor.UNDERLINE + "Place tent with right-click");
- tm.setLore(lt);
- tent.setItemMeta(tm);
- Player targetp = Bukkit.getServer().getPlayer(args[1]);
- if(targetp != null){
- sender.sendMessage("Player is offline!");
- }else{
- targetp.getInventory().addItem(new ItemStack (tent));
- }
- }
- }
- } else if(args[0] == "reload"){
- if(sender instanceof Player){
- if(sender.hasPermission("tentmod.reload")){
- this.reloadConfig();
- } else {
- sender.sendMessage(ChatColor.DARK_RED + "You do not have perm to reload TentMod!");
- }
- }else this.reloadConfig();
- } else if(args[0] == "version"){
- if(sender instanceof Player){
- if(sender.hasPermission("tentmod.version")){
- sender.sendMessage(ChatColor.GOLD + "[" + ChatColor.YELLOW + "TentMod" + ChatColor.GOLD + "]" + ChatColor.DARK_AQUA + " TentMod V." + pdf.getVersion() + " developed by ArsenArsen (A.k.a ArsenArsen1)");
- } else {
- sender.sendMessage(ChatColor.DARK_RED + "You do not have perm to see version of TentMod!");
- }
- }else sender.sendMessage(ChatColor.GOLD + "[" + ChatColor.YELLOW + "TentMod" + ChatColor.GOLD + "]" + ChatColor.DARK_AQUA + " TentMod V." + pdf.getVersion() + " developed by ArsenArsen (A.k.a ArsenArsen1)");
- }
- }
- return false;
- }
- return true;
- }
- public void onUpdate(){
- if (getConfig().getString("updater").equals("true"))
- {
- if (getConfig().getString("update-type").equals("download"))
- {
- Updater updater = new Updater(this, 81135, this.getFile(), Updater.UpdateType.DEFAULT, false);
- }
- else
- {
- if (getConfig().getString("update-type").equals("no-download"))
- {
- Updater updater = new Updater(this, 81135, this.getFile(), Updater.UpdateType.NO_DOWNLOAD, false);
- }
- }
- }
- }
- public static final Vector ONE = new Vector(3, 3, 3);
- public World world;
- public File tent = new File(this.getDataFolder(), "tent.schematic");
- private void loadArea(World world, File file,Vector origin) throws DataException, IOException, MaxChangedBlocksException{
- EditSession es = new EditSession(new BukkitWorld((org.bukkit.World) world), 999999999);
- CuboidClipboard cc = CuboidClipboard.loadSchematic(file);
- cc.paste(es, origin, false);
- }
- public void onPlace(PlayerInteractEvent evt) throws MaxChangedBlocksException, DataException, IOException{
- if(evt.getClickedBlock() != null){
- Player p = evt.getPlayer();
- if(evt.getClickedBlock().getType() == Material.AIR){
- p.sendMessage(ChatColor.DARK_RED + "You cant place tent on sky!" + ChatColor.AQUA + " LOL!");
- } else if(p.getPlayer().getItemInHand().hasItemMeta() == true){
- ItemStack hand = p.getPlayer().getInventory().getItemInHand();
- ItemMeta meta = hand.getItemMeta();
- String [] lore = lt.toArray(new String[lt.size()]);
- if(meta.getLore() == Arrays.asList(lore)){
- loadArea(world, tent, ONE);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement