1
0
Fork 0
mirror of https://github.com/PaperMC/Paper.git synced 2025-04-27 14:22:41 +02:00

add mobcaps command patch

This commit is contained in:
Jake 2021-11-27 22:56:41 -08:00 committed by MiniDigger | Martin
parent 9beac6a2a4
commit 7382bd2847
66 changed files with 26 additions and 25 deletions
patches/server
0745-Add-paper-mobcaps-and-paper-playermobcaps.patch0746-Sanitize-ResourceLocation-error-logging.patch0747-Optimise-general-POI-access.patch0748-Allow-controlled-flushing-for-network-manager.patch0749-Add-more-async-catchers.patch0750-Rewrite-entity-bounding-box-lookup-calls.patch0751-Execute-chunk-tasks-mid-tick.patch0752-Do-not-copy-visible-chunks.patch0753-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch0754-Custom-table-implementation-for-blockstate-state-loo.patch0755-Detail-more-information-in-watchdog-dumps.patch0756-Manually-inline-methods-in-BlockPosition.patch0757-Distance-manager-tick-timings.patch0758-Name-craft-scheduler-threads-according-to-the-plugin.patch0759-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch0760-Add-packet-limiter-config.patch0761-Lag-compensate-block-breaking.patch0762-Use-correct-LevelStem-registry-when-loading-default-.patch0763-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch0764-Consolidate-flush-calls-for-entity-tracker-packets.patch0765-Don-t-lookup-fluid-state-when-raytracing.patch0766-Time-scoreboard-search.patch0767-Send-full-pos-packets-for-hard-colliding-entities.patch0768-Do-not-run-raytrace-logic-for-AIR.patch0769-Oprimise-map-impl-for-tracked-players.patch0770-Optimise-BlockSoil-nearby-water-lookup.patch0771-Allow-removal-addition-of-entities-to-entity-ticklis.patch0772-Optimise-random-block-ticking.patch0773-Optimise-non-flush-packet-sending.patch0774-Optimise-nearby-player-lookups.patch0775-Optimise-WorldServer-notify.patch0776-Remove-streams-for-villager-AI.patch0777-Rewrite-dataconverter-system.patch0778-Use-Velocity-compression-and-cipher-natives.patch0779-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch0780-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch0781-Async-catch-modifications-to-critical-entity-state.patch0782-Fix-Bukkit-NamespacedKey-shenanigans.patch0783-Fix-merchant-inventory-not-closing-on-entity-removal.patch0784-Check-requirement-before-suggesting-root-nodes.patch0785-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch0786-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch0787-Ensure-valid-vehicle-status.patch0788-Prevent-softlocked-end-exit-portal-generation.patch0789-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch0790-Don-t-log-debug-logging-being-disabled.patch0791-Mark-fish-and-axolotls-from-buckets-as-persistent.patch0792-fix-various-menus-with-empty-level-accesses.patch0793-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch0794-Preserve-overstacked-loot.patch0795-Update-head-rotation-in-missing-places.patch0796-prevent-unintended-light-block-manipulation.patch0797-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch0798-Fix-CraftCriteria-defaults-map.patch0799-Fix-upstreams-block-state-factories.patch0800-Add-config-option-for-logging-player-ip-addresses.patch0801-Configurable-feature-seeds.patch0802-VanillaCommandWrapper-didnt-account-for-entity-sende.patch0803-Add-root-admin-user-detection.patch0804-Always-allow-item-changing-in-Fireball.patch0805-don-t-attempt-to-teleport-dead-entities.patch0806-Call-onRemove-logic-for-breakNaturally.patch0807-Fix-anvil-prepare-event-not-working-with-zero-xp.patch0808-Prevent-excessive-velocity-through-repeated-crits.patch0809-Remove-client-side-code-using-deprecated-for-removal.patch0810-Rewrite-the-light-engine.patch

View file

