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 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…
x
Reference in New Issue
Block a user