mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-09 13:28:36 +02:00
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
54 lines
2.1 KiB
Diff
54 lines
2.1 KiB
Diff
From 8cff2d98b5379af84aeab9de2dcc13e26d470c03 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 15 Jun 2013 19:52:04 -0400
|
|
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
|
|
|
|
Adds ability to get what arrow was shot, and control if it should be consumed.
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
|
|
index 18c5e31a..37dbc12e 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
|
|
@@ -2,6 +2,7 @@ package org.bukkit.event.entity;
|
|
|
|
import org.bukkit.entity.Entity;
|
|
import org.bukkit.entity.LivingEntity;
|
|
+import org.bukkit.entity.Projectile; // Paper
|
|
import org.bukkit.event.Cancellable;
|
|
import org.bukkit.event.HandlerList;
|
|
import org.bukkit.inventory.ItemStack;
|
|
@@ -17,9 +18,30 @@ public class EntityShootBowEvent extends EntityEvent implements Cancellable {
|
|
private Entity projectile;
|
|
private final float force;
|
|
private boolean cancelled;
|
|
+ // Paper start
|
|
+ private boolean consumeArrow = true;
|
|
+ private final ItemStack arrowItem;
|
|
+ public void setConsumeArrow(boolean consumeArrow) {
|
|
+ this.consumeArrow = consumeArrow;
|
|
+ }
|
|
+ public boolean getConsumeArrow() {
|
|
+ return consumeArrow;
|
|
+ }
|
|
|
|
+ @NotNull
|
|
+ public ItemStack getArrowItem() {
|
|
+ return arrowItem;
|
|
+ }
|
|
+
|
|
+ @Deprecated
|
|
public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull final Entity projectile, final float force) {
|
|
+ this(shooter, bow, new ItemStack(org.bukkit.Material.AIR), projectile, force);
|
|
+ }
|
|
+
|
|
+ public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull ItemStack arrowItem, @NotNull final Entity projectile, final float force) {
|
|
super(shooter);
|
|
+ this.arrowItem = arrowItem;
|
|
+ // Paper end
|
|
this.bow = bow;
|
|
this.projectile = projectile;
|
|
this.force = force;
|
|
--
|
|
2.21.0
|
|
|