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