mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-27 04:55:47 +01:00
PlayerElytraBoostEvent
This commit is contained in:
parent
1fe8472503
commit
c2d29a73ac
95
Spigot-API-Patches/0125-PlayerElytraBoostEvent.patch
Normal file
95
Spigot-API-Patches/0125-PlayerElytraBoostEvent.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
From f0c0d6c6182c1c89de1125c0c2f22559724cfaf5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||||
|
Date: Sat, 21 Jul 2018 01:59:53 -0500
|
||||||
|
Subject: [PATCH] PlayerElytraBoostEvent
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..cecb2182
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java
|
||||||
|
@@ -0,0 +1,80 @@
|
||||||
|
+package com.destroystokyo.paper.event.player;
|
||||||
|
+
|
||||||
|
+import org.bukkit.entity.Firework;
|
||||||
|
+import org.bukkit.entity.Player;
|
||||||
|
+import org.bukkit.event.Cancellable;
|
||||||
|
+import org.bukkit.event.HandlerList;
|
||||||
|
+import org.bukkit.event.player.PlayerEvent;
|
||||||
|
+import org.bukkit.inventory.ItemStack;
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * Fired when a player boosts elytra flight with a firework
|
||||||
|
+ */
|
||||||
|
+public class PlayerElytraBoostEvent extends PlayerEvent implements Cancellable {
|
||||||
|
+ private static final HandlerList handlers = new HandlerList();
|
||||||
|
+ private boolean cancelled = false;
|
||||||
|
+ private final ItemStack itemStack;
|
||||||
|
+ private Firework firework;
|
||||||
|
+ private boolean consume = true;
|
||||||
|
+
|
||||||
|
+ public PlayerElytraBoostEvent(Player player, ItemStack itemStack, Firework firework) {
|
||||||
|
+ super(player);
|
||||||
|
+ this.itemStack = itemStack;
|
||||||
|
+ this.firework = firework;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Get the firework itemstack used
|
||||||
|
+ *
|
||||||
|
+ * @return ItemStack of firework
|
||||||
|
+ */
|
||||||
|
+ public ItemStack getItemStack() {
|
||||||
|
+ return itemStack;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Get the firework entity that was spawned
|
||||||
|
+ *
|
||||||
|
+ * @return Firework entity
|
||||||
|
+ */
|
||||||
|
+ public Firework getFirework() {
|
||||||
|
+ return firework;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Get whether to consume the firework or not
|
||||||
|
+ *
|
||||||
|
+ * @return True to consume
|
||||||
|
+ */
|
||||||
|
+ public boolean shouldConsume() {
|
||||||
|
+ return consume;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Set whether to consume the firework or not
|
||||||
|
+ *
|
||||||
|
+ * @param consume True to consume
|
||||||
|
+ */
|
||||||
|
+ public void setShouldConsume(boolean consume) {
|
||||||
|
+ this.consume = consume;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public HandlerList getHandlers() {
|
||||||
|
+ return handlers;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static HandlerList getHandlerList() {
|
||||||
|
+ return handlers;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isCancelled() {
|
||||||
|
+ return cancelled;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setCancelled(boolean cancel) {
|
||||||
|
+ cancelled = cancel;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.11.0
|
||||||
|
|
32
Spigot-Server-Patches/0299-PlayerElytraBoostEvent.patch
Normal file
32
Spigot-Server-Patches/0299-PlayerElytraBoostEvent.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From bddfab42af36131c6cadd4e233230ff085a16fc0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||||
|
Date: Sat, 21 Jul 2018 01:59:59 -0500
|
||||||
|
Subject: [PATCH] PlayerElytraBoostEvent
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
|
||||||
|
index 1493d0999..48cc5bf7d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
|
||||||
|
@@ -35,9 +35,15 @@ public class ItemFireworks extends Item {
|
||||||
|
EntityFireworks entityfireworks = new EntityFireworks(world, itemstack, entityhuman);
|
||||||
|
|
||||||
|
entityfireworks.spawningEntity = entityhuman.getUniqueID(); // Paper
|
||||||
|
- world.addEntity(entityfireworks);
|
||||||
|
- if (!entityhuman.abilities.canInstantlyBuild) {
|
||||||
|
- itemstack.subtract(1);
|
||||||
|
+ // Paper start
|
||||||
|
+ com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Firework) entityfireworks.getBukkitEntity());
|
||||||
|
+ if (event.callEvent() && world.addEntity(entityfireworks)) {
|
||||||
|
+ if (event.shouldConsume() && !entityhuman.abilities.canInstantlyBuild) {
|
||||||
|
+ itemstack.subtract(1);
|
||||||
|
+ } else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
|
||||||
|
+ } else if (entityhuman instanceof EntityPlayer) {
|
||||||
|
+ ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.11.0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user