mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-06 15:51:31 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@1fcc4162 Implement FeatureHooks#isChunkSent for Moonrise chunk system PaperMC/Paper@e4d7178a Implement WaypointTransmitter#isChunkVisible PaperMC/Paper@8980ead7 Directly walk text component after converting from JSON PaperMC/Paper@5613ed6d Provide env environment variable and copy spigots sys prop for overriding default repository PaperMC/Paper@62b7f86d Avoid and discourage use of Maven Central as a CDN (#12689) PaperMC/Paper@f5534cb7 [ci/skip] Run generators (#12691) PaperMC/Paper@4781d28b Re-add Log4j Javadocs (#12693) PaperMC/Paper@74fbcce5 Check type of Material in get/set stats (#12607) PaperMC/Paper@4b3f967e Improve Fix MC-44654 (#12703) PaperMC/Paper@a7dd2635 Enable spigot obfuscation support (#12695) PaperMC/Paper@6a51c44e Cleanup Primed TNT Fix (#12704) PaperMC/Paper@839c6a18 Fix #11169 (#12706) PaperMC/Paper@c77d5f99 Fix MC-297591 PaperMC/Paper@219f86ee Implement chunk unload delay config option PaperMC/Paper@e4eb69b8 Do not allow ticket level decreases to be processed asynchronously PaperMC/Paper@71b0c768 Adds support for vanilla negative explosions (#12705) PaperMC/Paper@3750927a [ci/skip] Fix PermissionManager#clearPermissions() docs bad wording (#12657) PaperMC/Paper@d61a51e8 Add ItemType#getBurnDuration() (#12604) PaperMC/Paper@29fc8532 Allow empty paths in namespaced keys (#12687) PaperMC/Paper@4419afb9 fix: Safely handle nanosecond overflow in ClickCallback (#12686) PaperMC/Paper@56528821 Add `isProxyEnabled` method to ServerConfiguration (#12664) PaperMC/Paper@c0dda0ea Add `isForceDefaultGameMode` method (#12673) PaperMC/Paper@e714de63 Fix excess slot updates PaperMC/Paper@6d0821d2 [ci/skip] Fix docs for Spawner class and cleanup (#12710) PaperMC/Paper@cceffe3d Release ItemType and BlockType (#12708) PaperMC/Paper@186e9e33 Relocate CommandMap#registerServerAliases() call to after lifecycle events have been run (#12601) PaperMC/Paper@5edcf6dd Cleanup/command dispatching (#12713) Purpur Changes: PurpurMC/Purpur@baa196f5 Updated Upstream (Paper) PurpurMC/Purpur@fdd1e980 Updated Upstream (Paper) PurpurMC/Purpur@439f15db Updated Upstream (Paper) PurpurMC/Purpur@46a28b93 [ci/skip] update version in README PurpurMC/Purpur@162bd288 Updated Upstream (Paper) PurpurMC/Purpur@afcdf9bb Updated Upstream (Paper)
36 lines
1.7 KiB
Diff
36 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Taiyou06 <kaandindar21@gmail.com>
|
|
Date: Sun, 1 Jun 2025 18:13:24 +0200
|
|
Subject: [PATCH] optimise ReferenceList
|
|
|
|
|
|
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 8df9406b77eb3c225ebf88bf76a7adb666452f3b..14ac2a533e0b882f26ee4a11f8d6bccfe752c750 100644
|
|
--- a/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java
|
|
+++ b/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java
|
|
@@ -47,17 +47,21 @@ public final class ReferenceList<E> implements Iterable<E> {
|
|
|
|
// move the object at the end to this index
|
|
final int endIndex = --this.count;
|
|
- final E end = (E)this.references[endIndex];
|
|
if (index != endIndex) {
|
|
+ // The removed element was not the last one.
|
|
+ // Move the element that was at 'endIndex' (the old tail) to 'index'.
|
|
+ final E end = (E)this.references[endIndex];
|
|
// not empty after this call
|
|
this.referenceToIndex.put(end, index); // update index
|
|
+ this.references[index] = end;
|
|
}
|
|
- this.references[index] = end;
|
|
+ // Null out the slot at 'endIndex'.
|
|
+ // If 'index == endIndex', this was the slot of the removed element.
|
|
+ // If 'index != endIndex', this was the original slot of the moved element 'end'.
|
|
this.references[endIndex] = null;
|
|
|
|
return true;
|
|
}
|
|
-
|
|
public boolean add(final E obj) {
|
|
final int count = this.count;
|
|
final int currIndex = this.referenceToIndex.putIfAbsent(obj, count);
|