Commit Graph

356 Commits

Author SHA1 Message Date
CraftBukkit/Spigot
6de31b61d5 Store last known player names in preparation for name changing
By: feildmaster <admin@feildmaster.com>
2014-03-31 14:42:33 -05:00
CraftBukkit/Spigot
05cdc26922 Fix PotionEffect removal.
The method in EntityLiving to remove a potion effect was remapped during
the 1.7.5 update.  The method invocation in CraftLivingEntity was not
updated to invoke the remapped method, which has led to a random method in
LivingEntity being called in its place.

This commit corrects the behavior of removePotionEffect by changing the
method to invoke the remapped method as opposed to EntityLiving#m(float).

Thanks to @gabizou for finding this issue.

By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2014-03-23 20:50:43 -06: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
f65068829e Implement banning API. Adds BUKKIT-3535
Previously no implementation existed to access various additional
information fields regarding bans. This implementation expands on the
information outlined in the sister Bukkit commit to provide access to
the Minecraft implementation of the ban system.

This implementation of the banning API contains 2 new classes which
provide access to the internal workings of the built-in banning
system within Minecraft.

The CraftBanEntry class simply supports the representation of an internal
Minecraft BanEntry object. The data that may be modified within this new
object must be manually saved to the list contained within the
CraftBanEntry using it's save() method.

The CraftBanList class supports the representation of an internal
Minecraft BanList object through proxy methods. These methods do
validation on the passed objects where needed to ensure safe input to the
backed Minecraft objects.

These changes additionally re-route the existing banning API to the newer,
more detailed, system. Functionality prior to this change still behaves
as documented by the contract defined by the methods changed.

By: mbax <matt@phozop.net>
2014-02-04 20:52:50 -07:00
CraftBukkit/Spigot
7333087027 Update clients when ItemFrame direction is set. Fixes BUKKIT-3371
Hanging entities are placed into the entity tracker and updates are sent
out to clients for the initial placement. Thereafter data watchers are
configured to monitor the item inside the frame. However, if the
direction the ItemFrame facing changes the entity tracker will not send
out updates.

This commit removes and recreates the ItemFrame entity in the same way
that was already done for Painting entities. This causes clients to
be updated appropriately.

By: EdGruberman <ed@rjump.com>
2013-08-30 00:24:26 -07:00
CraftBukkit/Spigot
7179c931c0 [Bleeding] Directly set direction in EntityFireball. Fixes BUKKIT-1154
Because EntityFireball.setDirection() adds a random offset to passed
parameters, it is not appropriate for use in an API method. As such,
the values need to be directly set to remain accurate.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-21 22:50:15 -05:00
CraftBukkit/Spigot
9b8c0edb02 [Bleeding] Implement setCharged and getCharged for WitherSkull. Addresses BUKKIT-3060
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-21 22:50:15 -05:00
CraftBukkit/Spigot
115d946d7b [Bleeding] Implement ProjectileSource API. Addresses BUKKIT-1038, BUKKIT-1156
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-20 00:03:21 -05:00
CraftBukkit/Spigot
668c2bffdb Add setCritical and isCritical methods to CraftArrow.java. Adds BUKKIT-5113
By: MorphanOne <morphanone@gmail.com>
2013-12-16 22:30:13 -05:00
CraftBukkit/Spigot
616d88c604 Add methods to get and set arrow knockback. Adds BUKKIT-5103
By: Likaos <romain.rosique@gmail.com>
2013-12-16 22:30:13 -05:00
CraftBukkit/Spigot
97b317368b [Bleeding] Add support for ThrownExpBottle and Fish to launchProjectile(...). Fixes BUKKIT-1536
Previously, trying to launch a ThrownExpBottle or Fish projectile would
result in an IllegalArgumentException. This commit adds support for both
ThrownExpBottle and Fish, which means that all current projectiles are
now properly supported by this method.

By: GJ <gjmcferrin@gmail.com>
2013-12-16 22:40:00 -05:00
CraftBukkit/Spigot
f87c5cd9dd [Bleeding] Fix Achievements and Statistics API. Fixes BUKKIT-5305
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-14 23:42:40 -05:00
CraftBukkit/Spigot
a6a6c99078 Add new setResourcePack method. Fixes BUKKIT-5015
Minecraft now uses resource packs instead of texture packs, which broke
the setTexturePack method, as the client no longer listens on the MC|TPack
channel.

This commit fixes the issue by adding in a setResourcePack method, and by
deprecating setTexturePack and rewriting it to call the newly added
setResourcePack.  In order to simplify the method and prevent this from
happening in the future, setResourcePack calls EntityPlayer.a(String) to use
the same logic as minecraft when sending resource packs.

