Made Manager static

master
Ruakij 4 years ago
parent 1168b8859a
commit b54af93d4b

@ -25,8 +25,6 @@ public class Main extends JavaPlugin {
public static Logger log; public static Logger log;
public static LinkedBeaconTeleporterManager lbtManager;
public void onEnable() { public void onEnable() {
log = getLogger(); log = getLogger();
@ -42,7 +40,7 @@ public class Main extends JavaPlugin {
loadConfigs(); loadConfigs();
lbtManager = new LinkedBeaconTeleporterManager(); LinkedBeaconTeleporterManager.init();
log.info("Plugin activated"); log.info("Plugin activated");
} }

@ -3,8 +3,6 @@ package eu.ruekov.ruakij.LinkedBeaconTeleporters.customPlayerMoveEvent;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.io.InvalidObjectException;
public class CustomPlayerMoveEvent { public class CustomPlayerMoveEvent {
Player p; Player p;

@ -27,7 +27,7 @@ public abstract class LinkedBeaconTeleporter {
this.teleporterId = teleporterId; this.teleporterId = teleporterId;
// Check if id exists // Check if id exists
linkedBeaconTeleporters = Main.lbtManager.placedLBTsById.get(this.teleporterId()); linkedBeaconTeleporters = LinkedBeaconTeleporterManager.placedLBTsById.get(this.teleporterId());
if(linkedBeaconTeleporters == null){ if(linkedBeaconTeleporters == null){
// Create empty if not found // Create empty if not found
linkedBeaconTeleporters = new ArrayList<>(); linkedBeaconTeleporters = new ArrayList<>();

@ -45,7 +45,7 @@ public class LinkedBeaconTeleporterBlock extends LinkedBeaconTeleporter {
// TODO: Remove from placedLBTsById when empty? // TODO: Remove from placedLBTsById when empty?
// Remove from loc // Remove from loc
Main.lbtManager.placedLBTByLoc.remove( LinkedBeaconTeleporterManager.placedLBTByLoc.remove(
Function.serialiseBlockLocation(loc) Function.serialiseBlockLocation(loc)
); );
@ -65,9 +65,9 @@ public class LinkedBeaconTeleporterBlock extends LinkedBeaconTeleporter {
// Conversion methods // Conversion methods
public static LinkedBeaconTeleporterBlock getFromLocation(Location loc){ public static LinkedBeaconTeleporterBlock getFromLocation(Location loc){
return Main.lbtManager.getLbtBlockFromLocation(loc); return LinkedBeaconTeleporterManager.getLbtBlockFromLocation(loc);
} }
public static List<LinkedBeaconTeleporter> getListFromTeleportId(String teleportId){ public static List<LinkedBeaconTeleporter> getListFromTeleportId(String teleportId){
return Main.lbtManager.getLbtBlocksFromTeleportId(teleportId); return LinkedBeaconTeleporterManager.getLbtBlocksFromTeleportId(teleportId);
} }
} }

@ -24,7 +24,7 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
// Create a new LinkedBeaconTeleporter // Create a new LinkedBeaconTeleporter
super(); super();
this.item = Main.lbtManager.getItemStackFromData(this.teleporterId); this.item = LinkedBeaconTeleporterManager.getItemStackFromData(this.teleporterId);
} }
public LinkedBeaconTeleporterItem(String teleporterId, ItemStack item) { public LinkedBeaconTeleporterItem(String teleporterId, ItemStack item) {
super(teleporterId); super(teleporterId);
@ -34,7 +34,7 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
public LinkedBeaconTeleporterItem(String teleporterId){ public LinkedBeaconTeleporterItem(String teleporterId){
super(teleporterId); super(teleporterId);
this.item = Main.lbtManager.getItemStackFromData(teleporterId); this.item = LinkedBeaconTeleporterManager.getItemStackFromData(teleporterId);
} }
public ItemStack item(){ public ItemStack item(){
@ -60,11 +60,11 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
this.linkedBeaconTeleporters.add(lbtBlock); this.linkedBeaconTeleporters.add(lbtBlock);
// Add to id if not exists // Add to id if not exists
if(!Main.lbtManager.placedLBTsById.containsKey(this.teleporterId)) if(!LinkedBeaconTeleporterManager.placedLBTsById.containsKey(this.teleporterId))
Main.lbtManager.placedLBTsById.put(this.teleporterId, this.linkedBeaconTeleporters); LinkedBeaconTeleporterManager.placedLBTsById.put(this.teleporterId, this.linkedBeaconTeleporters);
// Add to location // Add to location
Main.lbtManager.placedLBTByLoc.put( LinkedBeaconTeleporterManager.placedLBTByLoc.put(
Function.serialiseBlockLocation(loc), Function.serialiseBlockLocation(loc),
lbtBlock lbtBlock
); );
@ -88,6 +88,6 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
// Conversion methods // Conversion methods
public static LinkedBeaconTeleporterItem getFromItemStack(ItemStack itemStack){ public static LinkedBeaconTeleporterItem getFromItemStack(ItemStack itemStack){
return Main.lbtManager.getLbtItemFromItemStack(itemStack); return LinkedBeaconTeleporterManager.getLbtItemFromItemStack(itemStack);
} }
} }

@ -19,13 +19,13 @@ import java.util.regex.Pattern;
public class LinkedBeaconTeleporterManager { public class LinkedBeaconTeleporterManager {
// Stores all placed Beacon-Teleporters for fast access // Stores all placed Beacon-Teleporters for fast access
// TODO: Evaluate necessity of 2 HashMaps with main reason of performance // TODO: Evaluate necessity of 2 HashMaps with main reason of performance
public HashMap<String, List<LinkedBeaconTeleporter>> placedLBTsById = new HashMap(); public static HashMap<String, List<LinkedBeaconTeleporter>> placedLBTsById = new HashMap();
public HashMap<String, LinkedBeaconTeleporterBlock> placedLBTByLoc = new HashMap(); public static HashMap<String, LinkedBeaconTeleporterBlock> placedLBTByLoc = new HashMap();
// Regex to match item-name&lore and extract id (group 1) // Regex to match item-name&lore and extract id (group 1)
String regex; static String regex;
public LinkedBeaconTeleporterManager(){ public static void init(){
Main.log.info("Loading LinkedBeaconTeleporter from config.."); Main.log.info("Loading LinkedBeaconTeleporter from config..");
// Construct search item-regex // Construct search item-regex
@ -80,7 +80,7 @@ public class LinkedBeaconTeleporterManager {
Main.log.info("All done!"); Main.log.info("All done!");
} }
void constructAndAddRecipes(){ static void constructAndAddRecipes(){
// Create result-item // Create result-item
ItemStack item = getItemStackFromData("-"); ItemStack item = getItemStackFromData("-");
item.setAmount(2); item.setAmount(2);
@ -102,7 +102,7 @@ public class LinkedBeaconTeleporterManager {
} }
// Conversion-methods // Conversion-methods
public ItemStack getItemStackFromData(String teleporterId){ public static ItemStack getItemStackFromData(String teleporterId){
ItemStack item = new ItemStack(Material.BEACON); ItemStack item = new ItemStack(Material.BEACON);
ItemMeta itemMeta = item.getItemMeta(); ItemMeta itemMeta = item.getItemMeta();
@ -126,7 +126,7 @@ public class LinkedBeaconTeleporterManager {
return item; return item;
} }
public LinkedBeaconTeleporterItem getLbtItemFromItemStack(ItemStack itemStack){ public static LinkedBeaconTeleporterItem getLbtItemFromItemStack(ItemStack itemStack){
ItemMeta itemMeta = itemStack.getItemMeta(); ItemMeta itemMeta = itemStack.getItemMeta();
// Serialize // Serialize
@ -150,13 +150,13 @@ public class LinkedBeaconTeleporterManager {
return lbtItem; return lbtItem;
} }
public LinkedBeaconTeleporterBlock getLbtBlockFromLocation(Location loc){ public static LinkedBeaconTeleporterBlock getLbtBlockFromLocation(Location loc){
// Serialize // Serialize
String serializedLoc = Function.serialiseBlockLocation(loc); String serializedLoc = Function.serialiseBlockLocation(loc);
return placedLBTByLoc.get(serializedLoc); return placedLBTByLoc.get(serializedLoc);
} }
public List<LinkedBeaconTeleporter> getLbtBlocksFromTeleportId(String teleportId){ public static List<LinkedBeaconTeleporter> getLbtBlocksFromTeleportId(String teleportId){
return placedLBTsById.get(teleportId); return placedLBTsById.get(teleportId);
} }
@ -174,7 +174,7 @@ public class LinkedBeaconTeleporterManager {
return regex; return regex;
} }
String serialiseBeaconItem(String name, List<String> lore){ static String serialiseBeaconItem(String name, List<String> lore){
// get name and remove control-chars // get name and remove control-chars
String str = name.replace("\\", "\\\\"); String str = name.replace("\\", "\\\\");
if(lore != null){ if(lore != null){

@ -2,6 +2,7 @@ package eu.ruekov.ruakij.LinkedBeaconTeleporters.listener;
import eu.ruekov.ruakij.LinkedBeaconTeleporters.Main; import eu.ruekov.ruakij.LinkedBeaconTeleporters.Main;
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterItem; import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterItem;
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterManager;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -21,7 +22,7 @@ public class OnCraftItemEvent implements Listener {
ItemStack itemResult = recipe.getResult(); ItemStack itemResult = recipe.getResult();
// Check if it has LinkedBeaconTeleporter-Data // Check if it has LinkedBeaconTeleporter-Data
LinkedBeaconTeleporterItem lbtItem = Main.lbtManager.getLbtItemFromItemStack(itemResult); LinkedBeaconTeleporterItem lbtItem = LinkedBeaconTeleporterManager.getLbtItemFromItemStack(itemResult);
// Ignore if not found // Ignore if not found
if(lbtItem == null) return; if(lbtItem == null) return;

@ -6,6 +6,7 @@ import eu.ruekov.ruakij.LinkedBeaconTeleporters.customPlayerMoveEvent.CustomPlay
import eu.ruekov.ruakij.LinkedBeaconTeleporters.customPlayerMoveEvent.CustomPlayerMoveEventListener; import eu.ruekov.ruakij.LinkedBeaconTeleporters.customPlayerMoveEvent.CustomPlayerMoveEventListener;
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporter; import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporter;
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterBlock; import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterBlock;
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterManager;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
@ -57,7 +58,7 @@ public class OnCustomPlayerMove implements CustomPlayerMoveEventListener {
// TODO: Check if beacon is active // TODO: Check if beacon is active
// Check if beacon is a LinkedBeaconTeleporter // Check if beacon is a LinkedBeaconTeleporter
LinkedBeaconTeleporterBlock lbtBlock = Main.lbtManager.getLbtBlockFromLocation(block.getLocation()); LinkedBeaconTeleporterBlock lbtBlock = LinkedBeaconTeleporterManager.getLbtBlockFromLocation(block.getLocation());
// Ignore if not found // Ignore if not found
if(lbtBlock == null) return; if(lbtBlock == null) return;

Loading…
Cancel
Save