Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>cx.ajneb97</groupId>
<artifactId>Codex</artifactId>
<version>2.5.3</version>
<version>2.5.4</version>

<properties>
<maven.compiler.source>21</maven.compiler.source>
Expand Down Expand Up @@ -144,6 +144,14 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>9</source>
<target>9</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
6 changes: 5 additions & 1 deletion src/main/java/cx/ajneb97/Codex.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import cx.ajneb97.config.ConfigsManager;
import cx.ajneb97.database.MySQLConnection;
import cx.ajneb97.listeners.InventoryListener;
import cx.ajneb97.listeners.MovementListener;
import cx.ajneb97.listeners.PlayerListener;
import cx.ajneb97.listeners.dependencies.EliteMobsListener;
import cx.ajneb97.listeners.dependencies.MythicMobsListener;
Expand Down Expand Up @@ -43,10 +44,11 @@ public class Codex extends JavaPlugin {
private PlayerDataSaveTask playerDataSaveTask;
private UpdateCheckerManager updateCheckerManager;
private VerifyManager verifyManager;

private MovementListener movementListener;
public void onEnable(){
setVersion();
setPrefix();
this.movementListener = new MovementListener(this);
this.playerDataManager = new PlayerDataManager(this);
this.inventoryManager = new InventoryManager(this);
this.commonItemManager = new CommonItemManager(this);
Expand Down Expand Up @@ -90,6 +92,7 @@ public void onEnable(){
}

public void onDisable(){
movementListener.unregister();
configsManager.getPlayersConfigManager().saveConfigs();

Bukkit.getConsoleSender().sendMessage(prefix+MessagesManager.getColoredMessage("&eHas been disabled! &fVersion: "+version));
Expand All @@ -100,6 +103,7 @@ public void registerCommands(){

public void registerEvents(){
PluginManager pm = getServer().getPluginManager();
movementListener.register();
pm.registerEvents(new InventoryListener(this), this);
pm.registerEvents(new PlayerListener(this), this);
if(dependencyManager.getWorldGuardManager() != null){
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/cx/ajneb97/config/CategoriesConfigManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ public void loadConfigs() {
discoveredOn.setMobName(config.getString(pathValue+".mob_name"));
discoveredOn.setMobType(config.getString(pathValue+".mob_type"));
discoveredOn.setRegionName(config.getString(pathValue+".region_name"));
discoveredOn.setLocation(config.getString(pathValue+".location"));
discoveredOn.setRange(config.getString(pathValue+".range"));
}

CommonItem customDiscoveryItemUnlocked = null;
Expand Down
27 changes: 27 additions & 0 deletions src/main/java/cx/ajneb97/listeners/MovementListener.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package cx.ajneb97.listeners;

import cx.ajneb97.Codex;
import org.bukkit.Bukkit;

public class MovementListener {

private Codex plugin;
public MovementListener(Codex plugin){
this.plugin = plugin;
}

private int taskId = 0;

public void register() {
taskId = Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, () -> {
Bukkit.getOnlinePlayers().forEach(player -> {
plugin.getDiscoveryManager().onLocationNear(player, player.getLocation());
});
}, 100, 100).getTaskId();
}

public void unregister() {
Bukkit.getScheduler().cancelTask(taskId);
}

}
20 changes: 20 additions & 0 deletions src/main/java/cx/ajneb97/managers/DiscoveryManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
import cx.ajneb97.model.structure.DiscoveredOn;
import cx.ajneb97.model.structure.Discovery;
import cx.ajneb97.utils.ActionUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;

import java.util.*;
Expand Down Expand Up @@ -117,6 +120,23 @@ public void onWorldGuardRegionEnter(Player player, String regionName){
}
}

public void onLocationNear(Player player, Location location){
ArrayList<Discovery> discoveries = getPossibleDiscoveries(DiscoveredOn.DiscoveredOnType.LOCATION);
for(Discovery discovery : discoveries){
DiscoveredOn discoveredOn = discovery.getDiscoveredOn();
List<String> locArgs = List.of(discoveredOn.getLocation().split(","));
World world = Bukkit.getWorld(locArgs.get(0));
if(world != location.getWorld()) continue;
Location discoveredLoc = new Location(world,Integer.parseInt(locArgs.get(1)),Integer.parseInt(locArgs.get(2)),Integer.parseInt(locArgs.get(3)));
if(discoveredLoc.distance(location) > Integer.parseInt(discoveredOn.getRange())) {
continue;
}
onDiscover(player,discovery.getCategoryName(),discovery.getId());

return;
}
}

public boolean onDiscover(Player player,String categoryName,String discoveryName){
Category category = plugin.getCategoryManager().getCategory(categoryName);
Discovery discovery = category.getDiscovery(discoveryName);
Expand Down
16 changes: 15 additions & 1 deletion src/main/java/cx/ajneb97/model/structure/DiscoveredOn.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ public class DiscoveredOn {
private String mobType;
private String mobName;
private String regionName;
private String location;
private String range;

public DiscoveredOn(DiscoveredOnType type) {
this.type = type;
Expand Down Expand Up @@ -39,6 +41,17 @@ public String getRegionName() {
return regionName;
}

public String getLocation() {
return location;
}
public String getRange() {
return range;
}

public void setLocation(String location) { this.location = location; }

public void setRange(String range) { this.range = range; }

public void setRegionName(String regionName) {
this.regionName = regionName;
}
Expand All @@ -47,6 +60,7 @@ public enum DiscoveredOnType{
MOB_KILL,
MYTHIC_MOB_KILL,
ELITE_MOB_KILL,
WORLDGUARD_REGION
WORLDGUARD_REGION,
LOCATION
}
}
4 changes: 3 additions & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ main: cx.ajneb97.Codex
version: ${project.version}
name: Codex
api-version: 1.13
author: Ajneb97
author:
- Ajneb97
- MikkoAyaka
softdepend: [WorldGuard,WorldEdit,PlaceholderAPI,MythicMobs]

commands:
Expand Down