Commit Graph

47 Commits

Author SHA1 Message Date
CraftBukkit/Spigot
9c569d394d Add iterator cache to UnsafeList and use it in hotspots
Adds a specialized iterator for the list and a pool of iterators to avoid
object churn. Also optimizes the clear() method to reduce object creation.

By: Travis Watkins <amaranth@ubuntu.com>
2012-08-17 12:55:33 -05:00
CraftBukkit/Spigot
7383d52df7 Implement new AsyncPlayerChatEvent. Addresses BUKKIT-2064
Added two utility collections for use with PlayerChatEvents allowing lazier
initialization of events and less need to synchronize against the player
list.

Provided a hidden queue system for similar logic to pre-1.3 chat. When a
plugin is listening for the deprecated PlayerChatEvent, all chat will be
delayed to be mirror executed from the main thread. All developers are
encouraged to immediately update to the developmental Bukkit chat API as a
minimum transition for server stability.

Additionally, changes were required to bring thread-safety to the flow
logic. CopyOnWriteArrayList is the only viable means to produce thread
safety with minimal diff; using a sane pre-implemented collection would
require reworking of sections of NMS logic.

As a minor change, implemented expected functionality for
PlayerCommandPreProcessEvent. Setting the player should now change the
player executing the command.

By: Wesley Wolfe <weswolf@aol.com>
2012-08-03 06:24:55 -05:00
CraftBukkit/Spigot
6e2987bb35 Update CraftBukkit to Minecraft 1.3.1
By: feildmaster <admin@feildmaster.com>
2012-07-29 02:33:13 -05:00
CraftBukkit/Spigot
8716e36905 Resize UnsafeList to initial capacity when cleared and implement clone.
By: Travis Watkins <amaranth@ubuntu.com>
2012-05-31 20:14:28 -05:00
CraftBukkit/Spigot
01b14886d7 Update to jline 2. Fixes BUKKIT-717
JLine 2 allows for better color matching in the console and support for
colors in console on Windows. Hopefully provides better performance as well.

By: EdGruberman <ed@rjump.com>
2012-03-14 13:59:14 -07:00
CraftBukkit/Spigot
bdccfb5797 We build for Java 1.5.
By: EvilSeph <evilseph@gmail.com>
2012-04-23 23:05:57 -04:00
CraftBukkit/Spigot
f977f3cc65 Avoid doing unnecessary range checks when we're looping from start to end.
Make EntityLiving call AI logic every tick again.
Rework PathfinderGoalSelector logic.

Adds UnsafeList for use in places where we use ArrayList and know we won't
get index out of range errors. Added usage to World's tickEntities, Chunk's
entitySlices to speed up searching for entities, and to PathfinderGoalSelector
to speed up dealing with AI goals.

Reworked logic in PathfinderGoalSelector with help from fullwall. This code
no longer uses an extra ArrayList for setting up goals and only updates which
goals should be run every other time it is called.

Removed only calling PathfinderGoalSelector every other tick from EntityLiving
as we now only setup new goals every other tick. This ensures existing goals
run every tick to properly update mob movement.

By: Travis Watkins <amaranth@ubuntu.com>
2012-04-23 09:47:05 -05:00
CraftBukkit/Spigot
d434857d8a [Bleeding] Added support for all TreeType entries to CraftWorld.generateTree(). Addresses BUKKIT-1161
By: zml2008 <zach@zachsthings.com>
2012-03-13 19:38:39 -07:00
CraftBukkit/Spigot
a90a7edd76 Only remove blocks when golem is successfully spawned. Fixes BUKKIT-1094
By: feildmaster <admin@feildmaster.com>
2012-03-10 23:01:39 -06:00
CraftBukkit/Spigot
d267b15b44 Fixed compile issues with StructureGrowDelegate not implementing the new isEmpty method
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-03-01 15:38:34 +00:00
CraftBukkit/Spigot
dc6dd3828c [Bleeding] Override not applicable
By: Wesley Wolfe <weswolf@aol.com>
2012-02-23 17:48:30 -06:00
CraftBukkit/Spigot
585a62f3d3 [Bleeding] Undo changes to the tree WorldGenerators.
- All StructureGrowEvent handling for these is in BlockSapling now, using a BlockChangeDelegate to collect the data.
- Moved StructureGrowDelegate into a separate class