@ -10,7 +10,7 @@ Also has a hover text on each mob category listing what entity types are
in said category
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef94b9a5fe 100644
index f436ab35798c9b6e6cb2eb60d2c02cbf9b742e69..4d7575087947f3b199dd895cd9aa02a7d61768b1 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -3,6 +3,7 @@ package com.destroystokyo.paper;
@ -21,12 +21,13 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
@@ -10,6 +11,12 @@ import com.google.common.collect.Maps;
@@ -10,6 +11,13 @@ import com.google.common.collect.Maps;
import com.google.gson.JsonObject;
import com.google.gson.internal.Streams;
import com.google.gson.stream.JsonWriter;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.ComponentLike;
+import net.kyori.adventure.text.JoinConfiguration;
+import net.kyori.adventure.text.TextComponent;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.kyori.adventure.text.format.TextColor;
@ -34,7 +35,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MCUtil;
import net.minecraft.server.MinecraftServer;
@@ -19,10 +26,12 @@ import net.minecraft.server.level.ServerLevel;
@@ -19,10 +27,12 @@ import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.level.ThreadedLevelLightEngine;
import net.minecraft.world.entity.EntityType;
@ -47,7 +48,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.bukkit.Bukkit;
@@ -55,11 +64,12 @@ import java.util.List;
@@ -55,11 +65,12 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
@ -61,7 +62,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
public PaperCommand(String name) {
super(name);
@@ -92,6 +102,10 @@ public class PaperCommand extends Command {
@@ -92,6 +103,10 @@ public class PaperCommand extends Command {
return getListMatchingLast(sender, args, "help", "chunks");
}
break;
@ -72,7 +73,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
case "chunkinfo":
List<String> worldNames = new ArrayList<>();
worldNames.add("*");
@@ -188,6 +202,12 @@ public class PaperCommand extends Command {
@@ -188,6 +203,12 @@ public class PaperCommand extends Command {
case "syncloadinfo":
this.doSyncLoadInfo(sender, args);
break;
@ -85,7 +86,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
case "ver":
if (!testPermission(sender, "version")) break; // "ver" needs a special check because it's an alias. All other commands are checked up before the switch statement (because they are present in the SUBCOMMANDS set)
case "version":
@@ -246,6 +266,184 @@ public class PaperCommand extends Command {
@@ -246,6 +267,184 @@ public class PaperCommand extends Command {
}
}
@ -161,7 +162,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
+ } else {
+ chunks = state.getSpawnableChunkCount();
+ }
+ sender.sendMessage(TextComponent.ofChildren(
+ sender.sendMessage(Component.join(JoinConfiguration.noSeparators(),
+ Component.text("Mobcaps for world: "),
+ Component.text(world.getName(), NamedTextColor.AQUA),
+ Component.text(" (" + chunks + " spawnable chunks)")
@ -209,7 +210,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
+ return;
+ }
+
+ sender.sendMessage(TextComponent.ofChildren(Component.text("Mobcaps for player: "), Component.text(player.getName(), NamedTextColor.GREEN)));
+ sender.sendMessage(Component.join(JoinConfiguration.noSeparators(), Component.text("Mobcaps for player: "), Component.text(player.getName(), NamedTextColor.GREEN)));
+ sender.sendMessage(this.buildMobcapsComponent(
+ category -> level.chunkSource.chunkMap.getMobCountNear(serverPlayer, category),
+ category -> NaturalSpawner.limitForCategory(level, category)
@ -222,7 +223,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..f9064589216c679d9305988534aba8ef
+ final MobCategory category = entry.getKey();
+ final TextColor color = entry.getValue();
+
+ final Component categoryHover = TextComponent.ofChildren(
+ final Component categoryHover = Component.join(JoinConfiguration.noSeparators(),
+ Component.text("Entity types in category ", TextColor.color(0xE0E0E0)),
+ Component.text(category.getName(), color),
+ Component.text(':', NamedTextColor.GRAY),

View file

@ -9,10 +9,10 @@ the function. I saw approximately 1/3rd of the function
on the copy.
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index f436ab35798c9b6e6cb2eb60d2c02cbf9b742e69..85beb460aa59313cf2ace2d6a6bf24938e3e2b80 100644
index 4d7575087947f3b199dd895cd9aa02a7d61768b1..315bd2408e4a45993c9b2572e0ab5260a70522ec 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -277,7 +277,7 @@ public class PaperCommand extends Command {
@@ -476,7 +476,7 @@ public class PaperCommand extends Command {
int ticking = 0;
int entityTicking = 0;

View file

@ -36,7 +36,7 @@ index 03439b92297d8a2d73f21ddb57b3b2087f70907c..45930793e7fffe6ce243c7637cb9c0e9
nbttagcompound.putString("Status", chunk.getStatus().getName());
BlendingData blendingdata = chunk.getBlendingData();
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
index a750b40be3ba5ba258ca2540ab0398deac5a6c5e..3c1724a86cccd3d66459f6c21ed358b47d2d0eac 100644
index b1b1fa19cfd533d5625a462af399c5fd055629b0..a99a0ea2d04ebee66982a7da9422ae7a64127d3b 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
@@ -38,7 +38,7 @@ public class ChunkStorage implements AutoCloseable {

View file

@ -19,7 +19,7 @@ index eada966d7f108a6081be7a848f5c1dfcb1eed676..a977f7483f37df473096b2234dc1308b
public static final Timing midTickChunkTasks = Timings.ofSafe("Mid Tick Chunk Tasks");
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 7dfccd2e72ac5ec8b03b3439b034975ddadd759e..c3dc87998400bf57ddd31a29a3a4e506407adcb8 100644
index 45700b146ac3f1b7df153c096a03651ae771378d..1c03c4eb5e70a502bb3b9136f2582969ed16f5dd 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -821,6 +821,7 @@ public class ServerChunkCache extends ChunkSource {

View file

@ -8,7 +8,7 @@ Lighting is purged on update anyways, so let's not add more
into the conversion process
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
index 3c1724a86cccd3d66459f6c21ed358b47d2d0eac..e490116a75c5a07e501339ca5e299fb425af84f4 100644
index a99a0ea2d04ebee66982a7da9422ae7a64127d3b..d44154ba43e06934d7889f2f20d1a27765504574 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
@@ -44,6 +44,7 @@ public class ChunkStorage implements AutoCloseable {

View file

@ -22,7 +22,7 @@ With this change I could get all 200 on at 0ms ping.
So in general this patch should reduce Netty I/O thread load.
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index c3dc87998400bf57ddd31a29a3a4e506407adcb8..f46aa97e00c9238daeeb9730551949959c750a0b 100644
index 1c03c4eb5e70a502bb3b9136f2582969ed16f5dd..32bc1d29c8dcb7814449c5ea5cbc1aab4c2a73fc 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -1040,7 +1040,24 @@ public class ServerChunkCache extends ChunkSource {

View file

@ -287,10 +287,10 @@ index 6be462975523dae9ff436ba1643b2042ec66e554..929f48675a10fdd64cb351305389d680
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 63ba93538d990fdd4c9e8c491bb715adc8d57986..e9a37fc6791366ea421f2766a36dc2e014ab7951 100644
index 928025438af179711c42381fc3eaeac74cd20c59..c48d0773e7f1af4bc247d777eccc8a42c7e17601 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -269,7 +269,7 @@ public final class NaturalSpawner {
@@ -275,7 +275,7 @@ public final class NaturalSpawner {
blockposition_mutableblockposition.set(l, i, i1);
double d0 = (double) l + 0.5D;
double d1 = (double) i1 + 0.5D;
@ -299,7 +299,7 @@ index 63ba93538d990fdd4c9e8c491bb715adc8d57986..e9a37fc6791366ea421f2766a36dc2e0
if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
@@ -342,7 +342,7 @@ public final class NaturalSpawner {
@@ -348,7 +348,7 @@ public final class NaturalSpawner {
}
private static boolean isRightDistanceToPlayerAndSpawnPoint(ServerLevel world, ChunkAccess chunk, BlockPos.MutableBlockPos pos, double squaredDistance) {

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Don't log debug logging being disabled
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index ba0e8902e7205bc6da88efd28be70ece04cc1974..ec7938202e3890bccb809a8092362458d0f4ca75 100644
index 5097623eee5c1c9412f0c4a14f70b93e21ea295e..3b9dfaf9e6a63220754738dc966ee72cb91f80a4 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -382,7 +382,7 @@ public class SpigotConfig

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Dont count named piglins and hoglins towards mob cap
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index e9a37fc6791366ea421f2766a36dc2e014ab7951..578d7282190ca97368529cd24b578d31399c4867 100644
index c48d0773e7f1af4bc247d777eccc8a42c7e17601..429ed5a583e0332593edd9c073ea1614c595bff0 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -83,7 +83,7 @@ public final class NaturalSpawner {

View file

@ -4331,10 +4331,10 @@ index 0000000000000000000000000000000000000000..dd995e25ae620ae36cd5eecb2fe10ad0
+
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..2ef4b4c2ff81d0fa33d4630593266066d8e6a6f3 100644
index 315bd2408e4a45993c9b2572e0ab5260a70522ec..c0d123bff1825366c30aadd3ad8a7fde68ef74e4 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -501,6 +501,46 @@ public class PaperCommand extends Command {
@@ -700,6 +700,46 @@ public class PaperCommand extends Command {
}
}
@ -4381,7 +4381,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..2ef4b4c2ff81d0fa33d4630593266066
private void doFixLight(CommandSender sender, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("Only players can use this command");
@@ -509,7 +549,7 @@ public class PaperCommand extends Command {
@@ -708,7 +748,7 @@ public class PaperCommand extends Command {
int radius = 2;
if (args.length > 1) {
try {
@ -4390,7 +4390,7 @@ index 85beb460aa59313cf2ace2d6a6bf24938e3e2b80..2ef4b4c2ff81d0fa33d4630593266066
} catch (Exception e) {
sender.sendMessage("Not a number");
return;
@@ -522,6 +562,13 @@ public class PaperCommand extends Command {
@@ -721,6 +761,13 @@ public class PaperCommand extends Command {
ServerLevel world = (ServerLevel) handle.level;
ThreadedLevelLightEngine lightengine = world.getChunkSource().getLightEngine();