Commit Graph

234 Commits

Author SHA1 Message Date
CraftBukkit/Spigot 76976e4797 Make auxiliary worlds use the main scoreboard. Addresses BUKKIT-3984
When a world is created using our API, it does not use secondary world
server and will maintain a reference to its own scoreboard. In vanilla,
this is not an issue as there is only ever one world.

Similarly to maps, an overwrite to the scoreboard reference has been
added for when another world has been created.

This should also address BUKKIT-3982 and BUKKIT-3985

By: Wesley Wolfe <weswolf@aol.com>
2013-04-04 23:35:16 -05:00
CraftBukkit/Spigot 09f861ef48 Implement Scoreboard API. Adds BUKKIT-3776
This implementation facilitates the correspondence of the Bukkit Scoreboard
API to the internal minecraft implementation.

When the first scoreboard is loaded, the scoreboard manager will be created.
It uses the newly added WeakCollection for handling plugin scoreboard
references to update the respective objectives. When a scoreboard contains no
more active references, it should be garbage collected.

An active reference can be held by a still registered objective, team, and
transitively a score for a still registered objective. An internal reference
will also be kept if a player's specific scoreboard has been set, and will
remain persistent until that player logs out.

A player's specific scoreboard becomes the scoreboard used when determining
team structure for the player's attacking damage and the player's vision.

By: mbax <matt@phozop.net>
2013-03-22 17:21:33 -04:00
CraftBukkit/Spigot 56947c94a9 Cleanup comments, formatting, etc
By: Travis Watkins <amaranth@ubuntu.com>
2013-03-24 23:22:32 -05:00
CraftBukkit/Spigot b9af9ef239 Validate Server method input. Addresses BUKKIT-3687
CraftServer methods that implement the Server interface will throw an
IllegalArgumentException if a method cannot operate on a null input
and given a null pointer.

This causes methods to fail early and identify that a plugin is
responsible for passing in an invalid argument. This will only
change the exception thrown, if there originally was a thrown
exception. This helps with hunting down legitimate problems
with CraftBukkit.

By: Edmond Poon <sagaciouszzzz@gmail.com>
2013-03-18 23:32:10 -06:00
CraftBukkit/Spigot 18164ee949 Update CraftBukkit to Minecraft 1.5
By: Travis Watkins <amaranth@ubuntu.com>
2013-03-13 17:33:27 -05:00
CraftBukkit/Spigot 78e16bd8de Compensate for allow-nether/allow-end as false; Fixes BUKKIT-3466
When either of those settings are false, the worlds are not loaded and
therefore will not be targeted for portal exits.  Existing worlds are
iterated directly to avoid defaulting to the first world if a direct
dimension match is not found.

Plugins must also specify exit from custom Bukkit worlds to comply with
original commit: https://github.com/Bukkit/CraftBukkit/commit/2dc2af0

This commit introduces a constant to clarify the dependency on the
CraftBukkit implementation of custom worlds having a dimension offset.

By: EdGruberman <ed@rjump.com>
2013-01-22 18:36:03 -07:00
CraftBukkit/Spigot 2cf54ae100 Reload ban files when reloading the server. Adds BUKKIT-3470
By: feildmaster <admin@feildmaster.com>
2013-01-23 06:24:40 -06:00
CraftBukkit/Spigot e895c1e420 [Bleeding] Implement periodic chunk garbage collector
This adds two settings to bukkit.yml, allowing activation and control of
two chunk garbage collection triggering conditions:
chunk-gc/period-in-ticks controls a periodic GC, run once every N ticks
(default is 600); chunk-gc/load-threshold causes the GC to run once
after every N calls to loadChunk() on a given world (this call is an API
call used by plugins, and is distinct from the path taken for routine
player movement-based loading).  In both cases, setting to zero will
disable the given GC scheduling strategy.

