Commit Graph

99 Commits

Author SHA1 Message Date
CraftBukkit/Spigot
f07fb63fb3 SPIGOT-824: SpongeAbsorbEvent
By: Articdive <articdive@gmail.com>
2018-07-23 17:20:52 +10:00
CraftBukkit/Spigot
1e014acb80 Update to Minecraft 1.13
By: md_5 <git@md-5.net>
2018-07-22 12:00:00 +10:00
CraftBukkit/Spigot
39de92187e Revert "SPIGOT-4035: Enforce case-sensitivity for chat format code matching."
Minecraft allows uppercase colour codes.

This reverts commit 844204b345.

By: md_5 <git@md-5.net>
2018-07-19 10:07:04 +10:00
CraftBukkit/Spigot
5e42cbdb42 Delete Block.setData byte methods from API
By: md_5 <git@md-5.net>
2018-07-18 16:55:44 +10:00
CraftBukkit/Spigot
f50cda3c51 SPIGOT-4028: Improve legacy ItemStack conversion
By: md_5 <git@md-5.net>
2018-07-18 14:01:15 +10:00
CraftBukkit/Spigot
844204b345 SPIGOT-4035: Enforce case-sensitivity for chat format code matching.
This maintains case-insensitivity for URL matching, and adds a unit test to verify correct conversion via CraftChatMessage.

By: Hex <hex@hex.lc>
2018-07-17 16:42:30 -06:00
CraftBukkit/Spigot
a04c494980 Standardise empty string as null / not set
By: md_5 <git@md-5.net>
2018-07-16 16:20:26 +10:00
CraftBukkit/Spigot
444ecb9903 SPIGOT-4002: Fix usage of default: statements in 1.13 plugins compiled w/ Eclipse
By: md_5 <git@md-5.net>
2018-07-15 15:00:35 +10:00
CraftBukkit/Spigot
7e0a66fdd5 Update to Minecraft 1.13-pre7
By: md_5 <git@md-5.net>
2018-07-15 10:00:00 +10:00
CraftBukkit/Spigot
f4e233550c SPIGOT-3432: Add playNote support for new sounds
By: md_5 <git@md-5.net>
2017-07-24 17:41:08 +10:00
CraftBukkit/Spigot
ea6ca4328a Update to Minecraft 1.12-pre6
By: md_5 <git@md-5.net>
2017-05-30 21:25:59 +10:00
CraftBukkit/Spigot
57f7c8fb18 Add color API for Teams
By: md_5 <git@md-5.net>
2017-05-28 11:00:02 +10:00
CraftBukkit/Spigot
40c8954e17 Update to Minecraft 1.12-pre2
By: md_5 <git@md-5.net>
2017-05-14 12:00:00 +10:00
CraftBukkit/Spigot
82c0a41a0d Create NBT TypeId helper class
By: Senmori <thesenmori@gmail.com>
2017-04-21 23:10:22 -04:00
CraftBukkit/Spigot
f155cbbaf2 BUILDTOOLS-251: Make much of Bukkit locale independent
By: md_5 <git@md-5.net>
2016-06-26 19:32:05 +10:00
CraftBukkit/Spigot
5c7c823a9a Begin console output with ANSI line erase.
By: Jofkos <JofkosDE@gmail.com>
2016-04-08 17:01:22 +02:00
CraftBukkit/Spigot
f9ba5f4744 Fix the default permission of /trigger
By: Thinkofname <thinkofdeath@spigotmc.org>
2016-03-31 00:50:39 +01:00
CraftBukkit/Spigot
21d4bf5d1f Update to Minecraft 1.9
By: md_5 <git@md-5.net>
2016-03-01 08:32:46 +11:00
CraftBukkit/Spigot
5f68a2157e SPIGOT-1230: Normalize null log names in ForwardLogHandler.
Not technically 100% correct since null != "null", but without sacrficing performance this is the best way to fix the issue in the current implementation.

By: md_5 <git@md-5.net>
2015-10-10 22:08:44 +11:00
CraftBukkit/Spigot
4f2f0c69f2 Handle a missed case with our vanilla permissions override
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2015-05-30 00:06:18 +01:00
CraftBukkit/Spigot
ed8ca79a65 Remove unneeded Java 1.5 Compat
By: Matt <mattbdev@outlook.com>
2015-04-29 11:45:43 -04:00
CraftBukkit/Spigot
ab841e7d50 Replace the two nextTickList sets with a single one that combines both
Should prevent them from going out of sync

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2015-04-13 11:04:38 +01:00
CraftBukkit/Spigot
85be409b13 Update to Minecraft 1.8.3
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2015-02-26 22:41:06 +00:00
CraftBukkit/Spigot
5820e42b8d SPIGOT-210: Remove the exception when dropping a non-existant task
If the server crashes during chunk generation then the chunk would have never
been added to the executor, this caused a second exception to be thrown when
the server shutdown from the first exception

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-16 10:53:29 +00:00
CraftBukkit/Spigot
33abca2c69 Rework the vanilla link fix so that hover/click events aren't lost
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-13 10:26:06 +00:00
CraftBukkit/Spigot
ed9ee15a91 SPIGOT-199: Default to white instead of black for chat messages
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-13 09:36:35 +00:00
CraftBukkit/Spigot
9a9ef627b0 Add the new minecraft command permission nodes.
Previously bukkit ones were in bukkit. Moved to CraftBukkit with new prefixes.

