928bcc8d3a
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 09943450 Update SnakeYAML version 5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc 6f82b381 PR-788: Add getHand() to all relevant events CraftBukkit Changes: aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe 5329dd6fd PR-1107: Add getHand() to all relevant events 93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
103 lines
2.9 KiB
Diff
103 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Sun, 20 Dec 2020 16:41:44 -0800
|
|
Subject: [PATCH] Added WorldGameRuleChangeEvent
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/event/world/WorldGameRuleChangeEvent.java b/src/main/java/io/papermc/paper/event/world/WorldGameRuleChangeEvent.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..20c25a0f9d65188402e8bb3981348bc6462904bf
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/event/world/WorldGameRuleChangeEvent.java
|
|
@@ -0,0 +1,91 @@
|
|
+package io.papermc.paper.event.world;
|
|
+
|
|
+import org.bukkit.GameRule;
|
|
+import org.bukkit.World;
|
|
+import org.bukkit.command.CommandSender;
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.world.WorldEvent;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+/**
|
|
+ * Called when a world's gamerule is changed, either by command or by api.
|
|
+ */
|
|
+public class WorldGameRuleChangeEvent extends WorldEvent implements Cancellable {
|
|
+
|
|
+ private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
+
|
|
+ private final CommandSender commandSender;
|
|
+ private final GameRule<?> gameRule;
|
|
+ private String value;
|
|
+ private boolean cancelled;
|
|
+
|
|
+ public WorldGameRuleChangeEvent(@NotNull World world, @Nullable CommandSender commandSender, @NotNull GameRule<?> gameRule, @NotNull String value) {
|
|
+ super(world);
|
|
+ this.commandSender = commandSender;
|
|
+ this.gameRule = gameRule;
|
|
+ this.value = value;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the command sender associated with this event.
|
|
+ *
|
|
+ * @return {@code null} if the gamerule was changed via api, otherwise the {@link CommandSender}.
|
|
+ */
|
|
+ @Nullable
|
|
+ public CommandSender getCommandSender() {
|
|
+ return commandSender;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the game rule associated with this event.
|
|
+ *
|
|
+ * @return the gamerule being changed.
|
|
+ */
|
|
+ @NotNull
|
|
+ public GameRule<?> getGameRule() {
|
|
+ return gameRule;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the new value of the gamerule.
|
|
+ *
|
|
+ * @return the new value of the gamerule.
|
|
+ */
|
|
+ @NotNull
|
|
+ public String getValue() {
|
|
+ return value;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sets the new value of this gamerule.
|
|
+ *
|
|
+ * @param value the new value of the gamerule.
|
|
+ */
|
|
+ public void setValue(@NotNull String value) {
|
|
+ this.value = value;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isCancelled() {
|
|
+ return cancelled;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setCancelled(boolean cancel) {
|
|
+ this.cancelled = cancel;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return HANDLER_LIST;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return HANDLER_LIST;
|
|
+ }
|
|
+}
|