Static Abuse Removal - TextComponentFactory

This commit is contained in:
nossr50 2019-07-02 21:45:42 -07:00
parent 5ec59536c7
commit bc183cd4f9
29 changed files with 144 additions and 147 deletions

View File

@ -90,7 +90,7 @@ public class AcrobaticsCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.ACROBATICS); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.ACROBATICS);
return textComponents; return textComponents;
} }

View File

@ -89,7 +89,7 @@
// protected List<TextComponent> getTextComponents(Player player) { // protected List<TextComponent> getTextComponents(Player player) {
// List<TextComponent> textComponents = new ArrayList<>(); // List<TextComponent> textComponents = new ArrayList<>();
// //
// TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.ALCHEMY); // pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.ALCHEMY);
// //
// return textComponents; // return textComponents;
// } // }

View File

@ -86,7 +86,7 @@ public class ArcheryCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.ARCHERY); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.ARCHERY);
return textComponents; return textComponents;
} }

View File

@ -106,7 +106,7 @@ public class AxesCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.AXES); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.AXES);
return textComponents; return textComponents;
} }

View File

@ -68,7 +68,7 @@ public class ExcavationCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.EXCAVATION); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.EXCAVATION);
return textComponents; return textComponents;
} }

View File

@ -179,7 +179,7 @@ public class FishingCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.FISHING); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.FISHING);
return textComponents; return textComponents;
} }

View File

@ -143,7 +143,7 @@ public class HerbalismCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.HERBALISM); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.HERBALISM);
return textComponents; return textComponents;
} }

View File

@ -112,7 +112,7 @@ public class MiningCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.MINING); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.MINING);
return textComponents; return textComponents;
} }

View File

