mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@88a3a870 Configurable xp orb merge group count (#12503) PaperMC/Paper@53d1d04e Disable Item Obfuscation for entity related stacks (#12297) PaperMC/Paper@c98cd658 Add configuration interface to expose certain config values (#12273) PaperMC/Paper@42a2a6c2 Supports the ability for commands to be registered internally (#12520) PaperMC/Paper@753cff7c Improvements for Dump paper commands (#12512) PaperMC/Paper@e2da5d2f Registry API for supported Mob Variants (#12417) PaperMC/Paper@ab0253fe Expand PlayerDeathEvent API (#12221) PaperMC/Paper@cbcf75a5 Update visual fire handling with TriState support (#12303) PaperMC/Paper@6c3964d2 Properly save level data async (#12530) PaperMC/Paper@d2ad2e66 Add missing EntityLookup#getAllMapped from Moonrise PaperMC/Paper@358e72ec Remove simplify remote item matching stuff for now PaperMC/Paper@04ffca0b Also remove CraftPlayer methods PaperMC/Paper@a2525819 Update mache PaperMC/Paper@d683970d Add FishHookStateChangeEvent (#12165) PaperMC/Paper@369ad170 Cached tag parser for itemstack reading (#12547) PaperMC/Paper@841d6342 Fix ItemStack#addUnsafeEnchantment ignored for missing enchantment component (#12549) PaperMC/Paper@c000b352 fix(bukkit-brig-forwarding-map): Invert isEmpty method (#12555) PaperMC/Paper@28d7df75 Backport HeroesOfTheVillage datafixer fix PaperMC/Paper@f1dbed07 Implement BlocksAttack DamageReduction and ItemDamage (#12538) PaperMC/Paper@cc38032b Deprecate TeleportCause CHORUS_FRUIT for CONSUMABLE_EFFECT (#12546) PaperMC/Paper@35878677 [ci/skip] Fix format and mentions for ItemDamageFunction (#12560) PaperMC/Paper@7171d299 [ci/skip] Mention CAN_PLACE/CAN_BREAK component in ItemMeta (#12559) PaperMC/Paper@6f73e62e Add getPickItemStack (#12552) PaperMC/Paper@ce0fa4c4 Replace old version command with brigadier equivalent (#12502) PaperMC/Paper@fa360aa8 Add some missing annotations and an incorrect one (#12204) PaperMC/Paper@113b18ee Update paperweight and Gradle wrapper (#12573) PaperMC/Paper@f303a076 fix: Don't hardcode checks for translation registries (#12571) PaperMC/Paper@87349c31 Fix CombatTracker stale on death (#12562) PaperMC/Paper@b70bca6b Revert "fix: Don't hardcode checks for translation registries (#12571)" Purpur Changes: PurpurMC/Purpur@93011bc1 Add configuration setting to re-add End void rings (#1656) PurpurMC/Purpur@c2f48591 [ci/skip] only set default world config values once PurpurMC/Purpur@6f5bbae5 [ci/skip] move some code around PurpurMC/Purpur@5c1a9835 fix issue with `shift-right-click-repairs-mending-points` PurpurMC/Purpur@3156e446 check damage value of tool correctly PurpurMC/Purpur@a9fe4f25 Updated Upstream (Paper) PurpurMC/Purpur@9d0aa8eb Updated Upstream (Paper) PurpurMC/Purpur@603c7557 Updated Upstream (Paper) PurpurMC/Purpur@eca78060 Updated Upstream (Paper) PurpurMC/Purpur@e4e9cfdf Updated Upstream (Paper) PurpurMC/Purpur@3de2fc7d Updated Upstream (Paper) PurpurMC/Purpur@09f547de add `mob-griefing-override` config options (#1661) PurpurMC/Purpur@1dd9bd0c Updated Upstream (Paper) PurpurMC/Purpur@7a8aa86a finish updating gradle PurpurMC/Purpur@fd78b90f bandaid fix: increase the daemon heap for now
152 lines
8.1 KiB
Diff
152 lines
8.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Martijn Muijsers <martijnmuijsers@live.nl>
|
|
Date: Sat, 26 Nov 2022 11:25:45 +0100
|
|
Subject: [PATCH] Reduce array allocations
|
|
|
|
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
|
Gale - https://galemc.org
|
|
|
|
This patch is based on the following patch:
|
|
"reduce allocs"
|
|
By: Simon Gardling <titaniumtown@gmail.com>
|
|
As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack)
|
|
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
|
|
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java
|
|
index 7fed43a1e7bcf35c4d7fd3224837a47fedd59860..adc47f1ca3580a6968d145239ae830734a0ebe4a 100644
|
|
--- a/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java
|
|
+++ b/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java
|
|
@@ -18,9 +18,7 @@ public final class EntityList implements Iterable<Entity> {
|
|
this.entityToIndex.defaultReturnValue(Integer.MIN_VALUE);
|
|
}
|
|
|
|
- private static final Entity[] EMPTY_LIST = new Entity[0];
|
|
-
|
|
- private Entity[] entities = EMPTY_LIST;
|
|
+ private Entity[] entities = me.titaniumtown.ArrayConstants.emptyEntityArray; // Gale - JettPack - reduce array allocations
|
|
private int count;
|
|
|
|
public int size() {
|
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java
|
|
index 9f3b25bb2439f283f878db93973a02fcdcd14eed..4eb7bf187276f07f807fe181b303dda8e1b9196d 100644
|
|
--- a/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java
|
|
+++ b/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java
|
|
@@ -10,9 +10,7 @@ public final class IntList {
|
|
this.map.defaultReturnValue(Integer.MIN_VALUE);
|
|
}
|
|
|
|
- private static final int[] EMPTY_LIST = new int[0];
|
|
-
|
|
- private int[] byIndex = EMPTY_LIST;
|
|
+ private int[] byIndex = me.titaniumtown.ArrayConstants.emptyIntArray; // Gale - JettPack - reduce array allocations
|
|
private int count;
|
|
|
|
public int size() {
|
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java
|
|
index 2e876b918672e8ef3b5197b7e6b1597247fdeaa1..8df9406b77eb3c225ebf88bf76a7adb666452f3b 100644
|
|
--- a/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java
|
|
+++ b/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java
|
|
@@ -7,14 +7,12 @@ import java.util.NoSuchElementException;
|
|
|
|
public final class ReferenceList<E> implements Iterable<E> {
|
|
|
|
- private static final Object[] EMPTY_LIST = new Object[0];
|
|
-
|
|
private final Reference2IntOpenHashMap<E> referenceToIndex;
|
|
private E[] references;
|
|
private int count;
|
|
|
|
public ReferenceList() {
|
|
- this((E[])EMPTY_LIST);
|
|
+ this((E[]) me.titaniumtown.ArrayConstants.emptyObjectArray); // Gale - JettPack - reduce array allocations
|
|
}
|
|
|
|
public ReferenceList(final E[] referenceArray) {
|
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java
|
|
index 2bae9949ef325d0001aa638150fbbdf968367e75..a72d5db6f6a8667c5c839016033bba4d0f16cf13 100644
|
|
--- a/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java
|
|
+++ b/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java
|
|
@@ -10,9 +10,7 @@ public final class ShortList {
|
|
this.map.defaultReturnValue(Short.MIN_VALUE);
|
|
}
|
|
|
|
- private static final short[] EMPTY_LIST = new short[0];
|
|
-
|
|
- private short[] byIndex = EMPTY_LIST;
|
|
+ private short[] byIndex = me.titaniumtown.ArrayConstants.emptyShortArray; // Gale - JettPack - reduce array allocations
|
|
private short count;
|
|
|
|
public int size() {
|
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java
|
|
index db92261a6cb3758391108361096417c61bc82cdc..1a14fddb36ca3c14d243304db629d0c5aac3906c 100644
|
|
--- a/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java
|
|
+++ b/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java
|
|
@@ -6,14 +6,12 @@ import java.util.Comparator;
|
|
|
|
public final class SortedList<E> {
|
|
|
|
- private static final Object[] EMPTY_LIST = new Object[0];
|
|
-
|
|
private Comparator<? super E> comparator;
|
|
private E[] elements;
|
|
private int count;
|
|
|
|
public SortedList(final Comparator<? super E> comparator) {
|
|
- this((E[])EMPTY_LIST, comparator);
|
|
+ this((E[]) me.titaniumtown.ArrayConstants.emptyObjectArray, comparator); // Gale - JettPack - reduce array allocations
|
|
}
|
|
|
|
public SortedList(final E[] elements, final Comparator<? super E> comparator) {
|
|
diff --git a/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java b/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java
|
|
index 84fab94f38e8ee51f2c82fc8c3ddffe2a24d7148..6d1d05caa7c3b6a43770aa185070317a89c1bd74 100644
|
|
--- a/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java
|
|
+++ b/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java
|
|
@@ -178,7 +178,7 @@ public class PaperCommands implements Commands, PaperRegistrar<LifecycleEventOwn
|
|
})
|
|
)
|
|
.executes((stack) -> {
|
|
- basicCommand.execute(stack.getSource(), new String[0]);
|
|
+ basicCommand.execute(stack.getSource(), me.titaniumtown.ArrayConstants.emptyStringArray); // Gale - JettPack - reduce array allocations
|
|
return com.mojang.brigadier.Command.SINGLE_SUCCESS;
|
|
});
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/command/subcommands/VersionCommand.java b/src/main/java/io/papermc/paper/command/subcommands/VersionCommand.java
|
|
index 58ca24715eafd1ac3cc9657b1cc235049d69bb59..acb764b71bb3e8f159a758002f7d1077637d188d 100644
|
|
--- a/src/main/java/io/papermc/paper/command/subcommands/VersionCommand.java
|
|
+++ b/src/main/java/io/papermc/paper/command/subcommands/VersionCommand.java
|
|
@@ -14,7 +14,7 @@ public final class VersionCommand implements PaperSubcommand {
|
|
public boolean execute(final CommandSender sender, final String subCommand, final String[] args) {
|
|
final @Nullable Command redirect = MinecraftServer.getServer().server.getCommandMap().getCommand("version");
|
|
if (redirect != null) {
|
|
- redirect.execute(sender, "paper", new String[0]);
|
|
+ redirect.execute(sender, "paper", me.titaniumtown.ArrayConstants.emptyStringArray); // Gale - JettPack - reduce array allocations
|
|
}
|
|
return true;
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java
|
|
index 4abe58077fae4e68cceda9624fed013bca1d6f22..72aa906ccf64dd9be085728a897f323ab0822eba 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftEntityEquipment.java
|
|
@@ -165,7 +165,7 @@ public class CraftEntityEquipment implements EntityEquipment {
|
|
|
|
@Override
|
|
public void clear() {
|
|
- for (net.minecraft.world.entity.EquipmentSlot slot : net.minecraft.world.entity.EquipmentSlot.values()) {
|
|
+ for (net.minecraft.world.entity.EquipmentSlot slot : net.minecraft.world.entity.EquipmentSlot.VALUES) { // Gale - JettPack - reduce array allocations
|
|
this.setEquipment(slot, null, false);
|
|
}
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java b/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java
|
|
index 306ca8db11d16a03ce73b9a5a8be7efc11ee4b57..444e57a87acb653275d1cadbd0698815f6dc049d 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java
|
|
@@ -164,7 +164,7 @@ public final class WeakCollection<E> implements Collection<E> {
|
|
|
|
@Override
|
|
public Object[] toArray() {
|
|
- return this.toArray(new Object[0]);
|
|
+ return this.toArray(me.titaniumtown.ArrayConstants.emptyObjectArray); // Gale - JettPack - reduce array allocations
|
|
}
|
|
|
|
@Override
|