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.event.HandlerList;
|
||||
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.entity.Player;
|
||||
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.entity.Player;
|
||||
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.entity.Player;
|
||||
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.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
|
@ -104,12 +104,21 @@ public class EssentiaPlugin extends JavaPlugin implements EssentiaAPI {
|
|||
|
||||
void loadEventListeners() {
|
||||
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());
|
||||
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 -> {
|
||||
try {
|
||||
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);
|
||||
} catch (Exception e) {
|
||||
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) {
|
||||
Collection<String> possibleValues = new ArrayList<>();
|
||||
for (EquipmentSlot equipmentSlot : EquipmentSlot.values()) {
|
||||
if (!equipmentSlot.isHand() || !equipmentSlot.isArmor())
|
||||
continue;
|
||||
|
||||
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.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
|
||||
import com.mojang.brigadier.suggestion.Suggestion;
|
||||
import com.mojang.brigadier.suggestion.Suggestions;
|
||||
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
|
||||
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.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.commands.EssentiaCommand;
|
||||
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.configuration.Config;
|
||||
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.api.user.User;
|
||||
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.configuration.Config;
|
||||
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.mojang.brigadier.arguments.StringArgumentType;
|
||||
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.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.commands.EssentiaCommand;
|
||||
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.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.commands.EssentiaCommand;
|
||||
import com.alttd.essentia.commands.argumement.OfflinePlayerArgument;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.alttd.essentia.commands.player;
|
||||
|
||||
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.configuration.Config;
|
||||
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.feature.EssentiaFeature;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
public class CuffFeature implements EssentiaFeature {
|
||||
|
||||
|
|
@ -21,9 +20,6 @@ public class CuffFeature implements EssentiaFeature {
|
|||
|
||||
@Override
|
||||
public void register() {
|
||||
final PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
pluginManager.registerEvents(new CuffListener(), plugin);
|
||||
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package com.alttd.essentia.feature.flight;
|
|||
|
||||
import com.alttd.essentia.EssentiaPlugin;
|
||||
import com.alttd.essentia.feature.EssentiaFeature;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
public class FlightFeature implements EssentiaFeature {
|
||||
|
||||
|
|
@ -21,9 +20,6 @@ public class FlightFeature implements EssentiaFeature {
|
|||
|
||||
@Override
|
||||
public void register() {
|
||||
final PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
pluginManager.registerEvents(new FlightListener(), plugin);
|
||||
|
||||
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.feature.EssentiaFeature;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
public class GodModeFeature implements EssentiaFeature {
|
||||
|
||||
|
|
@ -25,9 +24,6 @@ public class GodModeFeature implements EssentiaFeature {
|
|||
|
||||
@Override
|
||||
public void register() {
|
||||
final PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
pluginManager.registerEvents(new GodModeListener(this), plugin);
|
||||
|
||||
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