@ -78,7 +78,7 @@ public class MmoInfoCommand implements TabExecutor {
if (abstractSubSkill != null) { if (abstractSubSkill != null) {
/* New System Skills are programmable */ /* New System Skills are programmable */
abstractSubSkill.printInfo(player); abstractSubSkill.printInfo(player);
//TextComponentFactory.sendPlayerUrlHeader(player); //pluginRef.getTextComponentFactory().sendPlayerUrlHeader(player);
} else { } else {
/* /*
* Skill is only in the old system * Skill is only in the old system
@ -95,6 +95,6 @@ public class MmoInfoCommand implements TabExecutor {
} }
//Send Player Wiki Link //Send Player Wiki Link
TextComponentFactory.sendPlayerSubSkillWikiLink(player, subSkillName); pluginRef.getTextComponentFactory().sendPlayerSubSkillWikiLink(player, subSkillName);
} }
} }

View File

@ -121,7 +121,7 @@ public class RepairCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.REPAIR); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.REPAIR);
return textComponents; return textComponents;
} }

View File

@ -66,7 +66,7 @@ public class SalvageCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.SALVAGE); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.SALVAGE);
return textComponents; return textComponents;
} }

View File

@ -93,7 +93,7 @@ public abstract class SkillCommand implements TabExecutor {
//Send JSON text components //Send JSON text components
TextComponentFactory.sendPlayerSubSkillList(player, subskillTextComponents); pluginRef.getTextComponentFactory().sendPlayerSubSkillList(player, subskillTextComponents);
/*for(TextComponent tc : subskillTextComponents) /*for(TextComponent tc : subskillTextComponents)
{ {
@ -109,7 +109,7 @@ public abstract class SkillCommand implements TabExecutor {
//Link Header //Link Header
if (pluginRef.getConfigManager().getConfigAds().isShowWebsiteLinks()) { if (pluginRef.getConfigManager().getConfigAds().isShowWebsiteLinks()) {
player.sendMessage(pluginRef.getLocaleManager().getString("Overhaul.mcMMO.Header")); player.sendMessage(pluginRef.getLocaleManager().getString("Overhaul.mcMMO.Header"));
TextComponentFactory.sendPlayerUrlHeader(player); pluginRef.getTextComponentFactory().sendPlayerUrlHeader(player);
} }

View File

@ -89,7 +89,7 @@ public class SmeltingCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.SMELTING); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.SMELTING);
return textComponents; return textComponents;
} }

View File

@ -112,7 +112,7 @@ public class SwordsCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.SWORDS); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.SWORDS);
return textComponents; return textComponents;
} }

View File

@ -108,7 +108,7 @@ public class TamingCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, this.skill); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, this.skill);
return textComponents; return textComponents;
} }

View File

@ -124,7 +124,7 @@ public class UnarmedCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.UNARMED); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.UNARMED);
return textComponents; return textComponents;
} }

View File

@ -85,7 +85,7 @@ public class WoodcuttingCommand extends SkillCommand {
protected List<TextComponent> getTextComponents(Player player) { protected List<TextComponent> getTextComponents(Player player) {
List<TextComponent> textComponents = new ArrayList<>(); List<TextComponent> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, PrimarySkillType.WOODCUTTING); pluginRef.getTextComponentFactory().getSubSkillTextComponents(player, textComponents, PrimarySkillType.WOODCUTTING);
return textComponents; return textComponents;
} }

View File

@ -18,20 +18,20 @@ public enum McMMOWebLinks {
return StringUtils.getCapitalized(toString()); return StringUtils.getCapitalized(toString());
} }
public String getLocaleDescription() { public String getLocaleKey() {
switch (this) { switch (this) {
case WEBSITE: case WEBSITE:
return pluginRef.getLocaleManager().getString("JSON.URL.Website"); return "JSON.URL.Website";
case DISCORD: case DISCORD:
return pluginRef.getLocaleManager().getString("JSON.URL.Discord"); return "JSON.URL.Discord";
case PATREON: case PATREON:
return pluginRef.getLocaleManager().getString("JSON.URL.Patreon"); return "JSON.URL.Patreon";
case HELP_TRANSLATE: case HELP_TRANSLATE:
return pluginRef.getLocaleManager().getString("JSON.URL.Translation"); return "JSON.URL.Translation";
case SPIGOT: case SPIGOT:
return pluginRef.getLocaleManager().getString("JSON.URL.Spigot"); return "JSON.URL.Spigot";
case WIKI: case WIKI:
return pluginRef.getLocaleManager().getString("JSON.URL.Wiki"); return "JSON.URL.Wiki";
default: default:
return ""; return "";
} }

View File

@ -40,7 +40,7 @@ public abstract class AbstractSubSkill implements SubSkill, Interaction, Rank, S
public void printInfo(Player player) { public void printInfo(Player player) {
/* DEFAULT SETTINGS PRINT THE BARE MINIMUM */ /* DEFAULT SETTINGS PRINT THE BARE MINIMUM */
//TextComponentFactory.sendPlayerUrlHeader(player); //pluginRef.getTextComponentFactory().sendPlayerUrlHeader(player);
player.sendMessage(pluginRef.getLocaleManager().getString("Commands.MmoInfo.Header")); player.sendMessage(pluginRef.getLocaleManager().getString("Commands.MmoInfo.Header"));
player.sendMessage(pluginRef.getLocaleManager().getString("Commands.MmoInfo.SubSkillHeader", getConfigKeyName())); player.sendMessage(pluginRef.getLocaleManager().getString("Commands.MmoInfo.SubSkillHeader", getConfigKeyName()));
player.sendMessage(pluginRef.getLocaleManager().getString("Commands.MmoInfo.DetailsHeader")); player.sendMessage(pluginRef.getLocaleManager().getString("Commands.MmoInfo.DetailsHeader"));

View File

@ -73,30 +73,6 @@ public class BlockListener implements Listener {
event.getBlock().removeMetadata(MetadataConstants.BONUS_DROPS_METAKEY, pluginRef); event.getBlock().removeMetadata(MetadataConstants.BONUS_DROPS_METAKEY, pluginRef);
} }
/*@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockDropItemEvent(BlockDropItemEvent event)
{
for(Item item : event.getItems())
{
ItemStack is = new ItemStack(item.getItemStack());
if(event.getBlock().getMetadata(mcMMO.doubleDrops).size() > 0)
{
List<MetadataValue> metadataValue = event.getBlock().getMetadata(mcMMO.doubleDrops);
BonusDrops bonusDrops = (BonusDrops) metadataValue.get(0);
Collection<ItemStack> potentialDrops = (Collection<ItemStack>) bonusDrops.value();
>>>>>>> 2746bac86ac8b201960ac47bc19eac4b84d790a0
for (int i = 0; i < bonusCount; i++) {
event.getBlock().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
}
event.getBlock().removeMetadata(MetadataConstants.BONUS_DROPS_METAKEY, plugin);
}
}
}
/** /**
* Monitor BlockPistonExtend events. * Monitor BlockPistonExtend events.
* *

View File

@ -41,16 +41,17 @@ import org.bukkit.potion.PotionEffectType;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
public class EntityListener implements Listener { public class EntityListener implements Listener {
private final mcMMO plugin; private final mcMMO pluginRef;
public EntityListener(final mcMMO plugin) { public EntityListener(final mcMMO pluginRef) {
this.plugin = plugin; this.pluginRef = pluginRef;
} }
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)
public void onEntityTransform(EntityTransformEvent event) { public void onEntityTransform(EntityTransformEvent event) {
//Transfer metadata keys from mob-spawned mobs to new mobs //Transfer metadata keys from mob-spawned mobs to new mobs
if (event.getEntity().getMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY) != null || event.getEntity().getMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY).size() >= 1) { if (event.getEntity().hasMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY)
|| event.getEntity().getMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY).size() >= 1) {
for (Entity entity : event.getTransformedEntities()) { for (Entity entity : event.getTransformedEntities()) {
entity.setMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY, MetadataConstants.metadataValue); entity.setMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY, MetadataConstants.metadataValue);
} }
@ -69,7 +70,8 @@ public class EntityListener implements Listener {
//Prevent entities from giving XP if they target endermite //Prevent entities from giving XP if they target endermite
if (event.getTarget() instanceof Endermite) { if (event.getTarget() instanceof Endermite) {
if (event.getEntity().getMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY) == null || event.getEntity().getMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY).size() <= 0) if (event.getEntity().hasMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY)
|| event.getEntity().getMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY).size() <= 0)
event.getEntity().setMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY, MetadataConstants.metadataValue); event.getEntity().setMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY, MetadataConstants.metadataValue);
} }
} }
@ -85,7 +87,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
} }
@ -104,10 +106,10 @@ public class EntityListener implements Listener {
} }
projectile.setMetadata(MetadataConstants.BOW_FORCE_METAKEY, projectile.setMetadata(MetadataConstants.BOW_FORCE_METAKEY,
new FixedMetadataValue(plugin, new FixedMetadataValue(pluginRef,
Math.min(event.getForce() Math.min(event.getForce()
* pluginRef.getConfigManager().getConfigExperience().getExperienceArchery().getForceMultiplier(), 1.0))); * pluginRef.getConfigManager().getConfigExperience().getExperienceArchery().getForceMultiplier(), 1.0)));
projectile.setMetadata(MetadataConstants.ARROW_DISTANCE_METAKEY, new FixedMetadataValue(plugin, projectile.getLocation())); projectile.setMetadata(MetadataConstants.ARROW_DISTANCE_METAKEY, new FixedMetadataValue(pluginRef, projectile.getLocation()));
} }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
@ -122,7 +124,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -131,8 +133,8 @@ public class EntityListener implements Listener {
if(!(projectile instanceof Arrow)) if(!(projectile instanceof Arrow))
return; return;
projectile.setMetadata(MetadataConstants.BOW_FORCE_METAKEY, new FixedMetadataValue(plugin, 1.0)); projectile.setMetadata(MetadataConstants.BOW_FORCE_METAKEY, new FixedMetadataValue(pluginRef, 1.0));
projectile.setMetadata(MetadataConstants.ARROW_DISTANCE_METAKEY, new FixedMetadataValue(plugin, projectile.getLocation())); projectile.setMetadata(MetadataConstants.ARROW_DISTANCE_METAKEY, new FixedMetadataValue(pluginRef, projectile.getLocation()));
for(Enchantment enchantment : player.getInventory().getItemInMainHand().getEnchantments().keySet()) { for(Enchantment enchantment : player.getInventory().getItemInMainHand().getEnchantments().keySet()) {
if(enchantment.getName().equalsIgnoreCase("piercing")) if(enchantment.getName().equalsIgnoreCase("piercing"))
@ -240,7 +242,7 @@ public class EntityListener implements Listener {
Entity defender = event.getEntity(); Entity defender = event.getEntity();
if (defender.getMetadata(MetadataConstants.CUSTOM_DAMAGE_METAKEY).size() > 0) { if (defender.getMetadata(MetadataConstants.CUSTOM_DAMAGE_METAKEY).size() > 0) {
defender.removeMetadata(MetadataConstants.CUSTOM_DAMAGE_METAKEY, plugin); defender.removeMetadata(MetadataConstants.CUSTOM_DAMAGE_METAKEY, pluginRef);
if (defender instanceof Player) { if (defender instanceof Player) {
LivingEntity defLive = (LivingEntity) defender; LivingEntity defLive = (LivingEntity) defender;
@ -287,7 +289,7 @@ public class EntityListener implements Listener {
{ {
if(attacker instanceof Player) { if(attacker instanceof Player) {
if(!plugin.getWorldGuardManager().hasMainFlag((Player) attacker)) if(!pluginRef.getWorldGuardManager().hasMainFlag((Player) attacker))
return; return;
} else if(attacker instanceof Projectile) { } else if(attacker instanceof Projectile) {
@ -295,7 +297,7 @@ public class EntityListener implements Listener {
Projectile projectile = (Projectile) attacker; Projectile projectile = (Projectile) attacker;
if(projectile.getShooter() instanceof Player) { if(projectile.getShooter() instanceof Player) {
if(!plugin.getWorldGuardManager().hasMainFlag((Player) projectile.getShooter())) if(!pluginRef.getWorldGuardManager().hasMainFlag((Player) projectile.getShooter()))
return; return;
} }
@ -406,7 +408,7 @@ public class EntityListener implements Listener {
} }
CombatUtils.processCombatAttack(event, attacker, target); CombatUtils.processCombatAttack(event, attacker, target);
CombatUtils.handleHealthbars(attacker, target, event.getFinalDamage(), plugin); CombatUtils.handleHealthbars(attacker, target, event.getFinalDamage(), pluginRef);
/** /**
* This sets entity names back to whatever they are supposed to be * This sets entity names back to whatever they are supposed to be
@ -459,7 +461,7 @@ public class EntityListener implements Listener {
Player player = (Player) event.getEntity(); Player player = (Player) event.getEntity();
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
} }
@ -468,7 +470,7 @@ public class EntityListener implements Listener {
* Process Registered Interactions * Process Registered Interactions
*/ */
InteractionManager.processEvent(event, plugin, InteractType.ON_ENTITY_DAMAGE); InteractionManager.processEvent(event, pluginRef, InteractType.ON_ENTITY_DAMAGE);
/* /*
* Old code * Old code
@ -537,7 +539,7 @@ public class EntityListener implements Listener {
Player player = (Player) owner; Player player = (Player) owner;
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
} }
@ -630,16 +632,16 @@ public class EntityListener implements Listener {
if (entity.hasMetadata(MetadataConstants.CUSTOM_NAME_METAKEY)) { if (entity.hasMetadata(MetadataConstants.CUSTOM_NAME_METAKEY)) {
entity.setCustomName(entity.getMetadata(MetadataConstants.CUSTOM_NAME_METAKEY).get(0).asString()); entity.setCustomName(entity.getMetadata(MetadataConstants.CUSTOM_NAME_METAKEY).get(0).asString());
entity.removeMetadata(MetadataConstants.CUSTOM_NAME_METAKEY, plugin); entity.removeMetadata(MetadataConstants.CUSTOM_NAME_METAKEY, pluginRef);
} }
if (entity.hasMetadata(MetadataConstants.NAME_VISIBILITY_METAKEY)) { if (entity.hasMetadata(MetadataConstants.NAME_VISIBILITY_METAKEY)) {
entity.setCustomNameVisible(entity.getMetadata(MetadataConstants.NAME_VISIBILITY_METAKEY).get(0).asBoolean()); entity.setCustomNameVisible(entity.getMetadata(MetadataConstants.NAME_VISIBILITY_METAKEY).get(0).asBoolean());
entity.removeMetadata(MetadataConstants.NAME_VISIBILITY_METAKEY, plugin); entity.removeMetadata(MetadataConstants.NAME_VISIBILITY_METAKEY, pluginRef);
} }
if (entity.hasMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY)) { if (entity.hasMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY)) {
entity.removeMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY, plugin); entity.removeMetadata(MetadataConstants.UNNATURAL_MOB_METAKEY, pluginRef);
} }
} }
@ -718,7 +720,7 @@ public class EntityListener implements Listener {
// We can make this assumption because we (should) be the only ones // We can make this assumption because we (should) be the only ones
// using this exact metadata // using this exact metadata
Player player = plugin.getServer().getPlayerExact(entity.getMetadata(MetadataConstants.TNT_TRACKING_METAKEY).get(0).asString()); Player player = pluginRef.getServer().getPlayerExact(entity.getMetadata(MetadataConstants.TNT_TRACKING_METAKEY).get(0).asString());
if (!pluginRef.getUserManager().hasPlayerDataKey(player)) { if (!pluginRef.getUserManager().hasPlayerDataKey(player)) {
return; return;
@ -731,7 +733,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -761,7 +763,7 @@ public class EntityListener implements Listener {
// We can make this assumption because we (should) be the only ones // We can make this assumption because we (should) be the only ones
// using this exact metadata // using this exact metadata
Player player = plugin.getServer().getPlayerExact(entity.getMetadata(MetadataConstants.TNT_TRACKING_METAKEY).get(0).asString()); Player player = pluginRef.getServer().getPlayerExact(entity.getMetadata(MetadataConstants.TNT_TRACKING_METAKEY).get(0).asString());
if (!pluginRef.getUserManager().hasPlayerDataKey(player)) { if (!pluginRef.getUserManager().hasPlayerDataKey(player)) {
return; return;
@ -769,7 +771,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -832,7 +834,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -933,7 +935,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -979,7 +981,7 @@ public class EntityListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }

View File

@ -28,10 +28,10 @@ import org.bukkit.metadata.MetadataValue;
import java.util.List; import java.util.List;
public class InventoryListener implements Listener { public class InventoryListener implements Listener {
private final mcMMO plugin; private final mcMMO pluginRef;
public InventoryListener(final mcMMO plugin) { public InventoryListener(final mcMMO pluginRef) {
this.plugin = plugin; this.pluginRef = pluginRef;
} }
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
@ -79,7 +79,7 @@ public class InventoryListener implements Listener {
return; return;
} }
furnaceBlock.removeMetadata(MetadataConstants.FURNACE_TRACKING_METAKEY, plugin); furnaceBlock.removeMetadata(MetadataConstants.FURNACE_TRACKING_METAKEY, pluginRef);
} }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
@ -100,7 +100,7 @@ public class InventoryListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -133,7 +133,7 @@ public class InventoryListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -165,7 +165,7 @@ public class InventoryListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -232,7 +232,7 @@ public class InventoryListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
@ -454,11 +454,11 @@ public class InventoryListener implements Listener {
/* WORLD GUARD MAIN FLAG CHECK */ /* WORLD GUARD MAIN FLAG CHECK */
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasMainFlag(player)) if (!pluginRef.getWorldGuardManager().hasMainFlag(player))
return; return;
} }
new PlayerUpdateInventoryTask((Player) whoClicked).runTaskLater(plugin, 0); new PlayerUpdateInventoryTask((Player) whoClicked).runTaskLater(pluginRef, 0);
} }
private Block processInventoryOpenOrCloseEvent(Inventory inventory) { private Block processInventoryOpenOrCloseEvent(Inventory inventory) {
@ -482,6 +482,6 @@ public class InventoryListener implements Listener {
return null; return null;
} }
return plugin.getServer().getPlayerExact(metadata.get(0).asString()); return pluginRef.getServer().getPlayerExact(metadata.get(0).asString());
} }
} }

