597d028218
remove repeat code,add Entity snapshot code
2017-06-25 19:09:23 +08:00
Sergey Shatunov
8d2ba00f70
Cap chunk generation to 1 chunk per tick (configurable)
2016-03-16 12:01:28 +07:00
Sergey Shatunov
5aaf6c5cbf
ChunkManager implementation
...
ChunkManager optimize chunks handling in small and big worlds
Small worlds gets benefits with using int-object map instead long-object (in area -32768...32767 by x and z)
Large worlds gets benefits by using efficient map by Colt project, which a little (3-6%) slower in writing, but greatly faster
(400-500% from Java's HashMap and 150-180% from Trove's maps) on reading.
2016-02-10 19:17:47 +07:00
Sergey Shatunov
3b244893d9
Fix #346
2016-02-07 14:50:00 +07:00
Sergey Shatunov
7114a28fc6
Implement thread-safe, async-like and not buggy BlockUpdatesTracker
...
close #320
2016-02-03 10:55:26 +07:00
Sergey Shatunov
01238b890a
Better handling of out of sync
2016-02-02 15:39:23 +07:00
Sergey Shatunov
f9b7fa7da4
Fix #319
2016-02-02 02:21:33 +07:00
Sergey Shatunov
9a1b86730d
Avoid to load chunks if block updated scheduled in unloaded chunk
2016-02-01 23:16:31 +07:00
Sergey Shatunov
12b0a52ae0
Rewrite NextTickListEntry.hashCode() to implement real hashcode, not incremental ids :)
...
New function is more stable and gives a good distribution of numbers with less colissions.
Fix #313
2016-02-01 16:03:58 +07:00
Sergey
8c5b2f7229
Do fully player cloning to avoid duping of items (probably related to #301 )
2016-01-31 20:08:36 +07:00
Sergey
201b43272f
Optimize chunk saving time by holding block updates in chunks directly ( fix #299 )
2016-01-31 18:53:17 +07:00
Sergey
a5277c151e
Fix collision of NextTickListEntry ( close #289 )
2016-01-31 18:39:40 +07:00
Sergey Shatunov
097252b5bf
Add expermintal feature: tileEnitity list recreation each tick
2016-01-17 17:15:55 +07:00
Sergey Shatunov
25d6f61aed
Autosave unmodified chunks only after 4 periods
2016-01-11 18:49:30 +07:00
Sergey Shatunov
4b705b50af
Don't process dead entities during explosion
2016-01-07 00:42:54 +07:00
Sergey Shatunov
eb49ce845d
Make light asynchronous ( close #231 )
2016-01-06 01:53:42 +07:00
Sergey Shatunov
8d4b99c574
Don't sleep between chunk unloading
2016-01-05 14:56:58 +07:00
Sergey Shatunov
b53d579e35
Optimize chunk saving
2016-01-05 14:55:35 +07:00
Sergey Shatunov
6911f3485a
Fix for map decoration
2016-01-05 14:48:56 +07:00
Sergey Shatunov
0011dd0d9a
Limit TNT detonations per world per tick
2016-01-05 14:20:01 +07:00
Sergey Shatunov
f722fccdce
Rollback to the state of .152 build with some critical fixes and updates
2016-01-04 12:38:37 +07:00
Prototik
ed0bc9ab15
Fix #228
2015-10-25 15:56:15 +07:00
Prototik
30960fd721
Fix #222
2015-10-23 20:04:48 +07:00
Prototik
d3c359b26d
Fix #218 , fix #217
2015-10-23 01:33:13 +07:00
Prototik
ad909f2788
Return empty chunk in case of null and come back indent for ProcessingQueue, sorry! :)
2015-10-22 01:45:44 +07:00
Prototik
c9caa8c770
Fix #210
2015-10-22 01:33:46 +07:00
Prototik
40ac2b7e23
Fix #209
2015-10-19 11:23:10 +07:00
Prototik
7defe0bb29
Some portion of optimizations:
...
* Clear outgoing packet queue after player disconnect
* Disable sleep between chunk saving
* Put 2x4096 bytes instead 2048x4 bytes for region file aligment
* Using map to search player by name instead iterating over all players
* Some tweaks for decorations (item frames, maps)
2015-10-18 23:58:28 +07:00
Prototik
0097a0744a
Check for active chunks before persistent, could be faster on big maps
2015-10-15 00:09:55 +07:00
Prototik
a5b10b36ab
Added /kc dump command for some debug reports
2015-10-06 21:00:35 +07:00
Prototik
b2e14cb247
Return loop iterating over entites on overloaded server
2015-09-06 18:54:03 +07:00
Prototik
9d56192606
Some improvements in spigot timings and fix #179
2015-09-05 23:31:58 +07:00
Prototik
923b9e81a0
First attempt to fix #141
2015-09-03 18:05:12 +07:00
Prototik
1e51ceeb31
Fix broken stop command, added /kc tps command, better integration bukkit worlds with forge worlds
2015-09-03 00:22:30 +07:00
Prototik
1bafa262d0
Fix #173
2015-09-02 15:05:54 +07:00
Prototik
497d437a37
Add list wrapper for tileentities
2015-08-29 18:21:31 +07:00
Prototik
9ba84893f3
Use iterator for entities loop
2015-08-29 17:37:03 +07:00
Prototik
4a63dcacca
Transparent unloading {,tile}entities from world
2015-08-29 14:49:22 +07:00
Prototik
8c50b9899f
Finally fix #67
2015-06-27 16:32:21 +07:00
Prototik
3647ee33f7
Fix #30
2015-06-22 20:44:14 +07:00
Prototik
4ebda4d899
Fix #56
2015-06-22 13:42:33 +07:00
Prototik
33633471ca
Normalize patches
2015-06-08 23:18:24 +07:00
Prototik
75eb280f0e
Use concurent list of chunks in chunkproviderserver ( fix #34 )
2015-06-08 22:59:49 +07:00
Prototik
596a7b993b
Additional checks during entity update
2015-06-08 14:20:26 +07:00
Prototik
c427f60e15
Normalize patches
2015-06-01 21:32:10 +07:00
Prototik
0beaa6c4bb
Forward ArrayIndexOutOfBoundsException to safier deletion
2015-05-29 19:12:34 +07:00
Prototik
94662dd73f
Avoid NPE during chunk profiling
2015-05-28 21:21:56 +07:00
Prototik
31cdc9fe6c
Check for valid entities on load stage
2015-05-28 17:34:42 +07:00
Prototik
d24b372625
Even don't try to spawn invalid entityitem, fix for extrabiomes
2015-05-27 18:26:08 +07:00
Prototik
ea868d4998
Avoid to use Derived.incrementTotalWorldTickTime
2015-05-25 18:27:17 +07:00