Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Objective obj = Objective.builder()
- .criterion(Criteria.DUMMY)
- .name("timer")
- .displayName(Text.of(TextColors.DARK_BLUE, "[ ]"))
- .build();
- Scoreboard board = Scoreboard.builder()
- .objectives(ImmutableList.of(obj))
- .build();
- obj.getOrCreateScore(Text.of(player.getName())).setScore(0);
- player.setScoreboard(board);
- board.updateDisplaySlot(obj, DisplaySlots.SIDEBAR);
- boards.put(player.getUniqueId(), board);
- AtomicInteger integer = new AtomicInteger(10);
- tasks.put(id, Task.builder()
- .delay(time, TimeUnit.SECONDS)
- .interval(time, TimeUnit.SECONDS)
- .execute(() -> {
- plugin.getLogger().info("Lumbering: timer has started");
- if (player.getLocation().getX() == playerlocationX && player.getLocation().getZ() == playerlocationZ){
- iscraftingNode.setValue(true);
- plugin.saveConfig();
- char[] arr = new char[10];
- Arrays.fill(arr, 0, 11 - integer.decrementAndGet(), '|');
- obj.setDisplayName(Text.of(TextColors.DARK_BLUE, "[", String.valueOf(arr), "]"));
- if (integer.get() == 0) {
- obj.setDisplayName(Text.of(TextColors.DARK_BLUE, "[||||||||||]"));
- double random = rand.nextDouble();
- if (tooldurabilityFinal <= ((random - 0.15) + difficulty/150)){
- player.sendMessage(Text.of("You failed at harvesting."));
- tasks.remove(id).cancel();
- boards.remove(id);
- //player.sendMessage(Text.of("Your tool broke while harvesting."));
- } else {
- List<RewardsEntry> rewards = gatheringblocksEntry.rewards;
- for (RewardsEntry reward : rewards) {
- ItemType rewardID = reward.type;
- String rewardName = reward.name;
- TextColor rewardColor = reward.color;
- List<String> rewardLore = reward.lore;
- int rewardQuantity = reward.quantity;
- TreeType treeType = reward.treeType;
- ItemStack rewardStack = ItemStack.of(rewardID, rewardQuantity);
- rewardStack.offer(Keys.DISPLAY_NAME, Text.of(rewardColor, rewardName));
- List<Text> rewardloreFinal = rewardLore.stream().map(TextSerializers.FORMATTING_CODE::deserialize).collect(Collectors.toList());
- rewardStack.offer(Keys.ITEM_LORE, rewardloreFinal);
- if (treeType != null){
- rewardStack.offer(Keys.TREE_TYPE, treeType);
- player.getInventory().offer(rewardStack);
- } else{
- player.getInventory().offer(rewardStack);
- }
- }
- BlockSnapshot block = event.getTargetBlock();
- node.getNode("Snapshot").setValue(block);
- node.getNode("Time").setValue(timeString);
- node.getNode("Location").setValue(block.getLocation().get());
- block.getLocation().get().setBlockType(BlockTypes.AIR, Cause.source(plugin).build());
- int rxp = (int) Math.round(100 * Math.exp(0.6931 * level));
- int fxp = xp + blockXP;
- if (fxp >= rxp){
- int newXP = fxp - rxp;
- int fLevel = level + 1;
- nodeType.getNode("XP").setValue(newXP);
- nodeType.getNode("Level").setValue(fLevel);
- player.sendMessage(Text.of("You gained one level."));
- iscraftingNode.setValue(false);
- plugin.saveConfig();
- } else{
- nodeType.getNode("XP").setValue(fxp);
- iscraftingNode.setValue(false);
- plugin.saveConfig();
- }
- tasks.remove(id).cancel();
- boards.remove(id);
- }
- }
- } else{
- player.sendMessage(Text.of("Don't move while harvesting."));
- iscraftingNode.setValue(false);
- plugin.saveConfig();
- tasks.remove(id).cancel();
- boards.remove(id);
- }
- })
- .submit(plugin));
Advertisement
Add Comment
Please, Sign In to add comment