From a0932c7ca87608a074d00c8a4282b9ac106135e6 Mon Sep 17 00:00:00 2001
From: Hutch79 <42042811+Hutch79@users.noreply.github.com>
Date: Mon, 9 Sep 2024 13:42:18 +0200
Subject: [PATCH] Removed DI Container
---
pom.xml | 7 +----
.../java/ch/hutch79/application/FCommand.java | 30 +++++++++++++------
.../hutch79/application/command/Command.java | 2 --
.../configManager/ConfigMigrator.java | 8 ++---
.../configManager/Migrations/MigrationV1.java | 1 -
.../application/events/EventHandler.java | 2 --
.../application/events/EventRecivers.java | 15 ++++------
.../guice/DiContainerInstances.java | 28 -----------------
.../ch/hutch79/domain/configs/v1/Config.java | 2 ++
9 files changed, 31 insertions(+), 64 deletions(-)
delete mode 100644 src/main/java/ch/hutch79/application/guice/DiContainerInstances.java
diff --git a/pom.xml b/pom.xml
index 91b5116..9173551 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
ch.hutch79
F-Command
- 2.6.1
+ 2.6.2
jar
F-Command
@@ -127,11 +127,6 @@
jackson-dataformat-yaml
2.13.0
-
- com.google.inject
- guice
- 7.0.0
-
org.junit
junit-bom
diff --git a/src/main/java/ch/hutch79/application/FCommand.java b/src/main/java/ch/hutch79/application/FCommand.java
index 2f99d34..0457cdf 100644
--- a/src/main/java/ch/hutch79/application/FCommand.java
+++ b/src/main/java/ch/hutch79/application/FCommand.java
@@ -4,11 +4,10 @@
import ch.hutch79.application.command.CommandTab;
import ch.hutch79.application.configManager.ConfigManager;
import ch.hutch79.application.configManager.ConfigMigrator;
+import ch.hutch79.application.events.EventHandler;
import ch.hutch79.application.events.EventRecivers;
-import ch.hutch79.application.guice.DiContainerInstances;
import ch.hutch79.application.messages.ConsoleMessanger;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
+import ch.hutch79.domain.configs.v1.Config;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginDescriptionFile;
@@ -18,11 +17,15 @@
import com.jeff_media.updatechecker.UpdateCheckSource;
import com.jeff_media.updatechecker.UserAgentBuilder;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.Objects;
public final class FCommand extends JavaPlugin {
PluginDescriptionFile pdf = this.getDescription();
private static FCommand instance;
+ private static ConfigManager configManager;
+ private static EventHandler eventHandler;
private boolean isPlaceholderApiInstalled = false;
@Override
@@ -30,14 +33,19 @@ public void onEnable() {
getConfig().options().copyDefaults();
saveDefaultConfig();
instance = this;
- Injector injector = Guice.createInjector(new DiContainerInstances(instance));
- injector.getInstance(ConfigMigrator.class);
-
- new ConsoleMessanger(injector.getInstance(ConfigManager.class)); // Give ConfigManager Instance to ConsoleMessanger
+ configManager = new ConfigManager(instance.getDataFolder());
+ try {
+ configManager.loadConfig(Config.class, "config.yml");
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ new ConsoleMessanger(configManager);
- Objects.requireNonNull(getCommand("fcommand")).setExecutor(injector.getInstance(Command.class));
+ Objects.requireNonNull(getCommand("fcommand")).setExecutor(new Command(configManager));
Objects.requireNonNull(getCommand("fcommand")).setTabCompleter(new CommandTab());
- Bukkit.getPluginManager().registerEvents(injector.getInstance(EventRecivers.class), this);
+
+ eventHandler = new EventHandler(configManager);
+ Bukkit.getPluginManager().registerEvents(new EventRecivers(eventHandler), this);
new Metrics(this, 17738); // bStats
@@ -102,4 +110,8 @@ public String replacePlaceholders(Player player, String input) {
}
return input;
}
+
+ public PluginDescriptionFile getPdf() {
+ return pdf;
+ }
}
diff --git a/src/main/java/ch/hutch79/application/command/Command.java b/src/main/java/ch/hutch79/application/command/Command.java
index e5566a9..309488d 100644
--- a/src/main/java/ch/hutch79/application/command/Command.java
+++ b/src/main/java/ch/hutch79/application/command/Command.java
@@ -2,7 +2,6 @@
import ch.hutch79.application.configManager.ConfigManager;
import ch.hutch79.domain.configs.v1.Config;
-import jakarta.inject.Inject;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
@@ -13,7 +12,6 @@ public class Command implements CommandExecutor {
private final ConfigManager configManager;
- @Inject
public Command(ConfigManager _configManager) {
configManager = _configManager;
}
diff --git a/src/main/java/ch/hutch79/application/configManager/ConfigMigrator.java b/src/main/java/ch/hutch79/application/configManager/ConfigMigrator.java
index 05597f2..1950848 100644
--- a/src/main/java/ch/hutch79/application/configManager/ConfigMigrator.java
+++ b/src/main/java/ch/hutch79/application/configManager/ConfigMigrator.java
@@ -3,9 +3,6 @@
import ch.hutch79.application.configManager.Migrations.MigrationV1;
import ch.hutch79.domain.configs.v1.Config;
import ch.hutch79.application.messages.ConsoleMessanger;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
@@ -13,14 +10,13 @@
public class ConfigMigrator {
- @Inject
- public ConfigMigrator(Injector injector, ConfigManager configManager) throws IOException {
+ public ConfigMigrator(ConfigManager configManager) throws IOException {
ConsoleMessanger messanger = new ConsoleMessanger();
try {
configManager.loadConfig(Config.class, "config.yml");
} catch (Exception e1) {
try {
- var migrationV1 = injector.getInstance(MigrationV1.class);
+ var migrationV1 = new MigrationV1();
Config configNew = migrationV1.configMigration(Paths.get("plugins" + File.separator + "F-Command"));
configManager.writeConfig(configNew, "config.yml");
} catch (Exception e2) {
diff --git a/src/main/java/ch/hutch79/application/configManager/Migrations/MigrationV1.java b/src/main/java/ch/hutch79/application/configManager/Migrations/MigrationV1.java
index 5dae53e..e953962 100644
--- a/src/main/java/ch/hutch79/application/configManager/Migrations/MigrationV1.java
+++ b/src/main/java/ch/hutch79/application/configManager/Migrations/MigrationV1.java
@@ -5,7 +5,6 @@
import ch.hutch79.application.messages.ConsoleMessanger;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
-
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
diff --git a/src/main/java/ch/hutch79/application/events/EventHandler.java b/src/main/java/ch/hutch79/application/events/EventHandler.java
index 1871971..d52d7f9 100644
--- a/src/main/java/ch/hutch79/application/events/EventHandler.java
+++ b/src/main/java/ch/hutch79/application/events/EventHandler.java
@@ -8,7 +8,6 @@
import ch.hutch79.application.FCommand;
import ch.hutch79.application.configManager.ConfigManager;
import ch.hutch79.application.messages.ConsoleMessanger;
-import com.google.inject.Inject;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
@@ -25,7 +24,6 @@ public class EventHandler {
private Player player;
private ConsoleMessanger debug = new ConsoleMessanger(true);
- @Inject
public EventHandler(ConfigManager configManager) {
this.configManager = configManager;
diff --git a/src/main/java/ch/hutch79/application/events/EventRecivers.java b/src/main/java/ch/hutch79/application/events/EventRecivers.java
index 480ade7..84fdd37 100644
--- a/src/main/java/ch/hutch79/application/events/EventRecivers.java
+++ b/src/main/java/ch/hutch79/application/events/EventRecivers.java
@@ -1,8 +1,6 @@
package ch.hutch79.application.events;
import ch.hutch79.application.messages.ConsoleMessanger;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryType;
@@ -10,22 +8,20 @@
import org.bukkit.event.player.PlayerSwapHandItemsEvent;
public class EventRecivers implements Listener {
- private final Injector injector;
+ private final EventHandler eventHandler;
private Boolean ignoreEvent = false;
ConsoleMessanger debug = new ConsoleMessanger(true);
- @Inject
- public EventRecivers(Injector injector) {
+ public EventRecivers(EventHandler eventHandler) {
- this.injector = injector;
+ this.eventHandler = eventHandler;
}
@org.bukkit.event.EventHandler
private void onSwapHandItemsEvent(PlayerSwapHandItemsEvent e) {
debug.message("PlayerSwapHandItemsEvent detected");
- EventHandler eventHandler = injector.getInstance(EventHandler.class);
- eventHandler.handler(e);
+ this.eventHandler.handler(e);
}
@org.bukkit.event.EventHandler
private void inventoryClickEvent(InventoryClickEvent e) {
@@ -40,8 +36,7 @@ private void dropItemEvent(PlayerDropItemEvent e) {
debug.message("PlayerDropItemEvent detected: " + e.getPlayer());
if (!ignoreEvent) {
debug.message("Executed");
- EventHandler eventHandler = injector.getInstance(EventHandler.class);
- eventHandler.handler(e);
+ this.eventHandler.handler(e);
}
else {
debug.message("Ignored");
diff --git a/src/main/java/ch/hutch79/application/guice/DiContainerInstances.java b/src/main/java/ch/hutch79/application/guice/DiContainerInstances.java
deleted file mode 100644
index 86066ef..0000000
--- a/src/main/java/ch/hutch79/application/guice/DiContainerInstances.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package ch.hutch79.application.guice;
-
-import ch.hutch79.application.FCommand;
-import ch.hutch79.application.configManager.ConfigManager;
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import jakarta.inject.Singleton;
-
-public class DiContainerInstances extends AbstractModule {
- private static FCommand fCommand;
- private static ConfigManager configManager;
- public DiContainerInstances(FCommand _fCommand) {
- fCommand = _fCommand;
- configManager = new ConfigManager(fCommand.getDataFolder());
- }
-
- @Provides
- @Singleton
- static FCommand provideFCommand() {
- return fCommand;
- }
-
- @Provides
- @Singleton
- static ConfigManager configManagerProvider() {
- return configManager;
- }
-}
diff --git a/src/main/java/ch/hutch79/domain/configs/v1/Config.java b/src/main/java/ch/hutch79/domain/configs/v1/Config.java
index e7d84a1..f7ed25c 100644
--- a/src/main/java/ch/hutch79/domain/configs/v1/Config.java
+++ b/src/main/java/ch/hutch79/domain/configs/v1/Config.java
@@ -1,5 +1,7 @@
package ch.hutch79.domain.configs.v1;
+import org.bukkit.Bukkit;
+
import java.util.HashMap;
import java.util.Map;