Switched most internals to kotlin
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user