Skip to content
This repository was archived by the owner on Jan 21, 2024. It is now read-only.

Commit 8bce43d

Browse files
committed
Add configuration for async path search entities
1 parent 56b9ae0 commit 8bce43d

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
lines changed

WindSpigot-Server/src/main/java/ga/windpvp/windspigot/async/pathsearch/AsyncNavigation.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -47,28 +47,8 @@ public AsyncNavigation(EntityInsentient var1, World var2) {
4747
super(var1, var2);
4848
}
4949

50-
static {
51-
offloadedEntities.add(EntityType.BAT);
52-
offloadedEntities.add(EntityType.BLAZE);
53-
offloadedEntities.add(EntityType.CHICKEN);
54-
offloadedEntities.add(EntityType.COW);
55-
offloadedEntities.add(EntityType.CREEPER);
56-
offloadedEntities.add(EntityType.ENDERMAN);
57-
offloadedEntities.add(EntityType.HORSE);
58-
offloadedEntities.add(EntityType.IRON_GOLEM);
59-
offloadedEntities.add(EntityType.MAGMA_CUBE);
60-
offloadedEntities.add(EntityType.MUSHROOM_COW);
61-
offloadedEntities.add(EntityType.PIG);
62-
offloadedEntities.add(EntityType.PIG_ZOMBIE);
63-
offloadedEntities.add(EntityType.RABBIT);
64-
offloadedEntities.add(EntityType.SHEEP);
65-
offloadedEntities.add(EntityType.SKELETON);
66-
offloadedEntities.add(EntityType.SILVERFISH);
67-
offloadedEntities.add(EntityType.SLIME);
68-
offloadedEntities.add(EntityType.SNOWMAN);
69-
offloadedEntities.add(EntityType.SQUID);
70-
offloadedEntities.add(EntityType.WITCH);
71-
offloadedEntities.add(EntityType.ZOMBIE);
50+
public static void addOffloadedEntities(List<EntityType> entities) {
51+
offloadedEntities.addAll(entities);
7252
}
7353

7454
private void issueSearch(Entity targetEntity) {

WindSpigot-Server/src/main/java/ga/windpvp/windspigot/config/WindSpigotConfig.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,24 @@ private static void modernKeepalive() {
323323
public static int pathSearchThreads;
324324
public static boolean ensurePathSearchAccuracy;
325325

326+
@SuppressWarnings("unchecked")
326327
private static void asyncPathSearches() {
327328
asyncPathSearches = getBoolean("settings.async.path-searches.enabled", true);
328329

329330
if (asyncPathSearches) {
330-
331+
List<String> asyncSearchEntities = getList("settings.async.path-searches.entities",
332+
Lists.newArrayList("BAT", "BLAZE", "CHICKEN", "COW", "CREEPER", "ENDERMAN", "HORSE", "IRON_GOLEM",
333+
"MAGMA_CUBE", "MUSHROOM_COW", "PIG", "PIG_ZOMBIE", "RABBIT", "SHEEP", "SKELETON", "SILVERFISH",
334+
"SLIME", "SNOWMAN", "SQUID", "WITCH", "ZOMBIE"));
335+
336+
List<EntityType> finalEntities = Lists.newArrayList();
337+
338+
for (String entityName : asyncSearchEntities) {
339+
finalEntities.add(EntityType.fromName(entityName));
340+
}
341+
342+
AsyncNavigation.addOffloadedEntities(finalEntities);
343+
331344
distanceToAsync = getInt("settings.async.path-searches.distance-to-async", 0);
332345
AsyncNavigation.setMinimumDistanceForOffloading(distanceToAsync);
333346

@@ -336,6 +349,7 @@ private static void asyncPathSearches() {
336349

337350
}
338351
c.addComment("settings.async.path-searches.enabled", "Enables async path searching for entities.");
352+
c.addComment("settings.async.path-searches.entities", "A list of entities that utilize async path searches. Removing entities from this list will ensure 100% vanilla behavior, but worse performance.");
339353
c.addComment("settings.async.path-searches.distance-to-async", "The mininum distance an entity is targeting to handle it async. Tune this based on how many entities your server will has.");
340354
c.addComment("settings.async.path-searches.threads", "The threads used for path searches. Tune this based on how many entities your server will has.");
341355
c.addComment("settings.async.path-searches.ensure-accuracy", "Ensures accuracy of async path searches, disabling this will result in possibly inaccurate targeting, but higher performance.");

0 commit comments

Comments
 (0)