In either case, the act of doing the GC is simply one of scanning the
loaded chunks, seeing which are NOT being used by one or more players
(due to view-distance) and which are not already queued for unload, and
queueing them for a normal unload.  Ultimately, the unload is then
processed the same as if the chunk were unloaded due to leaving the
view-distance range of all players, so the impact on plugins should be
no different (and strategies such as handling the ChunkUnloadEvent in
order to prevent unload will still work).

The initial interval for the periodic GC is randomized on a per-world
basis, in order to avoid all world being GCed at the same time -
minimizing potential lag spikes.

By: Mike Primm <mike@primmhome.com>
2012-12-10 09:38:26 -06:00
CraftBukkit/Spigot fde7669132 Update CraftBukkit to Minecraft 1.4.6
By: feildmaster <admin@feildmaster.com>
2012-12-19 22:03:52 -06:00
CraftBukkit/Spigot 1d39ac678a Implement ItemFactory and ItemMeta values. Adds BUKKIT-15
By: Wesley Wolfe <weswolf@aol.com>
2012-12-17 01:31:41 -06:00
CraftBukkit/Spigot d54778d339 Add a custom shutdown message set in bukkit.yml. Addresses BUKKIT-3031
By: feildmaster <admin@feildmaster.com>
2012-12-03 19:32:44 -06:00
CraftBukkit/Spigot 4ef13fbc4c Don't do case lookups when we have the right case already.
This is a missed part of the original "[Bleeding] Use case from player data
for OfflinePlayer. Fixes BUKKIT-519" commit. It avoids doing (somewhat
expensive) lookups of player data to find the correct capitalization inside
getOfflinePlayers() as we're already loading their name from the player data
and thus have the correct capitalization.

By: Travis Watkins <amaranth@ubuntu.com>
2012-11-18 10:51:52 -06:00
CraftBukkit/Spigot ccf4da1fac [Bleeding] Use case from player data for OfflinePlayer. Fixes BUKKIT-519
If a plugin looks up a player that is offline they may not know the correct
capitalization for the name. In this case they're likely to get it wrong
and since we cache the result even after the player joins the server all
future request for an OfflinePlayer will return one with incorrect case.

When looking up a player who has played on the server before we can
get the correct case from the player data file saved by the server. If
the player has never played before this point we cannot do anything and
will still have the same issue but this is not a solvable problem.

By: EdGruberman <ed@rjump.com>
2012-08-09 09:27:40 -07:00
CraftBukkit/Spigot 3f728bab1a Update CraftBukkit to Minecraft 1.4.4.
By: Travis Watkins <amaranth@ubuntu.com>
2012-11-06 06:05:28 -06:00
CraftBukkit/Spigot 64a7434f5a Implement API for ambient mob spawn limit. Add spawn-limit.ambient to
bukkit.yml. Adds BUKKIT-2765

By: Travis Watkins <amaranth@ubuntu.com>
2012-10-31 11:18:41 -05:00
CraftBukkit/Spigot 9ddec3654f Add isHardcore API to check if the server is in hardcore mode or not. Adds BUKKIT-2707
By: EvilSeph <evilseph@gmail.com>
2012-10-29 01:35:31 -04:00
CraftBukkit/Spigot 1f7d5bc41b Remove spawn-radius setting in bukkit.yml in favour of spawn-protection in
server.properties. Fixes BUKKIT-2657

By: EvilSeph <evilseph@gmail.com>
2012-10-28 01:30:09 -04:00
CraftBukkit/Spigot 1177b02708 Update CraftBukkit to Minecraft 1.4(.2).
By: Travis Watkins <amaranth@ubuntu.com>
2012-10-24 22:53:23 -05:00
CraftBukkit/Spigot 246fa5b12f Implement chat tab completion API. Fixes BUKKIT-2608. Adds BUKKIT-2607.
The chat tab completion implementation also includes a sanity check to
assure type-safety in the list.

By: Wesley Wolfe <weswolf@aol.com>
2012-10-17 04:31:36 -05:00
CraftBukkit/Spigot bb2c1736c3 Delegate tab-completion. Fixes BUKKIT-2181. Adds BUKKIT-2602
CommandMap now contains the functionality for tab completion. This
commit replaces the vanilla implementation and simply delegates it to
the Bukkit API.

