Protect our managers.

This commit is contained in:
GJ 2013-04-25 09:16:42 -04:00
parent a2fefd6fb6
commit 98dc7b853a
17 changed files with 57 additions and 44 deletions

View File

@ -23,10 +23,10 @@ public class McpurgeCommand implements TabExecutor {
switch (args.length) { switch (args.length) {
case 0: case 0:
mcMMO.databaseManager.purgePowerlessUsers(); mcMMO.getDatabaseManager().purgePowerlessUsers();
if (Config.getInstance().getOldUsersCutoff() != -1) { if (Config.getInstance().getOldUsersCutoff() != -1) {
mcMMO.databaseManager.purgeOldUsers(); mcMMO.getDatabaseManager().purgeOldUsers();
} }
sender.sendMessage(LocaleLoader.getString("Commands.mcpurge.Success")); sender.sendMessage(LocaleLoader.getString("Commands.mcpurge.Success"));

View File

@ -32,7 +32,7 @@ public class McremoveCommand implements TabExecutor {
return true; return true;
} }
if (mcMMO.databaseManager.removeUser(args[0])) { if (mcMMO.getDatabaseManager().removeUser(args[0])) {
sender.sendMessage(LocaleLoader.getString("Commands.mcremove.Success", args[0])); sender.sendMessage(LocaleLoader.getString("Commands.mcremove.Success", args[0]));
} }
else { else {

View File

@ -41,10 +41,10 @@ public class RepairCommand extends SkillCommand {
@Override @Override
protected void dataCalculations() { protected void dataCalculations() {
// We're using pickaxes here, not the best but it works // We're using pickaxes here, not the best but it works
Repairable diamondRepairable = mcMMO.repairableManager.getRepairable(Material.DIAMOND_PICKAXE.getId()); Repairable diamondRepairable = mcMMO.getRepairableManager().getRepairable(Material.DIAMOND_PICKAXE.getId());
Repairable goldRepairable = mcMMO.repairableManager.getRepairable(Material.GOLD_PICKAXE.getId()); Repairable goldRepairable = mcMMO.getRepairableManager().getRepairable(Material.GOLD_PICKAXE.getId());
Repairable ironRepairable = mcMMO.repairableManager.getRepairable(Material.IRON_PICKAXE.getId()); Repairable ironRepairable = mcMMO.getRepairableManager().getRepairable(Material.IRON_PICKAXE.getId());
Repairable stoneRepairable = mcMMO.repairableManager.getRepairable(Material.STONE_PICKAXE.getId()); Repairable stoneRepairable = mcMMO.getRepairableManager().getRepairable(Material.STONE_PICKAXE.getId());
// TODO: This isn't really accurate - if they don't have pickaxes loaded it doesn't always mean the repair level is 0 // TODO: This isn't really accurate - if they don't have pickaxes loaded it doesn't always mean the repair level is 0
diamondLevel = (diamondRepairable == null) ? 0 : diamondRepairable.getMinimumLevel(); diamondLevel = (diamondRepairable == null) ? 0 : diamondRepairable.getMinimumLevel();

View File

@ -63,17 +63,17 @@ public class BlockListener implements Listener {
Block futureEmptyBlock = event.getBlock().getRelative(direction); // Block that would be air after piston is finished Block futureEmptyBlock = event.getBlock().getRelative(direction); // Block that would be air after piston is finished
for (Block b : blocks) { for (Block b : blocks) {
if (BlockUtils.shouldBeWatched(b.getState()) && mcMMO.placeStore.isTrue(b)) { if (BlockUtils.shouldBeWatched(b.getState()) && mcMMO.getPlaceStore().isTrue(b)) {
b.getRelative(direction).setMetadata(mcMMO.blockMetadataKey, mcMMO.metadataValue); b.getRelative(direction).setMetadata(mcMMO.blockMetadataKey, mcMMO.metadataValue);
if (b.equals(futureEmptyBlock)) { if (b.equals(futureEmptyBlock)) {
mcMMO.placeStore.setFalse(b); mcMMO.getPlaceStore().setFalse(b);
} }
} }
} }
for (Block b : blocks) { for (Block b : blocks) {
if (b.getRelative(direction).hasMetadata(mcMMO.blockMetadataKey)) { if (b.getRelative(direction).hasMetadata(mcMMO.blockMetadataKey)) {
mcMMO.placeStore.setTrue(b.getRelative(direction)); mcMMO.getPlaceStore().setTrue(b.getRelative(direction));
b.getRelative(direction).removeMetadata(mcMMO.blockMetadataKey, plugin); b.getRelative(direction).removeMetadata(mcMMO.blockMetadataKey, plugin);
} }
} }
@ -110,7 +110,7 @@ public class BlockListener implements Listener {
/* Check if the blocks placed should be monitored so they do not give out XP in the future */ /* Check if the blocks placed should be monitored so they do not give out XP in the future */
if (BlockUtils.shouldBeWatched(blockState)) { if (BlockUtils.shouldBeWatched(blockState)) {
mcMMO.placeStore.setTrue(blockState); mcMMO.getPlaceStore().setTrue(blockState);
} }
if (Repair.anvilMessagesEnabled && (blockId == Repair.repairAnvilId || blockId == Repair.salvageAnvilId)) { if (Repair.anvilMessagesEnabled && (blockId == Repair.repairAnvilId || blockId == Repair.salvageAnvilId)) {
@ -163,13 +163,13 @@ public class BlockListener implements Listener {
} }
/* MINING */ /* MINING */
else if (BlockUtils.affectedBySuperBreaker(blockState) && ItemUtils.isPickaxe(heldItem) && Permissions.skillEnabled(player, SkillType.MINING) && !mcMMO.placeStore.isTrue(blockState)) { else if (BlockUtils.affectedBySuperBreaker(blockState) && ItemUtils.isPickaxe(heldItem) && Permissions.skillEnabled(player, SkillType.MINING) && !mcMMO.getPlaceStore().isTrue(blockState)) {
MiningManager miningManager = mcMMOPlayer.getMiningManager(); MiningManager miningManager = mcMMOPlayer.getMiningManager();
miningManager.miningBlockCheck(blockState); miningManager.miningBlockCheck(blockState);
} }
/* WOOD CUTTING */ /* WOOD CUTTING */
else if (BlockUtils.isLog(blockState) && Permissions.skillEnabled(player, SkillType.WOODCUTTING) && !mcMMO.placeStore.isTrue(blockState)) { else if (BlockUtils.isLog(blockState) && Permissions.skillEnabled(player, SkillType.WOODCUTTING) && !mcMMO.getPlaceStore().isTrue(blockState)) {
WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager(); WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager();
if (woodcuttingManager.canUseTreeFeller(heldItem)) { if (woodcuttingManager.canUseTreeFeller(heldItem)) {
@ -181,7 +181,7 @@ public class BlockListener implements Listener {
} }
/* EXCAVATION */ /* EXCAVATION */
else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && Permissions.skillEnabled(player, SkillType.EXCAVATION) && !mcMMO.placeStore.isTrue(blockState)) { else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && Permissions.skillEnabled(player, SkillType.EXCAVATION) && !mcMMO.getPlaceStore().isTrue(blockState)) {
ExcavationManager excavationManager = mcMMOPlayer.getExcavationManager(); ExcavationManager excavationManager = mcMMOPlayer.getExcavationManager();
excavationManager.excavationBlockCheck(blockState); excavationManager.excavationBlockCheck(blockState);
@ -191,7 +191,7 @@ public class BlockListener implements Listener {
} }
/* Remove metadata from placed watched blocks */ /* Remove metadata from placed watched blocks */
mcMMO.placeStore.setFalse(blockState); mcMMO.getPlaceStore().setFalse(blockState);
} }
/** /**

View File

@ -68,12 +68,12 @@ public class EntityListener implements Listener {
Block block = event.getBlock(); Block block = event.getBlock();
boolean isTracked = entity.hasMetadata(mcMMO.entityMetadataKey); boolean isTracked = entity.hasMetadata(mcMMO.entityMetadataKey);
if (mcMMO.placeStore.isTrue(block) && !isTracked) { if (mcMMO.getPlaceStore().isTrue(block) && !isTracked) {
mcMMO.placeStore.setFalse(block); mcMMO.getPlaceStore().setFalse(block);
entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue); entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
} }
else if (isTracked) { else if (isTracked) {
mcMMO.placeStore.setTrue(block); mcMMO.getPlaceStore().setTrue(block);
} }
} }

View File

@ -193,7 +193,8 @@ public class PlayerListener implements Listener {
case CAUGHT_ENTITY: case CAUGHT_ENTITY:
Entity entity = event.getCaught(); Entity entity = event.getCaught();
System.out.println(event.getState());
System.out.println(entity);
if (fishingManager.canShake(entity)) { if (fishingManager.canShake(entity)) {
fishingManager.shakeCheck((LivingEntity) entity); fishingManager.shakeCheck((LivingEntity) entity);
} }
@ -319,7 +320,7 @@ public class PlayerListener implements Listener {
ItemStack heldItem = player.getItemInHand(); ItemStack heldItem = player.getItemInHand();
/* REPAIR CHECKS */ /* REPAIR CHECKS */
if (blockID == Repair.repairAnvilId && Permissions.skillEnabled(player, SkillType.REPAIR) && mcMMO.repairableManager.isRepairable(heldItem)) { if (blockID == Repair.repairAnvilId && Permissions.skillEnabled(player, SkillType.REPAIR) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
UserManager.getPlayer(player).getRepairManager().handleRepair(heldItem); UserManager.getPlayer(player).getRepairManager().handleRepair(heldItem);
event.setCancelled(true); event.setCancelled(true);
player.updateInventory(); player.updateInventory();

View File

@ -30,9 +30,9 @@ public class WorldListener implements Listener {
public void onStructureGrow(StructureGrowEvent event) { public void onStructureGrow(StructureGrowEvent event) {
Location location = event.getLocation(); Location location = event.getLocation();
if (mcMMO.placeStore.isTrue(location.getBlockX(), location.getBlockY(), location.getBlockZ(), location.getWorld())) { if (mcMMO.getPlaceStore().isTrue(location.getBlockX(), location.getBlockY(), location.getBlockZ(), location.getWorld())) {
for (BlockState blockState : event.getBlocks()) { for (BlockState blockState : event.getBlocks()) {
mcMMO.placeStore.setFalse(blockState); mcMMO.getPlaceStore().setFalse(blockState);
} }
} }
} }
@ -65,7 +65,7 @@ public class WorldListener implements Listener {
*/ */
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onWorldUnload(WorldUnloadEvent event) { public void onWorldUnload(WorldUnloadEvent event) {
mcMMO.placeStore.unloadWorld(event.getWorld()); mcMMO.getPlaceStore().unloadWorld(event.getWorld());
} }
/** /**
@ -77,6 +77,6 @@ public class WorldListener implements Listener {
public void onChunkUnload(ChunkUnloadEvent event) { public void onChunkUnload(ChunkUnloadEvent event) {
Chunk chunk = event.getChunk(); Chunk chunk = event.getChunk();
mcMMO.placeStore.chunkUnloaded(chunk.getX(), chunk.getZ(), event.getWorld()); mcMMO.getPlaceStore().chunkUnloaded(chunk.getX(), chunk.getZ(), event.getWorld());
} }
} }

View File

@ -64,9 +64,9 @@ public class mcMMO extends JavaPlugin {
public static mcMMO p; public static mcMMO p;
public static ChunkManager placeStore; private static ChunkManager placeStore;
public static RepairableManager repairableManager; private static RepairableManager repairableManager;
public static DatabaseManager databaseManager; private static DatabaseManager databaseManager;
// Jar Stuff // Jar Stuff
public static File mcmmo; public static File mcmmo;
@ -222,6 +222,18 @@ public class mcMMO extends JavaPlugin {
getLogger().info("[Debug] " + message); getLogger().info("[Debug] " + message);
} }
public static ChunkManager getPlaceStore() {
return placeStore;
}
public static DatabaseManager getDatabaseManager() {
return databaseManager;
}
public static RepairableManager getRepairableManager() {
return repairableManager;
}
/** /**
* Setup the various storage file paths * Setup the various storage file paths
*/ */

View File

@ -21,11 +21,11 @@ public class StickyPistonTrackerTask extends BukkitRunnable {
Block newBlock = block.getRelative(direction); Block newBlock = block.getRelative(direction);
Block originalBlock = newBlock.getRelative(direction); Block originalBlock = newBlock.getRelative(direction);
if (originalBlock.getType() != Material.AIR || !mcMMO.placeStore.isTrue(originalBlock)) { if (originalBlock.getType() != Material.AIR || !mcMMO.getPlaceStore().isTrue(originalBlock)) {
return; return;
} }
mcMMO.placeStore.setFalse(originalBlock); mcMMO.getPlaceStore().setFalse(originalBlock);
mcMMO.placeStore.setTrue(newBlock); mcMMO.getPlaceStore().setTrue(newBlock);
} }
} }

View File

@ -8,10 +8,10 @@ import com.gmail.nossr50.config.Config;
public class UserPurgeTask extends BukkitRunnable { public class UserPurgeTask extends BukkitRunnable {
@Override @Override
public void run() { public void run() {
mcMMO.databaseManager.purgePowerlessUsers(); mcMMO.getDatabaseManager().purgePowerlessUsers();
if (Config.getInstance().getOldUsersCutoff() != -1) { if (Config.getInstance().getOldUsersCutoff() != -1) {
mcMMO.databaseManager.purgeOldUsers(); mcMMO.getDatabaseManager().purgeOldUsers();
} }
} }
} }

View File

@ -63,7 +63,7 @@ public class Herbalism {
protected static int calculateCatciAndSugarDrops(BlockState blockState) { protected static int calculateCatciAndSugarDrops(BlockState blockState) {
Block block = blockState.getBlock(); Block block = blockState.getBlock();
Material blockType = blockState.getType(); Material blockType = blockState.getType();
int dropAmount = mcMMO.placeStore.isTrue(block) ? 0 : 1; int dropAmount = mcMMO.getPlaceStore().isTrue(block) ? 0 : 1;
// Handle the two blocks above it - cacti & sugar cane can only grow 3 high naturally // Handle the two blocks above it - cacti & sugar cane can only grow 3 high naturally
for (int y = 1; y < 3; y++) { for (int y = 1; y < 3; y++) {
@ -73,8 +73,8 @@ public class Herbalism {
break; break;
} }
if (mcMMO.placeStore.isTrue(relativeBlock)) { if (mcMMO.getPlaceStore().isTrue(relativeBlock)) {
mcMMO.placeStore.setFalse(relativeBlock); mcMMO.getPlaceStore().setFalse(relativeBlock);
} }
else { else {
dropAmount++; dropAmount++;

View File

@ -118,7 +118,7 @@ public class HerbalismManager extends SkillManager {
Material material = blockState.getType(); Material material = blockState.getType();
boolean oneBlockPlant = !(material == Material.CACTUS || material == Material.SUGAR_CANE_BLOCK); boolean oneBlockPlant = !(material == Material.CACTUS || material == Material.SUGAR_CANE_BLOCK);
if (oneBlockPlant && mcMMO.placeStore.isTrue(blockState)) { if (oneBlockPlant && mcMMO.getPlaceStore().isTrue(blockState)) {
return; return;
} }
@ -206,8 +206,8 @@ public class HerbalismManager extends SkillManager {
case RED_ROSE: case RED_ROSE:
case YELLOW_FLOWER: case YELLOW_FLOWER:
if (mcMMO.placeStore.isTrue(blockState)) { if (mcMMO.getPlaceStore().isTrue(blockState)) {
mcMMO.placeStore.setFalse(blockState); mcMMO.getPlaceStore().setFalse(blockState);
return false; return false;
} }

View File

@ -139,13 +139,13 @@ public class MiningManager extends SkillManager{
for (BlockState blockState : ores) { for (BlockState blockState : ores) {
if (Misc.getRandom().nextFloat() < (yield + oreBonus)) { if (Misc.getRandom().nextFloat() < (yield + oreBonus)) {
if (!mcMMO.placeStore.isTrue(blockState)) { if (!mcMMO.getPlaceStore().isTrue(blockState)) {
xp += Mining.getBlockXp(blockState); xp += Mining.getBlockXp(blockState);
} }
Misc.dropItem(blockState.getLocation(), blockState.getData().toItemStack(1)); // Initial block that would have been dropped Misc.dropItem(blockState.getLocation(), blockState.getData().toItemStack(1)); // Initial block that would have been dropped
if (!mcMMO.placeStore.isTrue(blockState)) { if (!mcMMO.getPlaceStore().isTrue(blockState)) {
for (int i = 1; i < dropMultiplier; i++) { for (int i = 1; i < dropMultiplier; i++) {
Mining.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items Mining.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items
} }

View File

@ -65,7 +65,7 @@ public class RepairManager extends SkillManager {
Player player = getPlayer(); Player player = getPlayer();
int itemId = item.getTypeId(); int itemId = item.getTypeId();
Repairable repairable = mcMMO.repairableManager.getRepairable(itemId); Repairable repairable = mcMMO.getRepairableManager().getRepairable(itemId);
// Permissions checks on material and item types // Permissions checks on material and item types
if (!repairable.getRepairItemType().getPermissions(player)) { if (!repairable.getRepairItemType().getPermissions(player)) {

View File

@ -25,7 +25,7 @@ public class SmeltingManager extends SkillManager {
} }
public boolean canUseFluxMining(BlockState blockState) { public boolean canUseFluxMining(BlockState blockState) {
return getSkillLevel() >= Smelting.fluxMiningUnlockLevel && BlockUtils.affectedByFluxMining(blockState) && Permissions.fluxMining(getPlayer()) && !mcMMO.placeStore.isTrue(blockState); return getSkillLevel() >= Smelting.fluxMiningUnlockLevel && BlockUtils.affectedByFluxMining(blockState) && Permissions.fluxMining(getPlayer()) && !mcMMO.getPlaceStore().isTrue(blockState);
} }
public boolean canUseVanillaXpBoost() { public boolean canUseVanillaXpBoost() {

View File

@ -248,7 +248,7 @@ public final class Woodcutting {
* @param treeFellerBlocks List of blocks to be removed * @param treeFellerBlocks List of blocks to be removed
*/ */
private static void handleBlock(BlockState blockState, List<BlockState> futureCenterBlocks, List<BlockState> treeFellerBlocks) { private static void handleBlock(BlockState blockState, List<BlockState> futureCenterBlocks, List<BlockState> treeFellerBlocks) {
if (!BlockUtils.affectedByTreeFeller(blockState) || mcMMO.placeStore.isTrue(blockState) || treeFellerBlocks.contains(blockState)) { if (!BlockUtils.affectedByTreeFeller(blockState) || mcMMO.getPlaceStore().isTrue(blockState) || treeFellerBlocks.contains(blockState)) {
return; return;
} }

View File

@ -34,7 +34,7 @@ public class BlockStoreConversionZDirectory implements Runnable {
this.world = world; this.world = world;
this.scheduler = mcMMO.p.getServer().getScheduler(); this.scheduler = mcMMO.p.getServer().getScheduler();
this.manager = new HashChunkletManager(); this.manager = new HashChunkletManager();
this.newManager = (HashChunkManager) mcMMO.placeStore; this.newManager = (HashChunkManager) mcMMO.getPlaceStore();
this.dataDir = dataDir; this.dataDir = dataDir;
this.xDir = xDir; this.xDir = xDir;