diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..1f63bf5
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,11 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+ - package-ecosystem: "maven" # See documentation for possible values
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "weekly"
\ No newline at end of file
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..2048577
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,46 @@
+# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ "release" ]
+ pull_request:
+ branches: [ "release" ]
+
+env:
+ VERSION: "1.0"
+
+jobs:
+ build:
+ name: Create Build
+ if: "startsWith(github.event.head_commit.message, '[Release]')"
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Set up JDK 8
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'corretto'
+ cache: maven
+
+ - name: Build
+ run: mvn clean package
+
+ - name: Upload Artifact
+ uses: ncipollo/release-action@v1.10.0
+ with:
+ artifacts: ${{ github.workspace }}/target/*.jar
+ draft: false
+ name: Release v${{ env.VERSION }}
+ tag: v${{ env.VERSION }}
+ token: ${{ secrets.GITHUB_TOKEN }}
+ body: "The artifacts are kept up to date with the branch release."
+ commit: ${{ github.sha }}
+ allowUpdates: true
+ removeArtifacts: true
+ replacesArtifacts: true
\ No newline at end of file
diff --git a/README.md b/README.md
index e63f461..3e64f1b 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,6 @@
# Items ID
-> Show the id of the items in your NukkitX server
-
-
-
-If you encounter any bugs, have suggestions or questions, [create an issue](https://github.com/Josscoder/ItemsID/issues/new).
+Show the id of the items in your Nukkit server
## Setup
@@ -18,6 +14,10 @@ If you encounter any bugs, have suggestions or questions, [create an issue](http
- /ii help | To see all the commands (there are only 2 for now)
-- /ii toggle | This will help you if you want to see the id of the item that you have in your hand all the time, to deactivate it, execute the command again (/ii toggle)
-- /ii | the command without subcommand will show you information about the item you have in hand when executing the command
+- /ii toggle | This will help you if you want to see the id of the item that you have in your hand all the time, to
+ deactivate it, execute the command again (/ii toggle)
+
+
+- /ii | the command without subcommand will show you information about the item you have in hand when executing the
+ command
diff --git a/lib/lombok.jar b/lib/lombok.jar
deleted file mode 100644
index 866caab..0000000
Binary files a/lib/lombok.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
index ba25b5c..3361e9d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,16 +1,16 @@
-
4.0.0
jossc.items
ItemsID
- 1.0-SNAPSHOT
+ 1.0.1
- 8
- 8
+ 1.8
+ 1.8
UTF-8
@@ -18,22 +18,10 @@
opencollab-repo-release
https://repo.opencollab.dev/maven-releases/
-
- true
-
-
- false
-
opencollab-repo-snapshot
https://repo.opencollab.dev/maven-snapshots/
-
- false
-
-
- true
-
@@ -41,9 +29,8 @@
org.projectlombok
lombok
- 1.18.18
- system
- ${basedir}/lib/lombok.jar
+ 1.18.26
+ provided
cn.nukkit
@@ -52,4 +39,45 @@
provided
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.4.1
+
+
+ package
+
+ shade
+
+
+
+
+ *:*
+
+ module-info.class
+ META-INF/*
+
+
+
+ false
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
\ No newline at end of file
diff --git a/src/main/java/jossc/items/Main.java b/src/main/java/jossc/items/Main.java
deleted file mode 100644
index 28e3397..0000000
--- a/src/main/java/jossc/items/Main.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package jossc.items;
-
-import cn.nukkit.plugin.PluginBase;
-import cn.nukkit.utils.TextFormat;
-import jossc.items.command.ItemIdCommand;
-import jossc.items.listener.EventListener;
-import jossc.items.storage.SessionsStorage;
-import lombok.Getter;
-
-public class Main extends PluginBase {
-
- @Getter
- private static Main instance;
-
- @Getter
- private SessionsStorage storage;
-
- @Override
- public void onEnable() {
- super.onEnable();
-
- instance = this;
- storage = new SessionsStorage();
-
- getServer().getCommandMap().register(
- "itemid",
- new ItemIdCommand()
- );
- getServer().getPluginManager().registerEvents(
- new EventListener(),
- this
- );
-
- getLogger().info(TextFormat.GREEN + "This plugin has been enabled!");
- }
-
- @Override
- public void onDisable() {
- super.onDisable();
-
- getLogger().info(TextFormat.RED + "This plugin has been disabled!");
- }
-}
diff --git a/src/main/java/jossc/items/command/ItemIdCommand.java b/src/main/java/jossc/items/command/ItemIdCommand.java
deleted file mode 100644
index 9e0ac89..0000000
--- a/src/main/java/jossc/items/command/ItemIdCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package jossc.items.command;
-
-import cn.nukkit.Player;
-import cn.nukkit.command.Command;
-import cn.nukkit.command.CommandSender;
-import cn.nukkit.utils.TextFormat;
-import jossc.items.Main;
-import jossc.items.storage.SessionsStorage;
-import jossc.items.utils.Utils;
-
-public class ItemIdCommand extends Command {
-
- private final SessionsStorage storage;
-
- public ItemIdCommand() {
- super(
- "itemid",
- "Show the id of the item you have in your hand",
- "/itemid",
- new String[] {"ii"}
- );
-
- storage = Main.getInstance().getStorage();
- }
-
- @Override
- public boolean execute(CommandSender sender, String label, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(TextFormat.RED + "Please, use this command in-game!");
-
- return false;
- }
-
- Player player = (Player) sender;
-
- if (args.length < 1) {
- Utils.sendItemInformation(player, player.getInventory().getItemInHand());
-
- return true;
- }
-
- switch (args[0].toLowerCase()) {
- case "toggle":
- if (storage.contains(player)) {
- storage.remove(player);
-
- player.sendMessage(
- TextFormat.RED + "The information of the item you have in hand will no longer be shown to you!"
- );
-
- return true;
- }
-
- storage.add(player);
-
- player.sendMessage(
- TextFormat.GREEN + "Now the information of any item you have in hand will be displayed!"
- );
- break;
- case "help":
- player.sendMessage(TextFormat.BOLD.toString() + TextFormat.YELLOW + "Item Id Commands List");
-
- String prefix = TextFormat.DARK_GRAY + "-" + TextFormat.GRAY + "/" + label;
- player.sendMessage(prefix + " toggle");
- player.sendMessage(prefix + " help");
- break;
- default:
- player.sendMessage(TextFormat.RED + "Unknown sub-command!");
- break;
- }
-
- return false;
- }
-}
diff --git a/src/main/java/jossc/items/listener/EventListener.java b/src/main/java/jossc/items/listener/EventListener.java
deleted file mode 100644
index c6c58c6..0000000
--- a/src/main/java/jossc/items/listener/EventListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package jossc.items.listener;
-
-import cn.nukkit.Player;
-import cn.nukkit.event.EventHandler;
-import cn.nukkit.event.Listener;
-import cn.nukkit.event.player.PlayerItemHeldEvent;
-import cn.nukkit.event.player.PlayerQuitEvent;
-import jossc.items.Main;
-import jossc.items.storage.SessionsStorage;
-import jossc.items.utils.Utils;
-
-public class EventListener implements Listener {
-
- private final SessionsStorage storage;
-
- public EventListener() {
- storage = Main.getInstance().getStorage();
- }
-
- @EventHandler
- public void onItemHeld(PlayerItemHeldEvent event) {
- Player player = event.getPlayer();
-
- if (storage.contains(player)) {
- Utils.sendItemInformation(player, event.getItem());
- }
- }
-
- @EventHandler
- public void onQuit(PlayerQuitEvent event) {
- Player player = event.getPlayer();
-
- if (storage.contains(player)) {
- storage.remove(player);
- }
- }
-}
diff --git a/src/main/java/jossc/items/storage/SessionsStorage.java b/src/main/java/jossc/items/storage/SessionsStorage.java
deleted file mode 100644
index cac0684..0000000
--- a/src/main/java/jossc/items/storage/SessionsStorage.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package jossc.items.storage;
-
-import cn.nukkit.Player;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class SessionsStorage {
-
- private final List storage;
-
- public SessionsStorage() {
- storage = new ArrayList<>();
- }
-
- public boolean contains(Player player) {
- return storage.contains(player);
- }
-
- public void add(Player player) {
- storage.add(player);
- }
-
- public void remove(Player player) {
- storage.remove(player);
- }
-}
diff --git a/src/main/java/jossc/items/utils/Utils.java b/src/main/java/jossc/items/utils/Utils.java
deleted file mode 100644
index aad1dbc..0000000
--- a/src/main/java/jossc/items/utils/Utils.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package jossc.items.utils;
-
-import cn.nukkit.Player;
-import cn.nukkit.item.Item;
-
-public class Utils {
-
- public static void sendItemInformation(Player player, Item item) {
- player.sendPopup("§9" + item.getName() +
- "\n" + "§r§7" + item.getId() + ":" + item.getDamage()
- );
- }
-}
diff --git a/src/main/java/josscoder/itemsid/ItemsIDPlugin.java b/src/main/java/josscoder/itemsid/ItemsIDPlugin.java
new file mode 100644
index 0000000..495908b
--- /dev/null
+++ b/src/main/java/josscoder/itemsid/ItemsIDPlugin.java
@@ -0,0 +1,33 @@
+package josscoder.itemsid;
+
+import cn.nukkit.plugin.PluginBase;
+import cn.nukkit.utils.TextFormat;
+import josscoder.itemsid.command.ItemIdCommand;
+import josscoder.itemsid.listener.GeneralListener;
+import lombok.Getter;
+
+public class ItemsIDPlugin extends PluginBase {
+
+ public static final String NBT_ITEMS_ID = "itemsIdToggle";
+
+ @Getter
+ private static ItemsIDPlugin instance;
+
+ @Override
+ public void onLoad() {
+ instance = this;
+ }
+
+ @Override
+ public void onEnable() {
+ getServer().getCommandMap().register("itemid", new ItemIdCommand());
+ getServer().getPluginManager().registerEvents(new GeneralListener(), this);
+
+ getLogger().info(TextFormat.GREEN + "ItemsID has been enabled!");
+ }
+
+ @Override
+ public void onDisable() {
+ getLogger().info(TextFormat.RED + "ItemsID has been disabled!");
+ }
+}
diff --git a/src/main/java/josscoder/itemsid/command/ItemIdCommand.java b/src/main/java/josscoder/itemsid/command/ItemIdCommand.java
new file mode 100644
index 0000000..e320d37
--- /dev/null
+++ b/src/main/java/josscoder/itemsid/command/ItemIdCommand.java
@@ -0,0 +1,63 @@
+package josscoder.itemsid.command;
+
+import cn.nukkit.Player;
+import cn.nukkit.command.Command;
+import cn.nukkit.command.CommandSender;
+import cn.nukkit.item.Item;
+import cn.nukkit.utils.TextFormat;
+import josscoder.itemsid.ItemsIDPlugin;
+
+public class ItemIdCommand extends Command {
+
+ public ItemIdCommand() {
+ super("itemid",
+ "Show the id of the item you have in your hand",
+ "/itemid",
+ new String[]{"ii", "itemsid"}
+ );
+ }
+
+ @Override
+ public boolean execute(CommandSender sender, String label, String[] args) {
+ if (!(sender instanceof Player)) {
+ sender.sendMessage(TextFormat.RED + "Please, use this command in-game!");
+ return false;
+ }
+
+ Player player = (Player) sender;
+
+ if (args.length < 1) {
+ Item item = player.getInventory().getItemInHand();
+ player.sendActionBar(TextFormat.colorize(String.format("&6%s\n&r&7%s:%s", item.getName(), item.getId(), item.getDamage())));
+
+ return true;
+ }
+
+ switch (args[0].toLowerCase()) {
+ case "toggle":
+ if (player.namedTag.getBoolean(ItemsIDPlugin.NBT_ITEMS_ID)) {
+
+ player.namedTag.putBoolean(ItemsIDPlugin.NBT_ITEMS_ID, false);
+ player.sendMessage(TextFormat.RED + "The information of the item you have in hand will no longer be shown to you!");
+
+ return false;
+ }
+
+ player.namedTag.putBoolean(ItemsIDPlugin.NBT_ITEMS_ID, true);
+ player.sendMessage(TextFormat.GREEN + "Now the information of any item you have in hand will be displayed!");
+ break;
+ case "help":
+ player.sendMessage(TextFormat.BOLD.toString() + TextFormat.YELLOW + "Item Id Commands List");
+
+ String prefix = TextFormat.DARK_GRAY + "-" + TextFormat.GRAY + "/" + label;
+ player.sendMessage(prefix + " toggle");
+ player.sendMessage(prefix + " help");
+ break;
+ default:
+ player.sendMessage(TextFormat.RED + "Unknown sub-command!");
+ break;
+ }
+
+ return false;
+ }
+}
diff --git a/src/main/java/josscoder/itemsid/listener/GeneralListener.java b/src/main/java/josscoder/itemsid/listener/GeneralListener.java
new file mode 100644
index 0000000..8b59c96
--- /dev/null
+++ b/src/main/java/josscoder/itemsid/listener/GeneralListener.java
@@ -0,0 +1,29 @@
+package josscoder.itemsid.listener;
+
+import cn.nukkit.Player;
+import cn.nukkit.block.BlockID;
+import cn.nukkit.event.EventHandler;
+import cn.nukkit.event.Listener;
+import cn.nukkit.event.player.PlayerItemHeldEvent;
+import cn.nukkit.item.Item;
+import cn.nukkit.utils.TextFormat;
+import josscoder.itemsid.ItemsIDPlugin;
+
+public class GeneralListener implements Listener {
+
+ @EventHandler
+ public void onItemHeld(PlayerItemHeldEvent event) {
+ Item item = event.getItem();
+ if (item.getId() == BlockID.AIR) {
+ return;
+ }
+
+ Player player = event.getPlayer();
+
+ if (!player.namedTag.getBoolean(ItemsIDPlugin.NBT_ITEMS_ID)) {
+ return;
+ }
+
+ player.sendActionBar(TextFormat.colorize(String.format("&9%s\n&r&7%s:%s", item.getName(), item.getId(), item.getDamage())));
+ }
+}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index b1b3002..b4d5fcb 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
name: ItemsID
-main: jossc.items.Main
+main: josscoder.itemsid.ItemsIDPlugin
api: 1.0.0
-version: 1.0.0
+version: ${project.version}
author: Josscoder
\ No newline at end of file