summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/SpawnerCreature.java
Commit message (Collapse)AuthorAgeLines
* Update CraftBukkit to Minecraft 1.4(.2).Travis Watkins2012-10-27-29/+12
|
* Replace LongObjectHashMap with a more efficient implementationTravis Watkins2012-09-21-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | After further testing it appears that while the original LongHashtable has issues with object creation churn and is severly slower than even java.util.HashMap in general case benchmarks it is in fact very efficient for our use case. With this in mind I wrote a replacement LongObjectHashMap modeled after LongHashtable. Unlike the original implementation this one does not use Entry objects for storage so does not have the same object creation churn. It also uses a 2D array instead of a 3D one and does not use a cache as benchmarking shows this is more efficient. The "bucket size" was chosen based on benchmarking performance of the HashMap with contents that would be plausible for a 200+ player server. This means it uses a little extra memory for smaller servers but almost always uses less than the normal java.util.HashMap. To make up for the original LongHashtable being a poor choice for generic datasets I added a mixer to the new implementation based on code from MurmurHash. While this has no noticable effect positive or negative with our normal use of chunk coordinates it makes the HashMap perform just as well with nearly any kind of dataset. After these changes ChunkProviderServer.isChunkLoaded() goes from using 20% CPU time while sampling to not even showing up after 45 minutes of sampling due to the CPU usage being too low to be noticed.
* Add LongObjectHashMap and LongHashSetTravis Watkins2012-08-19-35/+15
| | | | | | | | | | | | | | | Replace uses of LongHashtable and LongHashset with new implementations. Remove EntryBase, LongBaseHashtable, LongHashset, and LongHashtable as they are no longer used. LongObjectHashMap does not use Entry or EntryBase classes internally for storage so has much lower object churn and greater performance. LongHashSet is not as much of performance win for our use case but for general use is up to seventeen times faster than the old implementation and is in fact faster than alternatives from "high performance" java libraries. This is being added so that if someone tries to use it in the future in a place unrelated to its current use they don't accidentally end up with something slower than the Java collections HashSet implementation.
* Update CraftBukkit to Minecraft 1.3.1feildmaster2012-08-02-35/+32
|
* Cleaned up CraftBukkit comments in NMS.Wesley Wolfe2012-07-23-2/+1
| | | | | | | | | | | | | Added newlines at the end of files Fixed improper line endings on some files Matched start - end comments Added some missing comments for diffs Fixed syntax on some spots Minimized some diff Removed some no longer used files Added comment on some required files with no changes Fixed imports of items used once Added imports for items used more than once
* Fixed per-world spawn limits. I have no idea how we missed this.Travis Watkins2012-04-24-7/+10
|
* Add per-world spawn limits with fallback to server-wide bukkit.yml settings.Travis Watkins2012-04-23-1/+17
| | | | Fixes BUKKIT-1565
* Don't spawn conditional mobs if original entity is dead. Fixes BUKKIT-1444feildmaster2012-04-03-0/+1
|
* Made Slimes spawn less often in FLAT worlds. Fixes BUKKIT-1441EvilSeph2012-04-02-0/+3
|
* Added a reason for randomly spawning Ocelot babies. Addresses BUKKIT-1391feildmaster2012-03-31-1/+1
|
* Updated to Minecraft version 1.2.4. Updated version string to 1.2.4-R0.1.Nathan Adams2012-03-22-1/+1
|
* Fixed porting issue with SpawnerCreature. Fixes BUKKIT-921Tahg2012-03-02-1/+1
|
* Updated CraftBukkit to 1.2Nathan Adams2012-03-01-8/+23
|
* Implemented JOCKEY and CHUNK_GEN SpawnReasons.EvilSeph2012-02-10-2/+2
|
* Cleanup.EvilSeph2012-02-10-5/+9
|
* Fix formatting.Erik Broes2012-01-15-1/+4
|
* Update for 1.1_01 renames.Erik Broes2012-01-15-3/+3
| | | | | We know these updates (can) break plugins bypassing Bukkit. They are needed for smooth updates however. There will be another one right before before 1.1-R1.
* Update to mc-dev rename revision 01Nathan Adams2012-01-12-1/+1
|
* Fix CraftBukkit comments.Erik Broes2012-01-12-1/+1
|
* Fix for entity spawning and some code cleanupTahg2011-12-06-9/+9
|
* Performance update to remove several very high counts of temp object creationTahg2011-12-06-13/+35
|
* Updated to use mc-dev rename revision 1Nathan Adams2011-11-30-1/+1
|
* Update for 1.0.0Erik Broes2011-11-20-148/+73
|
* Fixed monsters being spawned even when one was faux sleeping. Thanks to ↵sk89q2011-09-26-0/+1
| | | | EdGruberman.
* Removed extra addEntity call in SpawnerCreature.EvilSeph2011-09-17-1/+0
|
* Update for Minecraft 1.8Dinnerbone2011-09-15-77/+123
|
* Update to Minecraft 1.7Dinnerbone2011-06-30-5/+5
|
* Line endings.Dinnerbone2011-06-22-254/+254
|
* Added SpawnReasons to CreatureSpawn events. Thanks winsock!EvilSeph2011-06-21-0/+255