mirror of
https://github.com/CarmJos/UltraDepository.git
synced 2024-09-19 11:45:47 +00:00
[v1.1.8] [U] 支持无限背包容量
This commit is contained in:
parent
b6a6502713
commit
27ad14c7ab
@ -42,10 +42,21 @@ public class DepositoryCapacity {
|
||||
}
|
||||
|
||||
public int getPlayerCapacity(Player player) {
|
||||
return getPermissions().entrySet().stream()
|
||||
.filter(entry -> player.hasPermission(entry.getKey()))
|
||||
.mapToInt(Map.Entry::getValue)
|
||||
.max().orElse(defaultCapacity);
|
||||
if (defaultCapacity == -1) return -1;
|
||||
|
||||
int capacity = defaultCapacity;
|
||||
for (Map.Entry<String, Integer> entry : getPermissions().entrySet()) {
|
||||
if (player.hasPermission(entry.getKey())) {
|
||||
int value = entry.getValue();
|
||||
if (value == -1) {
|
||||
return -1;
|
||||
} else if (value > capacity) {
|
||||
capacity = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return capacity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ public class PAPIExpansion extends PlaceholderExpansion {
|
||||
"%UltraDepository_amount_<BackpackID>_<ItemTypeID>%",
|
||||
"%UltraDepository_sold_<BackpackID>_<ItemTypeID>%",
|
||||
"%UltraDepository_price_<BackpackID>_<ItemTypeID>%",
|
||||
"%UltraDepository_reUltraDepository_<BackpackID>_<ItemTypeID>%",
|
||||
"%UltraDepository_remain_<BackpackID>_<ItemTypeID>%",
|
||||
"%UltraDepository_capacity_<BackpackID>%",
|
||||
"%UltraDepository_used_<BackpackID>%",
|
||||
"%UltraDepository_usable_<BackpackID>%"
|
||||
@ -80,7 +80,7 @@ public class PAPIExpansion extends PlaceholderExpansion {
|
||||
if (sold == null) return "Depository or Item not exists";
|
||||
else return sold.toString();
|
||||
}
|
||||
case "reUltraDepository": {
|
||||
case "remain": {
|
||||
if (args.length < 2) return "Error Params";
|
||||
Depository depository = UltraDepository.getDepositoryManager().getDepository(args[1]);
|
||||
if (depository == null) return "Depository not exists";
|
||||
@ -106,7 +106,8 @@ public class PAPIExpansion extends PlaceholderExpansion {
|
||||
if (args.length < 2) return "Error Params";
|
||||
Depository depository = UltraDepository.getDepositoryManager().getDepository(args[1]);
|
||||
if (depository == null) return "Depository not exists";
|
||||
return Integer.toString(depository.getCapacity().getPlayerCapacity(player));
|
||||
int capacity = depository.getCapacity().getPlayerCapacity(player);
|
||||
return capacity < 0 ? "∞" : Integer.toString(capacity);
|
||||
}
|
||||
case "used": {
|
||||
if (args.length < 2) return "Error Params";
|
||||
@ -118,8 +119,9 @@ public class PAPIExpansion extends PlaceholderExpansion {
|
||||
if (args.length < 2) return "Error Params";
|
||||
Depository depository = UltraDepository.getDepositoryManager().getDepository(args[1]);
|
||||
if (depository == null) return "Depository not exists";
|
||||
int max = depository.getCapacity().getPlayerCapacity(player);
|
||||
int used = data.getDepositoryData(depository).getUsedCapacity();
|
||||
return Integer.toString(depository.getCapacity().getPlayerCapacity(player) - used);
|
||||
return max < 0 ? "∞" : Integer.toString(max - used);
|
||||
}
|
||||
case "version": {
|
||||
return getVersion();
|
||||
|
@ -115,7 +115,7 @@ public class DepositoryManager {
|
||||
return getItemDepositories(itemStack).stream().filter(configuration -> {
|
||||
int used = UltraDepository.getUserManager().getData(player).getDepositoryData(configuration).getUsedCapacity();
|
||||
int max = configuration.getCapacity().getPlayerCapacity(player);
|
||||
return used + itemStack.getAmount() <= max;
|
||||
return max < 0 || used + itemStack.getAmount() <= max;
|
||||
}).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user