Advertisement
Guest User

Untitled

a guest
Jan 25th, 2015
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.29 KB | None | 0 0
  1. Sign
  2.  
  3. package me.woaosodo.listeners;
  4.  
  5. import me.woaosodo.main.main;
  6.  
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Material;
  9. import org.bukkit.Sound;
  10. import org.bukkit.block.Sign;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.Action;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.inventory.ItemStack;
  17.  
  18. public class sign implements Listener {
  19.  
  20.  
  21. @EventHandler
  22. public void interact(PlayerInteractEvent e){
  23. Player p = e.getPlayer();
  24.  
  25. //CREATE SIGN
  26.  
  27. //MrD's COLAB EMAIL - RepublicHS@gmail.com
  28. //MrD's BUSINESS EMAIL - richard@capitalns.com
  29. if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK) || e.getAction().equals(Action.LEFT_CLICK_BLOCK)){
  30. if(e.getClickedBlock().getType().equals(Material.WALL_SIGN)){
  31. if(e.getClickedBlock().getState() instanceof Sign){
  32. if(e.getPlayer().isOp()){
  33. Sign s = (Sign)e.getClickedBlock().getState();
  34. if(s.getLine(0).equalsIgnoreCase("DIAMOND")){
  35. s.setLine(0, ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " ");
  36. s.setLine(3, ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " " + ChatColor.GREEN + "[" + ChatColor.DARK_GREEN + ""+ChatColor.ITALIC + main.pl.getConfig().getInt("totalGold") + ChatColor.GREEN +"]" + ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " ");
  37. s.setLine(1, ChatColor.AQUA + "DIAMOND");
  38. s.setLine(2, ChatColor.GRAY + "B: " + ChatColor.WHITE + "" + ChatColor.ITALIC + Math.round(main.pl.getConfig().getDouble("buyPrice")) + ChatColor.GRAY + "S: " + ChatColor.WHITE + "" + ChatColor.ITALIC + Math.round(main.pl.getConfig().getDouble("sellPrice")));
  39. s.update();
  40. }
  41. }
  42. }
  43. }
  44.  
  45. //USE SIGN
  46. if(e.getClickedBlock().getType().equals(Material.WALL_SIGN)){
  47. if(e.getClickedBlock().getState() instanceof Sign){
  48. Sign sign = (Sign)e.getClickedBlock().getState();
  49. if(sign.getLine(1).equals(ChatColor.AQUA + "DIAMOND")){
  50.  
  51. //SELL
  52. if(e.getAction().equals(Action.LEFT_CLICK_BLOCK)){
  53. if(p.getInventory().contains(Material.DIAMOND)){
  54. for(ItemStack i : p.getInventory().getContents()){
  55. p.getInventory().removeItem(new ItemStack(Material.DIAMOND, 1));
  56. main.econ.depositPlayer(p, main.pl.getConfig().getDouble("sellPrice"));
  57. p.sendMessage(ChatColor.DARK_GREEN + "You've sold " + ChatColor.GREEN + "" + ChatColor.ITALIC + "1" + ChatColor.DARK_GREEN + " diamonds for " + ChatColor.GREEN + "" + ChatColor.ITALIC +""+ Math.round(main.pl.getConfig().getDouble("sellPrice")) + "!");
  58. if(main.pl.getConfig().getDouble("sellPrice") > 1){
  59. main.pl.getConfig().set("sellPrice", main.pl.getConfig().getDouble("sellPrice") -.1);
  60. main.pl.getConfig().set("buyPrice", main.pl.getConfig().getDouble("buyPrice") -.1);
  61. main.pl.getConfig().set("change", main.pl.getConfig().getDouble("change") + -.1);
  62. }
  63. main.pl.getConfig().set("totalGold", main.pl.getConfig().getInt("totalGold") + 1);
  64. sign.setLine(2, ChatColor.GRAY + "B: " + ChatColor.WHITE + "" + ChatColor.ITALIC + Math.round(main.pl.getConfig().getDouble("buyPrice")) + ChatColor.GRAY + "S: " + ChatColor.WHITE + "" + ChatColor.ITALIC + Math.round(main.pl.getConfig().getDouble("sellPrice")));
  65. sign.setLine(3, ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " " + ChatColor.GREEN + "[" + ChatColor.DARK_GREEN + ""+ChatColor.ITALIC + main.pl.getConfig().getInt("totalGold") + ChatColor.GREEN +"]" + ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " ");
  66. sign.update();
  67. p.playSound(p.getLocation(), Sound.ANVIL_LAND, 1, 1);
  68. p.updateInventory();
  69. break;
  70. }
  71. }else{
  72. p.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "OOPS! " + ChatColor.GRAY + "You don't appear to have any diamonds on you!");
  73. }
  74. }else if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)){//BUY
  75. if(main.econ.getBalance(e.getPlayer()) >= main.pl.getConfig().getDouble("buyPrice")){
  76. if(!(main.pl.getConfig().getInt("totalGold") == 0)){
  77. p.getInventory().addItem(new ItemStack(Material.DIAMOND));
  78. p.sendMessage(ChatColor.DARK_GREEN + "Purchased 1 diamond off the market for " + ChatColor.GREEN + "" + ChatColor.ITALIC + "$" + Math.round(main.pl.getConfig().getDouble("buyPrice")));
  79. main.econ.withdrawPlayer(p, main.pl.getConfig().getDouble("buyPrice"));
  80. main.pl.getConfig().set("sellPrice", main.pl.getConfig().getDouble("sellPrice") +.1);
  81. main.pl.getConfig().set("buyPrice", main.pl.getConfig().getDouble("buyPrice") +.1);
  82. main.pl.getConfig().set("change", main.pl.getConfig().getDouble("change") + .1);
  83. sign.setLine(2, ChatColor.GRAY + "B: " + ChatColor.WHITE + "" + ChatColor.ITALIC + Math.round(main.pl.getConfig().getDouble("buyPrice")) + ChatColor.GRAY + "S: " + ChatColor.WHITE + "" + ChatColor.ITALIC + Math.round(main.pl.getConfig().getDouble("sellPrice")));
  84. main.pl.getConfig().set("totalGold", main.pl.getConfig().getInt("totalGold") - 1);
  85. sign.setLine(3, ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " " + ChatColor.GREEN + "[" + ChatColor.DARK_GREEN + ""+ChatColor.ITALIC + main.pl.getConfig().getInt("totalGold") + ChatColor.GREEN +"]" + ChatColor.GREEN + "" + ChatColor.STRIKETHROUGH + " ");
  86. sign.update();
  87. p.playSound(p.getLocation(), Sound.ANVIL_LAND, 1, 1);
  88. p.updateInventory();
  89. }else{
  90. p.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "OH NO! " + ChatColor.GRAY + "There are no diamonds in the market for you to buy!");
  91. }
  92. }else{
  93. p.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "OOPS! " + ChatColor.GRAY + "You don't appear to have enough money! (" + Math.round(main.pl.getConfig().getDouble("buyPrice")) + ")");
  94. }
  95. }
  96. }
  97. }
  98.  
  99. }
  100. e.setCancelled(true);
  101. }
  102. }
  103. }
  104.  
  105. /*
  106. *
  107. *
  108. * OKAY,
  109. * B: 100, S: 50.
  110. * Sell 1.
  111. * B: 99.9
  112. * S: 49.9
  113. *
  114. *
  115. *
  116. *
  117. *
  118. *
  119. */
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137. package me.woaosodo.commands;
  138.  
  139. import java.util.ArrayList;
  140.  
  141. import me.woaosodo.main.main;
  142. import net.md_5.bungee.api.ChatColor;
  143.  
  144. import org.bukkit.Bukkit;
  145. import org.bukkit.command.Command;
  146. import org.bukkit.command.CommandExecutor;
  147. import org.bukkit.command.CommandSender;
  148. import org.bukkit.entity.Player;
  149.  
  150. public class resetMarket implements CommandExecutor {
  151.  
  152.  
  153.  
  154. @Override
  155. public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
  156. if(cmd.getName().equalsIgnoreCase("resetMarket")){
  157. if(sender instanceof Player){
  158. final Player p = (Player) sender;
  159. if(p.isOp()){
  160. p.sendMessage(ChatColor.BLUE + "Successfully reset markets!");
  161. main.pl.getConfig().set("sellPrice", main.pl.getConfig().getInt("resetMarketSetsTo"));
  162. main.pl.getConfig().set("buyPrice", main.pl.getConfig().getInt("resetMarketSetsTo"));
  163. main.pl.getConfig().set("totalGold", 0);
  164. main.pl.getConfig().set("change", 0);
  165. }
  166. }else{
  167. sender.sendMessage("Only executable by a player!");
  168. }
  169. }
  170. return false;
  171. }
  172.  
  173.  
  174.  
  175. }
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. package me.woaosodo.main;
  196.  
  197. import me.woaosodo.commands.resetMarket;
  198. import me.woaosodo.listeners.sign;
  199. import net.milkbowl.vault.economy.Economy;
  200. import net.milkbowl.vault.economy.EconomyResponse;
  201.  
  202. import org.bukkit.Bukkit;
  203. import org.bukkit.ChatColor;
  204. import org.bukkit.plugin.Plugin;
  205. import org.bukkit.plugin.RegisteredServiceProvider;
  206. import org.bukkit.plugin.java.JavaPlugin;
  207.  
  208. public class main extends JavaPlugin {
  209.  
  210.  
  211. public static Plugin pl;
  212.  
  213. public static Economy econ = null;
  214. public static EconomyResponse r;
  215.  
  216. @SuppressWarnings("deprecation")
  217. public void onEnable(){
  218. pl = this;
  219. if (!setupEconomy() ) {
  220. getLogger().severe(String.format("Awh shit! You gotta download VAULT for this to work!", getDescription().getName()));
  221. getServer().getPluginManager().disablePlugin(this);
  222. return;
  223. }
  224. getConfig().addDefault("resetMarketSetsTo", 100);
  225.  
  226. if(getConfig().getDouble("sellPrice") == 0){
  227. getConfig().set("sellPrice", 100);
  228. getConfig().set("buyPrice", 100);
  229. }
  230. this.getCommand("resetMarket").setExecutor(new resetMarket());
  231.  
  232.  
  233.  
  234. getLogger().info("Plugin has been enabled!");
  235. Bukkit.getServer().getPluginManager().registerEvents(new sign(), pl);
  236.  
  237. Bukkit.getScheduler().scheduleAsyncRepeatingTask(pl, new Runnable(){
  238.  
  239. public void run() {
  240. String up = ChatColor.GREEN + "+" + Math.round(pl.getConfig().getDouble("change"));
  241. String upp = ChatColor.GREEN + "" + ChatColor.BOLD + "+" + Math.round(pl.getConfig().getDouble("change"));
  242. String down = ChatColor.DARK_RED + "-" + Math.round(pl.getConfig().getDouble("change")*-1);
  243. String downn = ChatColor.DARK_RED + "" + ChatColor.BOLD + "-" + Math.round(pl.getConfig().getDouble("change")*-1);
  244. if(pl.getConfig().getDouble("change") >= 0 && pl.getConfig().getDouble("change") < 3){
  245. Bukkit.broadcastMessage(ChatColor.WHITE + "" + ChatColor.BOLD + "MARKET " + ChatColor.GOLD + "Over the last 10 minutes, the diamond value has changed by " + up + ChatColor.GOLD + " and can be purchased at " + ChatColor.YELLOW + "" + ChatColor.ITALIC + "$"+ Math.round(pl.getConfig().getDouble("buyPrice")) + ChatColor.GOLD + "!");
  246. }else if(pl.getConfig().getDouble("change") >= 3){
  247. Bukkit.broadcastMessage(ChatColor.WHITE + "" + ChatColor.BOLD + "MARKET " + ChatColor.GOLD + "Over the last 10 minutes, the diamond value has changed by " + upp + ChatColor.GOLD + " and can be purchased at " + ChatColor.YELLOW + "" + ChatColor.ITALIC +"$"+ Math.round(pl.getConfig().getDouble("buyPrice")) + ChatColor.GOLD + "!");
  248. }else if(pl.getConfig().getDouble("change") < 0 && pl.getConfig().getDouble("change") > -3){
  249. Bukkit.broadcastMessage(ChatColor.WHITE + "" + ChatColor.BOLD + "MARKET " + ChatColor.GOLD + "Over the last 10 minutes, the diamond value has changed by " + down + ChatColor.GOLD + " and can be purchased at " + ChatColor.YELLOW + "" + ChatColor.ITALIC +"$"+ Math.round(pl.getConfig().getDouble("buyPrice")) + ChatColor.GOLD + "!");
  250. }else if(pl.getConfig().getDouble("change") <= -3){
  251. Bukkit.broadcastMessage(ChatColor.WHITE + "" + ChatColor.BOLD + "MARKET " + ChatColor.GOLD + "Over the last 10 minutes, the diamond value has changed by " + downn + ChatColor.GOLD + " and can be purchased at " + ChatColor.YELLOW + "" + ChatColor.ITALIC +"$"+ Math.round(pl.getConfig().getDouble("buyPrice")) + ChatColor.GOLD + "!");
  252. }else{
  253. Bukkit.broadcastMessage(ChatColor.WHITE + "" + ChatColor.BOLD + "MARKET " + ChatColor.GOLD + "Over the last 10 minutes, the diamond value has changed by " + ChatColor.RED + "ERROR" + ChatColor.GOLD + " and can be purchased at " + ChatColor.YELLOW + "" +"$"+ ChatColor.ITALIC + Math.round(pl.getConfig().getDouble("buyPrice")) + ChatColor.GOLD + "!");
  254. }
  255. pl.getConfig().set("change", 0);
  256. saveConfig();
  257. }
  258. }, 10*20*60, 10*20*60);
  259.  
  260. saveConfig();
  261. }
  262.  
  263. private boolean setupEconomy() {
  264. if (getServer().getPluginManager().getPlugin("Vault") == null) {
  265. return false;
  266. }
  267. RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
  268. if (rsp == null) {
  269. return false;
  270. }
  271. econ = rsp.getProvider();
  272. return econ != null;
  273. }
  274.  
  275. public void onDisable(){
  276. saveConfig();
  277. }
  278.  
  279.  
  280. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement