Commit graph

1388 commits

Author SHA1 Message Date
Thinkofdeath
cd94e3c9b0 Give BlockPistonRetractEvent a list of pulled blocks for sticky pistons 2015-01-19 23:28:15 +00:00
DoctorDark
e8b6cdfa8a SPIGOT-371: Fix incorrect data bit for leap potion effect 2015-01-12 12:45:33 +11:00
Tobias Kunicke
d3d800aee3 A sign isn't a solid block 2015-01-11 07:56:55 +01:00
Jofkos
b4e9811235 Make Location ConfigurationSerializable. 2015-01-07 09:49:16 +11:00
Thinkofdeath
dd0fec4187 SPIGOT-362: Add TeleportCause.SPECTATE 2015-01-06 20:20:20 +00:00
md_5
52d02e1535 Rewrite pom.xml, use Eclipse JDT / ECJ for compilation. 2015-01-05 14:25:43 +11:00
Thinkofdeath
3c1f461070 Allow Entities to be CommandSenders and add ProxiedCommandSender 2015-01-04 23:26:45 +00:00
md_5
8effa51854 SPIGOT-323: Enchanting tables can no longer be force opened. (reverted from commit a2aa082c09) 2015-01-05 10:00:40 +11:00
md_5
a2aa082c09 SPIGOT-323: Enchanting tables can no longer be force opened. 2015-01-05 09:59:20 +11:00
Thinkofdeath
f1ce6715f1 Remove DEBUG_ALL_BLOCK_STATES due to it being broken 2014-12-28 16:57:20 +00:00
Thinkofdeath
4611e519c0 Fix the version checker 2014-12-28 11:12:57 +00:00
Thinkofdeath
db08622fc3 Whoops, testing code 2014-12-27 22:53:04 +00:00
Thinkofdeath
c713921b66 Fix the version check 2014-12-27 22:42:00 +00:00
Thinkofdeath
0b440145d3 Implement version checking into the /version command 2014-12-27 00:33:17 +00:00
FearThe1337
c6b3d17953 Add RabbitType API. 2014-12-24 09:00:31 +11:00
md_5
d4c3dd53a8 SPIGOT-204: Add way to set block type without using IDs or updating physics. 2014-12-22 19:47:50 +11:00
Adam Thomas
23759bcb40 Add NameTag visibility API to the Team interface. 2014-12-18 21:24:14 +11:00
0x277F
935e6dd939 Add API to PotionEffect to determine whether particles are visible and displayed to the client. Fixes SPIGOT-125 2014-12-18 21:19:10 +11:00
DoctorDark
0af5d198f5 Fix case sensitive arguments, show usage message if no arguments found for the timings command 2014-12-18 21:16:52 +11:00
FearThe1337
59ca64d6ae Fix the decoding of potions for Water. 2014-12-18 09:46:45 +11:00
TheCutter
7714b7034f Add WorldBorder API 2014-12-14 09:56:22 +11:00
Thinkofdeath
e858ecfa09 Fix the javadoc 2014-12-13 15:25:31 +00:00
FearThe1337
06c28d4723 Add material class for Gates. (SPIGOT-192) 2014-12-12 19:21:07 +01:00
FearThe1337
ae75cc39bc Implement displayblocks for minecarts (SPIGOT-14). 2014-12-12 10:52:14 +11:00
TheCutter
7dfe6ea7ea added generator settings to WorldCreator to specify presets for FLAT or CUSTOMIZED world types 2014-12-12 10:51:06 +11:00
Fabian Faßbender
a87f00c0c8 API for getting/setting a elder Guardian 2014-12-12 10:49:41 +11:00
FearThe1337
ae5150a664 Remove old bukkit command permission nodes. 2014-12-11 21:15:55 +01:00
FearThe1337
b630b97941 Add support for levers being attached up and downwards.
Fixes SPIGOT-177.
2014-12-10 15:24:40 +01:00
Thinkofdeath
ad5a4f5e28 SPIGOT-76: Remove almost all Bukkit commands 2014-12-09 21:39:47 +00:00
Thinkofdeath
1c57622f32 Register the Pattern class to ConfigurationSerialization 2014-12-04 10:29:42 +00:00
Thinkofdeath
de35b9f746 Fix Pattern serialization 2014-12-04 10:10:54 +00:00
Thinkofdeath
efd0c51723 Merge pull request #2 in SPIGOT/bukkit from ~DMCK2B/bukkit:feature/implementDepthStrider to master
* commit '07351b62c810c306e076d49ddf0a5b74c57e9351':
  Implement the Depth Strider enchantment in the API