By: FearThe1337 <admin@fearthe1337.com>
2014-12-11 21:36:02 +01:00
CraftBukkit/Spigot
520089d10e Remove extra color codes at the start from converted json chat
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 19:59:41 +00:00
CraftBukkit/Spigot
a419776f3c Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-26 08:32:16 +11:00
CraftBukkit/Spigot
79e5718f39 Update CraftBukkit to Minecraft 1.7.10
By: Travis Watkins <amaranth@ubuntu.com>
2014-06-26 13:05:08 -05:00
CraftBukkit/Spigot
ca844c146f Implement API for dealing with player UUIDs. Adds BUKKIT-5071
By: Travis Watkins <amaranth@ubuntu.com>
2014-03-28 23:48:15 -05:00
CraftBukkit/Spigot
e6de9aaa17 Update CraftBukkit to Minecraft 1.7.5
By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2014-03-20 22:26:30 -06:00
CraftBukkit/Spigot
4c583ab9df Add method to forget callbacks in AsynchronousExecutor
By: Wesley Wolfe <weswolf@aol.com>
2014-02-10 09:33:20 -06:00
CraftBukkit/Spigot
4b9b13ab1e Allow AsynchronousExecutor.getSkipQueue() to pull tasks from the queue
By: Wesley Wolfe <weswolf@aol.com>
2014-02-01 17:57:52 -06:00
CraftBukkit/Spigot
e276044e36 [Bleeding] Implement methods for /achievement command. Addresses BUKKIT-4932
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-16 01:48:38 -05:00
CraftBukkit/Spigot
31fccf6d8e Implement UnsafeValues for give command. Addresses BUKKIT-5286
By: Wesley Wolfe <weswolf@aol.com>
2014-01-14 22:38:03 -06:00
CraftBukkit/Spigot
4caf845eae Process URLs as clickable. Adds BUKKIT-4917
In Minecraft 1.7, URL processing was removed from the client while the
server gained the ability to designate a URL to be launched in response to
clicking text. However, this functionality is not implemented in the
vanilla server. This commit adds that functionality to messages sent to
the client, processing URLs as clickable.

Additionally, char array iteration is replaced with regex.

By: mbax <matt@phozop.net>
2013-12-09 22:47:00 -05:00
CraftBukkit/Spigot
8809265f76 Check pending blocks before falling back to world. Fixes BUKKIT-5122
When growing trees we use a BlockChangeDelegate which queues up the block
changes so plugins can modify/block/log tree growing. However, we always
check the actual world when checking for existing blocks. This means when
the tree growing code checks to see if putting a leaf in a block is valid
it may incorrectly overwrite a log block that should exist in that
location. To ensure trees grow correctly we now check the delegate itself
for blocks that match the queried location before checking the world.

By: Travis Watkins <amaranth@ubuntu.com>
2013-12-17 17:26:02 -06:00
CraftBukkit/Spigot
9383c67217 Handle ChatColor-ending messages FIXES BUKKIT-4924
Now adds the component upon creation, eliminating issues where the
created component was discarded.

By: mbax <matt@phozop.net>
2013-12-01 11:09:47 -05:00
CraftBukkit/Spigot
884ca363b6 Handle JUL logger formatting
By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 12:28:20 -06:00
CraftBukkit/Spigot
7537956dec Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948
By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 11:15:18 -06:00
CraftBukkit/Spigot
5783df9d13 Update CraftBukkit to Minecraft 1.7.2
By: mbax <matt@phozop.net>
2013-11-04 07:07:38 -06:00
CraftBukkit/Spigot
868456b95f Refactor EntityDamageEvents. Adds BUKKIT-1944 & BUKKIT-3684
By: feildmaster <admin@feildmaster.com>
2013-04-09 22:25:06 -05:00
CraftBukkit/Spigot
c8eaad4f3f We compile for 1.5
By: Wesley Wolfe <weswolf@aol.com>
2013-04-04 01:22:50 -05:00
CraftBukkit/Spigot
27e7fa2e01 Add a WeakCollection utility class.
This class is designed to be an invisible layer between a normal collection,
and one that silently loses entries because they are only weakly referencable.
Some operations have additional overhead to be semantically correct, but it
maintains the equals contract for all entries, as opposed to identity.

It does not support the equals or hash code method as it cannot easily have
the transitive and commutative properties.

By: Wesley Wolfe <weswolf@aol.com>
2013-04-02 07:52:17 -05: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
c459e6fc06 Add utility class AsynchronousExecutor
This class is a general purpose task execution system, that uses stages
to separate processing blocks for asynchronous and synchronous
executions.

By: Wesley Wolfe <weswolf@aol.com>
2012-12-12 03:54:11 -06:00
CraftBukkit/Spigot
730e3ceb1b Queue tasks from secondary threads. Fixes BUKKIT-2546 and BUKKIT-2600
This change affects the old chat compatibility layer from an
implementation only standpoint. It does not queue the 'event' to fire,
but rather queues a runnable that allows the calling thread to wait for
execution to finish.

The other effect of this change is that rcon connects now have their
commands queued to be run on next server tick using the same
implementation.

The internal implementation is in org.bukkit.craftbukkit.util.Waitable.
It is very similar to a Future<T> task, but only contains minimal
implementation with object.wait() and object.notify() calls
under the hood of waitable.get() and waitable.run().

PlayerPreLoginEvent now properly implements thread-safe event execution
by queuing the events similar to chat and rcon. This is still a poor way
albeit proper way to implement thread-safety; PlayerPreLoginEvent will
stay deprecated.

By: Wesley Wolfe <weswolf@aol.com>
2012-10-07 15:08:21 -05:00
CraftBukkit/Spigot
4277872612 Replace LongObjectHashMap with a more efficient implementation
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.

By: Travis Watkins <amaranth@ubuntu.com>
2012-09-11 05:51:09 -05:00
CraftBukkit/Spigot
9c8b353591 Use standard format function to format logs. Addresses BUKKIT-2246
Also fix "excess" Log Levels.

By: EdGruberman <ed@rjump.com>
2012-08-11 16:29:50 -07:00