Yatopia/patches/server/0015-lithium-MixinGoalSelector.patch
Ivan Pekov 8fee475387
Updated Upstream and Sidestream(s) (Tuinity/Akarin/Purpur)
Upstream/An Sidestream has released updates that appears to apply and compile correctly
This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing.

Tuinity Changes:
ff785fc Updated Upstream (Paper)

Akarin Changes:
2dab0a4 Removed gradle
72e3c4a Update README.md
bbad638 Update README.md
bbdea8e Update Jenkinsfile
bb9db8b Updated tuinity to spottedleaf repo
6961481 Updated Tuinity branch
de97830 Updated Tuinity
62d4b43 Update SUPPORT.md
21fffd0 Update README.md
4bd120b Merge pull request #186 from adsa562/patch-1
1f8eccf add demo server
630ea72 Updated Tuinity
59fae5a Made 1.15.2 build again
bd703ba Allowed building for dirs that have spaces
a339866 Update SUPPORT.md
db61690 stated that it is not a bedrock server software
df7efd2 Added Jenkinsfile
75b7f13 removed broken patch
19387b2 Updated Artifacts URL
c5a7778 fixed build
3abf7a7 Fixed Initialize step
2d3ea37 Updated Tuinity and Paper
220d1b8 Removed patch 0019 - breaks upstream
1ccf615 Added tuinity branch to gitmodules
c5e73c7 Updated Upstream (Tuinity)
3cd947f Updated Upstream (Tuinity)
14df550 cleanup scripts/importSources.sh
49d9af7 revert a broken patch
630492a revert a broken patch
cb5ea51 Fixed build failure
826c0f0 Updated 1.15.2 jenkinsfile to 1.16.1
574b206 Update SUPPORT.md
90e3f89 Update SUPPORT.md
c2a5f66 fix
b30241b fix
4e06aea fix
284809b 1.16.1

Purpur Changes:
096971d Rename kelp/vines options to make more sense
8ea89f9 Fix broken methods in purpur config
c505cf7 Updated Upstream (Paper)
695f3ac Add configurable snowball damage
2d04fb5 Updated Upstream (Paper)
badfd60 Rebuild patches
f3aff1b Merge branch 'ver/1.16.4' of github.com:pl3xgaming/Purpur into ver/1.16.4
cfcf7d7 Add critical hit check to EntityDamagedByEntityEvent
0b48c6c Add config for allowing Endermen to despawn even while holding a block
1349e72 Updated Upstream (Tuinity)
651105e Kelp weeping and twisting vines configurable max length
058399c Updated Upstream (Tuinity)
3e0a758 Add twisting and weeping vines growth rates
2020-11-26 11:52:33 +02:00

32 lines
2.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JellySquid <jellysquid+atwork@protonmail.com>
Date: Mon, 11 May 2020 22:07:17 +0200
Subject: [PATCH] lithium MixinGoalSelector
Only replaces the set type, might want to also port the logic rewrite in the future
Original code by JellySquid, licensed under GNU Lesser General Public License v3.0
you can find the original code on https://github.com/jellysquid3/lithium-fabric/tree/1.16.x/fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSelector.java b/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
index d3f0327a2a7cdedf3fe8d10df981a9f1cb378d26..fdf9d407f3f1d9aabcd835ed868391c6658eaae0 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
@@ -11,6 +11,7 @@ import java.util.function.Supplier;
import java.util.stream.Stream;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet; // Yatopia
public class PathfinderGoalSelector {
@@ -27,7 +28,7 @@ public class PathfinderGoalSelector {
}
};
private final Map<PathfinderGoal.Type, PathfinderGoalWrapped> c = new EnumMap(PathfinderGoal.Type.class);
- private final Set<PathfinderGoalWrapped> d = Sets.newLinkedHashSet(); public final Set<PathfinderGoalWrapped> getTasks() { return d; }// Paper - OBFHELPER // Paper - private -> public
+ private final Set<PathfinderGoalWrapped> d = new ObjectLinkedOpenHashSet<>();/* Yatopia better set */ public final Set<PathfinderGoalWrapped> getTasks() { return d; }// Paper - OBFHELPER // Paper - private -> public
private final Supplier<GameProfilerFiller> e;
private final EnumSet<PathfinderGoal.Type> f = EnumSet.noneOf(PathfinderGoal.Type.class); // Paper unused, but dummy to prevent plugins from crashing as hard. Theyll need to support paper in a special case if this is super important, but really doesn't seem like it would be.
private final OptimizedSmallEnumSet<PathfinderGoal.Type> goalTypes = new OptimizedSmallEnumSet<>(PathfinderGoal.Type.class); // Paper - remove streams from pathfindergoalselector