View File

@ -451,7 +451,7 @@ public class PlayerListener implements Listener {
if (!drop.hasMetadata(MetadataConstants.DROPPED_ITEM_TRACKING_METAKEY) && mcMMOPlayer.inParty() && ItemUtils.isSharable(dropStack)) { if (!drop.hasMetadata(MetadataConstants.DROPPED_ITEM_TRACKING_METAKEY) && mcMMOPlayer.inParty() && ItemUtils.isSharable(dropStack)) {
event.setCancelled(ShareHandler.handleItemShare(drop, mcMMOPlayer)); event.setCancelled(mcMMOPlayer.getParty().getShareHandler().handleItemShare(drop, mcMMOPlayer));
SoundManager.sendSound(player, player.getLocation(), SoundType.POP); SoundManager.sendSound(player, player.getLocation(), SoundType.POP);
} }

View File

@ -17,10 +17,10 @@ import org.bukkit.event.Listener;
public class SelfListener implements Listener { public class SelfListener implements Listener {
//Used in task scheduling and other things //Used in task scheduling and other things
private final mcMMO plugin; private final mcMMO pluginRef;
public SelfListener(mcMMO plugin) { public SelfListener(mcMMO pluginRef) {
this.plugin = plugin; this.pluginRef = pluginRef;
} }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
@ -32,7 +32,7 @@ public class SelfListener implements Listener {
for (int i = 0; i < event.getLevelsGained(); i++) { for (int i = 0; i < event.getLevelsGained(); i++) {
int previousLevelGained = event.getSkillLevel() - i; int previousLevelGained = event.getSkillLevel() - i;
//Send player skill unlock notifications //Send player skill unlock notifications
pluginRef.getUserManager().getPlayer(player).processUnlockNotifications(plugin, event.getSkill(), previousLevelGained); pluginRef.getUserManager().getPlayer(player).processUnlockNotifications(pluginRef, event.getSkill(), previousLevelGained);
} }
//Reset the delay timer //Reset the delay timer
@ -70,7 +70,7 @@ public class SelfListener implements Listener {
event.getXpGainReason() == XPGainReason.SHARED_PVE || event.getXpGainReason() == XPGainReason.SHARED_PVE ||
event.getXpGainReason() == XPGainReason.SHARED_PVP) { event.getXpGainReason() == XPGainReason.SHARED_PVP) {
if (WorldGuardUtils.isWorldGuardLoaded()) { if (WorldGuardUtils.isWorldGuardLoaded()) {
if (!plugin.getWorldGuardManager().hasXPFlag(player)) { if (!pluginRef.getWorldGuardManager().hasXPFlag(player)) {
event.setRawXpGained(0); event.setRawXpGained(0);
event.setCancelled(true); event.setCancelled(true);
} }

View File

@ -16,10 +16,10 @@ import org.bukkit.event.world.WorldUnloadEvent;
import java.io.File; import java.io.File;
public class WorldListener implements Listener { public class WorldListener implements Listener {
private final mcMMO plugin; private final mcMMO pluginRef;
public WorldListener(final mcMMO plugin) { public WorldListener(final mcMMO pluginRef) {
this.plugin = plugin; this.pluginRef = pluginRef;
} }
/** /**
@ -55,11 +55,11 @@ public class WorldListener implements Listener {
World world = event.getWorld(); World world = event.getWorld();
if (!new File(world.getWorldFolder(), "mcmmo_data").exists() || plugin == null) { if (!new File(world.getWorldFolder(), "mcmmo_data").exists() || pluginRef == null) {
return; return;
} }
plugin.getLogger().info("Converting block storage for " + world.getName() + " to a new format."); pluginRef.getLogger().info("Converting block storage for " + world.getName() + " to a new format.");
//new BlockStoreConversionMain(world).run(); //new BlockStoreConversionMain(world).run();
} }

View File

@ -60,7 +60,6 @@ public class mcMMO extends JavaPlugin {
private ChunkManager placeStore; private ChunkManager placeStore;
private ConfigManager configManager; private ConfigManager configManager;
private DynamicSettingsManager dynamicSettingsManager; private DynamicSettingsManager dynamicSettingsManager;
private DatabaseManagerFactory databaseManagerFactory;
private DatabaseManager databaseManager; private DatabaseManager databaseManager;
private FormulaManager formulaManager; private FormulaManager formulaManager;
private MaterialMapStore materialMapStore; private MaterialMapStore materialMapStore;
@ -78,7 +77,9 @@ public class mcMMO extends JavaPlugin {
private ScoreboardManager scoreboardManager; private ScoreboardManager scoreboardManager;
/* Not-Managers but my naming scheme sucks */ /* Not-Managers but my naming scheme sucks */
private DatabaseManagerFactory databaseManagerFactory;
private CommandTools commandTools; private CommandTools commandTools;
private TextComponentFactory textComponentFactory;
/* File Paths */ /* File Paths */
private String mainDirectory; private String mainDirectory;
@ -114,6 +115,9 @@ public class mcMMO extends JavaPlugin {
loadConfigFiles(); loadConfigFiles();
registerDynamicSettings(); //Do this after configs are loaded registerDynamicSettings(); //Do this after configs are loaded
//Init TextComponentFactory
textComponentFactory = new TextComponentFactory(this);
if (healthBarPluginEnabled) { if (healthBarPluginEnabled) {
getLogger().info("HealthBar plugin found, mcMMO's healthbars are automatically disabled."); getLogger().info("HealthBar plugin found, mcMMO's healthbars are automatically disabled.");
} }
@ -200,7 +204,7 @@ public class mcMMO extends JavaPlugin {
playerLevelUtils = new PlayerLevelUtils(); playerLevelUtils = new PlayerLevelUtils();
//Init Notification Manager //Init Notification Manager
notificationManager = new NotificationManager(); notificationManager = new NotificationManager(this);
//Init Chat Manager //Init Chat Manager
chatManager = new ChatManager(this); chatManager = new ChatManager(this);
@ -674,4 +678,8 @@ public class mcMMO extends JavaPlugin {
public ScoreboardManager getScoreboardManager() { public ScoreboardManager getScoreboardManager() {
return scoreboardManager; return scoreboardManager;
} }
public TextComponentFactory getTextComponentFactory() {
return textComponentFactory;
}
} }

View File

@ -462,7 +462,7 @@ public final class PartyManager {
public void createParty(McMMOPlayer mcMMOPlayer, String partyName, String password) { public void createParty(McMMOPlayer mcMMOPlayer, String partyName, String password) {
Player player = mcMMOPlayer.getPlayer(); Player player = mcMMOPlayer.getPlayer();
Party party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName.replace(".", ""), password); Party party = new Party(new PartyLeader(player.getUniqueId(), player.getName()), partyName.replace(".", ""), password, pluginRef);
if (password != null) { if (password != null) {
player.sendMessage(pluginRef.getLocaleManager().getString("Party.Password.Set", password)); player.sendMessage(pluginRef.getLocaleManager().getString("Party.Password.Set", password));

View File

@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill; import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
import com.gmail.nossr50.listeners.InteractionManager; import com.gmail.nossr50.listeners.InteractionManager;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.RankUtils;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.ChatMessageType;
@ -18,8 +19,15 @@ import java.util.List;
/** /**
* This class handles many of the JSON components that mcMMO makes and uses * This class handles many of the JSON components that mcMMO makes and uses
*/ */
//TODO: Needs to be rewritten
public class TextComponentFactory { public class TextComponentFactory {
private mcMMO pluginRef;
public TextComponentFactory(mcMMO pluginRef) {
this.pluginRef = pluginRef;
}
/** /**
* Makes a text component using strings from a locale and supports passing an undefined number of variables to the LocaleManager * Makes a text component using strings from a locale and supports passing an undefined number of variables to the LocaleManager
* *
@ -27,29 +35,29 @@ public class TextComponentFactory {
* @param values vars to be passed to the locale loader * @param values vars to be passed to the locale loader
* @return * @return
*/ */
public static TextComponent getNotificationMultipleValues(String localeKey, String... values) public TextComponent getNotificationMultipleValues(String localeKey, String... values)
{ {
String preColoredString = pluginRef.getLocaleManager().getString(localeKey, (Object[]) values); String preColoredString = pluginRef.getLocaleManager().getString(localeKey, (Object[]) values);
TextComponent msg = new TextComponent(preColoredString); TextComponent msg = new TextComponent(preColoredString);
return new TextComponent(msg); return new TextComponent(msg);
} }
public static TextComponent getNotificationTextComponentFromLocale(String localeKey) public TextComponent getNotificationTextComponentFromLocale(String localeKey)
{ {
return getNotificationTextComponent(pluginRef.getLocaleManager().getString(localeKey)); return getNotificationTextComponent(pluginRef.getLocaleManager().getString(localeKey));
} }
public static TextComponent getNotificationLevelUpTextComponent(PrimarySkillType skill, int levelsGained, int currentLevel) { public TextComponent getNotificationLevelUpTextComponent(PrimarySkillType skill, int levelsGained, int currentLevel) {
TextComponent textComponent = new TextComponent(pluginRef.getLocaleManager().getString("Overhaul.Levelup", pluginRef.getLocaleManager().getString("Overhaul.Name." + StringUtils.getCapitalized(skill.toString())), levelsGained, currentLevel)); TextComponent textComponent = new TextComponent(pluginRef.getLocaleManager().getString("Overhaul.Levelup", pluginRef.getLocaleManager().getString("Overhaul.Name." + StringUtils.getCapitalized(skill.toString())), levelsGained, currentLevel));
return textComponent; return textComponent;
} }
private static TextComponent getNotificationTextComponent(String text) { private TextComponent getNotificationTextComponent(String text) {
//textComponent.setColor(getNotificationColor(notificationType)); //textComponent.setColor(getNotificationColor(notificationType));
return new TextComponent(text); return new TextComponent(text);
} }
public static void sendPlayerSubSkillWikiLink(Player player, String subskillformatted) { public void sendPlayerSubSkillWikiLink(Player player, String subskillformatted) {
if (!pluginRef.getConfigManager().getConfigAds().isShowWebsiteLinks()) if (!pluginRef.getConfigManager().getConfigAds().isShowWebsiteLinks())
return; return;
@ -69,7 +77,7 @@ public class TextComponentFactory {
spigotPlayer.sendMessage(ChatMessageType.SYSTEM, wikiLinkComponent); spigotPlayer.sendMessage(ChatMessageType.SYSTEM, wikiLinkComponent);
} }
public static void sendPlayerUrlHeader(Player player) { public void sendPlayerUrlHeader(Player player) {
Player.Spigot spigotPlayer = player.spigot(); Player.Spigot spigotPlayer = player.spigot();
TextComponent prefix = new TextComponent(pluginRef.getLocaleManager().getString("Overhaul.mcMMO.Url.Wrap.Prefix") + " "); TextComponent prefix = new TextComponent(pluginRef.getLocaleManager().getString("Overhaul.mcMMO.Url.Wrap.Prefix") + " ");
@ -112,7 +120,7 @@ public class TextComponentFactory {
} }
} }
public static void sendPlayerSubSkillList(Player player, List<TextComponent> textComponents) { public void sendPlayerSubSkillList(Player player, List<TextComponent> textComponents) {
TextComponent emptySpace = new TextComponent(" "); TextComponent emptySpace = new TextComponent(" ");
ArrayList<BaseComponent> bulkMessage = new ArrayList<>(); ArrayList<BaseComponent> bulkMessage = new ArrayList<>();
@ -155,7 +163,7 @@ public class TextComponentFactory {
player.spigot().sendMessage(bulkArray); player.spigot().sendMessage(bulkArray);
} }
private static TextComponent getWebLinkTextComponent(McMMOWebLinks webLinks) { private TextComponent getWebLinkTextComponent(McMMOWebLinks webLinks) {
TextComponent webTextComponent; TextComponent webTextComponent;
switch (webLinks) { switch (webLinks) {
@ -199,51 +207,51 @@ public class TextComponentFactory {
return webTextComponent; return webTextComponent;
} }
private static void addChild(TextComponent webTextComponent, String childName) { private void addChild(TextComponent webTextComponent, String childName) {
TextComponent childComponent = new TextComponent(childName); TextComponent childComponent = new TextComponent(childName);
childComponent.setColor(ChatColor.BLUE); childComponent.setColor(ChatColor.BLUE);
webTextComponent.addExtra(childComponent); webTextComponent.addExtra(childComponent);
} }
private static BaseComponent[] getUrlHoverEvent(McMMOWebLinks webLinks) { private BaseComponent[] getUrlHoverEvent(McMMOWebLinks webLinks) {
ComponentBuilder componentBuilder = new ComponentBuilder(webLinks.getNiceTitle()); ComponentBuilder componentBuilder = new ComponentBuilder(webLinks.getNiceTitle());
switch (webLinks) { switch (webLinks) {
case WEBSITE: case WEBSITE:
addUrlHeaderHover(webLinks, componentBuilder); addUrlHeaderHover(webLinks, componentBuilder);
componentBuilder.append("\n\n").italic(false); componentBuilder.append("\n\n").italic(false);
componentBuilder.append(webLinks.getLocaleDescription()).color(ChatColor.GREEN); componentBuilder.append(pluginRef.getLocaleManager().getString(webLinks.getLocaleKey())).color(ChatColor.GREEN);
componentBuilder.append("\nDev Blogs, and information related to mcMMO can be found here").color(ChatColor.GRAY); componentBuilder.append("\nDev Blogs, and information related to mcMMO can be found here").color(ChatColor.GRAY);
break; break;
case SPIGOT: case SPIGOT:
addUrlHeaderHover(webLinks, componentBuilder); addUrlHeaderHover(webLinks, componentBuilder);
componentBuilder.append("\n\n").italic(false); componentBuilder.append("\n\n").italic(false);
componentBuilder.append(webLinks.getLocaleDescription()).color(ChatColor.GREEN); componentBuilder.append(pluginRef.getLocaleManager().getString(webLinks.getLocaleKey())).color(ChatColor.GREEN);
componentBuilder.append("\nI post regularly in the discussion thread here!").color(ChatColor.GRAY); componentBuilder.append("\nI post regularly in the discussion thread here!").color(ChatColor.GRAY);
break; break;
case PATREON: case PATREON:
addUrlHeaderHover(webLinks, componentBuilder); addUrlHeaderHover(webLinks, componentBuilder);
componentBuilder.append("\n\n").italic(false); componentBuilder.append("\n\n").italic(false);
componentBuilder.append(webLinks.getLocaleDescription()).color(ChatColor.GREEN); componentBuilder.append(pluginRef.getLocaleManager().getString(webLinks.getLocaleKey())).color(ChatColor.GREEN);
componentBuilder.append("\n"); componentBuilder.append("\n");
componentBuilder.append("Show support by buying me a coffee :)").italic(false).color(ChatColor.GRAY); componentBuilder.append("Show support by buying me a coffee :)").italic(false).color(ChatColor.GRAY);
break; break;
case WIKI: case WIKI:
addUrlHeaderHover(webLinks, componentBuilder); addUrlHeaderHover(webLinks, componentBuilder);
componentBuilder.append("\n\n").italic(false); componentBuilder.append("\n\n").italic(false);
componentBuilder.append(webLinks.getLocaleDescription()).color(ChatColor.GREEN); componentBuilder.append(pluginRef.getLocaleManager().getString(webLinks.getLocaleKey())).color(ChatColor.GREEN);
componentBuilder.append("\n"); componentBuilder.append("\n");
componentBuilder.append("I'm looking for more wiki staff, contact me on our discord!").italic(false).color(ChatColor.DARK_GRAY); componentBuilder.append("I'm looking for more wiki staff, contact me on our discord!").italic(false).color(ChatColor.DARK_GRAY);
break; break;
case DISCORD: case DISCORD:
addUrlHeaderHover(webLinks, componentBuilder); addUrlHeaderHover(webLinks, componentBuilder);
componentBuilder.append("\n\n").italic(false); componentBuilder.append("\n\n").italic(false);
componentBuilder.append(webLinks.getLocaleDescription()).color(ChatColor.GREEN); componentBuilder.append(pluginRef.getLocaleManager().getString(webLinks.getLocaleKey())).color(ChatColor.GREEN);
break; break;
case HELP_TRANSLATE: case HELP_TRANSLATE:
addUrlHeaderHover(webLinks, componentBuilder); addUrlHeaderHover(webLinks, componentBuilder);
componentBuilder.append("\n\n").italic(false); componentBuilder.append("\n\n").italic(false);
componentBuilder.append(webLinks.getLocaleDescription()).color(ChatColor.GREEN); componentBuilder.append(pluginRef.getLocaleManager().getString(webLinks.getLocaleKey())).color(ChatColor.GREEN);
componentBuilder.append("\n"); componentBuilder.append("\n");
componentBuilder.append("You can use this website to help translate mcMMO into your language!" + componentBuilder.append("You can use this website to help translate mcMMO into your language!" +
"\nIf you want to know more contact me in discord.").italic(false).color(ChatColor.DARK_GRAY); "\nIf you want to know more contact me in discord.").italic(false).color(ChatColor.DARK_GRAY);
@ -252,16 +260,16 @@ public class TextComponentFactory {
return componentBuilder.create(); return componentBuilder.create();
} }
private static void addUrlHeaderHover(McMMOWebLinks webLinks, ComponentBuilder componentBuilder) { private void addUrlHeaderHover(McMMOWebLinks webLinks, ComponentBuilder componentBuilder) {
componentBuilder.append("\n"); componentBuilder.append("\n");
componentBuilder.append(webLinks.getUrl()).color(ChatColor.GRAY).italic(true); componentBuilder.append(webLinks.getUrl()).color(ChatColor.GRAY).italic(true);
} }
private static ClickEvent getUrlClickEvent(String url) { private ClickEvent getUrlClickEvent(String url) {
return new ClickEvent(ClickEvent.Action.OPEN_URL, url); return new ClickEvent(ClickEvent.Action.OPEN_URL, url);
} }
private static TextComponent getSubSkillTextComponent(Player player, SubSkillType subSkillType) { private TextComponent getSubSkillTextComponent(Player player, SubSkillType subSkillType) {
//Get skill name //Get skill name
String skillName = subSkillType.getLocaleName(); String skillName = subSkillType.getLocaleName();
@ -278,11 +286,11 @@ public class TextComponentFactory {
return textComponent; return textComponent;
} }
private static void addNewHoverComponentToTextComponent(TextComponent textComponent, BaseComponent[] baseComponent) { private void addNewHoverComponentToTextComponent(TextComponent textComponent, BaseComponent[] baseComponent) {
textComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, baseComponent)); textComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, baseComponent));
} }
private static TextComponent getSubSkillTextComponent(Player player, AbstractSubSkill abstractSubSkill) { private TextComponent getSubSkillTextComponent(Player player, AbstractSubSkill abstractSubSkill) {
//String key = abstractSubSkill.getConfigKeyName(); //String key = abstractSubSkill.getConfigKeyName();
String skillName = abstractSubSkill.getNiceName(); String skillName = abstractSubSkill.getNiceName();
@ -302,7 +310,7 @@ public class TextComponentFactory {
return textComponent; return textComponent;
} }
private static TextComponent initNewSkillTextComponent(Player player, String skillName, SubSkillType subSkillType, boolean skillUnlocked) { private TextComponent initNewSkillTextComponent(Player player, String skillName, SubSkillType subSkillType, boolean skillUnlocked) {
TextComponent textComponent; TextComponent textComponent;
if (skillUnlocked) { if (skillUnlocked) {
if (RankUtils.getHighestRank(subSkillType) == RankUtils.getRank(player, subSkillType) && subSkillType.getNumRanks() > 1) if (RankUtils.getHighestRank(subSkillType) == RankUtils.getRank(player, subSkillType) && subSkillType.getNumRanks() > 1)
@ -321,11 +329,11 @@ public class TextComponentFactory {
return textComponent; return textComponent;
} }
private static BaseComponent[] getSubSkillHoverComponent(Player player, AbstractSubSkill abstractSubSkill) { private BaseComponent[] getSubSkillHoverComponent(Player player, AbstractSubSkill abstractSubSkill) {
return getSubSkillHoverEventJSON(abstractSubSkill, player); return getSubSkillHoverEventJSON(abstractSubSkill, player);
} }
private static BaseComponent[] getSubSkillHoverComponent(Player player, SubSkillType subSkillType) { private BaseComponent[] getSubSkillHoverComponent(Player player, SubSkillType subSkillType) {
return getSubSkillHoverEventJSON(subSkillType, player); return getSubSkillHoverEventJSON(subSkillType, player);
} }
@ -336,7 +344,7 @@ public class TextComponentFactory {
* @param player the player who owns this subskill * @param player the player who owns this subskill
* @return the hover basecomponent object for this subskill * @return the hover basecomponent object for this subskill
*/ */
private static BaseComponent[] getSubSkillHoverEventJSON(AbstractSubSkill abstractSubSkill, Player player) { private BaseComponent[] getSubSkillHoverEventJSON(AbstractSubSkill abstractSubSkill, Player player) {
String skillName = abstractSubSkill.getNiceName(); String skillName = abstractSubSkill.getNiceName();
/* /*
@ -388,7 +396,7 @@ public class TextComponentFactory {
return componentBuilder.create(); return componentBuilder.create();
} }
private static ComponentBuilder setupSkillComponentNameStyle(Player player, String skillName, SubSkillType subSkillType, boolean skillUnlocked) { private ComponentBuilder setupSkillComponentNameStyle(Player player, String skillName, SubSkillType subSkillType, boolean skillUnlocked) {
ComponentBuilder componentBuilder; ComponentBuilder componentBuilder;
if (skillUnlocked) { if (skillUnlocked) {
if (RankUtils.getHighestRank(subSkillType) == RankUtils.getRank(player, subSkillType) && subSkillType.getNumRanks() > 1) if (RankUtils.getHighestRank(subSkillType) == RankUtils.getRank(player, subSkillType) && subSkillType.getNumRanks() > 1)
@ -401,13 +409,13 @@ public class TextComponentFactory {
return componentBuilder; return componentBuilder;
} }
private static ComponentBuilder getNewComponentBuilder(String skillName) { private ComponentBuilder getNewComponentBuilder(String skillName) {
ComponentBuilder componentBuilder = new ComponentBuilder(skillName); ComponentBuilder componentBuilder = new ComponentBuilder(skillName);
componentBuilder.append("\n"); componentBuilder.append("\n");
return componentBuilder; return componentBuilder;
} }
private static void addRanked(ChatColor ccRank, ChatColor ccCurRank, ChatColor ccPossessive, ChatColor ccNumRanks, ComponentBuilder componentBuilder, int numRanks, int rank, int nextRank) { private void addRanked(ChatColor ccRank, ChatColor ccCurRank, ChatColor ccPossessive, ChatColor ccNumRanks, ComponentBuilder componentBuilder, int numRanks, int rank, int nextRank) {
if (numRanks > 0) { if (numRanks > 0) {
//Rank: x //Rank: x
componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.Hover.Rank", String.valueOf(rank))).append("\n") componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.Hover.Rank", String.valueOf(rank))).append("\n")
@ -423,26 +431,26 @@ public class TextComponentFactory {
} }
} }
private static void addLocked(SubSkillType subSkillType, ChatColor ccLocked, ChatColor ccLevelRequirement, ChatColor ccLevelRequired, ComponentBuilder componentBuilder) { private void addLocked(SubSkillType subSkillType, ChatColor ccLocked, ChatColor ccLevelRequirement, ChatColor ccLevelRequired, ComponentBuilder componentBuilder) {
addLocked(ccLocked, ccLevelRequirement, componentBuilder); addLocked(ccLocked, ccLevelRequirement, componentBuilder);
componentBuilder.append(String.valueOf(RankUtils.getSubSkillUnlockLevel(subSkillType, 1))).color(ccLevelRequired); componentBuilder.append(String.valueOf(RankUtils.getSubSkillUnlockLevel(subSkillType, 1))).color(ccLevelRequired);
//componentBuilder.append("\n"); //componentBuilder.append("\n");
} }
private static void addLocked(AbstractSubSkill abstractSubSkill, ChatColor ccLocked, ChatColor ccLevelRequirement, ChatColor ccLevelRequired, ComponentBuilder componentBuilder) { private void addLocked(AbstractSubSkill abstractSubSkill, ChatColor ccLocked, ChatColor ccLevelRequirement, ChatColor ccLevelRequired, ComponentBuilder componentBuilder) {
addLocked(ccLocked, ccLevelRequirement, componentBuilder); addLocked(ccLocked, ccLevelRequirement, componentBuilder);
componentBuilder.append(String.valueOf(RankUtils.getSubSkillUnlockLevel(abstractSubSkill, 1))).color(ccLevelRequired); componentBuilder.append(String.valueOf(RankUtils.getSubSkillUnlockLevel(abstractSubSkill, 1))).color(ccLevelRequired);
//componentBuilder.append("\n");m //componentBuilder.append("\n");m
} }
private static void addLocked(ChatColor ccLocked, ChatColor ccLevelRequirement, ComponentBuilder componentBuilder) { private void addLocked(ChatColor ccLocked, ChatColor ccLevelRequirement, ComponentBuilder componentBuilder) {
componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.Locked")).color(ccLocked).bold(true); componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.Locked")).color(ccLocked).bold(true);
componentBuilder.append("\n").append("\n").bold(false); componentBuilder.append("\n").append("\n").bold(false);
componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.LevelRequirement") + ": ").color(ccLevelRequirement); componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.LevelRequirement") + ": ").color(ccLevelRequirement);
} }
@Deprecated @Deprecated
private static BaseComponent[] getSubSkillHoverEventJSON(SubSkillType subSkillType, Player player) { private BaseComponent[] getSubSkillHoverEventJSON(SubSkillType subSkillType, Player player) {
String skillName = subSkillType.getLocaleName(); String skillName = subSkillType.getLocaleName();
/* /*
@ -492,7 +500,7 @@ public class TextComponentFactory {
return componentBuilder.create(); return componentBuilder.create();
} }
private static void addSubSkillTypeToHoverEventJSON(AbstractSubSkill abstractSubSkill, ComponentBuilder componentBuilder) { private void addSubSkillTypeToHoverEventJSON(AbstractSubSkill abstractSubSkill, ComponentBuilder componentBuilder) {
if (abstractSubSkill.isSuperAbility()) { if (abstractSubSkill.isSuperAbility()) {
componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.Type.SuperAbility")).color(ChatColor.LIGHT_PURPLE); componentBuilder.append(pluginRef.getLocaleManager().getString("JSON.Type.SuperAbility")).color(ChatColor.LIGHT_PURPLE);
componentBuilder.bold(true); componentBuilder.bold(true);
@ -507,12 +515,12 @@ public class TextComponentFactory {
componentBuilder.append("\n"); componentBuilder.append("\n");
} }
public static void getSubSkillTextComponents(Player player, List<TextComponent> textComponents, PrimarySkillType parentSkill) { public void getSubSkillTextComponents(Player player, List<TextComponent> textComponents, PrimarySkillType parentSkill) {
for (SubSkillType subSkillType : SubSkillType.values()) { for (SubSkillType subSkillType : SubSkillType.values()) {
if (subSkillType.getParentSkill() == parentSkill) { if (subSkillType.getParentSkill() == parentSkill) {
if (Permissions.isSubSkillEnabled(player, subSkillType)) { if (Permissions.isSubSkillEnabled(player, subSkillType)) {
if (!InteractionManager.hasSubSkill(subSkillType)) if (!InteractionManager.hasSubSkill(subSkillType))
textComponents.add(TextComponentFactory.getSubSkillTextComponent(player, subSkillType)); textComponents.add(pluginRef.getTextComponentFactory().getSubSkillTextComponent(player, subSkillType));
} }
} }
} }
@ -521,12 +529,12 @@ public class TextComponentFactory {
for (AbstractSubSkill abstractSubSkill : InteractionManager.getSubSkillList()) { for (AbstractSubSkill abstractSubSkill : InteractionManager.getSubSkillList()) {
if (abstractSubSkill.getPrimarySkill() == parentSkill) { if (abstractSubSkill.getPrimarySkill() == parentSkill) {
if (Permissions.isSubSkillEnabled(player, abstractSubSkill)) if (Permissions.isSubSkillEnabled(player, abstractSubSkill))
textComponents.add(TextComponentFactory.getSubSkillTextComponent(player, abstractSubSkill)); textComponents.add(pluginRef.getTextComponentFactory().getSubSkillTextComponent(player, abstractSubSkill));
} }
} }
} }
public static TextComponent getSubSkillUnlockedNotificationComponents(Player player, SubSkillType subSkillType) { public TextComponent getSubSkillUnlockedNotificationComponents(Player player, SubSkillType subSkillType) {
TextComponent unlockMessage = new TextComponent(""); TextComponent unlockMessage = new TextComponent("");
unlockMessage.setText(pluginRef.getLocaleManager().getString("JSON.SkillUnlockMessage", subSkillType.getLocaleName(), RankUtils.getRank(player, subSkillType))); unlockMessage.setText(pluginRef.getLocaleManager().getString("JSON.SkillUnlockMessage", subSkillType.getLocaleName(), RankUtils.getRank(player, subSkillType)));
unlockMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, getSubSkillHoverComponent(player, subSkillType))); unlockMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, getSubSkillHoverComponent(player, subSkillType)));

View File

@ -7,6 +7,7 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent; import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.TextComponentFactory; import com.gmail.nossr50.util.TextComponentFactory;
import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundManager;
@ -28,8 +29,10 @@ import java.util.HashMap;
public class NotificationManager { public class NotificationManager {
private HashMap<NotificationType, PlayerNotificationSettings> playerNotificationHashMap; private HashMap<NotificationType, PlayerNotificationSettings> playerNotificationHashMap;
private mcMMO pluginRef;
public NotificationManager() { public NotificationManager(mcMMO pluginRef) {
this.pluginRef = pluginRef;
playerNotificationHashMap = new HashMap<>(); playerNotificationHashMap = new HashMap<>();
initMaps(); initMaps();
@ -65,7 +68,7 @@ public class NotificationManager {
if (pluginRef.getUserManager().getPlayer(player) == null || !pluginRef.getUserManager().getPlayer(player).useChatNotifications()) if (pluginRef.getUserManager().getPlayer(player) == null || !pluginRef.getUserManager().getPlayer(player).useChatNotifications())
return; return;
TextComponent textComponent = TextComponentFactory.getNotificationTextComponentFromLocale(key); TextComponent textComponent = pluginRef.getTextComponentFactory().getNotificationTextComponentFromLocale(key);
McMMOPlayerNotificationEvent customEvent = pluginRef.getEventManager().createAndCallNotificationEvent(player, notificationType, textComponent); McMMOPlayerNotificationEvent customEvent = pluginRef.getEventManager().createAndCallNotificationEvent(player, notificationType, textComponent);
sendNotification(customEvent); sendNotification(customEvent);
@ -78,7 +81,7 @@ public class NotificationManager {
* @return TextComponent for this message * @return TextComponent for this message
*/ */
public TextComponent buildTextComponent(String key, String... values) { public TextComponent buildTextComponent(String key, String... values) {
return TextComponentFactory.getNotificationMultipleValues(key, values); return pluginRef.getTextComponentFactory().getNotificationMultipleValues(key, values);
} }
/** /**
@ -87,7 +90,7 @@ public class NotificationManager {
* @return TextComponent for this message * @return TextComponent for this message
*/ */
public TextComponent buildTextComponent(String key) { public TextComponent buildTextComponent(String key) {
return TextComponentFactory.getNotificationTextComponentFromLocale(key); return pluginRef.getTextComponentFactory().getNotificationTextComponentFromLocale(key);
} }
/** /**
@ -135,7 +138,7 @@ public class NotificationManager {
if (!mcMMOPlayer.useChatNotifications()) if (!mcMMOPlayer.useChatNotifications())
return; return;
TextComponent levelUpTextComponent = TextComponentFactory.getNotificationLevelUpTextComponent(skillName, levelsGained, newLevel); TextComponent levelUpTextComponent = pluginRef.getTextComponentFactory().getNotificationLevelUpTextComponent(skillName, levelsGained, newLevel);
McMMOPlayerNotificationEvent customEvent = pluginRef.getEventManager().createAndCallNotificationEvent(mcMMOPlayer.getPlayer(), NotificationType.LEVEL_UP_MESSAGE, levelUpTextComponent); McMMOPlayerNotificationEvent customEvent = pluginRef.getEventManager().createAndCallNotificationEvent(mcMMOPlayer.getPlayer(), NotificationType.LEVEL_UP_MESSAGE, levelUpTextComponent);
sendNotification(customEvent); sendNotification(customEvent);
@ -179,7 +182,7 @@ public class NotificationManager {
return; return;
//CHAT MESSAGE //CHAT MESSAGE
mcMMOPlayer.getPlayer().spigot().sendMessage(TextComponentFactory.getSubSkillUnlockedNotificationComponents(mcMMOPlayer.getPlayer(), subSkillType)); mcMMOPlayer.getPlayer().spigot().sendMessage(pluginRef.getTextComponentFactory().getSubSkillUnlockedNotificationComponents(mcMMOPlayer.getPlayer(), subSkillType));
//Unlock Sound Effect //Unlock Sound Effect
SoundManager.sendCategorizedSound(mcMMOPlayer.getPlayer(), mcMMOPlayer.getPlayer().getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER); SoundManager.sendCategorizedSound(mcMMOPlayer.getPlayer(), mcMMOPlayer.getPlayer().getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER);