diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/NpcApi.java b/api/src/main/java/lol/pyr/znpcsplus/api/NpcApi.java index 269d64f..5e9ad4b 100644 --- a/api/src/main/java/lol/pyr/znpcsplus/api/NpcApi.java +++ b/api/src/main/java/lol/pyr/znpcsplus/api/NpcApi.java @@ -1,7 +1,11 @@ package lol.pyr.znpcsplus.api; +import lol.pyr.znpcsplus.api.entity.EntityPropertyRegistry; import lol.pyr.znpcsplus.api.npc.NpcRegistry; +import lol.pyr.znpcsplus.api.npc.NpcTypeRegistry; public interface NpcApi { NpcRegistry getNpcRegistry(); + NpcTypeRegistry getNpcTypeRegistry(); + EntityPropertyRegistry getPropertyRegistry(); } diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/entity/EntityPropertyRegistry.java b/api/src/main/java/lol/pyr/znpcsplus/api/entity/EntityPropertyRegistry.java new file mode 100644 index 0000000..1dc26bb --- /dev/null +++ b/api/src/main/java/lol/pyr/znpcsplus/api/entity/EntityPropertyRegistry.java @@ -0,0 +1,6 @@ +package lol.pyr.znpcsplus.api.entity; + +public interface EntityPropertyRegistry { + EntityProperty getByName(String name); + EntityProperty getByName(String name, Class type); +} diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/event/NpcDespawnEvent.java b/api/src/main/java/lol/pyr/znpcsplus/api/event/NpcDespawnEvent.java new file mode 100644 index 0000000..89c91ad --- /dev/null +++ b/api/src/main/java/lol/pyr/znpcsplus/api/event/NpcDespawnEvent.java @@ -0,0 +1,4 @@ +package lol.pyr.znpcsplus.api.event; + +public class NpcDespawnEvent { +} diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/event/NpcSpawnEvent.java b/api/src/main/java/lol/pyr/znpcsplus/api/event/NpcSpawnEvent.java new file mode 100644 index 0000000..4fab38b --- /dev/null +++ b/api/src/main/java/lol/pyr/znpcsplus/api/event/NpcSpawnEvent.java @@ -0,0 +1,4 @@ +package lol.pyr.znpcsplus.api.event; + +public class NpcSpawnEvent { +} diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcType.java b/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcType.java index 166969d..99d591c 100644 --- a/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcType.java +++ b/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcType.java @@ -1,4 +1,11 @@ package lol.pyr.znpcsplus.api.npc; +import lol.pyr.znpcsplus.api.entity.EntityProperty; + +import java.util.Set; + public interface NpcType { + String getName(); + double getHologramOffset(); + Set> getAllowedProperties(); } diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcTypeRegistry.java b/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcTypeRegistry.java new file mode 100644 index 0000000..3847504 --- /dev/null +++ b/api/src/main/java/lol/pyr/znpcsplus/api/npc/NpcTypeRegistry.java @@ -0,0 +1,5 @@ +package lol.pyr.znpcsplus.api.npc; + +public interface NpcTypeRegistry { + NpcType getByName(String name); +} diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNPCsPlusApi.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNPCsPlusApi.java index 9d6d9e7..eb0a28d 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNPCsPlusApi.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNPCsPlusApi.java @@ -1,18 +1,36 @@ package lol.pyr.znpcsplus; import lol.pyr.znpcsplus.api.NpcApi; +import lol.pyr.znpcsplus.api.entity.EntityPropertyRegistry; import lol.pyr.znpcsplus.api.npc.NpcRegistry; +import lol.pyr.znpcsplus.api.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.npc.NpcRegistryImpl; +import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; public class ZNPCsPlusApi implements NpcApi { private final NpcRegistryImpl npcRegistry; + private final NpcTypeRegistryImpl typeRegistry; + private final EntityPropertyRegistryImpl propertyRegistry; - public ZNPCsPlusApi(NpcRegistryImpl npcRegistry) { + public ZNPCsPlusApi(NpcRegistryImpl npcRegistry, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry) { this.npcRegistry = npcRegistry; + this.typeRegistry = typeRegistry; + this.propertyRegistry = propertyRegistry; } @Override public NpcRegistry getNpcRegistry() { return npcRegistry; } + + @Override + public NpcTypeRegistry getNpcTypeRegistry() { + return typeRegistry; + } + + @Override + public EntityPropertyRegistry getPropertyRegistry() { + return propertyRegistry; + } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index 8db618b..a32f359 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -22,7 +22,7 @@ import lol.pyr.znpcsplus.commands.storage.LoadAllCommand; import lol.pyr.znpcsplus.commands.storage.SaveAllCommand; import lol.pyr.znpcsplus.config.ConfigManager; import lol.pyr.znpcsplus.entity.EntityPropertyImpl; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.interaction.ActionRegistry; import lol.pyr.znpcsplus.interaction.InteractionPacketListener; import lol.pyr.znpcsplus.metadata.*; @@ -109,11 +109,11 @@ public class ZNpcsPlus extends JavaPlugin { MetadataFactory metadataFactory = setupMetadataFactory(); ConfigManager configManager = new ConfigManager(getDataFolder()); SkinCache skinCache = new SkinCache(configManager); - EntityPropertyRegistry propertyRegistry = new EntityPropertyRegistry(skinCache); + EntityPropertyRegistryImpl propertyRegistry = new EntityPropertyRegistryImpl(skinCache); PacketFactory packetFactory = setupPacketFactory(scheduler, metadataFactory, propertyRegistry); BungeeConnector bungeeConnector = new BungeeConnector(this); ActionRegistry actionRegistry = new ActionRegistry(); - NpcTypeRegistry typeRegistry = new NpcTypeRegistry(); + NpcTypeRegistryImpl typeRegistry = new NpcTypeRegistryImpl(); NpcRegistryImpl npcRegistry = new NpcRegistryImpl(configManager, this, packetFactory, actionRegistry, scheduler, typeRegistry, propertyRegistry); UserManager userManager = new UserManager(); @@ -144,7 +144,7 @@ public class ZNpcsPlus extends JavaPlugin { shutdownTasks.add(adventure::close); if (configManager.getConfig().autoSaveEnabled()) shutdownTasks.add(npcRegistry::save); - NpcApiProvider.register(new ZNPCsPlusApi(npcRegistry)); + NpcApiProvider.register(new ZNPCsPlusApi(npcRegistry, typeRegistry, propertyRegistry)); enabled = true; log(ChatColor.WHITE + " * Loading complete! (" + (System.currentTimeMillis() - before) + "ms)"); log(""); @@ -170,7 +170,7 @@ public class ZNpcsPlus extends JavaPlugin { for (Runnable runnable : shutdownTasks) runnable.run(); } - private PacketFactory setupPacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, EntityPropertyRegistry propertyRegistry) { + private PacketFactory setupPacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, EntityPropertyRegistryImpl propertyRegistry) { HashMap> versions = new HashMap<>(); versions.put(ServerVersion.V_1_8, LazyLoader.of(() -> new V1_8PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); versions.put(ServerVersion.V_1_9, LazyLoader.of(() -> new V1_9PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); @@ -209,7 +209,7 @@ public class ZNpcsPlus extends JavaPlugin { } - private void registerCommands(NpcRegistryImpl npcRegistry, SkinCache skinCache, BukkitAudiences adventure, ActionRegistry actionRegistry, NpcTypeRegistry typeRegistry, EntityPropertyRegistry propertyRegistry) { + private void registerCommands(NpcRegistryImpl npcRegistry, SkinCache skinCache, BukkitAudiences adventure, ActionRegistry actionRegistry, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry) { // TODO: make the messages better Message incorrectUsageMessage = context -> context.send(Component.text("Incorrect usage: /" + context.getUsage(), NamedTextColor.RED)); CommandManager manager = new CommandManager(this, adventure, incorrectUsageMessage); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/commands/CreateCommand.java b/plugin/src/main/java/lol/pyr/znpcsplus/commands/CreateCommand.java index 7f9843f..930fdc2 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/commands/CreateCommand.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/commands/CreateCommand.java @@ -6,7 +6,7 @@ import lol.pyr.director.common.command.CommandExecutionException; import lol.pyr.znpcsplus.npc.NpcEntryImpl; import lol.pyr.znpcsplus.npc.NpcRegistryImpl; import lol.pyr.znpcsplus.npc.NpcTypeImpl; -import lol.pyr.znpcsplus.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.util.NpcLocation; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; @@ -17,9 +17,9 @@ import java.util.List; public class CreateCommand implements CommandHandler { private final NpcRegistryImpl npcRegistry; - private final NpcTypeRegistry typeRegistry; + private final NpcTypeRegistryImpl typeRegistry; - public CreateCommand(NpcRegistryImpl npcRegistry, NpcTypeRegistry typeRegistry) { + public CreateCommand(NpcRegistryImpl npcRegistry, NpcTypeRegistryImpl typeRegistry) { this.npcRegistry = npcRegistry; this.typeRegistry = typeRegistry; } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/commands/PropertiesCommand.java b/plugin/src/main/java/lol/pyr/znpcsplus/commands/PropertiesCommand.java index e4ffc7f..1faa16c 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/commands/PropertiesCommand.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/commands/PropertiesCommand.java @@ -3,6 +3,7 @@ package lol.pyr.znpcsplus.commands; import lol.pyr.director.adventure.command.CommandContext; import lol.pyr.director.adventure.command.CommandHandler; import lol.pyr.director.common.command.CommandExecutionException; +import lol.pyr.znpcsplus.api.entity.EntityProperty; import lol.pyr.znpcsplus.entity.EntityPropertyImpl; import lol.pyr.znpcsplus.npc.NpcEntryImpl; import lol.pyr.znpcsplus.npc.NpcImpl; @@ -37,7 +38,7 @@ public class PropertiesCommand implements CommandHandler { public List suggest(CommandContext context) throws CommandExecutionException { if (context.argSize() == 1) return context.suggestCollection(npcRegistry.getModifiableIds()); if (context.argSize() == 2) return context.suggestStream(context.suggestionParse(0, NpcEntryImpl.class) - .getNpc().getType().getAllowedProperties().stream().map(EntityPropertyImpl::getName)); + .getNpc().getType().getAllowedProperties().stream().map(EntityProperty::getName)); if (context.argSize() == 3) { EntityPropertyImpl property = context.suggestionParse(1, EntityPropertyImpl.class); Class type = property.getType(); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java b/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java index 6ef86ac..db489dd 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java @@ -5,11 +5,11 @@ import lol.pyr.director.adventure.command.CommandContext; import lol.pyr.director.adventure.command.CommandHandler; import lol.pyr.director.common.command.CommandExecutionException; import lol.pyr.znpcsplus.api.skin.SkinDescriptor; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.npc.NpcEntryImpl; import lol.pyr.znpcsplus.npc.NpcImpl; import lol.pyr.znpcsplus.npc.NpcRegistryImpl; -import lol.pyr.znpcsplus.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.skin.cache.SkinCache; import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; import lol.pyr.znpcsplus.skin.descriptor.MirrorDescriptor; @@ -23,10 +23,10 @@ import java.util.List; public class SkinCommand implements CommandHandler { private final SkinCache skinCache; private final NpcRegistryImpl npcRegistry; - private final NpcTypeRegistry typeRegistry; - private final EntityPropertyRegistry propertyRegistry; + private final NpcTypeRegistryImpl typeRegistry; + private final EntityPropertyRegistryImpl propertyRegistry; - public SkinCommand(SkinCache skinCache, NpcRegistryImpl npcRegistry, NpcTypeRegistry typeRegistry, EntityPropertyRegistry propertyRegistry) { + public SkinCommand(SkinCache skinCache, NpcRegistryImpl npcRegistry, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry) { this.skinCache = skinCache; this.npcRegistry = npcRegistry; this.typeRegistry = typeRegistry; diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/commands/TypeCommand.java b/plugin/src/main/java/lol/pyr/znpcsplus/commands/TypeCommand.java index 204aeb0..8ed36fb 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/commands/TypeCommand.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/commands/TypeCommand.java @@ -12,9 +12,9 @@ import java.util.List; public class TypeCommand implements CommandHandler { private final NpcRegistryImpl registry; - private final NpcTypeRegistry typeRegistry; + private final NpcTypeRegistryImpl typeRegistry; - public TypeCommand(NpcRegistryImpl registry, NpcTypeRegistry typeRegistry) { + public TypeCommand(NpcRegistryImpl registry, NpcTypeRegistryImpl typeRegistry) { this.registry = registry; this.typeRegistry = typeRegistry; } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistry.java b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java similarity index 92% rename from plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistry.java rename to plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java index cc966f9..7f02c99 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistry.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java @@ -1,5 +1,6 @@ package lol.pyr.znpcsplus.entity; +import lol.pyr.znpcsplus.api.entity.EntityPropertyRegistry; import lol.pyr.znpcsplus.api.skin.SkinDescriptor; import lol.pyr.znpcsplus.entity.serializers.BooleanPropertySerializer; import lol.pyr.znpcsplus.entity.serializers.ComponentPropertySerializer; @@ -15,11 +16,11 @@ import java.util.List; import java.util.Map; @SuppressWarnings("unchecked") -public class EntityPropertyRegistry { +public class EntityPropertyRegistryImpl implements EntityPropertyRegistry { private final Map, PropertySerializer> serializerMap = new HashMap<>(); private final List> properties = new ArrayList<>(); - public EntityPropertyRegistry(SkinCache skinCache) { + public EntityPropertyRegistryImpl(SkinCache skinCache) { registerSerializer(new BooleanPropertySerializer()); registerSerializer(new ComponentPropertySerializer()); registerSerializer(new NamedTextColorPropertySerializer()); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java index c2d4b5b..05abef8 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java @@ -4,7 +4,7 @@ import lol.pyr.znpcsplus.ZNpcsPlus; import lol.pyr.znpcsplus.api.npc.NpcRegistry; import lol.pyr.znpcsplus.api.npc.NpcType; import lol.pyr.znpcsplus.config.ConfigManager; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.interaction.ActionRegistry; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -23,7 +23,7 @@ public class NpcRegistryImpl implements NpcRegistry { private final PacketFactory packetFactory; private final ConfigManager configManager; - public NpcRegistryImpl(ConfigManager configManager, ZNpcsPlus plugin, PacketFactory packetFactory, ActionRegistry actionRegistry, TaskScheduler scheduler, NpcTypeRegistry typeRegistry, EntityPropertyRegistry propertyRegistry) { + public NpcRegistryImpl(ConfigManager configManager, ZNpcsPlus plugin, PacketFactory packetFactory, ActionRegistry actionRegistry, TaskScheduler scheduler, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry) { storage = configManager.getConfig().storageType().create(configManager, plugin, packetFactory, actionRegistry, typeRegistry, propertyRegistry); this.packetFactory = packetFactory; this.configManager = configManager; diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java index e45a050..a31d11f 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java @@ -3,12 +3,15 @@ package lol.pyr.znpcsplus.npc; import com.github.retrooper.packetevents.PacketEvents; import com.github.retrooper.packetevents.manager.server.ServerVersion; import com.github.retrooper.packetevents.protocol.entity.type.EntityType; +import lol.pyr.znpcsplus.api.entity.EntityProperty; +import lol.pyr.znpcsplus.api.npc.NpcType; import lol.pyr.znpcsplus.entity.EntityPropertyImpl; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import java.util.*; +import java.util.stream.Collectors; -public class NpcTypeImpl { +public class NpcTypeImpl implements NpcType { private final EntityType type; private final Set> allowedProperties; private final String name; @@ -33,19 +36,19 @@ public class NpcTypeImpl { return hologramOffset; } - public Set> getAllowedProperties() { - return allowedProperties; + public Set> getAllowedProperties() { + return allowedProperties.stream().map(property -> (EntityProperty) property).collect(Collectors.toSet()); } protected static final class Builder { - private final EntityPropertyRegistry propertyRegistry; + private final EntityPropertyRegistryImpl propertyRegistry; private final String name; private final EntityType type; private final List> allowedProperties = new ArrayList<>(); private boolean globalProperties = true; private double hologramOffset = 0; - Builder(EntityPropertyRegistry propertyRegistry, String name, EntityType type) { + Builder(EntityPropertyRegistryImpl propertyRegistry, String name, EntityType type) { this.propertyRegistry = propertyRegistry; this.name = name; this.type = type; diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistry.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java similarity index 97% rename from plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistry.java rename to plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java index c425b29..7754f23 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistry.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java @@ -4,7 +4,8 @@ import com.github.retrooper.packetevents.PacketEventsAPI; import com.github.retrooper.packetevents.manager.server.ServerVersion; import com.github.retrooper.packetevents.protocol.entity.type.EntityType; import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.api.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import org.bukkit.plugin.Plugin; import java.util.ArrayList; @@ -12,7 +13,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -public class NpcTypeRegistry { +public class NpcTypeRegistryImpl implements NpcTypeRegistry { private final List types = new ArrayList<>(); private NpcTypeImpl register(NpcTypeImpl.Builder builder) { @@ -24,7 +25,7 @@ public class NpcTypeRegistry { return type; } - public void registerDefault(PacketEventsAPI packetEvents, EntityPropertyRegistry propertyRegistry) { + public void registerDefault(PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { ServerVersion version = packetEvents.getServerManager().getVersion(); register(new NpcTypeImpl.Builder(propertyRegistry, "player", EntityTypes.PLAYER).setHologramOffset(-0.15D) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java index 2d7ba35..6bb00ba 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java @@ -3,7 +3,7 @@ package lol.pyr.znpcsplus.packets; import com.github.retrooper.packetevents.PacketEventsAPI; import com.github.retrooper.packetevents.protocol.entity.data.EntityData; import lol.pyr.znpcsplus.api.entity.PropertyHolder; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -13,7 +13,7 @@ import org.bukkit.plugin.Plugin; import java.util.Map; public class V1_10PacketFactory extends V1_9PacketFactory { - public V1_10PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistry propertyRegistry) { + public V1_10PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { super(scheduler, metadataFactory, packetEvents, propertyRegistry); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java index b551c20..53dbea9 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java @@ -4,7 +4,7 @@ import com.github.retrooper.packetevents.PacketEventsAPI; import com.github.retrooper.packetevents.util.Vector3d; import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity; import lol.pyr.znpcsplus.api.entity.PropertyHolder; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -15,7 +15,7 @@ import org.bukkit.plugin.Plugin; import java.util.Optional; public class V1_14PacketFactory extends V1_10PacketFactory { - public V1_14PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistry propertyRegistry) { + public V1_14PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { super(scheduler, metadataFactory, packetEvents, propertyRegistry); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java index 37d515a..e54875e 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java @@ -6,7 +6,7 @@ import com.github.retrooper.packetevents.protocol.player.GameMode; import com.github.retrooper.packetevents.protocol.player.UserProfile; import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoRemove; import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoUpdate; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.api.entity.PropertyHolder; import lol.pyr.znpcsplus.metadata.MetadataFactory; @@ -19,7 +19,7 @@ import java.util.EnumSet; import java.util.concurrent.CompletableFuture; public class V1_19PacketFactory extends V1_14PacketFactory { - public V1_19PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistry propertyRegistry) { + public V1_19PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { super(scheduler, metadataFactory, packetEvents, propertyRegistry); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java index ff6fa0c..142d15d 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java @@ -12,7 +12,7 @@ import com.github.retrooper.packetevents.wrapper.PacketWrapper; import com.github.retrooper.packetevents.wrapper.play.server.*; import lol.pyr.znpcsplus.api.entity.PropertyHolder; import lol.pyr.znpcsplus.api.skin.SkinDescriptor; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -30,9 +30,9 @@ public class V1_8PacketFactory implements PacketFactory { protected final TaskScheduler scheduler; protected final MetadataFactory metadataFactory; protected final PacketEventsAPI packetEvents; - protected final EntityPropertyRegistry propertyRegistry; + protected final EntityPropertyRegistryImpl propertyRegistry; - public V1_8PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistry propertyRegistry) { + public V1_8PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { this.scheduler = scheduler; this.metadataFactory = metadataFactory; this.packetEvents = packetEvents; diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java index 7dca34f..99667aa 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java @@ -3,7 +3,7 @@ package lol.pyr.znpcsplus.packets; import com.github.retrooper.packetevents.PacketEventsAPI; import com.github.retrooper.packetevents.protocol.entity.data.EntityData; import lol.pyr.znpcsplus.api.entity.PropertyHolder; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -13,7 +13,7 @@ import org.bukkit.plugin.Plugin; import java.util.Map; public class V1_9PacketFactory extends V1_8PacketFactory { - public V1_9PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistry propertyRegistry) { + public V1_9PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { super(scheduler, metadataFactory, packetEvents, propertyRegistry); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/parsers/EntityPropertyParser.java b/plugin/src/main/java/lol/pyr/znpcsplus/parsers/EntityPropertyParser.java index b866be6..75dac21 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/parsers/EntityPropertyParser.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/parsers/EntityPropertyParser.java @@ -5,15 +5,15 @@ import lol.pyr.director.adventure.parse.ParserType; import lol.pyr.director.common.command.CommandExecutionException; import lol.pyr.director.common.message.Message; import lol.pyr.znpcsplus.entity.EntityPropertyImpl; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import java.util.Deque; @SuppressWarnings("rawtypes") public class EntityPropertyParser extends ParserType*/> { - private final EntityPropertyRegistry propertyRegistry; + private final EntityPropertyRegistryImpl propertyRegistry; - public EntityPropertyParser(Message message, EntityPropertyRegistry propertyRegistry) { + public EntityPropertyParser(Message message, EntityPropertyRegistryImpl propertyRegistry) { super(message); this.propertyRegistry = propertyRegistry; } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/parsers/NpcTypeParser.java b/plugin/src/main/java/lol/pyr/znpcsplus/parsers/NpcTypeParser.java index 734534f..c0c4f17 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/parsers/NpcTypeParser.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/parsers/NpcTypeParser.java @@ -5,14 +5,14 @@ import lol.pyr.director.adventure.parse.ParserType; import lol.pyr.director.common.command.CommandExecutionException; import lol.pyr.director.common.message.Message; import lol.pyr.znpcsplus.npc.NpcTypeImpl; -import lol.pyr.znpcsplus.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import java.util.Deque; public class NpcTypeParser extends ParserType { - private final NpcTypeRegistry typeRegistry; + private final NpcTypeRegistryImpl typeRegistry; - public NpcTypeParser(Message message, NpcTypeRegistry typeRegistry) { + public NpcTypeParser(Message message, NpcTypeRegistryImpl typeRegistry) { super(message); this.typeRegistry = typeRegistry; } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorageType.java b/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorageType.java index db0e406..d970395 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorageType.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorageType.java @@ -2,9 +2,9 @@ package lol.pyr.znpcsplus.storage; import lol.pyr.znpcsplus.ZNpcsPlus; import lol.pyr.znpcsplus.config.ConfigManager; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.interaction.ActionRegistry; -import lol.pyr.znpcsplus.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.storage.yaml.YamlStorage; @@ -13,10 +13,10 @@ import java.io.File; public enum NpcStorageType { YAML { @Override - public NpcStorage create(ConfigManager configManager, ZNpcsPlus plugin, PacketFactory packetFactory, ActionRegistry actionRegistry, NpcTypeRegistry typeRegistry, EntityPropertyRegistry propertyRegistry) { + public NpcStorage create(ConfigManager configManager, ZNpcsPlus plugin, PacketFactory packetFactory, ActionRegistry actionRegistry, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry) { return new YamlStorage(packetFactory, configManager, actionRegistry, typeRegistry, propertyRegistry, new File(plugin.getDataFolder(), "data")); } }; - public abstract NpcStorage create(ConfigManager configManager, ZNpcsPlus plugin, PacketFactory packetFactory, ActionRegistry actionRegistry, NpcTypeRegistry typeRegistry, EntityPropertyRegistry propertyRegistry); + public abstract NpcStorage create(ConfigManager configManager, ZNpcsPlus plugin, PacketFactory packetFactory, ActionRegistry actionRegistry, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java b/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java index 0ca6378..c9db45a 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java @@ -2,12 +2,12 @@ package lol.pyr.znpcsplus.storage.yaml; import lol.pyr.znpcsplus.config.ConfigManager; import lol.pyr.znpcsplus.entity.EntityPropertyImpl; -import lol.pyr.znpcsplus.entity.EntityPropertyRegistry; +import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.hologram.HologramLine; import lol.pyr.znpcsplus.interaction.ActionRegistry; import lol.pyr.znpcsplus.npc.NpcEntryImpl; import lol.pyr.znpcsplus.npc.NpcImpl; -import lol.pyr.znpcsplus.npc.NpcTypeRegistry; +import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.storage.NpcStorage; import lol.pyr.znpcsplus.util.NpcLocation; @@ -24,11 +24,11 @@ public class YamlStorage implements NpcStorage { private final PacketFactory packetFactory; private final ConfigManager configManager; private final ActionRegistry actionRegistry; - private final NpcTypeRegistry typeRegistry; - private final EntityPropertyRegistry propertyRegistry; + private final NpcTypeRegistryImpl typeRegistry; + private final EntityPropertyRegistryImpl propertyRegistry; private final File folder; - public YamlStorage(PacketFactory packetFactory, ConfigManager configManager, ActionRegistry actionRegistry, NpcTypeRegistry typeRegistry, EntityPropertyRegistry propertyRegistry, File folder) { + public YamlStorage(PacketFactory packetFactory, ConfigManager configManager, ActionRegistry actionRegistry, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry, File folder) { this.packetFactory = packetFactory; this.configManager = configManager; this.actionRegistry = actionRegistry;