mirror of
https://github.com/Zrips/Jobs.git
synced 2024-12-01 15:03:36 +01:00
Lets maintain one instance of explore manager
This commit is contained in:
parent
f70f2f7171
commit
1cb965c833
20
pom.xml
20
pom.xml
@ -5,7 +5,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>Jobs</groupId>
|
<groupId>Jobs</groupId>
|
||||||
<artifactId>jobs</artifactId>
|
<artifactId>jobs</artifactId>
|
||||||
<version>5.0.1.0</version>
|
<version>5.0.1.4</version>
|
||||||
<name>Jobs</name>
|
<name>Jobs</name>
|
||||||
<url>http://maven.apache.org</url>
|
<url>http://maven.apache.org</url>
|
||||||
|
|
||||||
@ -191,7 +191,7 @@
|
|||||||
<artifactId>CMILib</artifactId>
|
<artifactId>CMILib</artifactId>
|
||||||
<version>latest</version>
|
<version>latest</version>
|
||||||
<scope>system</scope>
|
<scope>system</scope>
|
||||||
<systemPath>${basedir}/libs/CMILib1.0.2.12.jar</systemPath>
|
<systemPath>${basedir}/libs/CMILib1.1.0.2.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- WildStacker -->
|
<!-- WildStacker -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -275,14 +275,14 @@
|
|||||||
<target>1.8</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<!-- <plugin> -->
|
<plugin>
|
||||||
<!-- <groupId>org.apache.maven.plugins</groupId> -->
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<!-- <artifactId>maven-jar-plugin</artifactId> -->
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
<!-- <version>2.3.1</version> -->
|
<version>2.3.1</version>
|
||||||
<!-- <configuration> -->
|
<configuration>
|
||||||
<!-- <outputDirectory>D:\MC\Server 1.17\plugins\</outputDirectory> -->
|
<outputDirectory>D:\MC\Server 1.18\plugins\</outputDirectory>
|
||||||
<!-- </configuration> -->
|
</configuration>
|
||||||
<!-- </plugin> -->
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
@ -387,9 +387,14 @@ public final class Jobs extends JavaPlugin {
|
|||||||
return cManager;
|
return cManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ExploreManager getExplore() {
|
// @Deprecated
|
||||||
|
// public static ExploreManager getExplore() {
|
||||||
|
// return getExploreManager();
|
||||||
|
// }
|
||||||
|
|
||||||
|
public static ExploreManager getExploreManager() {
|
||||||
if (exploreManager == null)
|
if (exploreManager == null)
|
||||||
exploreManager = ExploreManager.getInstane();
|
exploreManager = new ExploreManager();
|
||||||
return exploreManager;
|
return exploreManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -776,7 +781,7 @@ public final class Jobs extends JavaPlugin {
|
|||||||
getServer().getScheduler().runTask(this, new HookEconomyTask(this));
|
getServer().getScheduler().runTask(this, new HookEconomyTask(this));
|
||||||
|
|
||||||
dao.loadBlockProtection();
|
dao.loadBlockProtection();
|
||||||
getExplore().load();
|
getExploreManager().load();
|
||||||
getCommandManager().fillCommands();
|
getCommandManager().fillCommands();
|
||||||
getDBManager().getDB().triggerTableIdUpdate();
|
getDBManager().getDB().triggerTableIdUpdate();
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ public class explored implements Cmd {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
Map<String, ExploreRegion> exploreRegion = Jobs.getExplore().getWorlds().get(player.getWorld().getName());
|
Map<String, ExploreRegion> exploreRegion = Jobs.getExploreManager().getWorlds().get(player.getWorld().getName());
|
||||||
|
|
||||||
if (exploreRegion == null) {
|
if (exploreRegion == null) {
|
||||||
player.sendMessage(Jobs.getLanguage().getMessage("command.explored.error.noexplore"));
|
player.sendMessage(Jobs.getLanguage().getMessage("command.explored.error.noexplore"));
|
||||||
|
@ -12,25 +12,24 @@ public class resetexploreregion implements Cmd {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean perform(Jobs plugin, CommandSender sender, String[] args) {
|
public boolean perform(Jobs plugin, CommandSender sender, String[] args) {
|
||||||
if (args.length != 2 || !WORLD.equals(args[0])) {
|
if (args.length != 2 || !WORLD.equals(args[0])) {
|
||||||
Jobs.getCommandManager().sendUsage(sender, "resetexploreregion");
|
Jobs.getCommandManager().sendUsage(sender, "resetexploreregion");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Jobs.getGCManager().resetExploringData) {
|
if (!Jobs.getGCManager().resetExploringData) {
|
||||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.resetexploreregion.output.notenabled"));
|
sender.sendMessage(Jobs.getLanguage().getMessage("command.resetexploreregion.output.notenabled"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String worldName = args[1];
|
final String worldName = args[1];
|
||||||
if(!worldName.matches(REGEX)) {
|
if (!worldName.matches(REGEX)) {
|
||||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.resetexploreregion.output.invalidname"));
|
sender.sendMessage(Jobs.getLanguage().getMessage("command.resetexploreregion.output.invalidname"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ExploreManager manager = ExploreManager.getInstane();
|
Jobs.getExploreManager().resetRegion(worldName);
|
||||||
manager.resetRegion(worldName);
|
sender.sendMessage(Jobs.getLanguage().getMessage("command.resetexploreregion.output.reseted", "%worldname%", worldName));
|
||||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.resetexploreregion.output.reseted", "%worldname%", worldName));
|
return true;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -806,8 +806,8 @@ public class ConfigManager {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Jobs.getExplore().setExploreEnabled();
|
Jobs.getExploreManager().setExploreEnabled();
|
||||||
Jobs.getExplore().setPlayerAmount(amount);
|
Jobs.getExploreManager().setPlayerAmount(amount);
|
||||||
} else if (actionType == ActionType.CRAFT) {
|
} else if (actionType == ActionType.CRAFT) {
|
||||||
if (myKey.startsWith("!")) {
|
if (myKey.startsWith("!")) {
|
||||||
type = myKey.substring(1, myKey.length());
|
type = myKey.substring(1, myKey.length());
|
||||||
|
@ -19,17 +19,6 @@ import com.gamingmesh.jobs.stuff.Util;
|
|||||||
|
|
||||||
public class ExploreManager {
|
public class ExploreManager {
|
||||||
|
|
||||||
private static ExploreManager instance;
|
|
||||||
public static ExploreManager getInstane() {
|
|
||||||
if(null == instance) {
|
|
||||||
instance = new ExploreManager();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private ExploreManager() {
|
|
||||||
}
|
|
||||||
|
|
||||||
private final Map<String, Map<String, ExploreRegion>> worlds = new HashMap<>();
|
private final Map<String, Map<String, ExploreRegion>> worlds = new HashMap<>();
|
||||||
private boolean exploreEnabled = false;
|
private boolean exploreEnabled = false;
|
||||||
private int playerAmount = 1;
|
private int playerAmount = 1;
|
||||||
@ -150,18 +139,18 @@ public class ExploreManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetRegion(String worldname) {
|
public void resetRegion(String worldname) {
|
||||||
Jobs.consoleMsg("&eReseting explorer data. World: " + worldname);
|
Jobs.consoleMsg("&eReseting explorer data. World: " + worldname);
|
||||||
|
|
||||||
Map<String, Map<String, ExploreRegion>> worlds = getWorlds();
|
Map<String, Map<String, ExploreRegion>> worlds = getWorlds();
|
||||||
worlds.put(worldname, new HashMap<String, ExploreRegion>());
|
worlds.put(worldname, new HashMap<String, ExploreRegion>());
|
||||||
|
|
||||||
boolean r = Jobs.getJobsDAO().deleteExploredWorld(worldname);
|
boolean r = Jobs.getJobsDAO().deleteExploredWorld(worldname);
|
||||||
if(!r) {
|
if (!r) {
|
||||||
Jobs.consoleMsg("&eFailed in DAO.");
|
Jobs.consoleMsg("&eFailed in DAO.");
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
Jobs.consoleMsg("&eCompleted to reset explorer data.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Jobs.consoleMsg("&eCompleted to reset explorer data.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,12 +13,12 @@ public class ExploreChunk {
|
|||||||
|
|
||||||
public ExploreRespond addPlayer(int playerId) {
|
public ExploreRespond addPlayer(int playerId) {
|
||||||
if (isFullyExplored()) {
|
if (isFullyExplored()) {
|
||||||
return new ExploreRespond(Jobs.getExplore().getPlayerAmount() + 1, false);
|
return new ExploreRespond(Jobs.getExploreManager().getPlayerAmount() + 1, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean newChunkForPlayer = false;
|
boolean newChunkForPlayer = false;
|
||||||
if (!playerIds.contains(playerId)) {
|
if (!playerIds.contains(playerId)) {
|
||||||
if (playerIds.size() < Jobs.getExplore().getPlayerAmount()) {
|
if (playerIds.size() < Jobs.getExploreManager().getPlayerAmount()) {
|
||||||
playerIds.add(playerId);
|
playerIds.add(playerId);
|
||||||
updated = true;
|
updated = true;
|
||||||
}
|
}
|
||||||
@ -26,7 +26,7 @@ public class ExploreChunk {
|
|||||||
newChunkForPlayer = true;
|
newChunkForPlayer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Jobs.getGCManager().ExploreCompact && playerIds.size() >= Jobs.getExplore().getPlayerAmount()) {
|
if (Jobs.getGCManager().ExploreCompact && playerIds.size() >= Jobs.getExploreManager().getPlayerAmount()) {
|
||||||
playerIds = null;
|
playerIds = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ public class ExploreChunk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
return isFullyExplored() ? Jobs.getExplore().getPlayerAmount() : playerIds.size();
|
return isFullyExplored() ? Jobs.getExploreManager().getPlayerAmount() : playerIds.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Integer> getPlayers() {
|
public List<Integer> getPlayers() {
|
||||||
@ -86,7 +86,7 @@ public class ExploreChunk {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Jobs.getGCManager().ExploreCompact && playerIds.size() >= Jobs.getExplore().getPlayerAmount()) {
|
if (Jobs.getGCManager().ExploreCompact && playerIds.size() >= Jobs.getExploreManager().getPlayerAmount()) {
|
||||||
playerIds = null;
|
playerIds = null;
|
||||||
|
|
||||||
if (!names.isEmpty())
|
if (!names.isEmpty())
|
||||||
@ -111,6 +111,6 @@ public class ExploreChunk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFullyExplored() {
|
public boolean isFullyExplored() {
|
||||||
return playerIds == null || playerIds.size() >= Jobs.getExplore().getPlayerAmount();
|
return playerIds == null || playerIds.size() >= Jobs.getExploreManager().getPlayerAmount();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2457,7 +2457,7 @@ public abstract class JobsDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void insertExplore() {
|
public void insertExplore() {
|
||||||
if (!Jobs.getExplore().isExploreEnabled())
|
if (!Jobs.getExploreManager().isExploreEnabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
@ -2475,7 +2475,7 @@ public abstract class JobsDAO {
|
|||||||
conn.setAutoCommit(false);
|
conn.setAutoCommit(false);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
Map<String, Map<String, ExploreRegion>> temp = new HashMap<>(Jobs.getExplore().getWorlds());
|
Map<String, Map<String, ExploreRegion>> temp = new HashMap<>(Jobs.getExploreManager().getWorlds());
|
||||||
|
|
||||||
for (Entry<String, Map<String, ExploreRegion>> worlds : temp.entrySet()) {
|
for (Entry<String, Map<String, ExploreRegion>> worlds : temp.entrySet()) {
|
||||||
for (Entry<String, ExploreRegion> region : worlds.getValue().entrySet()) {
|
for (Entry<String, ExploreRegion> region : worlds.getValue().entrySet()) {
|
||||||
@ -2516,7 +2516,7 @@ public abstract class JobsDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateExplore() {
|
public void updateExplore() {
|
||||||
if (!Jobs.getExplore().isExploreEnabled())
|
if (!Jobs.getExploreManager().isExploreEnabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
@ -2529,7 +2529,7 @@ public abstract class JobsDAO {
|
|||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
Map<String, Map<String, ExploreRegion>> temp = new HashMap<>(Jobs.getExplore().getWorlds());
|
Map<String, Map<String, ExploreRegion>> temp = new HashMap<>(Jobs.getExploreManager().getWorlds());
|
||||||
|
|
||||||
for (Entry<String, Map<String, ExploreRegion>> worlds : temp.entrySet()) {
|
for (Entry<String, Map<String, ExploreRegion>> worlds : temp.entrySet()) {
|
||||||
for (Entry<String, ExploreRegion> region : worlds.getValue().entrySet()) {
|
for (Entry<String, ExploreRegion> region : worlds.getValue().entrySet()) {
|
||||||
@ -2568,7 +2568,7 @@ public abstract class JobsDAO {
|
|||||||
* @param jobexplore - the information getting saved
|
* @param jobexplore - the information getting saved
|
||||||
*/
|
*/
|
||||||
public void loadExplore() {
|
public void loadExplore() {
|
||||||
if (!Jobs.getExplore().isExploreEnabled())
|
if (!Jobs.getExploreManager().isExploreEnabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
@ -2587,7 +2587,7 @@ public abstract class JobsDAO {
|
|||||||
if (jworld == null || jworld.getWorld() == null) {
|
if (jworld == null || jworld.getWorld() == null) {
|
||||||
missingWorlds.add(worldId);
|
missingWorlds.add(worldId);
|
||||||
} else {
|
} else {
|
||||||
Jobs.getExplore().load(res);
|
Jobs.getExploreManager().load(res);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2613,42 +2613,43 @@ public abstract class JobsDAO {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete player-explore information
|
* Delete player-explore information
|
||||||
* @param worldName - the world getting removed
|
* @param worldName - the world getting removed
|
||||||
*/
|
*/
|
||||||
public boolean deleteExploredWorld(String worldName) {
|
public boolean deleteExploredWorld(String worldName) {
|
||||||
if (!Jobs.getExplore().isExploreEnabled())
|
if (!Jobs.getExploreManager().isExploreEnabled())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
if (conn == null)
|
if (conn == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
JobsWorld target = Util.getJobsWorld(worldName);
|
JobsWorld target = Util.getJobsWorld(worldName);
|
||||||
if (null == target) {
|
if (null == target) {
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
PreparedStatement prest = null;
|
|
||||||
try {
|
|
||||||
prest = conn.prepareStatement("DELETE FROM `" + DBTables.ExploreDataTable.getTableName() + "` WHERE `" + ExploreDataTableFields.worldid.getCollumn() + "` = ?;");
|
|
||||||
prest.setInt(1, target.getId());
|
|
||||||
prest.execute();
|
|
||||||
} catch (Throwable e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return false;
|
|
||||||
} finally {
|
|
||||||
close(prest);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
boolean res = true;
|
||||||
* Save player-job information
|
PreparedStatement prest = null;
|
||||||
* @param jobInfo - the information getting saved
|
try {
|
||||||
* @return
|
prest = conn.prepareStatement("DELETE FROM `" + DBTables.ExploreDataTable.getTableName() + "` WHERE `" + ExploreDataTableFields.worldid.getCollumn() + "` = ?;");
|
||||||
*/
|
prest.setInt(1, target.getId());
|
||||||
|
prest.execute();
|
||||||
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
res = false;
|
||||||
|
} finally {
|
||||||
|
close(prest);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save player-job information
|
||||||
|
* @param jobInfo - the information getting saved
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public List<Integer> getLognameList(int fromtime, int untiltime) {
|
public List<Integer> getLognameList(int fromtime, int untiltime) {
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
List<Integer> nameList = new ArrayList<>();
|
List<Integer> nameList = new ArrayList<>();
|
||||||
|
@ -1775,7 +1775,7 @@ public final class JobsPaymentListener implements Listener {
|
|||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onExplore(JobsChunkChangeEvent event) {
|
public void onExplore(JobsChunkChangeEvent event) {
|
||||||
|
|
||||||
if (!Jobs.getExplore().isExploreEnabled())
|
if (!Jobs.getExploreManager().isExploreEnabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
@ -1810,7 +1810,7 @@ public final class JobsPaymentListener implements Listener {
|
|||||||
if (jPlayer == null)
|
if (jPlayer == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ExploreRespond respond = Jobs.getExplore().chunkRespond(jPlayer.getUserId(), event.getNewChunk());
|
ExploreRespond respond = Jobs.getExploreManager().chunkRespond(jPlayer.getUserId(), event.getNewChunk());
|
||||||
|
|
||||||
if (!respond.isNewChunk())
|
if (!respond.isNewChunk())
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user