By: Zeerix <zeerix@draig.de>
2011-12-23 00:54:34 +01:00
CraftBukkit/Spigot
fa547512af Deprecation cleanup.
By: Erik Broes <erikbroes@grum.nl>
2012-01-30 21:51:53 +01:00
CraftBukkit/Spigot
a9e780978a Fixed LongHashset incorrectly using read lock for popAll, and made it use write lock. This fixes BUKKIT-509
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-01-15 18:49:16 +00:00
CraftBukkit/Spigot
876c2db682 Dragons now throw events when creating portals
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-01-15 12:00:38 +00:00
CraftBukkit/Spigot
7c345d4d82 Fix formatting.
By: Erik Broes <erikbroes@grum.nl>
2012-01-14 23:02:10 +01:00
CraftBukkit/Spigot
ef2f82b9d2 Updated to Minecraft 1.1
By: Erik Broes <erikbroes@grum.nl>
2012-01-12 23:10:13 +01:00
CraftBukkit/Spigot
ae5c797119 Fix for entity spawning and some code cleanup
By: Tahg <tahgtahv@gmail.com>
2011-12-06 19:21:10 -05:00
CraftBukkit/Spigot
a84f36b67f Performance update to remove several very high counts of temp object creation
By: Tahg <tahgtahv@gmail.com>
2011-12-06 08:52:45 -05:00
CraftBukkit/Spigot
33742d5592 Implemented server.getOfflinePlayers
By: Nathan Adams <dinnerbone@dinnerbone.com>
2011-12-04 17:57:00 +00:00
CraftBukkit/Spigot
4c25ba70ad Implemented bukkit versioning
By: Nathan Adams <dinnerbone@dinnerbone.com>
2011-10-31 04:02:54 +00:00
CraftBukkit/Spigot
bac90b1d90 Removed deprecated ConcurrentSoftMap
By: Nathan Adams <dinnerbone@dinnerbone.com>
2011-10-10 22:05:35 +01:00
CraftBukkit/Spigot
5550ed992a Commands are now "bukkit.command.x" instead of "craftbukkit.command.x", added legacy perms for compat
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-09-02 19:19:50 +01:00
CraftBukkit/Spigot
f9b17ea956 Refactored default permission registration. Added "craftbukkit" and "craftbukkit.command" parent perms, and fixed whitelist adding
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-08-18 14:04:59 +01:00
CraftBukkit/Spigot
7746a2055d Added permissions for each vanilla command - see http://wiki.bukkit.org/Vanilla_permissions. Removed op requirement for all server commands :o
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-08-13 02:13:35 +01:00
CraftBukkit/Spigot
1511a5a437 Readded ConcurrentSoftMap because apparently some plugins need this. (They really, really shouldn't be using it. At all.)
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-07-15 21:49:53 +01:00
CraftBukkit/Spigot
9431ef57c0 Fixed huge memory leak (gigabytes/hour!) by placing a bukkit under the ceiling.
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-07-15 18:28:09 +01:00
CraftBukkit/Spigot
9bf573516b Generic cleanup of the org.bukkit.craftbukkit classes.
By: Erik Broes <erikbroes@grum.nl>
2011-06-12 01:12:43 +02:00
CraftBukkit/Spigot
5f5de88a00 Possible fix for -nojline printing blank lines
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-05-19 21:46:47 +01:00
CraftBukkit/Spigot
b16f6c647f Added -nojline CLI option to emulate vanilla console behaviours. Added JLine disabling compatibility (removes the '>').
-nojline disables JLine, removes the '>', sets the timestamp to vanilla's and sets the language to English.

-Djline.terminal=jline.UnsupportedTerminal disables JLine and removes the '>'.

By: EvilSeph <evilseph@unaligned.org>
2011-05-18 15:23:27 -04:00
CraftBukkit/Spigot
776b9efd3e Whitespace + general cleanup
By: Erik Broes <erikbroes@grum.nl>
2011-05-14 16:29:42 +02:00
CraftBukkit/Spigot
070c214267 Update for 1.4_00_01 -- if you bypassed Bukkit, you will most likely break.
By: Erik Broes <erikbroes@grum.nl>
2011-04-20 19:05:14 +02:00
CraftBukkit/Spigot
44f7dca0de Ctrl+C saves world before stopping
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-03-29 21:01:04 +01:00
CraftBukkit/Spigot
bf25c4a47e Updated for the cleanups done in Bukkit
By: Erik Broes <erikbroes@grum.nl>
2011-03-26 22:32:56 +01:00
CraftBukkit/Spigot
731d949bd6 Updated SoftMap to be concurrent.
By: Raphfrk <raphfrk@gmail.com>
2011-03-10 22:13:47 +00:00
CraftBukkit/Spigot
46286db7eb Clean code a bit
By: Erik Broes <erikbroes@grum.nl>
2011-03-12 14:59:50 +01:00
CraftBukkit/Spigot
a7ed1c966b Code cleanup, fixed doors, chunk entity fetching
By: Tahg <tahgtahv@gmail.com>
2011-03-11 16:25:35 -05:00
CraftBukkit/Spigot
ff806bfa66 properly implement locks
By: Tahg <tahgtahv@gmail.com>
2011-03-10 21:37:55 -05:00
CraftBukkit/Spigot
95de556b3a Add locks to Hashset
By: Tahg <tahgtahv@gmail.com>
2011-03-07 13:43:26 -05:00
CraftBukkit/Spigot
16f5b6991c Attempt to fix console crash
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-03-09 23:34:26 +00:00
CraftBukkit/Spigot
88de992943 Changed block cache to soft references (should help a lot with memory usage)
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-03-09 22:12:28 +00:00
CraftBukkit/Spigot
ce87c1fa2c Java 1.5 compat.
By: Erik Broes <erikbroes@ripe.net>
2011-03-02 15:22:45 +01:00
CraftBukkit/Spigot
2803cc2b23 Synchronized and moved Hash classes
By: FrozenCow <frozencow@gmail.com>
2011-03-01 19:19:50 +01:00
CraftBukkit/Spigot
1c5b9d4efc Fixed empty console! Oops!
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-02-26 11:51:31 +00:00
CraftBukkit/Spigot
6940b583c4 Added command line option 'date-format' to control how dates are printed to console (not to log)
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-02-26 11:29:37 +00:00
CraftBukkit/Spigot
4908869924 Added ">" to input command line, separated it from output buffer properly
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-02-25 19:01:14 +00:00
CraftBukkit/Spigot
a4d2cf2a38 Much better console interaction. History, no more losing the command, colours, inline editing, etc. Shorter log output to console (but not to file).
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-02-25 16:12:38 +00:00