By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2013-12-17 19:23:26 -07:00
CraftBukkit/Spigot
b79e797434 Show fall particles while in creative mode. Fixes BUKKIT-5009
Relocate CraftBukkit patch to fall damage when changing
gamemode from creative mode.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2013-12-13 19:31:59 -05:00
CraftBukkit/Spigot
672d7e3316 Implement Firework.detonate(). Adds BUKKIT-4538
This implements the detonate method from bukkit by setting the fuse
timer to 0. This makes a firework explode using the normal codepath,
but without waiting for the fuse.

By: Wesley Wolfe <weswolf@aol.com>
2013-12-06 00:05:23 -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
46b65df5ae Update CraftBukkit to 1.6.4
By: feildmaster <admin@feildmaster.com>
2013-09-19 13:25:08 -05:00
CraftBukkit/Spigot
84e8935a22 Add support for custom Hopper inventories. Fixes BUKKIT-4722
Opening a hopper inventory created by Server.createInventory will
currently have no effect as proper handling code is missing in
CraftEntityHuman for hopper inventories that aren't associated with a tile
entity or minecart. Initialization logic for hoppers is also missing from
CraftContainer, which is necessary for the opening of custom hopper
inventories.

This commit fixes the two aforementioned by adding proper handling to
CraftHumanEntity for opening inventories not associated with a tile
entity, and by adding initialization logic for hoppers to CraftContainer.

By: FrozenBrain <carstenbamsti@googlemail.com>
2013-08-27 00:04:48 +02:00
CraftBukkit/Spigot
9680b8dcdb Return correct hasLineOfSight value for players. Fixes BUKKIT-4634
Prior to this change when a plugin called Player.hasLineOfSite() the
method would always return false because EntityHuman does not extend
EntityInsentient. This commit changes that by explicitly checking for
line of sight between two entities and returning that value.

By: Roger Baumgartner <rogermarcbaumgartner@hotmail.com>
2013-08-17 16:13:31 +02:00
CraftBukkit/Spigot
ed3c404bc3 Fix mistranslation in isPlayerCreated() for IronGolems. Fixes BUKKIT-4543
By: Kai Dederichs <kai.dederichs@gmx.de>
2013-07-13 11:56:59 +02:00
CraftBukkit/Spigot
4cd10145c5 Implement Leash API. Adds BUKKIT-4459, BUKKIT-4583
By: T00thpick1 <t00thpick1dirko@gmail.com>
2013-07-31 17:35:16 -04:00
CraftBukkit/Spigot
cdb0ea7069 Ignore null sound by contract. Fixes BUKKIT-4641
By: Wesley Wolfe <weswolf@aol.com>
2013-08-02 20:05:22 -05:00
CraftBukkit/Spigot
1e6a141afb Add raw sound string playSound method. Adds BUKKIT-2443
A method has been added to Player which allows the server to send a sound string to the client. Assuming the client has the specified sound, it will be played. This is needed by the implementation of the /playsound command.

By: h31ix <zero_gravity@outlook.com>
2013-07-19 15:21:50 -04:00
CraftBukkit/Spigot
4af51c2ffb Add API to control scaled health. Adds BUKKIT-4590
This commit implements the ability to set the scale of hearts that the
client renders.  When the Packet44UpdateAttributes packet is sent, the
max health attribute is replaced with a scaled version, to preserve the
scaled health illusion clientside.

In order to accurately display the scaled health for players, a true
health is stored within CraftPlayer, and the datawatcher now stores the
scaled health. The getHealth() method for players still returns their
true health.

Changed setHealth() within EntityLiving to appropriately handle health
for instances of EntityPlayer. Inlined a call to
setHealth(getMaxHealth()) within the EntityLiving constructor to work
around CraftEntity instantiation.

Additionally fixes the health values sent when eating food within
FoodMetaData and ItemFood, which previously sent the unscaled health;
this commit alters them to send the properly scaled health.

Additionally fixes BUKKIT-4535, BUKKIT-4536, and BUKKIT-4127

By: T00thpick1 <t00thpick1dirko@gmail.com>
2013-07-23 21:30:38 -05:00
CraftBukkit/Spigot
701de44fd3 Use ambient setting of potion effects. Fixes BUKKIT-4357 and BUKKIT-3653
This changes livingEntity.addPotionEffect(PotionEffect, boolean) to
construct the MobEffect using the constructor that includes the ambient
setting as supplied by the PotionEffect

This also changes livingEntity.getActivePotionEffects() to construct the
PotionEffects using the ambient setting supplied by the MobEffects.

