From 3db7f6990ac557aede0bab3ec6a5686fc6074208 Mon Sep 17 00:00:00 2001 From: Sotr Date: Mon, 22 Apr 2019 20:03:09 +0800 Subject: [PATCH] Brings getPlayer() and getWorld() to events --- .../server/api/event/PlayerAttachedEvent.java | 10 ++++++++++ .../server/api/event/WorldAttachedEvent.java | 11 +++++++++++ .../java/org/bukkit/event/block/BlockEvent.java | 6 +++++- .../org/bukkit/event/entity/EntityEvent.java | 6 +++++- .../org/bukkit/event/hanging/HangingEvent.java | 6 +++++- .../event/inventory/InventoryCloseEvent.java | 2 +- .../bukkit/event/inventory/InventoryEvent.java | 17 ++++++++++++++++- .../event/inventory/InventoryOpenEvent.java | 2 +- .../org/bukkit/event/player/PlayerEvent.java | 6 +++++- .../org/bukkit/event/vehicle/VehicleEvent.java | 6 +++++- .../org/bukkit/event/weather/WeatherEvent.java | 4 +++- .../craftbukkit/entity/CraftVillager.java | 7 ------- 12 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 api/src/main/java/io/akarin/server/api/event/PlayerAttachedEvent.java create mode 100644 api/src/main/java/io/akarin/server/api/event/WorldAttachedEvent.java diff --git a/api/src/main/java/io/akarin/server/api/event/PlayerAttachedEvent.java b/api/src/main/java/io/akarin/server/api/event/PlayerAttachedEvent.java new file mode 100644 index 000000000..47c19b026 --- /dev/null +++ b/api/src/main/java/io/akarin/server/api/event/PlayerAttachedEvent.java @@ -0,0 +1,10 @@ +package io.akarin.server.api.event; + +import org.bukkit.entity.Player; + +/** + * Represents event with a player attached + */ +public interface PlayerAttachedEvent { + public Player getPlayer(); +} diff --git a/api/src/main/java/io/akarin/server/api/event/WorldAttachedEvent.java b/api/src/main/java/io/akarin/server/api/event/WorldAttachedEvent.java new file mode 100644 index 000000000..15908bd69 --- /dev/null +++ b/api/src/main/java/io/akarin/server/api/event/WorldAttachedEvent.java @@ -0,0 +1,11 @@ +package io.akarin.server.api.event; + +import org.bukkit.World; +import org.bukkit.entity.Player; + +/** + * Represents event with a world attached + */ +public interface WorldAttachedEvent { + public World getWorld(); +} diff --git a/api/src/main/java/org/bukkit/event/block/BlockEvent.java b/api/src/main/java/org/bukkit/event/block/BlockEvent.java index 62a4d1345..2a496f7a8 100644 --- a/api/src/main/java/org/bukkit/event/block/BlockEvent.java +++ b/api/src/main/java/org/bukkit/event/block/BlockEvent.java @@ -1,14 +1,18 @@ package org.bukkit.event.block; +import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.event.Event; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents a block related event. */ -public abstract class BlockEvent extends Event { +public abstract class BlockEvent extends Event implements WorldAttachedEvent { protected Block block; + @Override @NotNull public World getWorld() { return block.getWorld(); } // Akarin public BlockEvent(@NotNull final Block theBlock) { block = theBlock; diff --git a/api/src/main/java/org/bukkit/event/entity/EntityEvent.java b/api/src/main/java/org/bukkit/event/entity/EntityEvent.java index e3a9e3293..3d7bb2b0e 100644 --- a/api/src/main/java/org/bukkit/event/entity/EntityEvent.java +++ b/api/src/main/java/org/bukkit/event/entity/EntityEvent.java @@ -1,15 +1,19 @@ package org.bukkit.event.entity; +import org.bukkit.World; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.event.Event; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents an Entity-related event */ -public abstract class EntityEvent extends Event { +public abstract class EntityEvent extends Event implements WorldAttachedEvent { // Akarin protected Entity entity; + @Override @NotNull public World getWorld() { return entity.getWorld(); } // Akarin public EntityEvent(@NotNull final Entity what) { entity = what; diff --git a/api/src/main/java/org/bukkit/event/hanging/HangingEvent.java b/api/src/main/java/org/bukkit/event/hanging/HangingEvent.java index f01a1a0f0..6abf76f21 100644 --- a/api/src/main/java/org/bukkit/event/hanging/HangingEvent.java +++ b/api/src/main/java/org/bukkit/event/hanging/HangingEvent.java @@ -1,14 +1,18 @@ package org.bukkit.event.hanging; +import org.bukkit.World; import org.bukkit.entity.Hanging; import org.bukkit.event.Event; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents a hanging entity-related event. */ -public abstract class HangingEvent extends Event { +public abstract class HangingEvent extends Event implements WorldAttachedEvent { // Akarin protected Hanging hanging; + @Override @NotNull public World getWorld() { return hanging.getWorld(); } // Akarin protected HangingEvent(@NotNull final Hanging painting) { this.hanging = painting; diff --git a/api/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java b/api/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java index 21ad8888c..dd40d009a 100644 --- a/api/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java +++ b/api/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java @@ -73,7 +73,7 @@ public class InventoryCloseEvent extends InventoryEvent { * @return Player who is involved in this event */ @NotNull - public final HumanEntity getPlayer() { + public final HumanEntity getWhoClicked() { // Akarin return transaction.getPlayer(); } diff --git a/api/src/main/java/org/bukkit/event/inventory/InventoryEvent.java b/api/src/main/java/org/bukkit/event/inventory/InventoryEvent.java index cc534420d..8fc0a8d45 100644 --- a/api/src/main/java/org/bukkit/event/inventory/InventoryEvent.java +++ b/api/src/main/java/org/bukkit/event/inventory/InventoryEvent.java @@ -4,18 +4,33 @@ package org.bukkit.event.inventory; import java.util.List; import org.bukkit.event.HandlerList; +import org.bukkit.World; import org.bukkit.entity.HumanEntity; +import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryView; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.PlayerAttachedEvent; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents a player related inventory event */ -public class InventoryEvent extends Event { +public class InventoryEvent extends Event implements PlayerAttachedEvent, WorldAttachedEvent { private static final HandlerList handlers = new HandlerList(); protected InventoryView transaction; + // Akarin start + @NotNull + @Override + public Player getPlayer() { return (Player) transaction.getPlayer(); } // Akarin + @NotNull + @Override + public World getWorld() { return transaction.getPlayer().getWorld(); } // Akarin + @NotNull + public HumanEntity getWhoClicked() { return transaction.getPlayer(); } // Akarin + // Akarin end public InventoryEvent(@NotNull InventoryView transaction) { this.transaction = transaction; diff --git a/api/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java b/api/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java index 331a1bd73..06f3a5128 100644 --- a/api/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java +++ b/api/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java @@ -24,7 +24,7 @@ public class InventoryOpenEvent extends InventoryEvent implements Cancellable { * @return Player who is involved in this event */ @NotNull - public final HumanEntity getPlayer() { + public final HumanEntity getWhoClicked() { // Akarin return transaction.getPlayer(); } diff --git a/api/src/main/java/org/bukkit/event/player/PlayerEvent.java b/api/src/main/java/org/bukkit/event/player/PlayerEvent.java index 793b661b6..66193e0cc 100644 --- a/api/src/main/java/org/bukkit/event/player/PlayerEvent.java +++ b/api/src/main/java/org/bukkit/event/player/PlayerEvent.java @@ -1,14 +1,18 @@ package org.bukkit.event.player; +import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents a player related event */ -public abstract class PlayerEvent extends Event { +public abstract class PlayerEvent extends Event implements WorldAttachedEvent { // Akarin protected Player player; + @Override @NotNull public World getWorld() { return player.getWorld(); } // Akarin public PlayerEvent(@NotNull final Player who) { player = who; diff --git a/api/src/main/java/org/bukkit/event/vehicle/VehicleEvent.java b/api/src/main/java/org/bukkit/event/vehicle/VehicleEvent.java index 63df27056..72d827caf 100644 --- a/api/src/main/java/org/bukkit/event/vehicle/VehicleEvent.java +++ b/api/src/main/java/org/bukkit/event/vehicle/VehicleEvent.java @@ -1,14 +1,18 @@ package org.bukkit.event.vehicle; +import org.bukkit.World; import org.bukkit.entity.Vehicle; import org.bukkit.event.Event; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents a vehicle-related event. */ -public abstract class VehicleEvent extends Event { +public abstract class VehicleEvent extends Event implements WorldAttachedEvent { // Akarin protected Vehicle vehicle; + @Override @NotNull public World getWorld() { return vehicle.getWorld(); } // Akarin public VehicleEvent(@NotNull final Vehicle vehicle) { this.vehicle = vehicle; diff --git a/api/src/main/java/org/bukkit/event/weather/WeatherEvent.java b/api/src/main/java/org/bukkit/event/weather/WeatherEvent.java index e1854d807..669a297ea 100644 --- a/api/src/main/java/org/bukkit/event/weather/WeatherEvent.java +++ b/api/src/main/java/org/bukkit/event/weather/WeatherEvent.java @@ -4,10 +4,12 @@ import org.bukkit.World; import org.bukkit.event.Event; import org.jetbrains.annotations.NotNull; +import io.akarin.server.api.event.WorldAttachedEvent; + /** * Represents a Weather-related event */ -public abstract class WeatherEvent extends Event { +public abstract class WeatherEvent extends Event implements WorldAttachedEvent { // Akarin protected World world; public WeatherEvent(@NotNull final World where) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java index d3e6d3ee3..342a3408b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java @@ -1,6 +1,5 @@ package org.bukkit.craftbukkit.entity; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -8,9 +7,7 @@ import javax.annotation.Nullable; import net.minecraft.server.*; import org.apache.commons.lang.Validate; -import org.apache.logging.log4j.io.IoBuilder; import org.bukkit.craftbukkit.CraftServer; -import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.craftbukkit.inventory.CraftInventory; import org.bukkit.craftbukkit.inventory.CraftMerchant; import org.bukkit.entity.EntityType; @@ -19,10 +16,6 @@ import org.bukkit.entity.Villager; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.MerchantRecipe; -import org.jetbrains.annotations.NotNull; - -import com.google.common.collect.Lists; -import com.google.common.collect.Range; public class CraftVillager extends CraftAgeable implements Villager, InventoryHolder {