Compare commits
5 Commits
b68835918f
...
1f88f6ea0d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f88f6ea0d | ||
|
|
798946b386 | ||
|
|
c32bd21f0f | ||
|
|
99dcb318ad | ||
|
|
fa289a8737 |
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.alttd.essentia.api.events.player;
|
||||||
|
|
||||||
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class PlayerRandomTeleportEvent extends EssentiaEvent {
|
||||||
|
|
||||||
|
private static final HandlerList handlerList = new HandlerList();
|
||||||
|
|
||||||
|
private final Player player;
|
||||||
|
private final Location location;
|
||||||
|
|
||||||
|
public PlayerRandomTeleportEvent(Player player, Location location) {
|
||||||
|
this.player = player;
|
||||||
|
this.location = location;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer() {
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location getLocation() {
|
||||||
|
return location;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlerList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlerList;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.alttd.essentia.api.events;
|
package com.alttd.essentia.api.events.player;
|
||||||
|
|
||||||
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.alttd.essentia.api.events;
|
package com.alttd.essentia.api.events.player;
|
||||||
|
|
||||||
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.alttd.essentia.api.events;
|
package com.alttd.essentia.api.events.player;
|
||||||
|
|
||||||
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.alttd.essentia.api.events;
|
package com.alttd.essentia.api.events.player;
|
||||||
|
|
||||||
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.alttd.essentia.api.events;
|
package com.alttd.essentia.api.events.player;
|
||||||
|
|
||||||
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
@ -104,12 +104,21 @@ public class EssentiaPlugin extends JavaPlugin implements EssentiaAPI {
|
||||||
|
|
||||||
void loadEventListeners() {
|
void loadEventListeners() {
|
||||||
final PluginManager pluginManager = getServer().getPluginManager();
|
final PluginManager pluginManager = getServer().getPluginManager();
|
||||||
Reflections reflections = new Reflections("com.alttd.essentia.listeners");
|
Reflections reflections = new Reflections("com.alttd.essentia.listeners"); // These are plugin required listeners eg player data loading on login.
|
||||||
Set<Class<?>> subTypes = reflections.get(Scanners.SubTypes.of(Listener.class).asClass());
|
Set<Class<?>> subTypes = reflections.get(Scanners.SubTypes.of(Listener.class).asClass());
|
||||||
|
reflections = new Reflections("com.alttd.essentia.feature"); // These are them listeners for the features.
|
||||||
|
subTypes.addAll(reflections.get(Scanners.SubTypes.of(Listener.class).asClass()));
|
||||||
|
|
||||||
subTypes.forEach(clazz -> {
|
subTypes.forEach(clazz -> {
|
||||||
try {
|
try {
|
||||||
Listener listener = (Listener) clazz.getDeclaredConstructor().newInstance();
|
Listener listener = (Listener) clazz.getDeclaredConstructor().newInstance();
|
||||||
|
final Depends depends = clazz.getAnnotation(Depends.class);
|
||||||
|
if (depends != null) {
|
||||||
|
if (!features.isEnabled(depends.value())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pluginManager.registerEvents(listener, this);
|
pluginManager.registerEvents(listener, this);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
EssentiaPlugin.instance().getLogger().severe("Failed to register event listener " + clazz.getSimpleName());
|
EssentiaPlugin.instance().getLogger().severe("Failed to register event listener " + clazz.getSimpleName());
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,9 @@ public class EquipmentArgumentType implements CustomArgumentType.Converted<Equip
|
||||||
public <S> CompletableFuture<Suggestions> listSuggestions(CommandContext<S> context, SuggestionsBuilder builder) {
|
public <S> CompletableFuture<Suggestions> listSuggestions(CommandContext<S> context, SuggestionsBuilder builder) {
|
||||||
Collection<String> possibleValues = new ArrayList<>();
|
Collection<String> possibleValues = new ArrayList<>();
|
||||||
for (EquipmentSlot equipmentSlot : EquipmentSlot.values()) {
|
for (EquipmentSlot equipmentSlot : EquipmentSlot.values()) {
|
||||||
|
if (!equipmentSlot.isHand() || !equipmentSlot.isArmor())
|
||||||
|
continue;
|
||||||
|
|
||||||
possibleValues.add(equipmentSlot.name().toLowerCase());
|
possibleValues.add(equipmentSlot.name().toLowerCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import com.mojang.brigadier.arguments.StringArgumentType;
|
||||||
import com.mojang.brigadier.context.CommandContext;
|
import com.mojang.brigadier.context.CommandContext;
|
||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||||
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
|
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
|
||||||
import com.mojang.brigadier.suggestion.Suggestion;
|
|
||||||
import com.mojang.brigadier.suggestion.Suggestions;
|
import com.mojang.brigadier.suggestion.Suggestions;
|
||||||
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
|
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
|
||||||
import io.papermc.paper.command.brigadier.MessageComponentSerializer;
|
import io.papermc.paper.command.brigadier.MessageComponentSerializer;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.alttd.essentia.commands.player;
|
||||||
|
|
||||||
import com.alttd.essentia.EssentiaPlugin;
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.api.events.EssentiaEvent;
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import com.alttd.essentia.api.events.PlayerTeleportBackEvent;
|
import com.alttd.essentia.api.events.player.PlayerTeleportBackEvent;
|
||||||
import com.alttd.essentia.api.user.User;
|
import com.alttd.essentia.api.user.User;
|
||||||
import com.alttd.essentia.commands.EssentiaCommand;
|
import com.alttd.essentia.commands.EssentiaCommand;
|
||||||
import com.alttd.essentia.configuration.Config;
|
import com.alttd.essentia.configuration.Config;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.commands.EssentiaCommand;
|
import com.alttd.essentia.commands.EssentiaCommand;
|
||||||
import com.alttd.essentia.configuration.Config;
|
import com.alttd.essentia.configuration.Config;
|
||||||
import com.alttd.essentia.api.events.EssentiaEvent;
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import com.alttd.essentia.api.events.PlayerTeleportBackEvent;
|
import com.alttd.essentia.api.events.player.PlayerTeleportBackEvent;
|
||||||
import com.alttd.essentia.tasks.TeleportSounds;
|
import com.alttd.essentia.tasks.TeleportSounds;
|
||||||
import com.alttd.essentia.api.user.User;
|
import com.alttd.essentia.api.user.User;
|
||||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import com.alttd.essentia.commands.EssentiaCommand;
|
||||||
import com.alttd.essentia.commands.argumement.OfflinePlayerArgument;
|
import com.alttd.essentia.commands.argumement.OfflinePlayerArgument;
|
||||||
import com.alttd.essentia.configuration.Config;
|
import com.alttd.essentia.configuration.Config;
|
||||||
import com.alttd.essentia.api.events.EssentiaEvent;
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import com.alttd.essentia.api.events.PlayerRemoveHomeEvent;
|
import com.alttd.essentia.api.events.player.PlayerRemoveHomeEvent;
|
||||||
import com.alttd.essentia.api.user.User;
|
import com.alttd.essentia.api.user.User;
|
||||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.alttd.essentia.commands.player;
|
||||||
|
|
||||||
import com.alttd.essentia.EssentiaPlugin;
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.api.events.EssentiaEvent;
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import com.alttd.essentia.api.events.PlayerTeleportHomeEvent;
|
import com.alttd.essentia.api.events.player.PlayerTeleportHomeEvent;
|
||||||
import com.alttd.essentia.api.model.Home;
|
import com.alttd.essentia.api.model.Home;
|
||||||
import com.alttd.essentia.commands.EssentiaCommand;
|
import com.alttd.essentia.commands.EssentiaCommand;
|
||||||
import com.alttd.essentia.configuration.Config;
|
import com.alttd.essentia.configuration.Config;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.alttd.essentia.commands.player;
|
||||||
|
|
||||||
import com.alttd.essentia.EssentiaPlugin;
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.api.events.EssentiaEvent;
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
import com.alttd.essentia.api.events.PlayerSetHomeEvent;
|
import com.alttd.essentia.api.events.player.PlayerSetHomeEvent;
|
||||||
import com.alttd.essentia.api.user.User;
|
import com.alttd.essentia.api.user.User;
|
||||||
import com.alttd.essentia.commands.EssentiaCommand;
|
import com.alttd.essentia.commands.EssentiaCommand;
|
||||||
import com.alttd.essentia.commands.argumement.OfflinePlayerArgument;
|
import com.alttd.essentia.commands.argumement.OfflinePlayerArgument;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.alttd.essentia.commands.player;
|
package com.alttd.essentia.commands.player;
|
||||||
|
|
||||||
import com.alttd.essentia.EssentiaPlugin;
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.api.events.PlayerTeleportSpawnEvent;
|
import com.alttd.essentia.api.events.player.PlayerTeleportSpawnEvent;
|
||||||
import com.alttd.essentia.commands.EssentiaCommand;
|
import com.alttd.essentia.commands.EssentiaCommand;
|
||||||
import com.alttd.essentia.configuration.Config;
|
import com.alttd.essentia.configuration.Config;
|
||||||
import com.alttd.essentia.api.events.EssentiaEvent;
|
import com.alttd.essentia.api.events.EssentiaEvent;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package com.alttd.essentia.feature.cuff;
|
||||||
|
|
||||||
import com.alttd.essentia.EssentiaPlugin;
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.feature.EssentiaFeature;
|
import com.alttd.essentia.feature.EssentiaFeature;
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
|
|
||||||
public class CuffFeature implements EssentiaFeature {
|
public class CuffFeature implements EssentiaFeature {
|
||||||
|
|
||||||
|
|
@ -21,9 +20,6 @@ public class CuffFeature implements EssentiaFeature {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register() {
|
public void register() {
|
||||||
final PluginManager pluginManager = plugin.getServer().getPluginManager();
|
|
||||||
pluginManager.registerEvents(new CuffListener(), plugin);
|
|
||||||
|
|
||||||
this.enabled = true;
|
this.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package com.alttd.essentia.feature.flight;
|
||||||
|
|
||||||
import com.alttd.essentia.EssentiaPlugin;
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
import com.alttd.essentia.feature.EssentiaFeature;
|
import com.alttd.essentia.feature.EssentiaFeature;
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
|
|
||||||
public class FlightFeature implements EssentiaFeature {
|
public class FlightFeature implements EssentiaFeature {
|
||||||
|
|
||||||
|
|
@ -21,9 +20,6 @@ public class FlightFeature implements EssentiaFeature {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register() {
|
public void register() {
|
||||||
final PluginManager pluginManager = plugin.getServer().getPluginManager();
|
|
||||||
pluginManager.registerEvents(new FlightListener(), plugin);
|
|
||||||
|
|
||||||
this.enabled = true;
|
this.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import com.alttd.essentia.api.user.User;
|
||||||
import com.alttd.essentia.api.user.UserManager;
|
import com.alttd.essentia.api.user.UserManager;
|
||||||
import com.alttd.essentia.feature.EssentiaFeature;
|
import com.alttd.essentia.feature.EssentiaFeature;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
|
|
||||||
public class GodModeFeature implements EssentiaFeature {
|
public class GodModeFeature implements EssentiaFeature {
|
||||||
|
|
||||||
|
|
@ -25,9 +24,6 @@ public class GodModeFeature implements EssentiaFeature {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register() {
|
public void register() {
|
||||||
final PluginManager pluginManager = plugin.getServer().getPluginManager();
|
|
||||||
pluginManager.registerEvents(new GodModeListener(this), plugin);
|
|
||||||
|
|
||||||
this.enabled = true;
|
this.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
package com.alttd.essentia.feature.savedinventory;
|
||||||
|
|
||||||
|
public class SavedInventoryFeature {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.alttd.essentia.feature.savedinventory;
|
||||||
|
|
||||||
|
import com.alttd.essentia.EssentiaPlugin;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
|
||||||
|
public class SavedInventoryListener implements Listener {
|
||||||
|
|
||||||
|
private final EssentiaPlugin plugin;
|
||||||
|
|
||||||
|
public SavedInventoryListener() {
|
||||||
|
this.plugin = EssentiaPlugin.instance();
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true)
|
||||||
|
public void onPlayerDeath(PlayerDeathEvent event) {
|
||||||
|
// TODO -- add config value to save on death
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler()
|
||||||
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
|
// TODO -- add config value to save on leave
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.alttd.essentia.feature.savedinventory.gui;
|
||||||
|
|
||||||
|
public class SavedInventoryPreviewGUI {
|
||||||
|
|
||||||
|
// preview saved inventory, also acts as the live preview of another player's inventory/ec
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
package com.alttd.essentia.model;
|
|
||||||
|
|
||||||
public record PlayerInventory() {
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.alttd.essentia.model;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public record SavedInventory(int id, ItemStack[] storageContents, ItemStack[] armorContents, UUID ownerUUID, String saveReason, Location location, long date) { }
|
||||||
Loading…
Reference in New Issue
Block a user