geforkt von Mirrors/Paper
ff52e956ad
* Optimise random block ticking Massive performance improvement for random block ticking. The performance increase comes from the fact that the vast majority of attempted block ticks (~95% in my testing) fail because the randomly selected block is not tickable. Now only tickable blocks are targeted, however this means that the maximum number of block ticks occurs per chunk. However, not all chunks are going to be targeted. The percent chance of a chunk being targeted is based on how many tickable blocks are in the chunk. This means that while block ticks are spread out less, the total number of blocks ticked per world tick remains the same. Therefore, the chance of a random tickable block being ticked remains the same.
30 Zeilen
1.5 KiB
Diff
30 Zeilen
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 9 Feb 2020 00:19:05 -0600
|
|
Subject: [PATCH] Add ThrownEggHatchEvent
|
|
|
|
Adds a new event similar to PlayerEggThrowEvent, but without the Player requirement
|
|
(dispensers can throw eggs to hatch them, too).
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityEgg.java b/src/main/java/net/minecraft/server/EntityEgg.java
|
|
index 970f9109d9..bdd82d052a 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityEgg.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityEgg.java
|
|
@@ -0,0 +0,0 @@ public class EntityEgg extends EntityProjectileThrowable {
|
|
hatchingType = event.getHatchingType();
|
|
}
|
|
|
|
+ // Paper start
|
|
+ com.destroystokyo.paper.event.entity.ThrownEggHatchEvent event = new com.destroystokyo.paper.event.entity.ThrownEggHatchEvent((org.bukkit.entity.Egg) getBukkitEntity(), hatching, b0, hatchingType);
|
|
+ event.callEvent();
|
|
+
|
|
+ b0 = event.getNumHatches();
|
|
+ hatching = event.isHatching();
|
|
+ hatchingType = event.getHatchingType();
|
|
+ // Paper end
|
|
+
|
|
+
|
|
if (hatching) {
|
|
for (int i = 0; i < b0; ++i) {
|
|
Entity entity = world.getWorld().createEntity(new org.bukkit.Location(world.getWorld(), this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F), hatchingType.getEntityClass());
|
|
--
|