diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 1403d23..54c7880 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -15,11 +15,12 @@ jobs:
if: startsWith(github.event.head_commit.message, '[CI skip]') == false
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3.5.3
- - name: Set up JDK 16
- uses: actions/setup-java@v3.11.0
+ - uses: actions/checkout@v4
+ - name: Set up JDK 21
+ uses: actions/setup-java@v4
with:
- java-version: 16
- distribution: temurin
+ java-version: '21'
+ distribution: 'temurin'
+ cache: 'maven'
- name: Build with Maven
- run: mvn package --file pom.xml
+ run: mvn package --file pom.xml
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index e012065..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "java.compile.nullAnalysis.mode": "automatic",
- "java.configuration.updateBuildConfiguration": "interactive"
-}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index f16cdc3..f335ff0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,20 +8,15 @@
1.0.0
- 1.8
- 1.8
+ 21
+ 21
UTF-8
- paper-repo
- https://repo.destroystokyo.com/repository/maven-public/
-
-
-
- spigot-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+ papermc
+ https://repo.papermc.io/repository/maven-public/
@@ -48,9 +43,9 @@
- org.spigotmc
- spigot-api
- 1.17.1-R0.1-SNAPSHOT
+ io.papermc.paper
+ paper-api
+ 1.21.4-R0.1-SNAPSHOT
provided
@@ -69,8 +64,8 @@
net.guizhanss
- GuizhanLib-slimefun
- 1.2.2
+ guizhanlib-all
+ 2.3.0
@@ -83,7 +78,7 @@
com.github.Slimefun
Slimefun4
- RC-33
+ experimental-SNAPSHOT
provided
@@ -93,12 +88,6 @@
-
- com.github.baked-libs.dough
- dough-api
- 39856a32c4
- compile
-
io.papermc
paperlib
@@ -148,7 +137,7 @@
org.projectlombok
lombok
- RELEASE
+ 1.18.42
compile
diff --git a/src/main/java/me/pranavverma/advancedtech/AdvancedTech.java b/src/main/java/me/pranavverma/advancedtech/AdvancedTech.java
index e79e4f8..3c2df93 100644
--- a/src/main/java/me/pranavverma/advancedtech/AdvancedTech.java
+++ b/src/main/java/me/pranavverma/advancedtech/AdvancedTech.java
@@ -83,18 +83,18 @@ public void onEnable() {
- ItemStack advanced_tech_define = new CustomItemStack(PlayerHead.getItemStack(PlayerSkin.fromBase64("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2I4NTg5ZTY3YTNhM2QxMmJmYzljOTgyMTBiMTAyYTM3MWQwNTIwNzk4YWU3MDBiMzYzMzVlOTlmNjkzMzc4ZCJ9fX0=")), "&4Advanced Tech", "The Most Advanced Tech in all of SF.", "&a> Click to open");
+ ItemStack advanced_tech_define = CustomItemStack.create(PlayerHead.getItemStack(PlayerSkin.fromBase64("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2I4NTg5ZTY3YTNhM2QxMmJmYzljOTgyMTBiMTAyYTM3MWQwNTIwNzk4YWU3MDBiMzYzMzVlOTlmNjkzMzc4ZCJ9fX0=")), "&4Advanced Tech", "The Most Advanced Tech in all of SF.", "&a> Click to open");
NamespacedKey advanced_tech_id = new NamespacedKey(this, "advanced_tech");
ItemGroup advanced_tech_category = new ItemGroup(advanced_tech_id, advanced_tech_define);
- ItemStack[] boosted_carbonado_recipe = { SlimefunItems.CARBONADO, SlimefunItems.CARBONADO, null, SlimefunItems.CARBONADO, SlimefunItems.CARBONADO, null, null, null, null };
+ ItemStack[] boosted_carbonado_recipe = { SlimefunItems.CARBONADO.item(), SlimefunItems.CARBONADO.item(), null, SlimefunItems.CARBONADO.item(), SlimefunItems.CARBONADO.item(), null, null, null, null };
boosted_carbonado boosted_carbonado = new boosted_carbonado(advanced_tech_category, BaseItems.boosted_carbonado_, RecipeType.ENHANCED_CRAFTING_TABLE, boosted_carbonado_recipe);
- ItemStack[] framed_uranium_recipe = { SlimefunItems.CARBONADO, SlimefunItems.URANIUM, SlimefunItems.CARBONADO, SlimefunItems.URANIUM, SlimefunItems.BOOSTED_URANIUM, SlimefunItems.URANIUM, SlimefunItems.CARBONADO, SlimefunItems.URANIUM, SlimefunItems.CARBONADO };
+ ItemStack[] framed_uranium_recipe = { SlimefunItems.CARBONADO.item(), SlimefunItems.URANIUM.item(), SlimefunItems.CARBONADO.item(), SlimefunItems.URANIUM.item(), SlimefunItems.BOOSTED_URANIUM.item(), SlimefunItems.URANIUM.item(), SlimefunItems.CARBONADO.item(), SlimefunItems.URANIUM.item(), SlimefunItems.CARBONADO.item() };
framed_uranium framed_uranium = new framed_uranium(advanced_tech_category, BaseItems.framed_uranium_, RecipeType.ENHANCED_CRAFTING_TABLE, framed_uranium_recipe);
- ItemStack[] fire_cake_recipe = { null, SlimefunItems.TINY_URANIUM, null, null, new ItemStack(Material.CAKE), null, null, new ItemStack(Material.FLINT_AND_STEEL), null };
+ ItemStack[] fire_cake_recipe = { null, SlimefunItems.TINY_URANIUM.item(), null, null, new ItemStack(Material.CAKE), null, null, new ItemStack(Material.FLINT_AND_STEEL), null };
FireCake fire__cake = new FireCake(advanced_tech_category, BaseItems.fire_cake, RecipeType.MAGIC_WORKBENCH, fire_cake_recipe);
boosted_carbonado.register(this);
@@ -103,11 +103,11 @@ public void onEnable() {
- ItemStack[] command_hub_recipe = { framed_uranium.getItem(), SlimefunItems.ANDROID_MEMORY_CORE, boosted_carbonado.getItem(), SlimefunItems.LARGE_CAPACITOR, SlimefunItems.POWER_CRYSTAL, SlimefunItems.NUCLEAR_REACTOR, boosted_carbonado.getItem(), SlimefunItems.ENERGY_CONNECTOR, framed_uranium.getItem() };
+ ItemStack[] command_hub_recipe = { framed_uranium.getItem(), SlimefunItems.ANDROID_MEMORY_CORE.item(), boosted_carbonado.getItem(), SlimefunItems.LARGE_CAPACITOR.item(), SlimefunItems.POWER_CRYSTAL.item(), SlimefunItems.NUCLEAR_REACTOR.item(), boosted_carbonado.getItem(), SlimefunItems.ENERGY_CONNECTOR.item(), framed_uranium.getItem() };
command_hub command_hub = new command_hub(advanced_tech_category, BaseItems.command_hub_, RecipeType.ENHANCED_CRAFTING_TABLE, command_hub_recipe);
- ItemStack[] command_engine_recipe = { framed_uranium.getItem(), SlimefunItems.BATTERY, framed_uranium.getItem(), SlimefunItems.ENERGY_CONNECTOR, SlimefunItems.POWER_CRYSTAL, SlimefunItems.ELECTRIC_MOTOR, framed_uranium.getItem(), boosted_carbonado.getItem(), framed_uranium.getItem() };
+ ItemStack[] command_engine_recipe = { framed_uranium.getItem(), SlimefunItems.BATTERY.item(), framed_uranium.getItem(), SlimefunItems.ENERGY_CONNECTOR.item(), SlimefunItems.POWER_CRYSTAL.item(), SlimefunItems.ELECTRIC_MOTOR.item(), framed_uranium.getItem(), boosted_carbonado.getItem(), framed_uranium.getItem() };
command_engine command_engine = new command_engine(advanced_tech_category, BaseItems.command_engine_, RecipeType.ENHANCED_CRAFTING_TABLE, command_engine_recipe);
@@ -117,13 +117,13 @@ public void onEnable() {
- ItemStack[] handheld_digger_1_recipe = { SlimefunItems.BATTERY, SlimefunItems.ALUMINUM_BRONZE_INGOT, SlimefunItems.BATTERY, SlimefunItems.EXPLOSIVE_PICKAXE, SlimefunItems.POWER_CRYSTAL, SlimefunItems.EXPLOSIVE_PICKAXE, SlimefunItems.BATTERY, SlimefunItems.ALUMINUM_BRONZE_INGOT, SlimefunItems.BATTERY };
+ ItemStack[] handheld_digger_1_recipe = { SlimefunItems.BATTERY.item(), SlimefunItems.ALUMINUM_BRONZE_INGOT.item(), SlimefunItems.BATTERY.item(), SlimefunItems.EXPLOSIVE_PICKAXE.item(), SlimefunItems.POWER_CRYSTAL.item(), SlimefunItems.EXPLOSIVE_PICKAXE.item(), SlimefunItems.BATTERY.item(), SlimefunItems.ALUMINUM_BRONZE_INGOT.item(), SlimefunItems.BATTERY.item() };
handheld_digger_1 basic_handheld_power_digger = new handheld_digger_1(advanced_tech_category, BaseItems.handheld_digger_1_, RecipeType.ENHANCED_CRAFTING_TABLE, handheld_digger_1_recipe);
- ItemStack[] handheld_digger_2_recipe = { SlimefunItems.BATTERY, SlimefunItems.BLISTERING_INGOT_3, SlimefunItems.BATTERY, basic_handheld_power_digger.getItem(), SlimefunItems.POWER_CRYSTAL, basic_handheld_power_digger.getItem(), SlimefunItems.BATTERY, SlimefunItems.BLISTERING_INGOT_3, SlimefunItems.BATTERY };
+ ItemStack[] handheld_digger_2_recipe = { SlimefunItems.BATTERY.item(), SlimefunItems.BLISTERING_INGOT_3.item(), SlimefunItems.BATTERY.item(), basic_handheld_power_digger.getItem(), SlimefunItems.POWER_CRYSTAL.item(), basic_handheld_power_digger.getItem(), SlimefunItems.BATTERY.item(), SlimefunItems.BLISTERING_INGOT_3.item(), SlimefunItems.BATTERY.item() };
handheld_digger_2 advanced_handheld_power_digger = new handheld_digger_2(advanced_tech_category, BaseItems.handheld_digger_2_, RecipeType.ENHANCED_CRAFTING_TABLE, handheld_digger_2_recipe);
- ItemStack[] handheld_digger_3_recipe = { boosted_carbonado.getItem(), framed_uranium.getItem(), boosted_carbonado.getItem(), advanced_handheld_power_digger.getItem(), SlimefunItems.POWER_CRYSTAL, advanced_handheld_power_digger.getItem(), boosted_carbonado.getItem(), framed_uranium.getItem(), boosted_carbonado.getItem() };
+ ItemStack[] handheld_digger_3_recipe = { boosted_carbonado.getItem(), framed_uranium.getItem(), boosted_carbonado.getItem(), advanced_handheld_power_digger.getItem(), SlimefunItems.POWER_CRYSTAL.item(), advanced_handheld_power_digger.getItem(), boosted_carbonado.getItem(), framed_uranium.getItem(), boosted_carbonado.getItem() };
handheld_digger_3 carbonado_handheld_power_digger = new handheld_digger_3(advanced_tech_category, BaseItems.handheld_digger_3_, RecipeType.ENHANCED_CRAFTING_TABLE, handheld_digger_3_recipe);
@@ -137,7 +137,7 @@ public void onEnable() {
- ItemStack[] advanced_solar_gen_recipe = {SlimefunItems.SOLAR_GENERATOR_2, SlimefunItems.SOLAR_GENERATOR_2, SlimefunItems.SOLAR_GENERATOR_2, null, boosted_carbonado.getItem(), null, null, SlimefunItems.POWER_CRYSTAL, null};
+ ItemStack[] advanced_solar_gen_recipe = {SlimefunItems.SOLAR_GENERATOR_2.item(), SlimefunItems.SOLAR_GENERATOR_2.item(), SlimefunItems.SOLAR_GENERATOR_2.item(), null, boosted_carbonado.getItem(), null, null, SlimefunItems.POWER_CRYSTAL.item(), null};
AdvancedSolarGen advanced_solar_gen = new AdvancedSolarGen(advanced_tech_category, BaseItems.advanced_solar_gen, RecipeType.ENHANCED_CRAFTING_TABLE, advanced_solar_gen_recipe, BaseItems.advanced_solar_gen_power_day, BaseItems.advanced_solar_gen_power_night);
advanced_solar_gen.register(this);
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/commanders/command_hub/command_hub.java b/src/main/java/me/pranavverma/advancedtech/general/items/commanders/command_hub/command_hub.java
index aee8ee6..0d85bca 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/commanders/command_hub/command_hub.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/commanders/command_hub/command_hub.java
@@ -12,13 +12,10 @@
import io.github.thebusybiscuit.slimefun4.implementation.handlers.SimpleBlockBreakHandler;
import io.github.thebusybiscuit.slimefun4.libraries.dough.skins.PlayerHead;
import io.github.thebusybiscuit.slimefun4.libraries.dough.skins.PlayerSkin;
-import lombok.Getter;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.pranavverma.advancedtech.general.BaseItems;
-import me.pranavverma.advancedtech.general.items.solargen.AdvancedSolarGen.AdvancedSolarGen;
-import net.guizhanss.guizhanlib.slimefun.machines.TickingMenuBlock;
import me.pranavverma.advancedtech.AdvancedTech;
import org.bukkit.ChatColor;
import org.bukkit.Material;
@@ -44,22 +41,6 @@
import org.bukkit.Location;
-import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
-import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack;
-import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
-import io.github.thebusybiscuit.slimefun4.core.handlers.BlockPlaceHandler;
-import me.mrCookieSlime.Slimefun.api.BlockStorage;
-import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
-import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
-import org.bukkit.Location;
-import org.bukkit.block.Block;
-import org.bukkit.event.block.BlockBreakEvent;
-import org.bukkit.event.block.BlockPlaceEvent;
-import org.bukkit.inventory.ItemStack;
-
-import javax.annotation.ParametersAreNonnullByDefault;
-
-
public class command_hub extends SlimefunItem implements HologramOwner, Listener {
public static boolean readyToUse = false;
@@ -252,23 +233,23 @@ public void onInventoryClick(InventoryClickEvent event) {
HumanEntity human = event.getWhoClicked();
Inventory inventory = event.getClickedInventory();
- if (human instanceof Player && inventory != null && inventory.getSize() == 9 && inventory.getItem(0).hasItemMeta() && inventory.getItem(8).getType() == Material.BLACK_STAINED_GLASS && inventory.getItem(7).getType() == Material.BLACK_STAINED_GLASS && inventory.getItem(6).getType() == Material.BLACK_STAINED_GLASS) {
- if (inventory.getItem(0) == null) {
-
- }
+ if (!(human instanceof Player) || inventory == null || inventory.getSize() != 9) {
+ return;
+ }
- if (inventory.getItem(6) == null) {
-
- }
-
- if (inventory.getItem(7) == null) {
-
- }
+ ItemStack item0 = inventory.getItem(0);
+ ItemStack item6 = inventory.getItem(6);
+ ItemStack item7 = inventory.getItem(7);
+ ItemStack item8 = inventory.getItem(8);
- if (inventory.getItem(8) == null) {
-
- }
+ if (item0 == null || item6 == null || item7 == null || item8 == null) {
+ return;
+ }
+ if (item0.hasItemMeta() &&
+ item8.getType() == Material.BLACK_STAINED_GLASS_PANE &&
+ item7.getType() == Material.BLACK_STAINED_GLASS_PANE &&
+ item6.getType() == Material.BLACK_STAINED_GLASS_PANE) {
event.setResult(Result.DENY); // Cancel the click event
event.setCancelled(true);
@@ -280,10 +261,25 @@ public void onInventoryClick(InventoryClickEvent event) {
public void onInventoryDrag(InventoryDragEvent event) {
HumanEntity human = event.getWhoClicked();
Inventory inventory = event.getInventory();
-
-
- if (human instanceof Player && inventory != null && inventory.getSize() == 9 && inventory.getItem(0).hasItemMeta() && inventory.getItem(8).getType() == Material.BLACK_STAINED_GLASS && inventory.getItem(7).getType() == Material.BLACK_STAINED_GLASS && inventory.getItem(6).getType() == Material.BLACK_STAINED_GLASS) {
+ if (!(human instanceof Player) || inventory == null || inventory.getSize() != 9) {
+ return;
+ }
+
+ ItemStack item0 = inventory.getItem(0);
+ ItemStack item6 = inventory.getItem(6);
+ ItemStack item7 = inventory.getItem(7);
+ ItemStack item8 = inventory.getItem(8);
+
+ if (item0 == null || item6 == null || item7 == null || item8 == null) {
+ return;
+ }
+
+ if (item0.hasItemMeta() &&
+ item8.getType() == Material.BLACK_STAINED_GLASS_PANE &&
+ item7.getType() == Material.BLACK_STAINED_GLASS_PANE &&
+ item6.getType() == Material.BLACK_STAINED_GLASS_PANE) {
+
event.setCancelled(true); // Cancel the drag event
}
}
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_2.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_2.java
index 4e4d6c9..da76e37 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_2.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_2.java
@@ -3,10 +3,6 @@
import javax.annotation.ParametersAreNonnullByDefault;
-import org.bukkit.Material;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerItemDamageEvent;
import org.bukkit.inventory.ItemStack;
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_3.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_3.java
index 568264c..f158628 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_3.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/handheld_digger_3.java
@@ -5,10 +5,6 @@
import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
import me.pranavverma.advancedtech.general.items.diggers.lib.carbonado.ExplosiveTool7x7;
-import org.bukkit.Material;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerItemDamageEvent;
import org.bukkit.inventory.ItemStack;
import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveTool5x5.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveTool5x5.java
index 0f1a864..7c81dec 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveTool5x5.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveTool5x5.java
@@ -16,6 +16,7 @@
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
+import org.bukkit.ExplosionResult;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
@@ -60,7 +61,7 @@ private void breakBlocks(BlockBreakEvent e, Player p, ItemStack item, Block b, L
List blocksToDestroy = new ArrayList<>();
if (callExplosionEvent.getValue()) {
- BlockExplodeEvent blockExplodeEvent = new BlockExplodeEvent(b, blocks, 0);
+ BlockExplodeEvent blockExplodeEvent = new BlockExplodeEvent(b, b.getState(), blocks, 0.0F, ExplosionResult.DESTROY);
Bukkit.getServer().getPluginManager().callEvent(blockExplodeEvent);
if (!blockExplodeEvent.isCancelled()) {
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveToolBreakBlocksEvent5x5.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveToolBreakBlocksEvent5x5.java
index df3aeb1..97820c1 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveToolBreakBlocksEvent5x5.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/advanced/ExplosiveToolBreakBlocksEvent5x5.java
@@ -1,6 +1,6 @@
package me.pranavverma.advancedtech.general.items.diggers.lib.advanced;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveTool4x4.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveTool4x4.java
index ad613e0..74678c0 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveTool4x4.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveTool4x4.java
@@ -16,6 +16,7 @@
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
+import org.bukkit.ExplosionResult;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
@@ -60,7 +61,7 @@ private void breakBlocks(BlockBreakEvent e, Player p, ItemStack item, Block b, L
List blocksToDestroy = new ArrayList<>();
if (callExplosionEvent.getValue()) {
- BlockExplodeEvent blockExplodeEvent = new BlockExplodeEvent(b, blocks, 0);
+ BlockExplodeEvent blockExplodeEvent = new BlockExplodeEvent(b, b.getState(), blocks, 0.0F, ExplosionResult.DESTROY);
Bukkit.getServer().getPluginManager().callEvent(blockExplodeEvent);
if (!blockExplodeEvent.isCancelled()) {
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveToolBreakBlocksEvent4x4.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveToolBreakBlocksEvent4x4.java
index d724cc4..33ca50f 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveToolBreakBlocksEvent4x4.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/basic/ExplosiveToolBreakBlocksEvent4x4.java
@@ -5,7 +5,7 @@
import javax.annotation.Nonnull;
import javax.annotation.ParametersAreNonnullByDefault;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveTool7x7.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveTool7x7.java
index 80386f3..ca0e6d5 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveTool7x7.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveTool7x7.java
@@ -8,6 +8,7 @@
import org.bukkit.Bukkit;
import org.bukkit.Effect;
+import org.bukkit.ExplosionResult;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
@@ -70,7 +71,7 @@ private void breakBlocks(BlockBreakEvent e, Player p, ItemStack item, Block b, L
List blocksToDestroy = new ArrayList<>();
if (callExplosionEvent.getValue().booleanValue()) {
- BlockExplodeEvent blockExplodeEvent = new BlockExplodeEvent(b, blocks, 0);
+ BlockExplodeEvent blockExplodeEvent = new BlockExplodeEvent(b, b.getState(), blocks, 0.0F, ExplosionResult.DESTROY);
Bukkit.getServer().getPluginManager().callEvent(blockExplodeEvent);
if (!blockExplodeEvent.isCancelled()) {
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveToolBreakBlocksEvent7x7.java b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveToolBreakBlocksEvent7x7.java
index 576d396..075908e 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveToolBreakBlocksEvent7x7.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/diggers/lib/carbonado/ExplosiveToolBreakBlocksEvent7x7.java
@@ -5,7 +5,7 @@
import javax.annotation.Nonnull;
import javax.annotation.ParametersAreNonnullByDefault;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
@@ -14,8 +14,6 @@
import org.bukkit.event.player.PlayerEvent;
import org.bukkit.inventory.ItemStack;
-import me.pranavverma.advancedtech.general.items.diggers.lib.carbonado.ExplosiveTool7x7;
-
/**
* This {@link Event} is called when an {@link ExplosiveTool7x7} is used to break blocks in a 7x7 area.
*
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/firecake/FireCake.java b/src/main/java/me/pranavverma/advancedtech/general/items/firecake/FireCake.java
index d93d5eb..9ad00c6 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/firecake/FireCake.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/firecake/FireCake.java
@@ -8,8 +8,6 @@
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactive;
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
-import me.pranavverma.advancedtech.AdvancedTech;
-import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import org.bukkit.inventory.ItemStack;
public class FireCake extends SlimefunItem implements Radioactive {
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/AdvancedSolarGen.java b/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/AdvancedSolarGen.java
index 716c348..c434ade 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/AdvancedSolarGen.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/AdvancedSolarGen.java
@@ -6,7 +6,6 @@
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack;
import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
-import me.pranavverma.advancedtech.general.items.commanders.command_hub.command_hub;
import me.pranavverma.advancedtech.general.items.solargen.AdvancedSolarGen.lib.AdvancedSolarGenLib;
diff --git a/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/lib/AdvancedSolarGenLib.java b/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/lib/AdvancedSolarGenLib.java
index e34d0d1..b670642 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/lib/AdvancedSolarGenLib.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/items/solargen/AdvancedSolarGen/lib/AdvancedSolarGenLib.java
@@ -4,7 +4,6 @@
import javax.annotation.ParametersAreNonnullByDefault;
import org.bukkit.Location;
-import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.World.Environment;
import org.bukkit.block.Block;
@@ -21,12 +20,10 @@
import io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetProvider;
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockPlaceHandler;
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
-import io.github.thebusybiscuit.slimefun4.core.networks.energy.EnergyNet;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.pranavverma.advancedtech.general.BaseItems;
-import me.pranavverma.advancedtech.general.items.commanders.command_hub.command_hub;
public class AdvancedSolarGenLib extends SlimefunItem implements EnergyNetProvider {
diff --git a/src/main/java/me/pranavverma/advancedtech/general/resources/boosted_carbonado/boosted_carbonado.java b/src/main/java/me/pranavverma/advancedtech/general/resources/boosted_carbonado/boosted_carbonado.java
index 89ff9b4..29d0bb9 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/resources/boosted_carbonado/boosted_carbonado.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/resources/boosted_carbonado/boosted_carbonado.java
@@ -1,15 +1,9 @@
package me.pranavverma.advancedtech.general.resources.boosted_carbonado;
-import io.github.thebusybiscuit.slimefun4.api.events.PlayerRightClickEvent;
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack;
import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
-import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactive;
-import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
-import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
-import me.pranavverma.advancedtech.AdvancedTech;
-import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import org.bukkit.inventory.ItemStack;
diff --git a/src/main/java/me/pranavverma/advancedtech/general/resources/framed_uranium/framed_uranium.java b/src/main/java/me/pranavverma/advancedtech/general/resources/framed_uranium/framed_uranium.java
index fda7f6b..621e01d 100644
--- a/src/main/java/me/pranavverma/advancedtech/general/resources/framed_uranium/framed_uranium.java
+++ b/src/main/java/me/pranavverma/advancedtech/general/resources/framed_uranium/framed_uranium.java
@@ -1,16 +1,12 @@
package me.pranavverma.advancedtech.general.resources.framed_uranium;
-import io.github.thebusybiscuit.slimefun4.api.events.PlayerRightClickEvent;
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack;
import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactive;
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
-import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
-import me.pranavverma.advancedtech.AdvancedTech;
-import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import org.bukkit.inventory.ItemStack;
diff --git a/src/main/java/me/pranavverma/advancedtech/managers/SupportedPluginManager.java b/src/main/java/me/pranavverma/advancedtech/managers/SupportedPluginManager.java
index 5a00320..48f8f6c 100644
--- a/src/main/java/me/pranavverma/advancedtech/managers/SupportedPluginManager.java
+++ b/src/main/java/me/pranavverma/advancedtech/managers/SupportedPluginManager.java
@@ -1,7 +1,6 @@
package me.pranavverma.advancedtech.managers;
import com.google.common.base.Preconditions;
import me.pranavverma.advancedtech.AdvancedTech;
-import org.bukkit.Bukkit;
public class SupportedPluginManager {
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index a7e339f..b53ba5b 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -18,7 +18,7 @@ website: https://web.craftingrealm.tk
version: ${project.version}
## This is the minimum minecraft version required to run your plugin.
-api-version: 1.14
+api-version: 1.21
## This is required and marks Slimefun as a plugin dependency.
depend: