Commit graph

271 Commits

Autor SHA1 Nachricht Datum
Travis Watkins
60819c6693 Update CraftBukkit to Minecraft 1.4(.2). 2012-10-27 22:19:03 -04:00
Travis Watkins
506a1a0765 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.
2012-10-13 15:27:45 -05:00
Travis Watkins
b5580b6d95 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.
2012-09-28 14:53:28 -05:00
Wesley Wolfe
03f12497b2 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.
2012-09-26 19:02:05 -04:00
Wesley Wolfe
e2b1514daf Bulk pending cleanup. 2012-09-09 23:19:28 -05:00
feildmaster
161ab5edc6 Implement API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019 2012-08-21 19:13:19 -05:00
feildmaster
e7e643d83a Implement API to retrieve and open EnderChests. Adds BUKKIT-2016 2012-08-20 16:00:53 -05:00
feildmaster
b059962a5c Implement methods for spawning FallingBlocks and add various FallingBlock methods. Adds BUKKIT-2282 2012-08-14 07:38:23 -05:00
Wesley Wolfe
342f9c3bd3 Implement player speed API. Addresses BUKKIT-2205 2012-08-10 00:00:04 -05:00
Wesley Wolfe
02d6703da7 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.
2012-08-03 23:44:45 -05:00
feildmaster
a43d621c01 Update CraftBukkit to Minecraft 1.3.1 2012-08-02 04:58:50 -05:00
feildmaster
46125dc6cf Implement getExpToLevel method. Fixes BUKKIT-1906 2012-07-11 17:14:07 -05:00
feildmaster
dba9349ed4 Factor invulnerableTicks into getNoDamageTicks. Fixes BUKKIT-1324 2012-07-04 15:12:29 -05:00
feildmaster
e4e994f710 Treat ComplexParts as proxies for setLastDamageCause. Fixes BUKKIT-1821 2012-07-02 22:22:03 -05:00
feildmaster
0a0d5ebf20 Clean entity.damage functions. Fixes BUKKIT-1822 2012-07-02 22:22:03 -05:00
Travis Watkins
a21f038fc3 Mark entities as invalid when they get despawned. Addresses BUKKIT-810 2012-06-28 19:34:31 -05:00
TomyLobo
412b7eaa12 Implement LivingEntity.hasLineOfSight. Addresses BUKKIT-1255 2012-06-23 10:48:08 -05:00
Wesley Wolfe
57763845d0 Implement plugin channel events. Addresses BUKKIT-1844 2012-06-21 02:39:59 -05:00
Ammar Askar
8bc42ba8c9 Clear animal owner when untamed. Fixes BUKKIT-1482 2012-06-20 12:45:17 -05:00
feildmaster
f15785669a Launch fireballs at eye location. Fixes BUKKIT-1155 2012-06-03 05:34:58 -05:00
Wesley Wolfe
5d3c8bfaa4 Removed AnimalTamer cache, fixes BUKKIT-1628 2012-05-24 23:02:02 -05:00
Wesley Wolfe
c43012ef1c Fixed broken hashCode() 2012-05-24 23:01:33 -05:00
Travis Watkins
c1bc0df718 Add in checks for potential NPEs. Fixes BUKKIT-1706 and BUKKIT-1590. 2012-05-24 19:12:56 -05:00
feildmaster
2f976705be Revert "Fix potential NPE in vanish API. Fixes BUKKIT-1541"
This reverts commit ebf121800bd3161e4af0f6d9229ccb39c31fc278.

