9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00

Remove stream in CraftBlockData toString()

This commit is contained in:
Dreeam
2025-05-24 22:51:55 +08:00
parent a022d84c5b
commit da18026680
5 changed files with 112 additions and 10 deletions

View File

@@ -42,8 +42,8 @@ jobs:
--build-cache \ --build-cache \
--no-daemon --no-daemon
- name: Create MojmapPaperclipJar - name: Build
run: ./gradlew createMojmapPaperclipJar --stacktrace --parallel --no-daemon run: ./gradlew build -x test
- name: Publish Maven API - name: Publish Maven API
continue-on-error: true continue-on-error: true

View File

@@ -5,15 +5,14 @@ Subject: [PATCH] Configurable unknown command message
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
index 8b9374ee6df71228bb8ea22661622a15cf3bc350..59e5f93df54abc56329b38340882dade7d7104a3 100644 index 8b9374ee6df71228bb8ea22661622a15cf3bc350..b44544bdea5582bfef3ff30bfd196b80258827cc 100644
--- a/net/minecraft/commands/Commands.java --- a/net/minecraft/commands/Commands.java
+++ b/net/minecraft/commands/Commands.java +++ b/net/minecraft/commands/Commands.java
@@ -404,31 +404,9 @@ public class Commands { @@ -404,31 +404,8 @@ public class Commands {
// Paper start - Add UnknownCommandEvent // Paper start - Add UnknownCommandEvent
final net.kyori.adventure.text.TextComponent.Builder builder = net.kyori.adventure.text.Component.text(); final net.kyori.adventure.text.TextComponent.Builder builder = net.kyori.adventure.text.Component.text();
// source.sendFailure(ComponentUtils.fromMessage(var7.getRawMessage())); // source.sendFailure(ComponentUtils.fromMessage(var7.getRawMessage()));
- builder.color(net.kyori.adventure.text.format.NamedTextColor.RED).append(io.papermc.paper.command.brigadier.MessageComponentSerializer.message().deserialize(var7.getRawMessage())); - builder.color(net.kyori.adventure.text.format.NamedTextColor.RED).append(io.papermc.paper.command.brigadier.MessageComponentSerializer.message().deserialize(var7.getRawMessage()));
+ final net.kyori.adventure.text.Component message = getUnknownCommandMessage(builder, var7, label); // Leaf - Configurable unknown command message
// Paper end - Add UnknownCommandEvent // Paper end - Add UnknownCommandEvent
- if (var7.getInput() != null && var7.getCursor() >= 0) { - if (var7.getInput() != null && var7.getCursor() >= 0) {
- int min = Math.min(var7.getInput().length(), var7.getCursor()); - int min = Math.min(var7.getInput().length(), var7.getCursor());
@@ -38,11 +37,11 @@ index 8b9374ee6df71228bb8ea22661622a15cf3bc350..59e5f93df54abc56329b38340882dade
- .append(io.papermc.paper.adventure.PaperAdventure.asAdventure(mutableComponent)); - .append(io.papermc.paper.adventure.PaperAdventure.asAdventure(mutableComponent));
- } - }
- org.bukkit.event.command.UnknownCommandEvent event = new org.bukkit.event.command.UnknownCommandEvent(source.getBukkitSender(), command, org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty() ? null : builder.build()); - org.bukkit.event.command.UnknownCommandEvent event = new org.bukkit.event.command.UnknownCommandEvent(source.getBukkitSender(), command, org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty() ? null : builder.build());
+ org.bukkit.event.command.UnknownCommandEvent event = new org.bukkit.event.command.UnknownCommandEvent(source.getBukkitSender(), command, message); // Leaf - Configurable unknown command message + org.bukkit.event.command.UnknownCommandEvent event = new org.bukkit.event.command.UnknownCommandEvent(source.getBukkitSender(), command, getUnknownCommandMessage(builder, var7, label)); // Leaf - Configurable unknown command message
org.bukkit.Bukkit.getServer().getPluginManager().callEvent(event); org.bukkit.Bukkit.getServer().getPluginManager().callEvent(event);
if (event.message() != null) { if (event.message() != null) {
source.sendFailure(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false); source.sendFailure(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false);
@@ -680,6 +658,92 @@ public class Commands { @@ -680,6 +657,92 @@ public class Commands {
}; };
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Spawner Configurations
diff --git a/net/minecraft/world/level/BaseSpawner.java b/net/minecraft/world/level/BaseSpawner.java diff --git a/net/minecraft/world/level/BaseSpawner.java b/net/minecraft/world/level/BaseSpawner.java
index 8c6f8cb08b247dcf497822ae991aa3afbcb784f1..fd1c151958ec2535e56d2d04938803d586eeca8e 100644 index 8c6f8cb08b247dcf497822ae991aa3afbcb784f1..48da8ab270b34edb15fb03123171c08522535412 100644
--- a/net/minecraft/world/level/BaseSpawner.java --- a/net/minecraft/world/level/BaseSpawner.java
+++ b/net/minecraft/world/level/BaseSpawner.java +++ b/net/minecraft/world/level/BaseSpawner.java
@@ -53,6 +53,12 @@ public abstract class BaseSpawner { @@ -53,6 +53,12 @@ public abstract class BaseSpawner {
@@ -119,7 +119,7 @@ index 8c6f8cb08b247dcf497822ae991aa3afbcb784f1..fd1c151958ec2535e56d2d04938803d5
int size1 = serverLevel.getEntities( int size1 = serverLevel.getEntities(
EntityTypeTest.forExactClass(entity.getClass()), EntityTypeTest.forExactClass(entity.getClass()),
new AABB(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1, pos.getY() + 1, pos.getZ() + 1).inflate(this.spawnRange), new AABB(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1, pos.getY() + 1, pos.getZ() + 1).inflate(this.spawnRange),
@@ -156,12 +217,28 @@ public abstract class BaseSpawner { @@ -156,12 +217,29 @@ public abstract class BaseSpawner {
this.delay(serverLevel, pos); this.delay(serverLevel, pos);
return; return;
} }
@@ -147,10 +147,11 @@ index 8c6f8cb08b247dcf497822ae991aa3afbcb784f1..fd1c151958ec2535e56d2d04938803d5
+ } + }
+ +
+ if (mobSpecificRulesFailed || obstructionFailed) { + if (mobSpecificRulesFailed || obstructionFailed) {
+ // Leaf end - Spawner Configurations
continue; continue;
} }
@@ -249,6 +326,13 @@ public abstract class BaseSpawner { @@ -249,6 +327,13 @@ public abstract class BaseSpawner {
this.spawnPotentials = SimpleWeightedRandomList.single(this.nextSpawnData != null ? this.nextSpawnData : new SpawnData()); this.spawnPotentials = SimpleWeightedRandomList.single(this.nextSpawnData != null ? this.nextSpawnData : new SpawnData());
} }

View File

@@ -212,6 +212,58 @@ index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..df23d80d6b18e900414aa02e5c1812f0
int floor = Mth.floor(x); int floor = Mth.floor(x);
int floor1 = Mth.floor(y); int floor1 = Mth.floor(y);
int floor2 = Mth.floor(z); int floor2 = Mth.floor(z);
diff --git a/net/minecraft/world/level/block/state/StateHolder.java b/net/minecraft/world/level/block/state/StateHolder.java
index 098518383d2c07491e047749ce3a834e98b85b1d..3dea58dff1dea05bd4a052684cb7978b2a63e452 100644
--- a/net/minecraft/world/level/block/state/StateHolder.java
+++ b/net/minecraft/world/level/block/state/StateHolder.java
@@ -25,7 +25,7 @@ public abstract class StateHolder<O, S> implements ca.spottedleaf.moonrise.patch
return "<NULL>";
} else {
Property<?> property = propertyEntry.getKey();
- return property.getName() + "=" + this.getName(property, propertyEntry.getValue());
+ return property.getName() + "=" + this.getName(property, propertyEntry.getValue()); // Leaf - paw optimization - diff on change
}
}
@@ -73,13 +73,37 @@ public abstract class StateHolder<O, S> implements ca.spottedleaf.moonrise.patch
stringBuilder.append(this.owner);
if (!this.getValues().isEmpty()) {
stringBuilder.append('[');
- stringBuilder.append(this.getValues().entrySet().stream().map(PROPERTY_ENTRY_TO_STRING_FUNCTION).collect(Collectors.joining(",")));
+ // Leaf start - paw optimization
+ int i = 0;
+ for (Map.Entry<Property<?>, Comparable<?>> propertyEntry : this.getValues().entrySet()) {
+ if (propertyEntry == null) {
+ stringBuilder.append("<NULL>");
+ } else {
+ Property<?> property = propertyEntry.getKey();
+ Comparable<?> value = propertyEntry.getValue();
+
+ stringBuilder.append(property.getName()).append("=").append(getValueName(property, value));
+ }
+
+ if (i < this.getValues().size() - 1) {
+ stringBuilder.append(",");
+ }
+
+ i++;
+ }
+ // Leaf end - paw optimization
stringBuilder.append(']');
}
return stringBuilder.toString();
}
+ // Leaf start - paw optimization
+ private <T extends Comparable<T>> String getValueName(Property<T> property, Comparable<?> value) {
+ return property.getName((T) value);
+ }
+ // Leaf end - paw optimization
+
public Collection<Property<?>> getProperties() {
return this.optimisedTable.getProperties(); // Paper - optimise blockstate property access
}
diff --git a/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.java b/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.java diff --git a/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.java b/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.java
index 03ec2264b19e1794b609fe09d1ceaba4e0c4d669..3f38fe0140d13c7c356340ba06b55469ede0a1ad 100644 index 03ec2264b19e1794b609fe09d1ceaba4e0c4d669..3f38fe0140d13c7c356340ba06b55469ede0a1ad 100644
--- a/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.java --- a/net/minecraft/world/level/levelgen/structure/structures/DesertPyramidStructure.java

View File

@@ -0,0 +1,50 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
Date: Thu, 24 Apr 2025 16:36:16 -0400
Subject: [PATCH] Paw optimization
Some random optimizations
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
index 66e40149a59c4bd5d5ca3b5a69c733eea49fb86b..2b11dc4750bc1f341c4c55145c42add22d0e9562 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -244,13 +244,37 @@ public class CraftBlockData implements BlockData {
if (!states.isEmpty()) {
stateString.append('[');
- stateString.append(states.entrySet().stream().map(StateHolder.PROPERTY_ENTRY_TO_STRING_FUNCTION).collect(Collectors.joining(",")));
+ // Leaf start - paw optimization
+ int i = 0;
+ for (Map.Entry<Property<?>, Comparable<?>> propertyEntry : states.entrySet()) {
+ if (propertyEntry == null) {
+ stateString.append("<NULL>");
+ } else {
+ Property<?> property = propertyEntry.getKey();
+ Comparable<?> value = propertyEntry.getValue();
+
+ stateString.append(property.getName()).append("=").append(getValueName(property, value));
+ }
+
+ if (i < states.size() - 1) {
+ stateString.append(",");
+ }
+
+ i++;
+ }
+ // Leaf end - paw optimization
stateString.append(']');
}
return stateString.toString();
}
+ // Leaf start - paw optimization
+ private <T extends Comparable<T>> String getValueName(Property<T> property, Comparable<?> value) {
+ return property.getName((T) value);
+ }
+ // Leaf end - paw optimization
+
public Map<String, String> toStates(boolean hideUnspecified) {
return (hideUnspecified && this.parsedStates != null) ? CraftBlockData.toStates(this.parsedStates) : CraftBlockData.toStates(this.state.getValues());
}