2014-12-03 17:41:29 +01:00
Thinkofdeath
988c015fa4 Give PlayerInteractAtEntityEvent its own handler list, seperating it from PlayerInteractEntityEvent 2014-12-02 22:41:22 +00:00
Fabian Faßbender
b6c156daa6 Support the new Rotation values. 2014-12-02 00:02:30 +01:00
Thinkofdeath
2a18a07d91 Clean up the javadoc to pass java 8's doclint 2014-11-30 21:09:01 +00:00
Suddenly
07351b62c8 Implement the Depth Strider enchantment in the API 2014-11-29 15:04:00 +00:00
md_5
277baff1a1 Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/
2014-11-26 08:15:59 +11:00
bendude56
a329bc5536 Update JavaDocs regarding teleportation of entities. Fixes BUKKIT-4210
Up until Minecraft version 1.5 it was not possible to teleport entities
within vehicles. With the 1.5 update came the change in the Minecraft
teleportation logic to dismount before teleporting the entity, if
applicable.

This commit simply ammends the JavaDocs for the associated CraftBukkit
half regarding the action the teleportation methods will take before
completing a teleport.
2014-08-17 11:49:33 -06:00
Jerom van der Sar
1c220ddc6e Add ability to keep items on death via plugins. Adds BUKKIT-5724
When a player dies their inventory is normally scattered over the the area
in which they died. Plugins should be able to modify this behaviour by
defining whether or not the player's inventory will be dropped on the ground or
waiting for the player when they eventually respawn.

This commit adds the methods required to the PlayerDeathEvent for plugins
to be able to incorporate the behaviour mentioned as a simple boolean
flag.
2014-08-17 11:40:42 -06:00
riking
f0ab5b0aec Rename Fish to FishHook. Fixes BUKKIT-3856
"Fish" is a badly named class to represent a fishing hook due to the
possibility (or lack of) that Minecraft may be getting fish entities.

This commit provides potential future compatibility by deprecating the
existing Fish class and moving the methods to a new class: FishHook.
2014-08-17 11:36:06 -06:00
bendem
31cb1e6df5 Only loop through op players when tab completing /deop Fixes BUKKIT-5748
When tab completing /deop, a potentially large set of players is used for
finding suitable player names. This potentially large set of players can
cause performance concerns on servers. To fix this, only the set of
operators should be considered for the /deop tab completion where the
player set is much more relevant and follows suit with other commands
which employ "more specific" player sets when possible. This commit adds
this more efficient behaviour.
2014-08-16 19:55:15 -06:00
Wesley Wolfe
246c53f5a2 Add deprecated BukkitRunnable overloads in the scheduler. Adds BUKKIT-5752 2014-08-07 19:26:52 -05:00
Travis Watkins
f9e3bf24a8 Recalculate damage modifiers in event for old method. Fixes BUKKIT-5681
When we added the new API in EntityDamageEvent to give control over the
various things that modify the final damage done we caused a change in
behavior for users of the old #setDamage(double) method. Before changing
the damage would happen before the modifiers were calculated so they would
be based on the final damage value from the event. Now they are calculated
at the beginning so changing the damage does not change the modifiers.