If the handle ever becomes null we need to know about it so we can debug it further.
2012-04-27 12:48:40 -05:00
feildmaster
99aeb32d0d Remove Player cache and edit CraftPlayer.equals to account for EntityID. Fixes BUKKIT-1541 and Addresses BUKKIT-761 2012-04-27 12:33:40 -05:00
Travis Watkins
73ae279e8d Update players when potion effects are moved from them. Fixes BUKKIT-789 2012-04-24 21:58:35 -04:00
Travis Watkins
9c12dc0ef8 Fix potential NPE in vanish API. Fixes BUKKIT-1541 2012-04-24 21:57:54 -04:00
feildmaster
1dcb39074d Persist PlayerDeathEvent values. Fixes BUKKIT-1521 2012-04-14 00:30:39 -05:00
feildmaster
c16bf07e85 [Bleeding] Allow CraftItem to be backed by non-EntityItems. Fixes BUKKIT-1351 2012-03-26 16:36:31 -04:00
Nathan Adams
942c1c6a3e Fixed incorrect assigning to isFlying when toggling setAllowedFlight(false) 2012-03-23 14:41:53 +00:00
Nathan Adams
8fb141bfa0 Implemented new player flight methods. This implements BUKKIT-1281. This also fixes BUKKIT-1146. 2012-03-22 22:04:13 +00:00
Nathan Adams
9d09e7d016 Updated to Minecraft version 1.2.4. Updated version string to 1.2.4-R0.1. 2012-03-22 20:39:39 +00:00
aPunch
169c2ee8cb [Bleeding] Added Ageable interface for Villagers and Animals to extend. Addresses BUKKIT-1232 2012-03-21 16:05:07 -04:00
Celtic Minstrel
784aa3b602 [Bleeding] Fix the openInventory methods for custom inventories. Fixes BUKKIT-1248
Details:
- The attributes of custom inventory views are no longer ignored
- Enchanting or crafting inventories no longer ignore the passed inventory and open a new one
- Inventories associated with tile entities no longer raise a class cast exception if there was no associated tile entity
- InventoryOpenEvent and InventoryCloseEvent (if they already had some other inventory open) now fire in all cases
- If for any reason the inventory failed to open, the method now returns null instead of returned the previous inventory they had open (or the default inventory, if none)
2012-03-20 21:31:42 -04:00
Celtic Minstrel
93732e21bc [Bleeding] Fixed NullPointerException in InventoryView.setCursor() if you tried to empty the cursor by setting it to null. Fixes BUKKIT-1043 2012-03-20 20:45:26 -04:00
aPunch
ea60181a87 [Bleeding] Added way to get/set if Iron Golem was player created. Addresses BUKKIT-1229 2012-03-20 05:13:36 -04:00
Celtic Minstrel
f27427ad19 Fix some improper item cloning instances that would have dropped enchantments 2012-03-15 21:47:37 -04:00
Celtic Minstrel
28c1f571d2 [Bleeding] Added Player.isBlocking(). Addresses BUKKIT-858 2012-03-13 19:43:07 -04:00
Kevin Ingersoll
49ff166d15 Fixed potential packet loss issue with vanish API. Fixes BUKKIT-1125 2012-03-10 23:19:15 -05:00
EvilSeph
f534863552 Make setting slots to AIR set them to null. Addresses BUKKIT-1043 2012-03-10 15:54:10 -05:00
rmichela
b5e92871eb [Bleeding] Added ConversationAbandonedEvent and supporting infrastructure. Whenever a conversation exits, the ConversationAbandonedEvent is triggered with details about how the conversation ended and what, if anything caused it to end. Fixes BUKKIT-986 2012-03-08 01:29:49 -05:00
Nathan Adams
ec35500c63 Implemented Villager API for getting/setting Profession. This adds BUKKIT-887 2012-03-03 01:58:40 +00:00
Nathan Adams
f1f9802ded Implemented new 1.2 entities - this fixes BUKKIT-872 and BUKKIT-885 2012-03-01 18:03:14 +00:00
Nathan Adams
543c4879fe Updated CraftBukkit to 1.2 2012-03-01 14:38:31 +00:00
rmichela
1161de3f63 [Bleeding] Added Conversations API. Addresses BUKKIT-864 2012-03-01 04:33:59 -05:00
rmichela
818a61040e [Bleeding] Added Help API. Addresses BUKKIT-863 2012-03-01 04:33:58 -05:00
Erik Broes
33ba9f0a2f Updated to rename revision 02 2012-03-01 01:12:41 +00:00
Celtic Minstrel
0842bab48b [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).
2012-02-29 15:19:07 -05:00
Celtic Minstrel
d20091e64c Implementation of richer playEffect methods. Addresses BUKKIT-857 2012-02-29 14:59:27 -05:00
TomyLobo
53e4a034f4 Moved getVehicle, leaveVehicle and isInsideVehicle from CraftLivingEntity to CraftEntity. Addresses BUKKIT-811 2012-02-29 13:30:46 -05:00