Commit Graph

308 Commits

Author SHA1 Message Date
CraftBukkit/Spigot
0d9124396f Close inventory on teleport. FIXES BUKKIT-3021.
By: Andrzej Pomirski <andrzejp@dysleksja.pl>
2013-02-09 23:38:53 +01:00
CraftBukkit/Spigot
20ddd83f9a Fix players spawning above portals. Fixes BUKKIT-3542.
Vanilla does not check for blocks in which the player could
suffocate when changing dimension, so portals will happily spawn
players in blocks when using a portal under certain
circumstances. However, we currently check for these instances
and move the player up until they will not suffocate. This means
that players can sometimes be taken to above the target portal,
making it seem as if a portal was not created. Instead, we now
disable this suffocation check when moveToWorld is called from
changeDimension, mirroring vanilla behavior more accurately.

By: James Clarke <jamesrtclarke@me.com>
2013-02-03 00:32:07 +00:00
CraftBukkit/Spigot
067842730b Fix NPE when getting bed spawn location.
By: feildmaster <admin@feildmaster.com>
2013-01-29 17:25:39 -06:00
CraftBukkit/Spigot
88e050668f Fix contract with Player.getBedSpawnLocation. Fixes BUKKIT-3525
Getting the bed spawn location is supposed to check if the bed is
valid, however, it currently did not do so.

By: feildmaster <admin@feildmaster.com>
2013-01-29 10:03:05 -06:00
CraftBukkit/Spigot
552cff7d15 Update Fireballs to account for ExplosionPower. Fixes BUKKIT-3460
Adds BUKKIT-3516

By: feildmaster <admin@feildmaster.com>
2013-01-27 14:46:58 -06:00
CraftBukkit/Spigot
c529b1d5ec Update CraftBukkit to Minecraft 1.4.7
By: feildmaster <admin@feildmaster.com>
2013-01-17 03:28:44 -06:00
CraftBukkit/Spigot
e9c52a3ffc Update calls to DyeColor getData and getByData. Addresses BUKKIT-2786
These two methods are now deprecated and replaced by the strictly
equivalent calls using wool data.

By: Wesley Wolfe <weswolf@aol.com>
2013-01-05 16:45:34 -06:00
CraftBukkit/Spigot
1e7d13dfee Fix "setSitting" on tameable animals. Fixes BUKKIT-1534
This makes it so animals (tame or not) will sit properly and not move
around.

Wild animals that are sitting may override the sitting position if
they are attacking.

By: feildmaster <admin@feildmaster.com>
2012-12-31 14:00:55 -06:00
CraftBukkit/Spigot
ef64b8dd33 Don't teleport entities that are considered dead. Addresses BUKKIT-1331
Teleportation should never be processed on dead entities. If you wish
to teleport an entity, do it on a living entity. If you wish to
teleport a player, set their respawn location in PlayerRespawnEvent.

By: feildmaster <admin@feildmaster.com>
2012-12-27 19:22:28 -06:00
CraftBukkit/Spigot
28034e5c5c Fix fireworks being short lived. Fixes BUKKIT-3291
By: feildmaster <admin@feildmaster.com>
2012-12-23 17:06:26 -06:00
CraftBukkit/Spigot
3e4f7af5c8 Properly update fireworks. Fixes BUKKIT-3289
By: feildmaster <admin@feildmaster.com>
2012-12-23 08:59:15 -06:00
CraftBukkit/Spigot
8dcc915237 Implement entity max health methods. Adds BUKKIT-266
By: feildmaster <admin@feildmaster.com>
2012-12-23 05:49:03 -06:00
CraftBukkit/Spigot
f1cc082ee0 Report valid health when getting Entity health. Fixes BUKKIT-3210
By: feildmaster <admin@feildmaster.com>
2012-12-23 07:16:59 -06:00
CraftBukkit/Spigot
ce8e581ffc Update firework power when modifying meta. Fixes BUKKIT-3272
By: Travis Watkins <amaranth@ubuntu.com>
2012-12-22 13:05:55 -06:00
CraftBukkit/Spigot
d21d3199b9 Implement API to get and set FireworkMeta on Firework entities
By: feildmaster <admin@feildmaster.com>
2012-12-21 23:56:54 -06:00
CraftBukkit/Spigot
b5940b64f6 Add API to allow plugins to request players switch to a texture pack. Adds BUKKIT-2579
The setTexturePack method causes the player's client to
download and switch to a texture pack specified by a URL.