By: Score_Under <seejay.11@gmail.com>
2012-10-09 19:44:04 +01:00
CraftBukkit/Spigot 42dfd206a6 [Bleeding] Add autosave interval setting in bukkit.yml. Adds BUKKIT-2507
The new setting is located at "ticks-per.autosave". By changing this
value, it affects how often a full save is automatically executed,
measured in ticks.

This value is defaulting to 0 (off) because we believe that the vast
majority of servers already have a third-party solution to automatically
saving the server at set intervals. Having the built in auto-save disabled
by default ensures that we are not saving things twice; doing so leads to
absolutely no benefits, but results in detrimental and noticeable
unnecessary performance decrease.

For servers that do not use an automated external script to perform saves,
this setting can be turned on by setting the value higher than 0, with 900
being the value used in vanilla.

By: Mike Primm <mike@primmhome.com>
2012-08-18 17:36:39 -05:00
CraftBukkit/Spigot 2a57bac117 Bulk pending cleanup.
By: Wesley Wolfe <weswolf@aol.com>
2012-09-09 23:19:28 -05:00
CraftBukkit/Spigot 66380e6d14 Fix crash from console-commands throwing exception. Fixes BUKKIT-2479
When 1.3.1 was released, a try-catch block was removed from the tick
loop that called the method in NMS to handle commands. This restores a
try-catch to prevent the console from crashing the server.

By: Wesley Wolfe <weswolf@aol.com>
2012-09-06 22:11:17 -05:00
CraftBukkit/Spigot 24abca3c43 Implement new deprecated warning state configuration option
By: Wesley Wolfe <weswolf@aol.com>
2012-08-06 23:52:49 -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 a8eaf02d50 Implement getMotd, and reload the motd. Adds BUKKIT-1799
By: feildmaster <admin@feildmaster.com>
2012-07-03 18:00:37 -05:00
CraftBukkit/Spigot f54cb1e14e Add query-plugins setting. Addresses BUKKIT-1781
By: H31IX <effectsdude@gmail.com>
2012-06-09 13:59:52 -04:00
CraftBukkit/Spigot 86a06cd622 Changes '/whitelist list' to ignore comments. Addresses BUKKIT-1804
By: Jeff Wardian <krinsdeath@hotmail.com>
2012-06-14 22:31:47 -05:00
CraftBukkit/Spigot b92707d6ea Preserve whitelist ordering. Addresses BUKKIT-1805
By: Jeff Wardian <krinsdeath@hotmail.com>
2012-06-14 22:43:46 -05:00
CraftBukkit/Spigot efd15866c4 Support asynchronous events; Addresses BUKKIT-1212
By: Wesley Wolfe <weswolf@aol.com>
2012-06-13 21:52:49 -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 02fa535888 Add per-world spawn limits with fallback to server-wide bukkit.yml settings.
Fixes BUKKIT-1565

By: Travis Watkins <amaranth@ubuntu.com>
2012-04-23 19:01:22 -05:00
CraftBukkit/Spigot db27daeea7 Made permissions.yml registration easier; Addresses BUKKIT-1499
The permissions.yml now behaves similar to a plugin.yml

By: Wesley Wolfe <weswolf@aol.com>
2012-04-15 13:24:38 -05:00
CraftBukkit/Spigot 12fff3a0e9 Added configurable Connection Throttle. Addresses BUKKIT-1274
By: EvilSeph <evilseph@gmail.com>
2012-03-22 08:03:24 -04:00
CraftBukkit/Spigot 0a4dd7c032 [Bleeding] Added option to remove entire plugins from the help index using the help.yml file. Addresses BUKKIT-1178
By: rmichela <deltahat@gmail.com>
2012-03-14 23:39:19 -04:00
CraftBukkit/Spigot 023ce58427 [Bleeding] Add getWorldType() and getGenerateStructures() to CraftServer. Fixes BUKKIT-855
By: Mike Primm <mike@primmhome.com>
2012-03-10 01:28:32 -06:00
CraftBukkit/Spigot d67053fa16 Fix worlds loading improperly. Fixes BUKKIT-991
This patch fixes an incorrect path being passed to the WorldLoaderListener. It expects the world container, then checks convertable on the name.

