Advertisement
deda-Dev

Untitled

Mar 27th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.44 KB | None | 0 0
  1. package de.deda.mctest.program;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.UUID;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.Material;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandExecutor;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.EntityType;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.block.BlockBreakEvent;
  17. import org.bukkit.event.entity.EntityDeathEvent;
  18. import org.bukkit.event.inventory.InventoryClickEvent;
  19. import org.bukkit.event.player.PlayerJoinEvent;
  20. import org.bukkit.inventory.Inventory;
  21. import org.bukkit.inventory.ItemStack;
  22. import org.bukkit.inventory.meta.ItemMeta;
  23. import org.bukkit.scoreboard.DisplaySlot;
  24. import org.bukkit.scoreboard.Objective;
  25. import org.bukkit.scoreboard.Scoreboard;
  26.  
  27. public class ChallengeSystem implements Listener, CommandExecutor{
  28.    
  29.     public static Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
  30.     public static Objective obj = board.registerNewObjective("abc", "abcd", "abcde");
  31.    
  32.     public static List<UUID> Challenge0 = new ArrayList<>();
  33.    
  34.     public static List<UUID> Challenge1Progress0 = new ArrayList<>();
  35.     public static List<UUID> Challenge1Progress1 = new ArrayList<>();
  36.     public static List<UUID> Challenge1Progress2 = new ArrayList<>();
  37.     public static List<UUID> Challenge1Progress3 = new ArrayList<>();
  38.     public static List<UUID> Challenge1Progress4 = new ArrayList<>();
  39.     public static List<UUID> Challenge1Present = new ArrayList<>();
  40.     public static List<UUID> Challenge1Done = new ArrayList<>();
  41.    
  42.     public static List<UUID> Challenge2Progress0 = new ArrayList<>();
  43.     public static List<UUID> Challenge2Progress1 = new ArrayList<>();
  44.     public static List<UUID> Challenge2Progress2 = new ArrayList<>();
  45.     public static List<UUID> Challenge2Progress3 = new ArrayList<>();
  46.     public static List<UUID> Challenge2Progress4 = new ArrayList<>();
  47.     public static List<UUID> Challenge2Progress5 = new ArrayList<>();
  48.     public static List<UUID> Challenge2Progress6 = new ArrayList<>();
  49.     public static List<UUID> Challenge2Progress7 = new ArrayList<>();
  50.     public static List<UUID> Challenge2Progress8 = new ArrayList<>();
  51.     public static List<UUID> Challenge2Progress9 = new ArrayList<>();
  52.     public static List<UUID> Challenge2Present = new ArrayList<>();
  53.     public static List<UUID> Challenge2Done = new ArrayList<>();
  54.    
  55.     @EventHandler
  56.     public void OnPlayerJoin(PlayerJoinEvent e) {
  57.         Player p = e.getPlayer();
  58.        
  59.         obj.setDisplaySlot(DisplaySlot.SIDEBAR);
  60.         obj.setDisplayName("§3TestServer");
  61.         obj.getScore(" ").setScore(15);
  62.         obj.getScore("§4Challenge:").setScore(14);
  63.        
  64.         p.setScoreboard(board);
  65.     }
  66.    
  67.     @Override
  68.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  69.         if(sender instanceof Player) {
  70.             Player p = (Player) sender;
  71.             UUID u = p.getUniqueId();
  72.            
  73.             if(p.hasPermission("mctest.challenge")) {
  74.                 if(args.length == 0) {
  75.                     Inventory inv = Bukkit.createInventory(null, 9*3, "§6§lChalleng-Menü");
  76.                
  77.                     ItemStack Void = new ItemStack(Material.BLACK_STAINED_GLASS_PANE, 1);
  78.                     ItemMeta VoidMeta = Void.getItemMeta();
  79.                     VoidMeta.setDisplayName(" ");
  80.                     Void.setItemMeta(VoidMeta);
  81.                
  82.                     ItemStack GB1 = new ItemStack(Material.GOLD_BLOCK, 1);
  83.                     ItemMeta GBMeta1 = GB1.getItemMeta();
  84.                     GBMeta1.setDisplayName("§aChallenge 1");
  85.                     GB1.setItemMeta(GBMeta1);
  86.                    
  87.                     ItemStack GB2 = new ItemStack(Material.GOLD_BLOCK, 1);
  88.                     ItemMeta GBMeta2 = GB2.getItemMeta();
  89.                     GBMeta2.setDisplayName("§cChallenge 2");
  90.                     GB2.setItemMeta(GBMeta2);
  91.                    
  92.                     ItemStack GB3 = new ItemStack(Material.GOLD_BLOCK, 1);
  93.                     ItemMeta GBMeta3 = GB3.getItemMeta();
  94.                     GBMeta3.setDisplayName("§cChallenge 3");
  95.                     GB3.setItemMeta(GBMeta3);
  96.                    
  97.                     ItemStack GB4 = new ItemStack(Material.GOLD_BLOCK, 1);
  98.                     ItemMeta GBMeta4 = GB4.getItemMeta();
  99.                     GBMeta4.setDisplayName("§cChallenge 4");
  100.                     GB4.setItemMeta(GBMeta4);
  101.                    
  102.                     ItemStack GB5 = new ItemStack(Material.GOLD_BLOCK, 1);
  103.                     ItemMeta GBMeta5 = GB5.getItemMeta();
  104.                     GBMeta5.setDisplayName("§cChallenge 5");
  105.                     GB5.setItemMeta(GBMeta5);
  106.                    
  107.                     for(int SetVoidItem = 0; SetVoidItem <= 26; SetVoidItem++) {
  108.                         inv.setItem(SetVoidItem, Void);
  109.                     }
  110.                     inv.setItem(11, GB1);
  111.                     inv.setItem(12, GB2);
  112.                     inv.setItem(13, GB3);
  113.                     inv.setItem(14, GB4);
  114.                     inv.setItem(15, GB5);
  115.                    
  116.                     if(Challenge1Done.contains(u)) {
  117.                         ItemStack GB2a = new ItemStack(Material.GOLD_BLOCK, 1);
  118.                         ItemMeta GBMeta2a = GB2a.getItemMeta();
  119.                         GBMeta2a.setDisplayName("§aChallenge 2");
  120.                         GB2a.setItemMeta(GBMeta2a);
  121.                        
  122.                         inv.setItem(12, GB2a);
  123.                     }  
  124.                     if(Challenge2Done.contains(u)) {
  125.                     ItemStack GB3a = new ItemStack(Material.GOLD_BLOCK, 1);
  126.                     ItemMeta GBMeta3a = GB3a.getItemMeta();
  127.                     GBMeta3a.setDisplayName("§aChallenge 3");
  128.                     GB3a.setItemMeta(GBMeta3a);
  129.                        
  130.                     inv.setItem(13, GB3a);
  131.                     }
  132.                    
  133.                     p.openInventory(inv);
  134.                    
  135.                     if(!(Challenge0.contains(u) || Challenge1Progress0.contains(u) || Challenge1Progress1.contains(u) || Challenge1Progress2.contains(u) || Challenge1Progress3.contains(u) || Challenge1Progress4.contains(u))) {
  136.                         Challenge0.add(u);
  137.                     }
  138.                    
  139.                 } else
  140.                     p.sendMessage("§cBitte benutze §6/challenge§c!");
  141.             } else
  142.                 p.sendMessage("§cDu hast dafür keine Rechte!");
  143.         } else
  144.             sender.sendMessage("Diesen Command duerfen nur Spieler benutzen!");
  145.         return false;
  146.     }
  147.    
  148.     @EventHandler
  149.     public void OnClickInv(InventoryClickEvent e) {
  150.         if(!(e.getWhoClicked() instanceof Player)) return;
  151.         Player p = (Player) e.getWhoClicked();
  152.         UUID u = p.getUniqueId();
  153.        
  154.         try {
  155.             if(e.getView().getTitle().equalsIgnoreCase("§6§lChalleng-Menü")) {
  156.                 e.setCancelled(true);
  157.                 if(e.getCurrentItem().getType() == Material.GOLD_BLOCK) {
  158.                     if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aChallenge 1")) {
  159.                        
  160.                         if(Challenge1Present.contains(u)) {
  161.                             p.closeInventory();
  162.                             Inventory CH1PresentInv = Bukkit.createInventory(null, 3*9, "§6Challenge 1 Belohnung");
  163.                            
  164.                             ItemStack GA = new ItemStack(Material.GOLDEN_APPLE);
  165.                             ItemMeta GAMeta = GA.getItemMeta();
  166.                             GAMeta.setDisplayName("§6Challenge 1");
  167.                             GA.setItemMeta(GAMeta);
  168.                            
  169.                             CH1PresentInv.setItem(13, GA);
  170.                             p.openInventory(CH1PresentInv);
  171.                            
  172.                             Challenge1Present.remove(u);
  173.                             Challenge1Done.add(u);
  174.                         } else if(Challenge1Done.contains(u)) {
  175.                             p.sendMessage("§cDu hast diese Challenge bereits erfolgreich beendet!");
  176.                             p.closeInventory();
  177.                         } else if(Challenge1Progress0.contains(u) || Challenge1Progress1.contains(u) || Challenge1Progress2.contains(u) || Challenge1Progress3.contains(u) || Challenge1Progress4.contains(u)) {
  178.                             p.sendMessage("§CDu hast die Challenge bereits angenommen!");
  179.                             p.closeInventory();
  180.                         } else if(Challenge0.contains(u)) {
  181.                             p.sendMessage("§aDu hast Challenge 1 angenommen!");
  182.                             p.sendMessage("§aBaue 5 Holzstämme deiner Wahl ab!");
  183.                             p.closeInventory();
  184.                            
  185.                             Challenge0.remove(u);
  186.                             Challenge1Progress0.add(u);
  187.                             obj.getScore("0/5").setScore(13);
  188.                         }
  189.                        
  190.                     } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aChallenge 2")) {
  191.                        
  192.                         if(Challenge2Present.contains(u)) {
  193.                             p.closeInventory();
  194.                             Inventory CH1PresentInv = Bukkit.createInventory(null, 3*9, "§6Challenge 2 Belohnung");
  195.                            
  196.                             ItemStack SP = new ItemStack(Material.SPAWNER);
  197.                             ItemMeta SPMeta = SP.getItemMeta();
  198.                             SPMeta.setDisplayName("§6Challenge 2");
  199.                             SP.setItemMeta(SPMeta);
  200.                            
  201.                             CH1PresentInv.setItem(13, SP);
  202.                             p.openInventory(CH1PresentInv);
  203.                            
  204.                             Challenge2Present.remove(u);
  205.                             Challenge2Done.add(u);
  206.                         } else if(Challenge2Done.contains(u)) {
  207.                             p.sendMessage("§cDu hast diese Challenge bereits erfolgreich beendet!");
  208.                             p.closeInventory();
  209.                         } else if(Challenge2Progress0.contains(u) || Challenge2Progress1.contains(u) || Challenge2Progress2.contains(u) || Challenge2Progress3.contains(u) || Challenge2Progress4.contains(u) || Challenge2Progress5.contains(u) || Challenge2Progress6.contains(u) || Challenge2Progress7.contains(u) || Challenge2Progress8.contains(u) || Challenge2Progress9.contains(u)) {
  210.                             p.sendMessage("§cDu hast diese Challenge bereits angenommen!");
  211.                             p.closeInventory();
  212.                         } else {
  213.                             p.sendMessage("§aDu hast Challenge 2 angenommen!");
  214.                             p.sendMessage("§aTöte 5 Zombies und 5 Skelette!");
  215.                             p.closeInventory();
  216.                            
  217.                             Challenge2Progress0.add(u);
  218.                             obj.getScore("0/10").setScore(13);
  219.                         }  
  220.                        
  221.                     } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aChallenge 3")) {  
  222.                        
  223.                         p.sendMessage("§aDu hast Challenge 3 angenommen!");
  224.                        
  225.                     } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cChallenge 2")) {
  226.                         p.sendMessage("§cDu musst zuerst Challenge 1 beenden!");
  227.                     } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cChallenge 3")) {
  228.                         p.sendMessage("§cDu musst zuerst Challenge 2 & die vorherige Challenge beenden!");
  229.                     } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cChallenge 4")) {
  230.                         p.sendMessage("§cDu musst zuerst Challenge 3 & die vorherigen Challenges beenden!");
  231.                     } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cChallenge 5")) {
  232.                         p.sendMessage("§cDu musst zuerst Challenge 4 & die vorherigen Challenges beenden!");
  233.                     }
  234.                 }
  235.             }
  236.         } catch(Exception e1) {
  237.         }
  238.     }
  239.    
  240.     @EventHandler
  241.     public void OnBlockBreak(BlockBreakEvent e) {
  242.         Player p = e.getPlayer();
  243.         UUID u = p.getUniqueId();
  244.        
  245.         if(e.getBlock().getType() == Material.OAK_LOG || e.getBlock().getType() == Material.ACACIA_LOG || e.getBlock().getType() == Material.BIRCH_LOG || e.getBlock().getType() == Material.DARK_OAK_LOG || e.getBlock().getType() == Material.JUNGLE_LOG || e.getBlock().getType() == Material.SPRUCE_LOG) {
  246.             if(Challenge1Progress0.contains(u)) {
  247.                 Challenge1Progress0.remove(u);
  248.                 Challenge1Progress1.add(u);
  249.                 board.resetScores("0/5");
  250.                 obj.getScore("1/5").setScore(13);
  251.             } else if(Challenge1Progress1.contains(u)) {
  252.                 Challenge1Progress1.remove(u);
  253.                 Challenge1Progress2.add(u);
  254.                 board.resetScores("1/5");
  255.                 obj.getScore("2/5").setScore(13);
  256.             } else if(Challenge1Progress2.contains(u)) {
  257.                 Challenge1Progress2.remove(u);
  258.                 Challenge1Progress3.add(u);
  259.                 board.resetScores("2/5");
  260.                 obj.getScore("3/5").setScore(13);
  261.             } else if(Challenge1Progress3.contains(u)) {
  262.                 Challenge1Progress3.remove(u);
  263.                 Challenge1Progress4.add(u);
  264.                 board.resetScores("3/5");
  265.                 obj.getScore("4/5").setScore(13);
  266.             } else if(Challenge1Progress4.contains(u)) {
  267.                 Challenge1Progress4.remove(u);
  268.                 board.resetScores("4/5");
  269.                 Challenge1Present.add(u);
  270.                 p.sendMessage("§aGlückwunsch! Du hast Challenge 1 erfolgreich gemeistert!");
  271.                 p.sendMessage("§aÖffne wieder das Challenge-System und klicke auf Challenge 1!");
  272.             }
  273.         }
  274.     }
  275.    
  276.     @EventHandler
  277.     public void OnPlayerKillMob(EntityDeathEvent e) {
  278.         Player p = e.getEntity().getKiller();
  279.         UUID u = p.getUniqueId();
  280.        
  281.         if(e.getEntityType() == EntityType.ZOMBIE) {
  282.             if(Challenge2Progress0.contains(u)) {
  283.                 Challenge2Progress0.remove(u);
  284.                 Challenge2Progress1.add(u);
  285.                 board.resetScores("0/10");
  286.                 obj.getScore("1/10").setScore(13);
  287.             } else if(Challenge2Progress1.contains(u)) {
  288.                 Challenge2Progress1.remove(u);
  289.                 Challenge2Progress2.add(u);
  290.                 board.resetScores("1/10");
  291.                 obj.getScore("2/10").setScore(13);
  292.             } else if(Challenge2Progress2.contains(u)) {
  293.                 Challenge2Progress2.remove(u);
  294.                 Challenge2Progress3.add(u);
  295.                 board.resetScores("2/10");
  296.                 obj.getScore("3/10").setScore(13);
  297.             } else if(Challenge2Progress3.contains(u)) {
  298.                 Challenge2Progress3.remove(u);
  299.                 Challenge2Progress4.add(u);
  300.                 board.resetScores("3/10");
  301.                 obj.getScore("4/10").setScore(13);
  302.             } else if(Challenge2Progress4.contains(u)) {
  303.                 Challenge2Progress4.remove(u);
  304.                 Challenge2Progress5.add(u);
  305.                 board.resetScores("4/10");
  306.                 obj.getScore("5/10").setScore(13);
  307.             } else if(Challenge2Progress5.contains(u)) {
  308.                 Challenge2Progress5.remove(u);
  309.                 Challenge2Progress6.add(u);
  310.                 board.resetScores("5/10");
  311.                 obj.getScore("6/10").setScore(13);
  312.             } else if(Challenge2Progress6.contains(u)) {
  313.                 Challenge2Progress6.remove(u);
  314.                 Challenge2Progress7.add(u);
  315.                 board.resetScores("6/10");
  316.                 obj.getScore("7/10").setScore(13);
  317.             } else if(Challenge2Progress7.contains(u)) {
  318.                 Challenge2Progress7.remove(u);
  319.                 Challenge2Progress8.add(u);
  320.                 board.resetScores("7/10");
  321.                 obj.getScore("8/10").setScore(13);
  322.             } else if(Challenge2Progress8.contains(u)) {
  323.                 Challenge2Progress8.remove(u);
  324.                 Challenge2Progress9.add(u);
  325.                 board.resetScores("8/10");
  326.                 obj.getScore("9/10").setScore(13);
  327.             } else if(Challenge2Progress9.contains(u)) {
  328.                 Challenge2Progress9.remove(u);
  329.                 Challenge2Present.add(u);
  330.                 board.resetScores("9/10");
  331.                 p.sendMessage("§aGlückwunsch! Du hast Challenge 2 erfolgreich gemeistert!");
  332.                 p.sendMessage("§aÖffne wieder das Challenge-System und klicke auf Challenge 2!");
  333.             }
  334.            
  335.            
  336.         } else if(e.getEntityType() == EntityType.SKELETON) {
  337.             if(Challenge2Progress0.contains(u)) {
  338.                 Challenge2Progress0.remove(u);
  339.                 Challenge2Progress1.add(u);
  340.                 board.resetScores("0/10");
  341.                 obj.getScore("1/10").setScore(13);
  342.             } else if(Challenge2Progress1.contains(u)) {
  343.                 Challenge2Progress1.remove(u);
  344.                 Challenge2Progress2.add(u);
  345.                 board.resetScores("1/10");
  346.                 obj.getScore("2/10").setScore(13);
  347.             } else if(Challenge2Progress2.contains(u)) {
  348.                 Challenge2Progress2.remove(u);
  349.                 Challenge2Progress3.add(u);
  350.                 board.resetScores("2/10");
  351.                 obj.getScore("3/10").setScore(13);
  352.             } else if(Challenge2Progress3.contains(u)) {
  353.                 Challenge2Progress3.remove(u);
  354.                 Challenge2Progress4.add(u);
  355.                 board.resetScores("3/10");
  356.                 obj.getScore("4/10").setScore(13);
  357.             } else if(Challenge2Progress4.contains(u)) {
  358.                 Challenge2Progress4.remove(u);
  359.                 Challenge2Progress5.add(u);
  360.                 board.resetScores("4/10");
  361.                 obj.getScore("5/10").setScore(13);
  362.             } else if(Challenge2Progress5.contains(u)) {
  363.                 Challenge2Progress5.remove(u);
  364.                 Challenge2Progress6.add(u);
  365.                 board.resetScores("5/10");
  366.                 obj.getScore("6/10").setScore(13);
  367.             } else if(Challenge2Progress6.contains(u)) {
  368.                 Challenge2Progress6.remove(u);
  369.                 Challenge2Progress7.add(u);
  370.                 board.resetScores("6/10");
  371.                 obj.getScore("7/10").setScore(13);
  372.             } else if(Challenge2Progress7.contains(u)) {
  373.                 Challenge2Progress7.remove(u);
  374.                 Challenge2Progress8.add(u);
  375.                 board.resetScores("7/10");
  376.                 obj.getScore("8/10").setScore(13);
  377.             } else if(Challenge2Progress8.contains(u)) {
  378.                 Challenge2Progress8.remove(u);
  379.                 Challenge2Progress9.add(u);
  380.                 board.resetScores("8/10");
  381.                 obj.getScore("9/10").setScore(13);
  382.             } else if(Challenge2Progress9.contains(u)) {
  383.                 Challenge2Progress9.remove(u);
  384.                 Challenge2Present.add(u);
  385.                 board.resetScores("9/10");
  386.                 p.sendMessage("§aGlückwunsch! Du hast Challenge 2 erfolgreich gemeistert!");
  387.                 p.sendMessage("§aÖffne wieder das Challenge-System und klicke auf Challenge 2!");
  388.             }
  389.         }
  390.     }
  391. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement