Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
df0d7b0d Update upstream CB
6ea3c2cf [CI-SKIP] Rebuild patches
d7bed4cb Heavily optimise random block ticking (#2914)
b66d9ff8 Update upstream CB
ba71c5d6 Stop stripping private use block Unicode from signs
28d9dcfc Entity Jump API (#1587)
9976a768 Fix PlayerNaturallySpawnCreaturesEvent boolean inversion
054e20da Clean up imports on ThrownEggHatchEvent
a8984ccb Add ThrownEggHatchEvent (#1982)
9f24d495 Allow nerfed blazes, endermen to take water damage (#2847)
This commit is contained in:
William Blake Galbreath
2020-02-12 21:21:34 -06:00
parent e52e23265f
commit 4757060211
159 changed files with 6166 additions and 4642 deletions

View File

@@ -1,63 +0,0 @@
From 4c2f2df79ce26a005dd1306c9b49c5d027ee74f4 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 23:47:42 -0600
Subject: [PATCH] Despawn egg hatches chicken
---
.../java/net/minecraft/server/EntityItem.java | 21 +++++++++++++++++++
.../net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++
2 files changed, 28 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index d15a9fcfb..6d78c427d 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -165,6 +165,27 @@ public class EntityItem extends Entity {
}
// Spigot end
+ // Purpur start
+ @Override
+ public void die() {
+ if (!dead && world.purpurConfig.chickenEggsHatchWhenDespawnedMax > 0) {
+ ItemStack item = getItemStack();
+ if (item != null && item.getItem() == Items.EGG) {
+ int range = world.purpurConfig.chickenEggsHatchWhenDespawnedRange;
+ if (world.getEntitiesByClass(EntityChicken.class, new AxisAlignedBB(locX() - range, locY() - range, locZ() - range, locX() + range, locY() + range, locZ() + range)).size() < world.purpurConfig.chickenEggsHatchWhenDespawnedMax) {
+ EntityChicken chicken = EntityTypes.CHICKEN.create(world);
+ if (chicken != null) {
+ chicken.setPosition(locX(), locY(), locZ());
+ chicken.setAge(-24000);
+ world.addEntity(chicken, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.EGG);
+ }
+ }
+ }
+ }
+ super.die();
+ }
+ // Purpur end
+
private void u() {
Vec3D vec3d = this.getMot();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 059ecf375..a773d5dc7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -173,6 +173,13 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}
+ public int chickenEggsHatchWhenDespawnedMax = 0;
+ public int chickenEggsHatchWhenDespawnedRange = 10;
+ private void chickenSettings() {
+ chickenEggsHatchWhenDespawnedMax = getInt("mobs.chicken.eggs-hatch-when-despawned.max", chickenEggsHatchWhenDespawnedMax);
+ chickenEggsHatchWhenDespawnedRange = getInt("mobs.chicken.eggs-hatch-when-despawned.range", chickenEggsHatchWhenDespawnedRange);
+ }
+
public boolean enderDragonAlwaysDropsEggBlock = false;
public boolean enderDragonAlwaysDropsFullExp = false;
private void enderDragonSettings() {
--
2.24.0