Dont confuse constants and configuration options.
This commit is contained in:
parent
44493bbea3
commit
c4868935ed
@ -190,8 +190,8 @@ public class Board
|
||||
Faction factionLoc = getFactionAt(flocation);
|
||||
ret.add(Txt.titleize("("+flocation.getCoordString()+") "+factionLoc.getTag(observer)));
|
||||
|
||||
int halfWidth = ConfServer.mapWidth / 2;
|
||||
int halfHeight = ConfServer.mapHeight / 2;
|
||||
int halfWidth = Const.MAP_WIDTH / 2;
|
||||
int halfHeight = Const.MAP_HEIGHT / 2;
|
||||
FLocation topLeft = flocation.getRelative(-halfWidth, -halfHeight);
|
||||
int width = halfWidth * 2 + 1;
|
||||
int height = halfHeight * 2 + 1;
|
||||
@ -225,7 +225,7 @@ public class Board
|
||||
else
|
||||
{
|
||||
if (!fList.containsKey(factionHere))
|
||||
fList.put(factionHere, ConfServer.mapKeyChrs[chrIdx++]);
|
||||
fList.put(factionHere, Const.MAP_KEY_CHARS[chrIdx++]);
|
||||
char fchar = fList.get(factionHere);
|
||||
row += factionHere.getColorTo(observer) + "" + fchar;
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package com.massivecraft.factions;
|
||||
import java.util.*;
|
||||
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
||||
import com.massivecraft.mcore.SimpleConfig;
|
||||
import com.massivecraft.mcore.util.MUtil;
|
||||
@ -83,7 +82,6 @@ public class ConfServer extends SimpleConfig
|
||||
public static boolean chatParseTags = true;
|
||||
public static boolean chatParseTagsColored = false;
|
||||
public static Map<String, String> chatSingleFormats = new HashMap<String, String>();
|
||||
public static transient boolean chatTagHandledByAnotherPlugin = false; // Why do we need this? (Olof asks)
|
||||
public static String chatTagFormat = "%s"+ChatColor.WHITE; // This one is almost deprecated now right? or is it?
|
||||
|
||||
// Herochat
|
||||
@ -186,18 +184,7 @@ public class ConfServer extends SimpleConfig
|
||||
|
||||
// for claimed areas where further faction-member ownership can be defined
|
||||
|
||||
public static boolean pistonProtectionThroughDenyBuild = true;
|
||||
|
||||
public final transient static Set<Material> materialsEditOnInteract = EnumSet.noneOf(Material.class);
|
||||
public final transient static Set<Material> materialsEditTools = EnumSet.noneOf(Material.class);
|
||||
public final transient static Set<Material> materialsDoor = EnumSet.noneOf(Material.class);
|
||||
public final transient static Set<Material> materialsContainer = EnumSet.noneOf(Material.class);
|
||||
|
||||
//public static Set<Material> territoryProtectedMaterialsWhenOffline = EnumSet.noneOf(Material.class);
|
||||
//public static Set<Material> territoryDenyUseageMaterialsWhenOffline = EnumSet.noneOf(Material.class);
|
||||
|
||||
// TODO: Rename to monsterCreatureTypes
|
||||
public static transient Set<EntityType> monsters = EnumSet.noneOf(EntityType.class);
|
||||
public static boolean pistonProtectionThroughDenyBuild = true;
|
||||
|
||||
// Spout features
|
||||
public static boolean spoutFactionTagsOverNames = true; // show faction tags over names over player heads
|
||||
@ -211,7 +198,16 @@ public class ConfServer extends SimpleConfig
|
||||
public static double spoutHealthBarSolidsPerEmpty = 1d;
|
||||
public static String spoutHealthBarColorTag = "{c}";
|
||||
public static int spoutHealthBarWidth = 30;
|
||||
public static Map<Double, String> spoutHealthBarColorUnderQuota = new LinkedHashMap<Double, String>();
|
||||
|
||||
public static Map<Double, String> spoutHealthBarColorUnderQuota = MUtil.map(
|
||||
1.0d, "&2",
|
||||
0.8d, "&a",
|
||||
0.5d, "&e",
|
||||
0.4d, "&6",
|
||||
0.3d, "&c",
|
||||
0.2d, "&4"
|
||||
);
|
||||
|
||||
public static boolean spoutCapes = true; // Show faction capes
|
||||
public static int spoutTerritoryDisplayPosition = 1; // permanent territory display, instead of by chat; 0 = disabled, 1 = top left, 2 = top center, 3+ = top right
|
||||
public static float spoutTerritoryDisplaySize = 1.0f; // text scale (size) for territory display
|
||||
@ -269,9 +265,7 @@ public class ConfServer extends SimpleConfig
|
||||
// TODO: A better solution Would be to have One wilderness faction per world.
|
||||
//public static Set<String> worldsNoWildernessProtection = new LinkedHashSet<String>();
|
||||
|
||||
public static transient int mapHeight = 8;
|
||||
public static transient int mapWidth = 39;
|
||||
public static transient char[] mapKeyChrs = "\\/#?$%=&^ABCDEFGHJKLMNOPQRSTUVWXYZ1234567890abcdeghjmnopqrsuvwxyz".toCharArray();
|
||||
|
||||
|
||||
static
|
||||
{
|
||||
@ -290,56 +284,6 @@ public class ConfServer extends SimpleConfig
|
||||
chatSingleFormats.put("pl", " %s");
|
||||
chatSingleFormats.put("pr", "%s ");
|
||||
chatSingleFormats.put("pb", " %s ");
|
||||
|
||||
materialsContainer.add(Material.DISPENSER);
|
||||
materialsContainer.add(Material.CHEST);
|
||||
materialsContainer.add(Material.FURNACE);
|
||||
materialsContainer.add(Material.BURNING_FURNACE);
|
||||
materialsContainer.add(Material.JUKEBOX);
|
||||
materialsContainer.add(Material.BREWING_STAND);
|
||||
materialsContainer.add(Material.ENCHANTMENT_TABLE);
|
||||
materialsContainer.add(Material.ANVIL);
|
||||
materialsContainer.add(Material.BEACON);
|
||||
|
||||
materialsEditOnInteract.add(Material.DIODE_BLOCK_OFF);
|
||||
materialsEditOnInteract.add(Material.DIODE_BLOCK_ON);
|
||||
materialsEditOnInteract.add(Material.NOTE_BLOCK);
|
||||
materialsEditOnInteract.add(Material.CAULDRON);
|
||||
materialsEditOnInteract.add(Material.SOIL);
|
||||
|
||||
materialsDoor.add(Material.WOODEN_DOOR);
|
||||
materialsDoor.add(Material.TRAP_DOOR);
|
||||
materialsDoor.add(Material.FENCE_GATE);
|
||||
|
||||
materialsEditTools.add(Material.FIREBALL);
|
||||
materialsEditTools.add(Material.FLINT_AND_STEEL);
|
||||
materialsEditTools.add(Material.BUCKET);
|
||||
materialsEditTools.add(Material.WATER_BUCKET);
|
||||
materialsEditTools.add(Material.LAVA_BUCKET);
|
||||
|
||||
monsters.add(EntityType.BLAZE);
|
||||
monsters.add(EntityType.CAVE_SPIDER);
|
||||
monsters.add(EntityType.CREEPER);
|
||||
monsters.add(EntityType.ENDERMAN);
|
||||
monsters.add(EntityType.ENDER_DRAGON);
|
||||
monsters.add(EntityType.GHAST);
|
||||
monsters.add(EntityType.GIANT);
|
||||
monsters.add(EntityType.MAGMA_CUBE);
|
||||
monsters.add(EntityType.PIG_ZOMBIE);
|
||||
monsters.add(EntityType.SILVERFISH);
|
||||
monsters.add(EntityType.SKELETON);
|
||||
monsters.add(EntityType.SLIME);
|
||||
monsters.add(EntityType.SPIDER);
|
||||
monsters.add(EntityType.WITCH);
|
||||
monsters.add(EntityType.WITHER);
|
||||
monsters.add(EntityType.ZOMBIE);
|
||||
|
||||
spoutHealthBarColorUnderQuota.put(1.0d, "&2");
|
||||
spoutHealthBarColorUnderQuota.put(0.8d, "&a");
|
||||
spoutHealthBarColorUnderQuota.put(0.5d, "&e");
|
||||
spoutHealthBarColorUnderQuota.put(0.4d, "&6");
|
||||
spoutHealthBarColorUnderQuota.put(0.3d, "&c");
|
||||
spoutHealthBarColorUnderQuota.put(0.2d, "&4");
|
||||
}
|
||||
}
|
||||
|
||||
|
71
src/com/massivecraft/factions/Const.java
Normal file
71
src/com/massivecraft/factions/Const.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.massivecraft.factions;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
||||
import com.massivecraft.mcore.util.MUtil;
|
||||
|
||||
public class Const
|
||||
{
|
||||
public static final int MAP_HEIGHT = 8;
|
||||
public static final int MAP_WIDTH = 39;
|
||||
public static final char[] MAP_KEY_CHARS = "\\/#?$%=&^ABCDEFGHJKLMNOPQRSTUVWXYZ1234567890abcdeghjmnopqrsuvwxyz".toCharArray();
|
||||
|
||||
public static final Set<Material> MATERIALS_EDIT_ON_INTERACT = MUtil.set(
|
||||
Material.DIODE_BLOCK_OFF,
|
||||
Material.DIODE_BLOCK_ON,
|
||||
Material.NOTE_BLOCK,
|
||||
Material.CAULDRON,
|
||||
Material.SOIL
|
||||
);
|
||||
|
||||
public static final Set<Material> MATERIALS_EDIT_TOOLS = MUtil.set(
|
||||
Material.FIREBALL,
|
||||
Material.FLINT_AND_STEEL,
|
||||
Material.BUCKET,
|
||||
Material.WATER_BUCKET,
|
||||
Material.LAVA_BUCKET
|
||||
);
|
||||
|
||||
public static final Set<Material> MATERIALS_DOOR = MUtil.set(
|
||||
Material.WOODEN_DOOR,
|
||||
Material.TRAP_DOOR,
|
||||
Material.FENCE_GATE
|
||||
);
|
||||
|
||||
public static final Set<Material> MATERIALS_CONTAINER = MUtil.set(
|
||||
Material.DISPENSER,
|
||||
Material.CHEST,
|
||||
Material.FURNACE,
|
||||
Material.BURNING_FURNACE,
|
||||
Material.JUKEBOX,
|
||||
Material.BREWING_STAND,
|
||||
Material.ENCHANTMENT_TABLE,
|
||||
Material.ANVIL,
|
||||
Material.BEACON
|
||||
);
|
||||
|
||||
//public static Set<Material> territoryProtectedMaterialsWhenOffline = EnumSet.noneOf(Material.class);
|
||||
//public static Set<Material> territoryDenyUseageMaterialsWhenOffline = EnumSet.noneOf(Material.class);
|
||||
|
||||
public static final Set<EntityType> ENTITY_TYPES_MONSTERS = MUtil.set(
|
||||
EntityType.BLAZE,
|
||||
EntityType.CAVE_SPIDER,
|
||||
EntityType.CREEPER,
|
||||
EntityType.ENDERMAN,
|
||||
EntityType.ENDER_DRAGON,
|
||||
EntityType.GHAST,
|
||||
EntityType.GIANT,
|
||||
EntityType.MAGMA_CUBE,
|
||||
EntityType.PIG_ZOMBIE,
|
||||
EntityType.SILVERFISH,
|
||||
EntityType.SKELETON,
|
||||
EntityType.SLIME,
|
||||
EntityType.SPIDER,
|
||||
EntityType.WITCH,
|
||||
EntityType.WITHER,
|
||||
EntityType.ZOMBIE
|
||||
);
|
||||
}
|
@ -38,6 +38,8 @@ public class MainListener implements Listener
|
||||
// -------------------------------------------- //
|
||||
// SPOUT
|
||||
// -------------------------------------------- //
|
||||
// TODO: These spout related methods should not be in here.
|
||||
// The spout integration needs to be moved elsewhere.
|
||||
|
||||
// Setup
|
||||
|
||||
|
@ -31,7 +31,6 @@ public class HerochatListener implements Listener
|
||||
{
|
||||
// Should we even parse?
|
||||
if ( ! ConfServer.chatParseTags) return;
|
||||
if (ConfServer.chatTagHandledByAnotherPlugin) return;
|
||||
|
||||
Player from = event.getSender().getPlayer();
|
||||
FPlayer fpfrom = FPlayerColl.i.get(from);
|
||||
|
@ -79,7 +79,9 @@ public class FactionsChatListener implements Listener
|
||||
{
|
||||
// Should we even parse?
|
||||
if ( ! ConfServer.chatParseTags) return;
|
||||
if (ConfServer.chatTagHandledByAnotherPlugin) return;
|
||||
|
||||
// TODO: Replace this one with a detailed EventPriority + boolean.
|
||||
//if (ConfServer.chatTagHandledByAnotherPlugin) return;
|
||||
|
||||
Player from = event.getPlayer();
|
||||
FPlayer fpfrom = FPlayerColl.i.get(from);
|
||||
|
@ -40,6 +40,7 @@ import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import com.massivecraft.factions.Board;
|
||||
import com.massivecraft.factions.ConfServer;
|
||||
import com.massivecraft.factions.Const;
|
||||
import com.massivecraft.factions.FFlag;
|
||||
import com.massivecraft.factions.FLocation;
|
||||
import com.massivecraft.factions.FPlayer;
|
||||
@ -353,7 +354,7 @@ public class FactionsEntityListener implements Listener
|
||||
Faction faction = Board.getFactionAt(floc);
|
||||
|
||||
if (faction.getFlag(FFlag.MONSTERS)) return;
|
||||
if ( ! ConfServer.monsters.contains(event.getEntityType())) return;
|
||||
if ( ! Const.ENTITY_TYPES_MONSTERS.contains(event.getEntityType())) return;
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -370,7 +371,7 @@ public class FactionsEntityListener implements Listener
|
||||
// We are interested in blocking targeting for certain mobs:
|
||||
|
||||
|
||||
if ( ! ConfServer.monsters.contains(event.getEntity().getType())) return;
|
||||
if ( ! Const.ENTITY_TYPES_MONSTERS.contains(event.getEntity().getType())) return;
|
||||
|
||||
FLocation floc = new FLocation(target.getLocation());
|
||||
Faction faction = Board.getFactionAt(floc);
|
||||
|
@ -26,6 +26,7 @@ import org.bukkit.util.NumberConversions;
|
||||
|
||||
import com.massivecraft.factions.Board;
|
||||
import com.massivecraft.factions.ConfServer;
|
||||
import com.massivecraft.factions.Const;
|
||||
import com.massivecraft.factions.FFlag;
|
||||
import com.massivecraft.factions.FLocation;
|
||||
import com.massivecraft.factions.FPerm;
|
||||
@ -202,7 +203,7 @@ public class FactionsPlayerListener implements Listener
|
||||
|
||||
FPlayer me = FPlayerColl.i.get(name);
|
||||
if (me.hasAdminMode()) return true;
|
||||
if (ConfServer.materialsEditTools.contains(material) && ! FPerm.BUILD.has(me, loc, ! justCheck)) return false;
|
||||
if (Const.MATERIALS_EDIT_TOOLS.contains(material) && ! FPerm.BUILD.has(me, loc, ! justCheck)) return false;
|
||||
return true;
|
||||
}
|
||||
public static boolean canPlayerUseBlock(Player player, Block block, boolean justCheck)
|
||||
@ -215,9 +216,9 @@ public class FactionsPlayerListener implements Listener
|
||||
Location loc = block.getLocation();
|
||||
Material material = block.getType();
|
||||
|
||||
if (ConfServer.materialsEditOnInteract.contains(material) && ! FPerm.BUILD.has(me, loc, ! justCheck)) return false;
|
||||
if (ConfServer.materialsContainer.contains(material) && ! FPerm.CONTAINER.has(me, loc, ! justCheck)) return false;
|
||||
if (ConfServer.materialsDoor.contains(material) && ! FPerm.DOOR.has(me, loc, ! justCheck)) return false;
|
||||
if (Const.MATERIALS_EDIT_ON_INTERACT.contains(material) && ! FPerm.BUILD.has(me, loc, ! justCheck)) return false;
|
||||
if (Const.MATERIALS_CONTAINER.contains(material) && ! FPerm.CONTAINER.has(me, loc, ! justCheck)) return false;
|
||||
if (Const.MATERIALS_DOOR.contains(material) && ! FPerm.DOOR.has(me, loc, ! justCheck)) return false;
|
||||
if (material == Material.STONE_BUTTON && ! FPerm.BUTTON.has(me, loc, ! justCheck)) return false;
|
||||
if (material == Material.LEVER && ! FPerm.LEVER.has(me, loc, ! justCheck)) return false;
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user