Made Manager static
This commit is contained in:
parent
1168b8859a
commit
b54af93d4b
@ -25,8 +25,6 @@ public class Main extends JavaPlugin {
|
||||
|
||||
public static Logger log;
|
||||
|
||||
public static LinkedBeaconTeleporterManager lbtManager;
|
||||
|
||||
public void onEnable() {
|
||||
log = getLogger();
|
||||
|
||||
@ -42,7 +40,7 @@ public class Main extends JavaPlugin {
|
||||
|
||||
loadConfigs();
|
||||
|
||||
lbtManager = new LinkedBeaconTeleporterManager();
|
||||
LinkedBeaconTeleporterManager.init();
|
||||
|
||||
log.info("Plugin activated");
|
||||
}
|
||||
|
@ -3,8 +3,6 @@ package eu.ruekov.ruakij.LinkedBeaconTeleporters.customPlayerMoveEvent;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.InvalidObjectException;
|
||||
|
||||
public class CustomPlayerMoveEvent {
|
||||
|
||||
Player p;
|
||||
|
@ -27,7 +27,7 @@ public abstract class LinkedBeaconTeleporter {
|
||||
this.teleporterId = teleporterId;
|
||||
|
||||
// Check if id exists
|
||||
linkedBeaconTeleporters = Main.lbtManager.placedLBTsById.get(this.teleporterId());
|
||||
linkedBeaconTeleporters = LinkedBeaconTeleporterManager.placedLBTsById.get(this.teleporterId());
|
||||
if(linkedBeaconTeleporters == null){
|
||||
// Create empty if not found
|
||||
linkedBeaconTeleporters = new ArrayList<>();
|
||||
|
@ -45,7 +45,7 @@ public class LinkedBeaconTeleporterBlock extends LinkedBeaconTeleporter {
|
||||
// TODO: Remove from placedLBTsById when empty?
|
||||
|
||||
// Remove from loc
|
||||
Main.lbtManager.placedLBTByLoc.remove(
|
||||
LinkedBeaconTeleporterManager.placedLBTByLoc.remove(
|
||||
Function.serialiseBlockLocation(loc)
|
||||
);
|
||||
|
||||
@ -65,9 +65,9 @@ public class LinkedBeaconTeleporterBlock extends LinkedBeaconTeleporter {
|
||||
|
||||
// Conversion methods
|
||||
public static LinkedBeaconTeleporterBlock getFromLocation(Location loc){
|
||||
return Main.lbtManager.getLbtBlockFromLocation(loc);
|
||||
return LinkedBeaconTeleporterManager.getLbtBlockFromLocation(loc);
|
||||
}
|
||||
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
|
||||
super();
|
||||
|
||||
this.item = Main.lbtManager.getItemStackFromData(this.teleporterId);
|
||||
this.item = LinkedBeaconTeleporterManager.getItemStackFromData(this.teleporterId);
|
||||
}
|
||||
public LinkedBeaconTeleporterItem(String teleporterId, ItemStack item) {
|
||||
super(teleporterId);
|
||||
@ -34,7 +34,7 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
|
||||
public LinkedBeaconTeleporterItem(String teleporterId){
|
||||
super(teleporterId);
|
||||
|
||||
this.item = Main.lbtManager.getItemStackFromData(teleporterId);
|
||||
this.item = LinkedBeaconTeleporterManager.getItemStackFromData(teleporterId);
|
||||
}
|
||||
|
||||
public ItemStack item(){
|
||||
@ -60,11 +60,11 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
|
||||
this.linkedBeaconTeleporters.add(lbtBlock);
|
||||
|
||||
// Add to id if not exists
|
||||
if(!Main.lbtManager.placedLBTsById.containsKey(this.teleporterId))
|
||||
Main.lbtManager.placedLBTsById.put(this.teleporterId, this.linkedBeaconTeleporters);
|
||||
if(!LinkedBeaconTeleporterManager.placedLBTsById.containsKey(this.teleporterId))
|
||||
LinkedBeaconTeleporterManager.placedLBTsById.put(this.teleporterId, this.linkedBeaconTeleporters);
|
||||
|
||||
// Add to location
|
||||
Main.lbtManager.placedLBTByLoc.put(
|
||||
LinkedBeaconTeleporterManager.placedLBTByLoc.put(
|
||||
Function.serialiseBlockLocation(loc),
|
||||
lbtBlock
|
||||
);
|
||||
@ -88,6 +88,6 @@ public class LinkedBeaconTeleporterItem extends LinkedBeaconTeleporter {
|
||||
|
||||
// Conversion methods
|
||||
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 {
|
||||
// Stores all placed Beacon-Teleporters for fast access
|
||||
// TODO: Evaluate necessity of 2 HashMaps with main reason of performance
|
||||
public HashMap<String, List<LinkedBeaconTeleporter>> placedLBTsById = new HashMap();
|
||||
public HashMap<String, LinkedBeaconTeleporterBlock> placedLBTByLoc = new HashMap();
|
||||
public static HashMap<String, List<LinkedBeaconTeleporter>> placedLBTsById = new HashMap();
|
||||
public static HashMap<String, LinkedBeaconTeleporterBlock> placedLBTByLoc = new HashMap();
|
||||
|
||||
// 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..");
|
||||
|
||||
// Construct search item-regex
|
||||
@ -80,7 +80,7 @@ public class LinkedBeaconTeleporterManager {
|
||||
Main.log.info("All done!");
|
||||
}
|
||||
|
||||
void constructAndAddRecipes(){
|
||||
static void constructAndAddRecipes(){
|
||||
// Create result-item
|
||||
ItemStack item = getItemStackFromData("-");
|
||||
item.setAmount(2);
|
||||
@ -102,7 +102,7 @@ public class LinkedBeaconTeleporterManager {
|
||||
}
|
||||
|
||||
// Conversion-methods
|
||||
public ItemStack getItemStackFromData(String teleporterId){
|
||||
public static ItemStack getItemStackFromData(String teleporterId){
|
||||
ItemStack item = new ItemStack(Material.BEACON);
|
||||
ItemMeta itemMeta = item.getItemMeta();
|
||||
|
||||
@ -126,7 +126,7 @@ public class LinkedBeaconTeleporterManager {
|
||||
|
||||
return item;
|
||||
}
|
||||
public LinkedBeaconTeleporterItem getLbtItemFromItemStack(ItemStack itemStack){
|
||||
public static LinkedBeaconTeleporterItem getLbtItemFromItemStack(ItemStack itemStack){
|
||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||
|
||||
// Serialize
|
||||
@ -150,13 +150,13 @@ public class LinkedBeaconTeleporterManager {
|
||||
return lbtItem;
|
||||
}
|
||||
|
||||
public LinkedBeaconTeleporterBlock getLbtBlockFromLocation(Location loc){
|
||||
public static LinkedBeaconTeleporterBlock getLbtBlockFromLocation(Location loc){
|
||||
// Serialize
|
||||
String serializedLoc = Function.serialiseBlockLocation(loc);
|
||||
|
||||
return placedLBTByLoc.get(serializedLoc);
|
||||
}
|
||||
public List<LinkedBeaconTeleporter> getLbtBlocksFromTeleportId(String teleportId){
|
||||
public static List<LinkedBeaconTeleporter> getLbtBlocksFromTeleportId(String teleportId){
|
||||
return placedLBTsById.get(teleportId);
|
||||
}
|
||||
|
||||
@ -174,7 +174,7 @@ public class LinkedBeaconTeleporterManager {
|
||||
|
||||
return regex;
|
||||
}
|
||||
String serialiseBeaconItem(String name, List<String> lore){
|
||||
static String serialiseBeaconItem(String name, List<String> lore){
|
||||
// get name and remove control-chars
|
||||
String str = name.replace("\\", "\\\\");
|
||||
if(lore != null){
|
||||
|
@ -2,6 +2,7 @@ package eu.ruekov.ruakij.LinkedBeaconTeleporters.listener;
|
||||
|
||||
import eu.ruekov.ruakij.LinkedBeaconTeleporters.Main;
|
||||
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterItem;
|
||||
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -21,7 +22,7 @@ public class OnCraftItemEvent implements Listener {
|
||||
ItemStack itemResult = recipe.getResult();
|
||||
|
||||
// Check if it has LinkedBeaconTeleporter-Data
|
||||
LinkedBeaconTeleporterItem lbtItem = Main.lbtManager.getLbtItemFromItemStack(itemResult);
|
||||
LinkedBeaconTeleporterItem lbtItem = LinkedBeaconTeleporterManager.getLbtItemFromItemStack(itemResult);
|
||||
|
||||
// Ignore if not found
|
||||
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.linkedBeaconTeleporter.LinkedBeaconTeleporter;
|
||||
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterBlock;
|
||||
import eu.ruekov.ruakij.LinkedBeaconTeleporters.linkedBeaconTeleporter.LinkedBeaconTeleporterManager;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
@ -57,7 +58,7 @@ public class OnCustomPlayerMove implements CustomPlayerMoveEventListener {
|
||||
// TODO: Check if beacon is active
|
||||
|
||||
// Check if beacon is a LinkedBeaconTeleporter
|
||||
LinkedBeaconTeleporterBlock lbtBlock = Main.lbtManager.getLbtBlockFromLocation(block.getLocation());
|
||||
LinkedBeaconTeleporterBlock lbtBlock = LinkedBeaconTeleporterManager.getLbtBlockFromLocation(block.getLocation());
|
||||
|
||||
// Ignore if not found
|
||||
if(lbtBlock == null) return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user