geforkt von Mirrors/Paper
461353e2cb
This was useful when plugins first started upgrading to uuid because each plugin would implement their own way for grabbing uuid's from mojang. Because none of them shared the result they would quickly hit the limits on the api causing the conversion to either fail or pause for long periods of time. The global api cache was a (very hacky) way to force all plugins to share a cache but caused a few issues with plugins that expected a full implementation of the HTTPURLConnection. Due to the fact that most servers/plugins have updated now it seems to be a good time to remove this as its usefulness mostly has expired.
53 Zeilen
2.2 KiB
Diff
53 Zeilen
2.2 KiB
Diff
From 7340408d6585299ec6f8eaa21f41f5afc26aa1ee Mon Sep 17 00:00:00 2001
|
|
From: md_5 <md_5@live.com.au>
|
|
Date: Mon, 4 Mar 2013 18:45:52 +1100
|
|
Subject: [PATCH] PlayerItemDamageEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
|
index 0457ede..3e0d808 100644
|
|
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
|
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
|
@@ -323,6 +323,11 @@ public final class ItemStack {
|
|
}
|
|
|
|
public boolean isDamaged(int i, Random random) {
|
|
+ return isDamaged(i, random, null);
|
|
+ }
|
|
+
|
|
+ public boolean isDamaged(int i, Random random, EntityLiving entityliving) {
|
|
+ // Spigot end
|
|
if (!this.e()) {
|
|
return false;
|
|
} else {
|
|
@@ -337,7 +342,16 @@ public final class ItemStack {
|
|
}
|
|
|
|
i -= k;
|
|
- if (i <= 0) {
|
|
+ // Spigot start
|
|
+ if (entityliving instanceof EntityPlayer) {
|
|
+ org.bukkit.craftbukkit.inventory.CraftItemStack item = org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(this);
|
|
+ org.bukkit.event.player.PlayerItemDamageEvent event = new org.bukkit.event.player.PlayerItemDamageEvent((org.bukkit.entity.Player) entityliving.getBukkitEntity(), item, i);
|
|
+ org.bukkit.Bukkit.getServer().getPluginManager().callEvent(event);
|
|
+ if (event.isCancelled()) return false;
|
|
+ i = event.getDamage();
|
|
+ }
|
|
+ // Spigot end
|
|
+ if (i <= 0 ) {
|
|
return false;
|
|
}
|
|
}
|
|
@@ -350,7 +364,7 @@ public final class ItemStack {
|
|
public void damage(int i, EntityLiving entityliving) {
|
|
if (!(entityliving instanceof EntityHuman) || !((EntityHuman) entityliving).abilities.canInstantlyBuild) {
|
|
if (this.e()) {
|
|
- if (this.isDamaged(i, entityliving.bb())) {
|
|
+ if (this.isDamaged(i, entityliving.bb(), entityliving)) { // Spigot
|
|
entityliving.b(this);
|
|
--this.count;
|
|
if (entityliving instanceof EntityHuman) {
|
|
--
|
|
2.1.0
|
|
|