By: Jim Bilbrey <jb_aero@verizon.net>
2013-06-19 05:38:05 -04:00
CraftBukkit/Spigot
5bd02e83f2 Return inGround when checking Arrow's OnGround state. Fixes BUKKIT-4439
By: EvilSeph <evilseph@gmail.com>
2013-07-10 20:25:34 -04:00
CraftBukkit/Spigot
8524394d06 Implement Horse API. Adds BUKKIT-4424
API has been added to interface with Horses and to modify their inventories. Horse entities will now be recognized with the type EntityType.HORSE, and will no longer be UNKNOWN.

HorseJumpEvent, EntityDamageEvent, and EntityTameEvent are all correctly fired for horses.

This commit fixes BUKKIT-4393.

By: h31ix <zero_gravity@outlook.com>
2013-07-10 11:58:18 -04:00
CraftBukkit/Spigot
69a37fc533 Update CraftBukkit to 1.6.2
By: mbax <matt@phozop.net>
2013-07-08 19:43:37 -04:00
CraftBukkit/Spigot
6addfb0dff Properly clear attributes on remove and death. Fixes BUKKIT-4416
By: EvilSeph <evilseph@gmail.com>
2013-07-03 00:23:34 -04:00
CraftBukkit/Spigot
48a3e72018 Fix scaling for player health. Fixes BUKKIT-4431
By: Wesley Wolfe <weswolf@aol.com>
2013-07-02 23:08:55 -05:00
CraftBukkit/Spigot
4c2d673bd3 Rework max health values. Fixes BUKKIT-4398
By: Wesley Wolfe <weswolf@aol.com>
2013-07-02 12:34:40 -05:00
CraftBukkit/Spigot
a578800a63 Update CraftBukkit to 1.6.1
By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2013-07-01 06:03:00 -05:00
CraftBukkit/Spigot
9fdae1c35b Update CraftBukkit to Minecraft 1.5.2
By: Travis Watkins <amaranth@ubuntu.com>
2013-04-27 04:40:05 -05:00
CraftBukkit/Spigot
e8b9ca83cb Check connection status before setting scoreboard. Fixes BUKKIT-4064
Two connection status checks were added to setting a scoreboard for a
player. The first checks to see if a player has logged in yet, which
implicates the ability to receive packets. The second checks to affirm
that the CraftPlayer reference is still to a logged in player; setting
it while not logged in would maintain a stale player reference in the
scoreboard manager.

By: Wesley Wolfe <weswolf@aol.com>
2013-04-12 21:31:24 -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
10245ce119 Allow fishing success rate to be adjustable. Adds BUKKIT-3837
By: Andre LeBlanc <andre@norcode.com>
2013-03-20 11:48:35 -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
329ac32171 Include ThrownPotion in spawn methods. Adds BUKKIT-2542
By: Carlos Cobo <toqueteos@gmail.com>
2013-03-23 15:28:23 +01:00
CraftBukkit/Spigot
d9c6b90716 Add ability to modify ThrownPotion properties. Adds BUKKIT-3197
By: Olof Larsson <olof@sylt.nu>
2012-12-17 09:45:30 +01:00
CraftBukkit/Spigot
f60d880814 Add method to get the source of a TNTPrimed. Adds BUKKIT-3815
By: AlphaBlend <whizkid3000@hotmail.com>
2013-03-21 12:47:46 -06:00
CraftBukkit/Spigot
4c1cb5c8a7 Implement per-player Weather API. Adds BUKKIT-812
By: T00thpick1 <t00thpick1dirko@gmail.com>
2012-12-20 16:51:27 -05:00
CraftBukkit/Spigot
9262bc5393 Make CraftMinecartHopper work as InventoryHolder. Adds BUKKIT-3796
By: Michael Limiero <mike5713@gmail.com>
2013-03-17 15:50:34 -04:00
CraftBukkit/Spigot
e3356c9896 Implement Entity.isOnGround(). Adds BUKKIT-3787
By: Chad Waters <authorblues@gmail.com>
2013-03-17 11:51:11 -04:00
CraftBukkit/Spigot
002dd2b7cd Implement Hopper block state and inventory methods. Adds BUKKIT-3749
By: Michael Limiero <mike5713@gmail.com>
2013-03-16 00:46:35 -04:00
CraftBukkit/Spigot
7e0364660a Limit mob names to 64 chars to avoid client crash. Fixes BUKKIT-3753
By: Travis Watkins <amaranth@ubuntu.com>
2013-03-16 08:31:03 -05:00
CraftBukkit/Spigot
afd0b4899b Handle the newly refactored minecarts.
By: Wesley Wolfe <weswolf@aol.com>
2013-03-15 23:09:04 -05:00
CraftBukkit/Spigot
bb2baf6ba7 Use proper naming convention for boolean methods.
By: Travis Watkins <amaranth@ubuntu.com>
2013-03-15 14:25:37 -05: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
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