geforkt von Mirrors/Paper
18c3716c49
This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. We also store counts by type to further enable other performance optimizations in later patches.
34 Zeilen
1.6 KiB
Diff
34 Zeilen
1.6 KiB
Diff
From 0e4807dea8c78e44fb2aae08d851040732fc2ec6 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sun, 14 Jan 2018 17:36:02 -0500
|
|
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
|
|
|
|
This event can be used for when you want to exclude a certain player
|
|
from triggering monster spawns on a server.
|
|
|
|
Also a highly more effecient way to blanket block spawns in a world
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
|
index e217d3340..46faa062d 100644
|
|
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
|
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
|
@@ -72,6 +72,15 @@ public final class SpawnerCreature {
|
|
byte b0 = worldserver.spigotConfig.mobSpawnRange;
|
|
b0 = ( b0 > worldserver.spigotConfig.viewDistance ) ? (byte) worldserver.spigotConfig.viewDistance : b0;
|
|
b0 = ( b0 > 8 ) ? 8 : b0;
|
|
+ // Paper start
|
|
+ com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent event;
|
|
+ event = new com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent(
|
|
+ (org.bukkit.entity.Player) entityhuman.getBukkitEntity(), b0);
|
|
+ if (!event.callEvent()) {
|
|
+ continue;
|
|
+ }
|
|
+ b0 = event.getSpawnRadius();
|
|
+ // Paperr end
|
|
|
|
for (int i1 = -b0; i1 <= b0; ++i1) {
|
|
for (k = -b0; k <= b0; ++k) {
|
|
--
|
|
2.18.0
|
|
|