mirror of
https://github.com/songoda/EpicBuckets.git
synced 2024-09-29 22:07:29 +02:00
Added even more customisation to infinite use charge
This commit is contained in:
parent
3c5983651f
commit
5c5ed84b65
2
pom.xml
2
pom.xml
@ -122,7 +122,7 @@
|
|||||||
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
|
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
|
||||||
</repository>
|
</repository>
|
||||||
<repository>
|
<repository>
|
||||||
<id>33_aikar</id>
|
<id>3_aikar</id>
|
||||||
<url>https://repo.aikar.co/content/groups/aikar/</url>
|
<url>https://repo.aikar.co/content/groups/aikar/</url>
|
||||||
</repository>
|
</repository>
|
||||||
<repository>
|
<repository>
|
||||||
|
@ -51,7 +51,7 @@ public class ConfigManager {
|
|||||||
|
|
||||||
private boolean infiniteUse;
|
private boolean infiniteUse;
|
||||||
private boolean chargeInfiniteUse;
|
private boolean chargeInfiniteUse;
|
||||||
private HashMap<GenbucketType, Double> infiniteUseCost;
|
private HashMap<GenbucketType, HashMap<ItemStack, Double>> infiniteUseCost;
|
||||||
|
|
||||||
private int genbucketDelay;
|
private int genbucketDelay;
|
||||||
private CooldownMap<Player> cooldownMap;
|
private CooldownMap<Player> cooldownMap;
|
||||||
@ -115,15 +115,21 @@ public class ConfigManager {
|
|||||||
inventorySize = epicBuckets.getConfig().getInt(menuItemsPath + ".size");
|
inventorySize = epicBuckets.getConfig().getInt(menuItemsPath + ".size");
|
||||||
inventoryName = epicBuckets.getConfig().getString(menuItemsPath + ".inventory-name");
|
inventoryName = epicBuckets.getConfig().getString(menuItemsPath + ".inventory-name");
|
||||||
fillInventory = epicBuckets.getConfig().getBoolean(menuItemsPath + ".fill");
|
fillInventory = epicBuckets.getConfig().getBoolean(menuItemsPath + ".fill");
|
||||||
epicBuckets.getConfig().getConfigurationSection("CUSTOM-ACTIVE-GEN-PER-PLAY").getKeys(false).forEach(s -> genbucketGroups.put(epicBuckets.getConfig().getString("CUSTOM-ACTIVE-GEN-PER-PLAY." + s).split(":")[1], Integer.parseInt(epicBuckets.getConfig().getString("CUSTOM-ACTIVE-GEN-PER-PLAY." + s).split(":")[0])));
|
|
||||||
chargeInfiniteUse = epicBuckets.getConfig().getBoolean("CHARGE-FOR-INFINITE-USE");
|
chargeInfiniteUse = epicBuckets.getConfig().getBoolean("CHARGE-FOR-INFINITE-USE");
|
||||||
|
|
||||||
|
epicBuckets.getConfig().getConfigurationSection("CUSTOM-ACTIVE-GEN-PER-PLAY").getKeys(false)
|
||||||
|
.forEach(s -> genbucketGroups.put(epicBuckets.getConfig().getString("CUSTOM-ACTIVE-GEN-PER-PLAY." + s).split(":")[1],
|
||||||
|
Integer.parseInt(epicBuckets.getConfig().getString("CUSTOM-ACTIVE-GEN-PER-PLAY." + s).split(":")[0])));
|
||||||
|
|
||||||
epicBuckets.getConfig().getConfigurationSection("COST-FOR-INFINITE-USE").getKeys(false)
|
epicBuckets.getConfig().getConfigurationSection("COST-FOR-INFINITE-USE").getKeys(false)
|
||||||
.forEach(cost -> this.infiniteUseCost.put(GenbucketType.valueOf(cost),
|
.forEach(bucket -> {
|
||||||
epicBuckets.getConfig().getDouble("COST-FOR-INFINITE-USE." + cost)));
|
HashMap<ItemStack, Double> chargingCostsPerItem = new HashMap<>();
|
||||||
|
epicBuckets.getConfig().getConfigurationSection("COST-FOR-INFINITE-USE." + bucket).getKeys(false)
|
||||||
|
.forEach(item -> chargingCostsPerItem.put(XMaterial.valueOf(item).parseItem(), epicBuckets.getConfig().getDouble("COST-FOR-INFINITE-USE." + bucket + "." + item)));
|
||||||
|
infiniteUseCost.put(GenbucketType.valueOf(bucket), chargingCostsPerItem);
|
||||||
|
});
|
||||||
|
|
||||||
genbucketDelay = epicBuckets.getConfig().getInt("GENBUCKET-DELAY");
|
genbucketDelay = epicBuckets.getConfig().getInt("GENBUCKET-DELAY");
|
||||||
|
|
||||||
if (getGenbucketDelay() > 0) {
|
if (getGenbucketDelay() > 0) {
|
||||||
cooldownMap = CooldownMap.create(Cooldown.of(getGenbucketDelay() / 20, TimeUnit.SECONDS));
|
cooldownMap = CooldownMap.create(Cooldown.of(getGenbucketDelay() / 20, TimeUnit.SECONDS));
|
||||||
} else {
|
} else {
|
||||||
@ -313,8 +319,8 @@ public class ConfigManager {
|
|||||||
return chargeInfiniteUse;
|
return chargeInfiniteUse;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getInfiniteUseCostForGenbucketType(GenbucketType genbucketType) {
|
public double getInfiniteUseCostForGenbucketType(GenbucketType genbucketType, ItemStack item) {
|
||||||
return infiniteUseCost.get(genbucketType);
|
return infiniteUseCost.get(genbucketType).get(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getGenbucketDelay() {
|
public int getGenbucketDelay() {
|
||||||
|
@ -155,7 +155,7 @@ public abstract class Genbucket {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ItemStack getGenItem() {
|
public ItemStack getGenItem() {
|
||||||
return subShop.getGenItem();
|
return subShop.getGenItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,13 +94,13 @@ public class GenbucketPlaceListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (EpicBuckets.getInstance().getConfigManager().isInfiniteUse() && EpicBuckets.getInstance().getConfigManager().isChargeInfiniteUse()) {
|
if (EpicBuckets.getInstance().getConfigManager().isInfiniteUse() && EpicBuckets.getInstance().getConfigManager().isChargeInfiniteUse()) {
|
||||||
if (EpicBuckets.getInstance().getEcon().getBalance(Bukkit.getOfflinePlayer(e.getPlayer().getUniqueId())) < EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType())) {
|
if (EpicBuckets.getInstance().getEcon().getBalance(Bukkit.getOfflinePlayer(e.getPlayer().getUniqueId())) < EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType(), genbucket.getGenItem())) {
|
||||||
e.getPlayer().sendMessage(EpicBuckets.getInstance().getLocale().getMessage("event.genbucket.infiniteuse.notenough"));
|
e.getPlayer().sendMessage(EpicBuckets.getInstance().getLocale().getMessage("event.genbucket.infiniteuse.notenough"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType()) > 0) {
|
if (EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType(), genbucket.getGenItem()) > 0) {
|
||||||
EpicBuckets.getInstance().getEcon().withdrawPlayer(Bukkit.getOfflinePlayer(e.getPlayer().getUniqueId()), EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType()));
|
EpicBuckets.getInstance().getEcon().withdrawPlayer(Bukkit.getOfflinePlayer(e.getPlayer().getUniqueId()), EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType(), genbucket.getGenItem()));
|
||||||
e.getPlayer().sendMessage(EpicBuckets.getInstance().getLocale().getMessage("event.genbucket.infiniteuse.charge").replace("%charge%", EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType()) + ""));
|
e.getPlayer().sendMessage(EpicBuckets.getInstance().getLocale().getMessage("event.genbucket.infiniteuse.charge").replace("%charge%", EpicBuckets.getInstance().getConfigManager().getInfiniteUseCostForGenbucketType(genbucket.getGenbucketType(), genbucket.getGenItem()) + ""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,11 +23,24 @@ INFINITE-USE: false # If enabled, you won't lose a genbucket when you place it d
|
|||||||
CHARGE-FOR-INFINITE-USE: false # This requires infinite use to be enabled and will charge the player when placing a genbucket
|
CHARGE-FOR-INFINITE-USE: false # This requires infinite use to be enabled and will charge the player when placing a genbucket
|
||||||
|
|
||||||
# Money charged for placing a genbucket when the above is enabled, put 0 if you want no charge
|
# Money charged for placing a genbucket when the above is enabled, put 0 if you want no charge
|
||||||
|
# Use 1.13 material names, they will be auto converted to whatever your server version is
|
||||||
COST-FOR-INFINITE-USE:
|
COST-FOR-INFINITE-USE:
|
||||||
HORIZONTAL: 0
|
HORIZONTAL:
|
||||||
VERTICAL: 0
|
COBBLESTONE: 0
|
||||||
PSUEDO: 0
|
SAND: 0
|
||||||
INFUSED: 0
|
OBSIDIAN: 0
|
||||||
|
VERTICAL:
|
||||||
|
COBBLESTONE: 0
|
||||||
|
SAND: 0
|
||||||
|
OBSIDIAN: 0
|
||||||
|
PSUEDO:
|
||||||
|
COBBLESTONE: 0
|
||||||
|
SAND: 0
|
||||||
|
OBSIDIAN: 0
|
||||||
|
INFUSED:
|
||||||
|
COBBLESTONE: 0
|
||||||
|
OBSIDIAN: 0
|
||||||
|
NETHERRACK: 0
|
||||||
|
|
||||||
GENBUCKET-DELAY: 10 # Ticks delay between genbucket placements, 20 ticks = 1 second, set to 0 for no delay
|
GENBUCKET-DELAY: 10 # Ticks delay between genbucket placements, 20 ticks = 1 second, set to 0 for no delay
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user