Note: Players can disable server textures on their client, in which
case this API would not affect them.

By: Wojciech Stryjewski <thvortex@gmail.com>
2012-10-09 15:57:39 -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
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
9d7ccb79f2 ItemStack.asBukkitStack(null) should return Air. Fixes BUKKIT-3170
By: feildmaster <admin@feildmaster.com>
2012-12-15 01:33:14 -06:00
CraftBukkit/Spigot
38aca80dfa Missed a rename
By: feildmaster <admin@feildmaster.com>
2012-12-10 19:17:47 -06:00
CraftBukkit/Spigot
0ef3001c83 Add EntityEquipment API. Adds BUKKIT-3103
Adds:
- Getting/Setting equipment
- getting/setting drop rates
- getting/setting ability to pick up items
-- As an added feature, players with this flag start off with a canceled PlayerPickupItemEvent

By: feildmaster <admin@feildmaster.com>
2012-12-09 00:09:48 -06:00
CraftBukkit/Spigot
1b990d9590 [Bleeding] Correct getEyeHeight value. Fixes BUKKIT-3130
By: h31ix <low_gravity@outlook.com>
2012-12-09 21:40:10 -05:00
CraftBukkit/Spigot
3f11c5df16 [Bleeding] Fix NPE with a null bedSpawnLocation. Fixes BUKKIT-1500
By: EdGruberman <ed@rjump.com>
2012-12-09 17:37:37 -06:00
CraftBukkit/Spigot
90014b4094 Provide a faster way to get a location. Adds BUKKIT-3120
Currently when a plugin wants to get the location of something it calls
getLocation() which returns a new Location object. In some scenarios this
can cause enough object creation/destruction churn to be a significant
overhead. For this cases we add a method that updates a provided Location
object so there is no object creation done. This allows well written code
to work on several locations with only a single Location object getting
created.

Providing a more efficient way to set a location was also looked at but
the current solution is the fastest we can provide. You are not required
to create a new Location object every time you want to set something's
location so, with proper design, you can set locations with only a single
Location object being created.

By: Travis Watkins <amaranth@ubuntu.com>
2012-12-07 19:49:01 -06:00
CraftBukkit/Spigot
137f84d3b6 Use shooter constructor for Fireballs. Fixes BUKKIT-3121
Fixes fireballs exploding in the shooter's face and not having a shooter for the projectile. (Two birds with one stone!)

By: feildmaster <admin@feildmaster.com>
2012-12-06 18:36:40 -06:00
CraftBukkit/Spigot
0f71f7e6df Add the ability to launch WitherSkulls. Fixes BUKKIT-3106
By: feildmaster <admin@feildmaster.com>
2012-12-06 18:18:28 -06:00
CraftBukkit/Spigot
8497ec2d7c Implement API for wolves collar color. Adds BUKKIT-3109
By: feildmaster <admin@feildmaster.com>
2012-12-05 18:08:31 -06:00
CraftBukkit/Spigot
e506472f08 Implement API for mob despawn when away from players. Adds BUKKIT-2986
As of 1.4 mobs have a flag to determine if they despawn when away from a
player or not. Unfortunately animals still use their own system to prevent
despawning instead of making use of this flag. This change modifies them
to use the new system (defaults to true) and to add API for plugins to adjust
this.

By: Travis Watkins <amaranth@ubuntu.com>
2012-12-04 18:33:44 -06:00
CraftBukkit/Spigot
921c568632 [BREAKING] Update BlockFace directions. Fixes BUKKIT-1567, BUKKIT-3069
The answer is 42

By: feildmaster <admin@feildmaster.com>
2012-12-01 00:22:01 -06:00
CraftBukkit/Spigot
096ca091e1 Fix teleporting entities with vehicles/passengers teleporting you illegally. Fixes BUKKIT-2821
Also some formatting...

By: feildmaster <admin@feildmaster.com>
2012-11-20 18:15:00 -06:00
CraftBukkit/Spigot
35a4233999 No teleporting people back into the server. Fixes BUKKIT-2298
Stale player references will add a player back into the world when
teleporting them, causing a cascade of issues relating to ghost entities
and servers failing to stop.

