Final Update 1.3

This commit is contained in:
Niels Vergucht 2018-12-22 16:55:47 +01:00
parent 78a7fd7a1a
commit a323d94775
3 changed files with 18 additions and 15 deletions

View File

@ -122,7 +122,7 @@
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
</repository>
<repository>
<id>3_aikar</id>
<id>33_aikar</id>
<url>https://repo.aikar.co/content/groups/aikar/</url>
</repository>
<repository>

View File

@ -5,12 +5,16 @@ import com.songoda.epicbuckets.genbucket.GenbucketType;
import com.songoda.epicbuckets.util.InventoryHelper;
import com.songoda.epicbuckets.util.Validator;
import com.songoda.epicbuckets.util.XMaterial;
import me.lucko.helper.cooldown.Cooldown;
import me.lucko.helper.cooldown.CooldownMap;
import org.bukkit.block.BlockFace;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.io.File;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
public class ConfigManager {
@ -50,6 +54,7 @@ public class ConfigManager {
private int infiniteUseCost;
private int genbucketDelay;
private CooldownMap<Player> cooldownMap;
private int maxVerticalHeight;
private int maxHorizontalLength;
@ -113,6 +118,12 @@ public class ConfigManager {
chargeInfiniteUse = epicBuckets.getConfig().getBoolean("CHARGE-FOR-INFINITE-USE");
infiniteUseCost = epicBuckets.getConfig().getInt("COST-FOR-INFINITE-USE");
genbucketDelay = epicBuckets.getConfig().getInt("GENBUCKET-DELAY");
if (getGenbucketDelay() > 0) {
cooldownMap = CooldownMap.create(Cooldown.of(getGenbucketDelay() / 20, TimeUnit.SECONDS));
} else {
cooldownMap = null;
}
}
private void loadValidFaces() {
@ -145,6 +156,11 @@ public class ConfigManager {
backButton = InventoryHelper.setDisplayName(backButton, epicBuckets.getConfig().getString(getBackButtonPath() + ".name"));
}
public boolean isOnCooldown(Player player) {
if (cooldownMap == null) return false;
return !cooldownMap.test(player);
}
public void createConfig(String name, boolean resource) {
File f = new File(epicBuckets.getDataFolder(), name + ".yml");
configDatabase.put(name, new Config(f, resource));

View File

@ -10,29 +10,16 @@ import com.songoda.epicbuckets.genbucket.types.PsuedoVertical;
import com.songoda.epicbuckets.genbucket.types.Vertical;
import com.songoda.epicbuckets.util.XMaterial;
import de.tr7zw.itemnbtapi.NBTItem;
import me.lucko.helper.cooldown.Cooldown;
import me.lucko.helper.cooldown.CooldownMap;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import java.util.concurrent.TimeUnit;
public class GenbucketPlaceListener implements Listener {
private CooldownMap<Player> cooldownMap = null;
public GenbucketPlaceListener() {
if (EpicBuckets.getInstance().getConfigManager().getGenbucketDelay() > 0) {
cooldownMap = CooldownMap.create(Cooldown.of(EpicBuckets.getInstance().getConfigManager().getGenbucketDelay() / 20, TimeUnit.SECONDS));
}
}
@EventHandler
public void emptyBucket(PlayerBucketEmptyEvent e) {
NBTItem nbtItem = new NBTItem(e.getItemStack());
@ -56,7 +43,7 @@ public class GenbucketPlaceListener implements Listener {
e.getPlayer().sendMessage(EpicBuckets.getInstance().getLocale().getMessage("event.place.nothere"));
return;
}
if (cooldownMap != null && !cooldownMap.test(e.getPlayer())) {
if (EpicBuckets.getInstance().getConfigManager().isOnCooldown(e.getPlayer())) {
e.getPlayer().sendMessage(EpicBuckets.getInstance().getLocale().getMessage("event.place.delay"));
return;
}