mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-18 00:20:44 +00:00
fix reinforcements
This commit is contained in:
@@ -395,6 +395,7 @@ public class ConfigParser {
|
||||
|
||||
public BlockRestrictionHandler parseBlockRestrictionHandler(ConfigurationSection config) {
|
||||
boolean enabled = config.getBoolean("enabled");
|
||||
boolean reinforce = config.getBoolean("reinforce");
|
||||
BlockRestrictionHandler.RestrictionMode restrictionMode = BlockRestrictionHandler.RestrictionMode.valueOf(config.getString("mode"));
|
||||
List<Material> blacklist = config.getStringList("blacklist").stream()
|
||||
.map(s -> Material.valueOf(s.toUpperCase()))
|
||||
@@ -428,7 +429,7 @@ public class ConfigParser {
|
||||
}
|
||||
}
|
||||
|
||||
return new BlockRestrictionHandler(enabled, restrictionMode, zoneRadii, blacklist, whitelist, materialCooldowns);
|
||||
return new BlockRestrictionHandler(enabled, reinforce, restrictionMode, zoneRadii, blacklist, whitelist, materialCooldowns);
|
||||
}
|
||||
|
||||
public AllyHandler parseAllyHandler(ConfigurationSection config) {
|
||||
|
||||
@@ -123,7 +123,9 @@ public class Finale extends ACivMod {
|
||||
Bukkit.getPluginManager().registerEvents(new WarpFruitListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new TridentListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new ShieldListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new BlockListener(), this);
|
||||
if (manager.getBlockRestrictionHandler().isEnabled()) {
|
||||
Bukkit.getPluginManager().registerEvents(new BlockListener(), this);
|
||||
}
|
||||
Bukkit.getPluginManager().registerEvents(new CrossbowListener(config.isFireworkExplosions()), this);
|
||||
Bukkit.getPluginManager().registerEvents(new GappleListener(), this);
|
||||
}
|
||||
|
||||
@@ -52,10 +52,12 @@ public class BlockListener implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
if (blockRestrictionHandler.isOnCooldown(player, blockPlacedType)) {
|
||||
restrictPlacement(event);
|
||||
} else {
|
||||
blockRestrictionHandler.putOnCooldown(player, blockPlacedType);
|
||||
if (!blockRestrictionHandler.isReinforce()) {
|
||||
if (blockRestrictionHandler.isOnCooldown(player, blockPlacedType)) {
|
||||
restrictPlacement(event);
|
||||
} else {
|
||||
blockRestrictionHandler.putOnCooldown(player, blockPlacedType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,14 +16,16 @@ public class BlockRestrictionHandler {
|
||||
}
|
||||
|
||||
private boolean enabled;
|
||||
private boolean reinforce;
|
||||
private RestrictionMode mode;
|
||||
private Map<Material, Integer> zoneRadii;
|
||||
private List<Material> blacklist;
|
||||
private List<Material> whitelist;
|
||||
private Map<Material, CooldownHandler> materialCooldownHandlers;
|
||||
|
||||
public BlockRestrictionHandler(boolean enabled, RestrictionMode mode, Map<Material, Integer> zoneRadii, List<Material> blacklist, List<Material> whitelist, Map<Material, CooldownHandler> materialCooldownHandlers) {
|
||||
public BlockRestrictionHandler(boolean enabled, boolean reinforce, RestrictionMode mode, Map<Material, Integer> zoneRadii, List<Material> blacklist, List<Material> whitelist, Map<Material, CooldownHandler> materialCooldownHandlers) {
|
||||
this.enabled = enabled;
|
||||
this.reinforce = reinforce;
|
||||
this.mode = mode;
|
||||
this.zoneRadii = zoneRadii;
|
||||
this.blacklist = blacklist;
|
||||
@@ -35,6 +37,10 @@ public class BlockRestrictionHandler {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public boolean isReinforce() {
|
||||
return reinforce;
|
||||
}
|
||||
|
||||
public RestrictionMode getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user