mirror of
https://github.com/hyperdefined/ToolStats.git
synced 2026-04-23 03:21:22 +00:00
add logs stripped
This commit is contained in:
@@ -139,6 +139,10 @@ public class AnvilEvent implements Listener {
|
||||
addToken(event, tokenType, "critical-strikes", clone);
|
||||
return;
|
||||
}
|
||||
if (tokenType.equalsIgnoreCase("logs-stripped")) {
|
||||
addToken(event, tokenType, "logs-stripped", clone);
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -363,6 +367,15 @@ public class AnvilEvent implements Listener {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "logs-stripped": {
|
||||
if (toolStats.config.getBoolean("enabled.logs-stripped")) {
|
||||
newItem.setItemMeta(toolStats.itemLore.updateLogsStripped(newItem, 0));
|
||||
} else {
|
||||
event.setResult(null);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
event.setResult(newItem);
|
||||
event.getView().setRepairCost(toolStats.itemChecker.getCost(targetToken));
|
||||
@@ -496,6 +509,14 @@ public class AnvilEvent implements Listener {
|
||||
meta = toolStats.itemLore.updateTridentThrows(finalItem, -tridentThrows);
|
||||
finalItem.setItemMeta(meta);
|
||||
}
|
||||
if (container.has(toolStats.toolStatsKeys.getLogsStripped())) {
|
||||
Integer logsStripped = container.get(toolStats.toolStatsKeys.getLogsStripped(), PersistentDataType.INTEGER);
|
||||
if (logsStripped == null) {
|
||||
return;
|
||||
}
|
||||
meta = toolStats.itemLore.updateLogsStripped(finalItem, -logsStripped);
|
||||
finalItem.setItemMeta(meta);
|
||||
}
|
||||
event.setResult(finalItem);
|
||||
event.getView().setRepairCost(toolStats.itemChecker.getCost("reset"));
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ import java.util.Locale;
|
||||
public class BlockBreak implements Listener {
|
||||
|
||||
private final ToolStats toolStats;
|
||||
public List<Block> brokenContainers = new ArrayList<>();
|
||||
public final List<Block> brokenContainers = new ArrayList<>();
|
||||
|
||||
public BlockBreak(ToolStats toolStats) {
|
||||
this.toolStats = toolStats;
|
||||
|
||||
@@ -34,7 +34,6 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
public class EntityDamage implements Listener {
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ import java.util.Map;
|
||||
public class GenerateLoot implements Listener {
|
||||
|
||||
private final ToolStats toolStats;
|
||||
public Map<Inventory, Location> generatedInventory = new HashMap<>();
|
||||
public List<Location> droppedLootLocations = new ArrayList<>();
|
||||
public final Map<Inventory, Location> generatedInventory = new HashMap<>();
|
||||
public final List<Location> droppedLootLocations = new ArrayList<>();
|
||||
|
||||
public GenerateLoot(ToolStats toolStats) {
|
||||
this.toolStats = toolStats;
|
||||
|
||||
@@ -33,9 +33,13 @@ import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class PlayerInteract implements Listener {
|
||||
|
||||
@@ -74,7 +78,31 @@ public class PlayerInteract implements Listener {
|
||||
Inventory holderInventory = holder.getInventory();
|
||||
openedChests.add(block);
|
||||
chestInventories.add(holderInventory);
|
||||
Bukkit.getGlobalRegionScheduler().runDelayed(toolStats, scheduledTask -> openedChests.remove(block), 20);
|
||||
Bukkit.getGlobalRegionScheduler().runDelayed(toolStats, _ -> openedChests.remove(block), 20);
|
||||
}
|
||||
// player right-clicked a log
|
||||
String blockType = block.getType().toString().toLowerCase(Locale.ROOT);
|
||||
if (blockType.endsWith("_log") && !blockType.contains("stripped")) {
|
||||
PlayerInventory playerInventory = player.getInventory();
|
||||
ItemStack axe = toolStats.itemChecker.getAxe(playerInventory);
|
||||
|
||||
// not holding an axe
|
||||
if (axe == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemMeta newAxe = toolStats.itemLore.updateLogsStripped(axe, 1);
|
||||
if (newAxe != null) {
|
||||
boolean isMain = playerInventory.getItemInMainHand().getType().toString().endsWith("_AXE");
|
||||
boolean isOffHand = playerInventory.getItemInOffHand().getType().toString().endsWith("_AXE");
|
||||
if (isMain && isOffHand) {
|
||||
playerInventory.getItemInMainHand().setItemMeta(newAxe);
|
||||
} else if (isMain) {
|
||||
playerInventory.getItemInMainHand().setItemMeta(newAxe);
|
||||
} else if (isOffHand) {
|
||||
playerInventory.getItemInOffHand().setItemMeta(newAxe);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +119,7 @@ public class PlayerInteract implements Listener {
|
||||
Inventory mineCartInventory = storageMinecart.getInventory();
|
||||
mineCartChestInventories.add(mineCartInventory);
|
||||
openedMineCarts.add(storageMinecart);
|
||||
Bukkit.getGlobalRegionScheduler().runDelayed(toolStats, scheduledTask -> openedMineCarts.remove(storageMinecart), 20);
|
||||
Bukkit.getGlobalRegionScheduler().runDelayed(toolStats, _ -> openedMineCarts.remove(storageMinecart), 20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user