To allow the old style and the new to coexist we now expose the vanilla
modifer calculations to the event in the form of Function objects. These
are used in #setDamage(double) to calculate the difference in the modifier
between the old damage and the new and apply this difference to the current
modifier. The difference is between the vanilla values for both damage
values and is applied on top of the event's modifier value as this should
make old and new API usage work together in a way that isn't surprising.
2014-07-09 19:00:16 -05:00
Wesley Wolfe
9b7b142ad0 Pulling all pending Bukkit-JavaDoc changes 2014-07-08 23:56:15 -05:00
Wesley Wolfe
78e2441ca5 Replace getOnlinePlayers to provide a view. Adds BUKKIT-5668 2014-06-25 15:56:56 -05:00
Wesley Wolfe
657200d93c Add damage modifier API in EntityDamageEvent. Adds BUKKIT-347, BUKKIT-4104
This commit adds API for the enchantment, armor, potion and other
modifications to damage done to an entity. These damage modifiers are each
editable editable via a getter and a setter. This addition allows for more
accurate modification and monitoring of damage done to/by an entity, as it
displays the final damage done as well.
2014-06-22 15:28:02 -05:00
Wesley Wolfe
f93e9fc7b7 Fix failing BukkitMirrorTest 2014-06-03 16:09:47 -05:00
Wesley Wolfe
9869166c2e Rewrite BukkitMirrorTest 2014-06-03 16:09:47 -05:00
Wesley Wolfe
8ac95b65e0 Change YamlConfiguration encoding styles.
On JVMs with UTF-8 default encoding, this commit has no change in behavior.

On JVMs with ascii default encoding (like some minimal linux installa-
tions), this commit now uses UTF-8 for YamlConfiguration operations.
Because all ascii is valid UTF-8, there is no feature degradation or data
loss during the transition.

On JVMs with any non-unicode but ascii-compliant encoding, this commit now
forces YamlConfiguration to escape special characters when writing to
files, effectively rendering the encoding to be plain ascii. Any affected
file will now be able to migrate to UTF-8 in the future without data-loss
or explicit conversion. When reading files, YamlConfiguration will use the
system default encoding to handle any incoming non-utf8 data, with the
expectation that any newly written file is still compliant with the
system's default encoding.

On JVMs with any non-unicode, but ascii-incompliant encoding (this may be
the case for some Eastern character sets on Windows systems), this change
is breaking, but is justified in claim that these systems would otherwise
be unable to read YamlConfiguration for implementation dependent settings
or from plugins themselves. For these systems, all uses of the encoding
will be forced to use UTF-8 in all cases, and is effectively treated as if
it was configured to be UTF-8 by default.

On JVMs with unicode encoding of UTF-16 or UTF-32, the ability to load any
configurations from almost any source prior to this change would have been
unfeasible, if not impossible. As of this change, however, these systems
now behave as expected when writing or reading files. However, when
reading from any plugin jar, UTF-8 will be used, matching a super-majority
of plugin developer base and requirements for the plugin.yml.

Plugin developers may now mark their plugin as UTF-8 compliant, as
documented in the PluginDescriptionFile class. This change will cause the
appropriate APIs in JavaPlugin to ignore any system default encoding,
instead using a Reader with the UTF-8 encoding, effectively rendering the
jar system independent. This does not affect the aformentioned JVM
settings for reading and writing files.

To coincide with these changes, YamlConfiguration methods that utilize a
stream are now deprecated to encourage use of a more strict denotation.
File methods carry system-specific behaviors to prevent unncessary data
loss during the transitional phase, while Reader methods are now provided
that have a very well-defined encoder behavior. For the transition from
InputStream methods to Reader methods, an API has been added to JavaPlugin
to provide a Reader that matches the previous behavior as well as
compliance to the UTF-8 flag in the PluginDescriptionFile.

Addresses BUKKIT-314, BUKKIT-1466, BUKKIT-3377
2014-05-14 07:07:37 -05:00
Wesley Wolfe
48756ec1d6 Add awake flag for bats. Adds BUKKIT-5606 2014-05-13 20:39:02 -05:00