By: Eric Stokes <fernferret@gmail.com>
2012-03-03 18:36:16 -07:00
CraftBukkit/Spigot 41ba737a43 Made the auto-update-checker suggest channels to server administrators if they're upgrading past their preferred channel.
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-03-01 16:04:18 +00:00
CraftBukkit/Spigot aded9eee95 [Bleeding] Added Conversations API. Addresses BUKKIT-864
By: rmichela <deltahat@gmail.com>
2012-01-19 03:32:05 -05:00
CraftBukkit/Spigot 45e1b9cbfa [Bleeding] Added Help API. Addresses BUKKIT-863
By: rmichela <deltahat@gmail.com>
2012-03-01 00:19:11 -05:00
CraftBukkit/Spigot 34d3cf9be4 Updated to rename revision 02
By: Erik Broes <erikbroes@grum.nl>
2012-02-29 22:31:04 +01:00
CraftBukkit/Spigot 472b179cd1 [Bleeding] Implementation of inventory framework. Addresses BUKKIT-856
See the corresponding Bukkit commit for details.

Implementation details:
- Any packets that include an itemstack will send air stacks as null; maybe this will even eliminate the client crash that occurs if the client receives an air stack
- Better handling of null itemstacks in general (ie less converting them to air stacks)
- Inventory.setContents() can now take an array smaller than the inventory without error
- Player.updateInventory() should now correctly update the result slot in a crafting inventory

Some small credit goes to Afforess (initial implementation of openInventory() methods) and Drakia (initial implementation of InventoryOpenEvent and InventoryCloseEvent).

By: Celtic Minstrel <celtic.minstrel.ca@some.place>
2012-02-29 13:56:35 -05:00
CraftBukkit/Spigot 8b7d5cf8e1 [Bleeding] Implement Metadata framework for Entities, Blocks, and Worlds
By: rmichela <deltahat@gmail.com>
2011-12-08 00:33:59 -05:00
CraftBukkit/Spigot c5912a199f [Bleeding] Fix generics. Addresses BUKKIT-844
By: Wesley Wolfe <weswolf@aol.com>
2012-02-29 10:27:38 -06:00
CraftBukkit/Spigot 3fad4cb7c3 Added plugin-profiling setting to bukkit.yml.
By: Travis Watkins <amaranth@ubuntu.com>
2012-02-10 13:56:16 -06:00
CraftBukkit/Spigot 3487d1e709 Added plugin loading log entry
By: EdGruberman <ed@rjump.com>
2012-02-15 12:56:36 -07:00
CraftBukkit/Spigot bed15aa413 [Bleeding] Recipe API improvements and fixes. Addresses BUKKIT-738 and BUKKIT-624
Add a recipe iterator to make it possible to retrieve and remove recipes (BUKKIT-738), and updated the recipe classes to not clip the data to 127 (BUKKIT-624)

By: Celtic Minstrel <celtic.minstrel.ca@some.place>
2011-07-23 23:16:14 -04:00
CraftBukkit/Spigot fa547512af Deprecation cleanup.
By: Erik Broes <erikbroes@grum.nl>
2012-01-30 21:51:53 +01:00
CraftBukkit/Spigot 818efc6bca Fixed NPE when running a custom build of CraftBukkit. This fixes issue #BUKKIT-765
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-02-18 14:06:21 +00:00
CraftBukkit/Spigot 6ea3041bf5 Added a built-in update checker. See http://wiki.bukkit.org/Bukkit.yml#auto-updater for new bukkit.yml options.
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-02-16 22:31:40 +00:00