-
Notifications
You must be signed in to change notification settings - Fork 80
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
145 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Mechoriet <[email protected]> | ||
Date: Sat, 7 Oct 2023 17:33:39 +0200 | ||
Subject: [PATCH] fastutil - EntityTracker | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java | ||
index cb72b36725927272fddfdad929b268a7b06140ac..d3afb43259dc34a63c561266efbf7e5050d9d213 100644 | ||
--- a/src/main/java/net/minecraft/server/EntityTracker.java | ||
+++ b/src/main/java/net/minecraft/server/EntityTracker.java | ||
@@ -13,7 +13,7 @@ public class EntityTracker { | ||
|
||
private static final Logger a = LogManager.getLogger(); | ||
private final WorldServer world; | ||
- private Set<EntityTrackerEntry> c = Sets.newHashSet(); | ||
+ private Set<EntityTrackerEntry> c = new io.papermc.paper.util.maplist.ObjectMapList<>(); // PandaSpigot - FastUtil - ObjectMapList | ||
public IntHashMap<EntityTrackerEntry> trackedEntities = new IntHashMap(); | ||
private int e; | ||
|
||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java | ||
index 0b90b6f30ea09fb117281d5ddd2fc752d2c139b5..91e72f4fe98a4d83c5f886e86c945c602eb1454a 100644 | ||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java | ||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java | ||
@@ -42,7 +42,7 @@ public class EntityTrackerEntry { | ||
// PaperSpigot start | ||
// Replace trackedPlayers Set with a Map. The value is true until the player receives | ||
// their first update (which is forced to have absolute coordinates), false afterward. | ||
- public java.util.Map<EntityPlayer, Boolean> trackedPlayerMap = new java.util.HashMap<EntityPlayer, Boolean>(); | ||
+ public java.util.Map<EntityPlayer, Boolean> trackedPlayerMap = new it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap<>(); | ||
public Set<EntityPlayer> trackedPlayers = trackedPlayerMap.keySet(); | ||
// PaperSpigot end | ||
|
19 changes: 0 additions & 19 deletions
19
patches/server/0103-fastutil-use-ObjectMapList-in-EntityTracker.patch
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Mechoriet <[email protected]> | ||
Date: Sat, 7 Oct 2023 21:43:55 +0200 | ||
Subject: [PATCH] fastutil - SpawnerCreature | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java | ||
index 550bd42b656ce2e7a0d1542215845d2bf7c475d7..4c497835c9f3be3410d53a53beb289fcb36ca2d9 100644 | ||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java | ||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java | ||
@@ -23,28 +23,13 @@ public final class SpawnerCreature { | ||
// Spigot start - get entity count only from chunks being processed in b | ||
private int getEntityCount(WorldServer server, Class oClass) | ||
{ | ||
- // PandaSpigot start - use entire world, not just active chunks. Spigot broke vanilla expectations. | ||
- if (true) { | ||
- int sum = 0; | ||
- for (Chunk c : server.chunkProviderServer.chunks.values()) { | ||
- sum += c.entityCount.get(oClass); | ||
- } | ||
- return sum; | ||
- } | ||
- // PandaSpigot end | ||
- int i = 0; | ||
- Iterator<Long> it = this.b.iterator(); | ||
- while ( it.hasNext() ) | ||
- { | ||
- Long coord = it.next(); | ||
- int x = LongHash.msw( coord ); | ||
- int z = LongHash.lsw( coord ); | ||
- if ( !server.chunkProviderServer.unloadQueue.contains( coord ) && server.isChunkLoaded( x, z, true ) ) | ||
- { | ||
- i += server.getChunkAt( x, z ).entityCount.get( oClass ); | ||
- } | ||
+ int sum = 0; | ||
+ for (it.unimi.dsi.fastutil.objects.ObjectIterator<Chunk> objectIterator = (server.chunkProviderServer).chunks.values() | ||
+ .iterator(); objectIterator.hasNext();) { | ||
+ Chunk c = objectIterator.next(); | ||
+ sum += c.entityCount.get(oClass); | ||
} | ||
- return i; | ||
+ return sum; | ||
} | ||
// Spigot end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Mechoriet <[email protected]> | ||
Date: Sat, 7 Oct 2023 21:46:27 +0200 | ||
Subject: [PATCH] fastutil - CraftingManager | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java | ||
index 544ff0a6c2ec62911c97fb02aec24d0215188dc3..2d099863b1d77cf5e1dbc6c37a48f517685d1925 100644 | ||
--- a/src/main/java/net/minecraft/server/CraftingManager.java | ||
+++ b/src/main/java/net/minecraft/server/CraftingManager.java | ||
@@ -14,7 +14,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit | ||
public class CraftingManager { | ||
|
||
private static final CraftingManager a = new CraftingManager(); | ||
- public List<IRecipe> recipes = Lists.newArrayList(); | ||
+ public List<IRecipe> recipes = new it.unimi.dsi.fastutil.objects.ObjectArrayList<>(); | ||
// CraftBukkit start | ||
public IRecipe lastRecipe; | ||
public org.bukkit.inventory.InventoryView lastCraftView; |