Switched most internals to kotlin

This commit is contained in:
Auxilor
2021-08-06 16:15:29 +01:00
parent 49bce53724
commit 3cefcbe0bb
51 changed files with 731 additions and 979 deletions

View File

@@ -10,11 +10,9 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
public class ArrowDataListener extends PluginDependent<EcoPlugin> implements Listener {
@ApiStatus.Internal
public ArrowDataListener(@NotNull final EcoPlugin plugin) {
super(plugin);
}

View File

@@ -9,7 +9,6 @@ import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
@@ -20,7 +19,6 @@ import java.util.concurrent.atomic.AtomicReference;
public class EntityDeathByEntityListeners extends PluginDependent<EcoPlugin> implements Listener {
private final Set<EntityDeathByEntityBuilder> events = new HashSet<>();
@ApiStatus.Internal
public EntityDeathByEntityListeners(@NotNull final EcoPlugin plugin) {
super(plugin);
}

View File

@@ -36,7 +36,7 @@ import org.bukkit.inventory.ItemStack
import java.util.logging.Logger
class EcoHandler : EcoSpigotPlugin(), Handler {
private var cleaner: Cleaner? = null
private val cleaner = EcoCleaner()
override fun createScheduler(plugin: EcoPlugin): Scheduler {
return EcoScheduler(plugin)
@@ -91,10 +91,7 @@ class EcoHandler : EcoSpigotPlugin(), Handler {
}
override fun getCleaner(): Cleaner {
if (cleaner == null) {
cleaner = EcoCleaner()
}
return cleaner as Cleaner
return cleaner
}
override fun createProxyFactory(plugin: EcoPlugin): ProxyFactory {

View File

@@ -1,31 +1,20 @@
package com.willfp.eco.spigot.drops;
package com.willfp.eco.spigot.drops
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.internal.drops.impl.EcoDropQueue
import com.willfp.eco.internal.drops.impl.EcoFastCollatedDropQueue
import org.bukkit.scheduler.BukkitTask
import com.willfp.eco.core.EcoPlugin;
import com.willfp.eco.internal.drops.impl.EcoDropQueue;
import com.willfp.eco.internal.drops.impl.EcoFastCollatedDropQueue;
import lombok.Getter;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitTask;
import org.jetbrains.annotations.NotNull;
import java.util.Map;
public class CollatedRunnable {
@Getter
private final BukkitTask runnableTask;
public CollatedRunnable(@NotNull final EcoPlugin plugin) {
runnableTask = plugin.getScheduler().runTimer(() -> {
for (Map.Entry<Player, EcoFastCollatedDropQueue.CollatedDrops> entry : EcoFastCollatedDropQueue.COLLATED_MAP.entrySet()) {
new EcoDropQueue(entry.getKey())
.setLocation(entry.getValue().getLocation())
.addItems(entry.getValue().getDrops())
.addXP(entry.getValue().getXp())
.push();
EcoFastCollatedDropQueue.COLLATED_MAP.remove(entry.getKey());
}
EcoFastCollatedDropQueue.COLLATED_MAP.clear();
}, 0, 1);
}
}
class CollatedRunnable(plugin: EcoPlugin) {
private val runnableTask: BukkitTask = plugin.scheduler.runTimer({
for ((key, value) in EcoFastCollatedDropQueue.COLLATED_MAP) {
EcoDropQueue(key!!)
.setLocation(value.location)
.addItems(value.drops)
.addXP(value.xp)
.push()
EcoFastCollatedDropQueue.COLLATED_MAP.remove(key)
}
EcoFastCollatedDropQueue.COLLATED_MAP.clear()
}, 0, 1)
}

View File

@@ -1,69 +1,45 @@
package com.willfp.eco.spigot.gui;
package com.willfp.eco.spigot.gui
import com.willfp.eco.core.EcoPlugin;
import com.willfp.eco.core.PluginDependent;
import com.willfp.eco.core.gui.menu.Menu;
import com.willfp.eco.core.gui.slot.Slot;
import com.willfp.eco.internal.gui.menu.EcoMenu;
import com.willfp.eco.internal.gui.menu.MenuHandler;
import com.willfp.eco.internal.gui.slot.EcoSlot;
import org.apache.commons.lang.Validate;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.jetbrains.annotations.NotNull;
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.PluginDependent
import com.willfp.eco.internal.gui.menu.EcoMenu
import com.willfp.eco.internal.gui.menu.MenuHandler
import com.willfp.eco.internal.gui.slot.EcoSlot
import org.apache.commons.lang.Validate
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.inventory.InventoryClickEvent
import org.bukkit.event.inventory.InventoryCloseEvent
public class GUIListener extends PluginDependent<EcoPlugin> implements Listener {
public GUIListener(@NotNull final EcoPlugin plugin) {
super(plugin);
class GUIListener(plugin: EcoPlugin) : PluginDependent<EcoPlugin>(plugin), Listener {
@EventHandler
fun handleSlotClick(event: InventoryClickEvent) {
if (event.whoClicked !is Player) {
return
}
if (event.clickedInventory == null) {
return
}
val menu = MenuHandler.getMenu(event.clickedInventory!!) ?: return
val row = Math.floorDiv(event.slot, 9)
val column = event.slot - row * 9
val slot = menu.getSlot(row, column)
Validate.isTrue(slot is EcoSlot, "Slot not instance of EcoSlot!")
val ecoSlot = menu.getSlot(row, column) as EcoSlot
event.isCancelled = true
ecoSlot.handleInventoryClick(event)
}
@EventHandler
public void handleSlotClick(@NotNull final InventoryClickEvent event) {
if (!(event.getWhoClicked() instanceof Player)) {
return;
fun handleClose(event: InventoryCloseEvent) {
if (event.player !is Player) {
return
}
if (event.getClickedInventory() == null) {
return;
}
Menu menu = MenuHandler.getMenu(event.getClickedInventory());
if (menu == null) {
return;
}
int row = Math.floorDiv(event.getSlot(), 9);
int column = event.getSlot() - (row * 9);
Slot slot = menu.getSlot(row, column);
Validate.isTrue(slot instanceof EcoSlot, "Slot not instance of EcoSlot!");
EcoSlot ecoSlot = (EcoSlot) menu.getSlot(row, column);
event.setCancelled(true);
ecoSlot.handleInventoryClick(event);
val menu = MenuHandler.getMenu(event.inventory) ?: return
Validate.isTrue(menu is EcoMenu, "Menu not instance of EcoMenu!")
val ecoMenu = menu as EcoMenu
ecoMenu.handleClose(event)
plugin.scheduler.run { MenuHandler.unregisterMenu(event.inventory) }
}
@EventHandler
public void handleClose(@NotNull final InventoryCloseEvent event) {
if (!(event.getPlayer() instanceof Player)) {
return;
}
Menu menu = MenuHandler.getMenu(event.getInventory());
if (menu == null) {
return;
}
Validate.isTrue(menu instanceof EcoMenu, "Menu not instance of EcoMenu!");
EcoMenu ecoMenu = (EcoMenu) menu;
ecoMenu.handleClose(event);
this.getPlugin().getScheduler().run(() -> MenuHandler.unregisterMenu(event.getInventory()));
}
}
}