Ghaz-ranka

Untitled

Jun 17th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. Objective obj = Objective.builder()
  2. .criterion(Criteria.DUMMY)
  3. .name("timer")
  4. .displayName(Text.of(TextColors.DARK_BLUE, "[ ]"))
  5. .build();
  6. Scoreboard board = Scoreboard.builder()
  7. .objectives(ImmutableList.of(obj))
  8. .build();
  9. obj.getOrCreateScore(Text.of(player.getName())).setScore(0);
  10. player.setScoreboard(board);
  11. board.updateDisplaySlot(obj, DisplaySlots.SIDEBAR);
  12. boards.put(player.getUniqueId(), board);
  13. AtomicInteger integer = new AtomicInteger(10);
  14. tasks.put(id, Task.builder()
  15. .delay(time, TimeUnit.SECONDS)
  16. .interval(time, TimeUnit.SECONDS)
  17. .execute(() -> {
  18. plugin.getLogger().info("Lumbering: timer has started");
  19. if (player.getLocation().getX() == playerlocationX && player.getLocation().getZ() == playerlocationZ){
  20. iscraftingNode.setValue(true);
  21. plugin.saveConfig();
  22. char[] arr = new char[10];
  23. Arrays.fill(arr, 0, 11 - integer.decrementAndGet(), '|');
  24. obj.setDisplayName(Text.of(TextColors.DARK_BLUE, "[", String.valueOf(arr), "]"));
  25. if (integer.get() == 0) {
  26. obj.setDisplayName(Text.of(TextColors.DARK_BLUE, "[||||||||||]"));
  27. double random = rand.nextDouble();
  28. if (tooldurabilityFinal <= ((random - 0.15) + difficulty/150)){
  29. player.sendMessage(Text.of("You failed at harvesting."));
  30. tasks.remove(id).cancel();
  31. boards.remove(id);
  32. //player.sendMessage(Text.of("Your tool broke while harvesting."));
  33. } else {
  34. List<RewardsEntry> rewards = gatheringblocksEntry.rewards;
  35. for (RewardsEntry reward : rewards) {
  36. ItemType rewardID = reward.type;
  37. String rewardName = reward.name;
  38. TextColor rewardColor = reward.color;
  39. List<String> rewardLore = reward.lore;
  40. int rewardQuantity = reward.quantity;
  41. TreeType treeType = reward.treeType;
  42. ItemStack rewardStack = ItemStack.of(rewardID, rewardQuantity);
  43. rewardStack.offer(Keys.DISPLAY_NAME, Text.of(rewardColor, rewardName));
  44. List<Text> rewardloreFinal = rewardLore.stream().map(TextSerializers.FORMATTING_CODE::deserialize).collect(Collectors.toList());
  45. rewardStack.offer(Keys.ITEM_LORE, rewardloreFinal);
  46. if (treeType != null){
  47. rewardStack.offer(Keys.TREE_TYPE, treeType);
  48. player.getInventory().offer(rewardStack);
  49. } else{
  50. player.getInventory().offer(rewardStack);
  51. }
  52. }
  53. BlockSnapshot block = event.getTargetBlock();
  54. node.getNode("Snapshot").setValue(block);
  55. node.getNode("Time").setValue(timeString);
  56. node.getNode("Location").setValue(block.getLocation().get());
  57. block.getLocation().get().setBlockType(BlockTypes.AIR, Cause.source(plugin).build());
  58. int rxp = (int) Math.round(100 * Math.exp(0.6931 * level));
  59. int fxp = xp + blockXP;
  60. if (fxp >= rxp){
  61. int newXP = fxp - rxp;
  62. int fLevel = level + 1;
  63. nodeType.getNode("XP").setValue(newXP);
  64. nodeType.getNode("Level").setValue(fLevel);
  65. player.sendMessage(Text.of("You gained one level."));
  66. iscraftingNode.setValue(false);
  67. plugin.saveConfig();
  68. } else{
  69. nodeType.getNode("XP").setValue(fxp);
  70. iscraftingNode.setValue(false);
  71. plugin.saveConfig();
  72. }
  73. tasks.remove(id).cancel();
  74. boards.remove(id);
  75. }
  76. }
  77. } else{
  78. player.sendMessage(Text.of("Don't move while harvesting."));
  79. iscraftingNode.setValue(false);
  80. plugin.saveConfig();
  81. tasks.remove(id).cancel();
  82. boards.remove(id);
  83. }
  84. })
  85. .submit(plugin));
Advertisement
Add Comment
Please, Sign In to add comment