By: Wesley Wolfe <weswolf@aol.com>
2012-11-19 21:38:31 -06:00
CraftBukkit/Spigot
4e8ec15953 Implement API for Skeleton and Zombie types. Fixes BUKKIT-2818
By: James Clarke <jamesrtclarke@me.com>
2012-11-05 18:09:40 +00: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
1816b5b800 Change ItemFrame to actually provide a defensive copy. Fixes BUKKIT-2784
If a defensive copy is not used in the API, changes to the item are
reflected in memory, but never updated to the client. It also goes
against the general contract provided in Bukkit, where setItem should be
the only way to change the underlying item frame.

By: Wesley Wolfe <weswolf@aol.com>
2012-10-31 18:07:27 -05:00
CraftBukkit/Spigot
6ea108ec2e Implement the API for ItemFrames. Adds BUKKIT-2668
By: h31ix <effectsdude@gmail.com>
2012-10-31 00:59:06 -04:00
CraftBukkit/Spigot
026494018e Expose API for giving and taking experience levels for use with ExpCommand's new behaviour with Minecraft 1.4. Adds BUKKIT-2739
By: EvilSeph <evilseph@gmail.com>
2012-10-29 12:37:45 -04:00
CraftBukkit/Spigot
c464cba5b2 Revert changing EntityType.FIREBALL to LARGE_FIREBALL
By: feildmaster <admin@feildmaster.com>
2012-10-29 20:17:52 -05: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
e29c5d9725 Ensure entity isn't destroyed when trying to show it. Fixes BUKKIT-2038
If two players (or a player and any other entity) are teleported to the
same location in the same tick they will both get added to the other's
destroy queue then have a new entity spawn packet sent. Next tick the
destroy queue will be processed and they will then be invisible to each
other. To prevent this situation we remove the entity from the destroy
queue when sending out a spawn packet for them.

By: Travis Watkins <amaranth@ubuntu.com>
2012-10-13 15:27:45 -05:00
CraftBukkit/Spigot
980784204e Remove player from destroy queue when they go visible. Fixes BUKKIT-2071
If a plugin calls player.hidePlayer(other); then player.showPlayer(other);
in the same tick the other player will be added to the entity destroy queue
then a spawn packet will be sent. On the next tick the queue will be
processed and a destroy packet will be sent that renders the other player
invisible. To correct this we ensure the destroy queue is in sync with use
of the vanish API.

By: Travis Watkins <amaranth@ubuntu.com>
2012-09-28 14:53:28 -05:00
CraftBukkit/Spigot
f57bc0f77f Map org.bukkit.Sound to String values for sending to client.
This change was done to remove the internal sound names from the API.
Along with moving the internal names into CraftBukkit, a unit test was
added for any new sounds added in the API to assure they have a non-null
mapping.

By: Wesley Wolfe <weswolf@aol.com>
2012-09-26 16:34:06 -05:00
CraftBukkit/Spigot
2a57bac117 Bulk pending cleanup.
By: Wesley Wolfe <weswolf@aol.com>
2012-09-09 23:19:28 -05:00
CraftBukkit/Spigot
ae2357b96e Implement API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019
By: feildmaster <admin@feildmaster.com>
2012-08-21 17:23:17 -05:00
CraftBukkit/Spigot
7a4660c49e Implement API to retrieve and open EnderChests. Adds BUKKIT-2016
By: feildmaster <admin@feildmaster.com>
2012-08-20 15:52:44 -05:00
CraftBukkit/Spigot
73cf129db7 Implement methods for spawning FallingBlocks and add various FallingBlock methods. Adds BUKKIT-2282
By: feildmaster <admin@feildmaster.com>
2012-08-13 22:21:10 -05:00
CraftBukkit/Spigot
939c2c8477 Implement player speed API. Addresses BUKKIT-2205
By: Wesley Wolfe <weswolf@aol.com>
2012-08-10 00:00:04 -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
985d65840b Implement getExpToLevel method. Fixes BUKKIT-1906
By: feildmaster <admin@feildmaster.com>
2012-07-10 13:32:21 -05:00
CraftBukkit/Spigot
b69d15792e Factor invulnerableTicks into getNoDamageTicks. Fixes BUKKIT-1324
By: feildmaster <admin@feildmaster.com>
2012-07-04 15:12:29 -05:00