Commit graph

776 commits

Author SHA1 Message Date
CraftBukkit/Spigot
fafbd8532d SPIGOT-3496, MC-92282: Set mob type of mob-spawner reverts after single spawn wave.
Fixes CreatureSpawner.setSpawnedType and a vanilla issue related to
setting the mob type of a mob-spawner via spawn_egg.

By: Lukas Hennig <lukas@wirsindwir.de>
2017-08-08 04:46:59 +02:00
CraftBukkit/Spigot
89b3d6e8a6 SPIGOT-3491: Add option to bypass permissions in advancements
By: md_5 <git@md-5.net>
2017-08-06 09:07:24 +10:00
CraftBukkit/Spigot
8844b9ade9 Improvements to BlockStates
* Actually capture all the data of TileEntities. This is done by creating a copy of the TileEntity. The methods of BlockState which currently directly access the TileEntity reference will modify the data of that TileEntity-snapshot instead.
* With the call to BlockState.update, the captured TileEntity data gets applied to the current TileEntity in the world.
* Methods which trigger block specific actions will use the current TileEntity from the world.
* CraftBlockState does not hand out the wrapped or the snapshot TileEntity directly. Instead, it provides an applyTo method to copy the data to a given TileEntity and a method to directly get a copy of the TileEntity NBT data represented by the BlockState. CraftMetaBlockState was updated to make use of that.
* Added #getSnapshotInventory() to bukkit which allows modifiying the captured inventory snapshots of containers.
* Tried to clarify which methods only work if the BlockState is placed, which methods require the block in the world to still be of the same type (methods which trigger actions), and that .getInventory() directly modifies the inventory of the block in the world if the BlockState is placed and becomes invalid if the block type is changed.

Backwards compatibility

* If the BlockState acts as InventoryHolder, getInventory() will still return the inventory directly backed by the TileEntity in the world (like before), and not the snapshot inventory. This compromise should reduce the potential of these changes to break existing plugins, or craftbukkit's own use of BlockState.
* The snapshot's inventory can be accessed by a new method getSnapshotInventory()
* In case the BlockState is not placed (if it was retrieved from the MetaBlockState of an item), the getInventory() method will however return the snapshot inventory. So that when the BlockState gets applied back to the item, the inventory changes are properly included.
* With the changes to CraftMetaBlockState it is no longer required to call the update method before passing a modified BlockState to the CraftMetaBlockState. For backwards compatibility the update method will simply return true for a non-placed BlockState, without actually doing anything.

Impact on plugins
* Restoring blocks now actually works as expected, properly restoring the TileEntity data, reglardless if the block changed its type in the meantime.
* Plugins are now consistently required to call the update method in order to apply changes to blocks. Though, regarding the Javadoc they should have been required to do so anyways.
* New feature: Plugins can take and modify inventory snapshots.
* Breaking change: If a plugin gets the BlockState of a block in the world, modifies the inventory returned by .getInventory(), and then tries to use the same BlockState to apply the TileEntity data to an ItemStack block meta, the ItemStack will use the snapshot inventory, disregarding the changes made to the inventory returned by .getInventory(). This is the compromise of .getInventory() returning the inventory directly backed by the TileEntity in the world.

Other fixes related to BlockState:
* TileEntityContainer#getLocation() will run into a NPE if the TileEntity is non-placed (ex. when getting the BlockState from a CraftMetaBlockState).
* Beacon.getEntitiesInRange() would previously throw a NPE if called for a non-placed BlockState. It was changed to now require to be placed and use the current TileEntity in the world. If the TileEntity in the world is no longer a beacon, it will return an empty list.
* EndGateway now supports setting and getting the exit location even for non-placed EndGateways (inside BlockStateMeta) by using / returning a location with world being null.

By: Lukas Hennig <lukas@wirsindwir.de>
2017-08-05 14:37:19 +10:00
CraftBukkit/Spigot
0f46337664 SPIGOT-3492: Ensure player functionality uses their specific scoreboard
By: md_5 <git@md-5.net>
2017-08-05 09:15:52 +10:00
CraftBukkit/Spigot
0cda4f9617 Update to Minecraft 1.12.1
By: md_5 <git@md-5.net>
2017-08-03 23:00:00 +10:00
CraftBukkit/Spigot
19850b49b5 SPIGOT-3486: Missing check in redstone placement
By: md_5 <git@md-5.net>
2017-08-03 08:31:29 +10:00
CraftBukkit/Spigot
6f93c6c962 SPIGOT-3487: Llama doesn't drop chest
By: md_5 <git@md-5.net>
2017-08-03 08:21:05 +10:00
CraftBukkit/Spigot
ead7545014 SPIGOT-3482: ProjectileHitEvent for shulker bullet and llama spit
By: md_5 <git@md-5.net>
2017-08-02 18:05:28 +10:00
CraftBukkit/Spigot
f313e2f969 SPIGOT-3456: Expand calling of ServerCommandEvent
Existing usage preserved by checking sender.

By: md_5 <git@md-5.net>
2017-07-28 18:10:38 +10:00
CraftBukkit/Spigot
75cdf75d3d SPIGOT-3403: Add an EntityPickupItemEvent
By: md_5 <git@md-5.net>
2017-07-28 17:47:59 +10:00
CraftBukkit/Spigot
4ed8997ca1 SPIGOT-3463: Spurious item drops from event
By: md_5 <git@md-5.net>
2017-07-28 17:23:39 +10:00
CraftBukkit/Spigot
aba05b661c SPIGOT-3461: Standardise plugin load timing
By: md_5 <git@md-5.net>
2017-07-26 13:20:29 +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
cdcb11b8ae SPIGOT-3440: Non player entities should not make new portals
By: md_5 <git@md-5.net>
2017-07-22 16:40:10 +10:00
CraftBukkit/Spigot
8bafc76ff2 SPIGOT-3433: Improve AreaEffectCloud#getSource
By: md_5 <git@md-5.net>
2017-07-22 09:51:22 +10:00
CraftBukkit/Spigot
e2d75dccb4 Fix memory leak in PlayerList
By: md_5 <git@md-5.net>
2017-07-17 09:55:47 +10:00
CraftBukkit/Spigot
7145fd4941 SPIGOT-3417: Event for shearing snowman
By: md_5 <git@md-5.net>
2017-07-15 09:53:22 +10:00
CraftBukkit/Spigot
e626522be7 SPIGOT-3407: Set damager for evoker fangs
By: md_5 <git@md-5.net>
2017-07-08 22:40:54 +10:00
CraftBukkit/Spigot
a7130c67fd SPIGOT-3382: Ensure players can pickup stuff
By: md_5 <git@md-5.net>
2017-06-26 11:21:38 +10:00
CraftBukkit/Spigot
13bcc894ec SPIGOT-3377: Fix subspace bubble advancement
By: md_5 <git@md-5.net>
2017-06-26 10:16:54 +10:00
CraftBukkit/Spigot
71404da149 SPIGOT-3379: Generalise canPickupItems to other entities.
By: md_5 <git@md-5.net>
2017-06-26 08:34:52 +10:00
CraftBukkit/Spigot
d62c91e3a6 SPIGOT-3376: Fix nested functions
By: md_5 <git@md-5.net>
2017-06-26 08:27:25 +10:00
CraftBukkit/Spigot
4d6887228e SPIGOT-3373: Fix /execute in gameloop functions
By: md_5 <git@md-5.net>
2017-06-25 09:46:19 +10:00
CraftBukkit/Spigot
622d0477c5 SPIGOT-3324: Improve tameable damage handling
By: md_5 <git@md-5.net>
2017-06-24 10:01:46 +10:00
CraftBukkit/Spigot
d71a1a4036 SPIGOT-3368: Allow anvil level cost to be overwritten by properties
By: md_5 <git@md-5.net>
2017-06-23 20:35:17 +10:00
CraftBukkit/Spigot
d3b6e87d27 SPIGOT-3364: Correct EntityResurrectEvent
By: md_5 <git@md-5.net>
2017-06-23 12:47:29 +10:00
CraftBukkit/Spigot
ff815b0065 Fix nether world border center not adjusting
By: md_5 <git@md-5.net>
2017-06-18 19:23:33 +10:00
CraftBukkit/Spigot
11f9d4e49b SPIGOT-3329: Allow per world loot tables
By: md_5 <git@md-5.net>
2017-06-15 20:34:19 +10:00
CraftBukkit/Spigot
eb7eb4ba47 SPIGOT-3337: Use special data value to indicate multiple recipe choices
By: md_5 <git@md-5.net>
2017-06-15 07:23:08 +10:00
CraftBukkit/Spigot
3770ac47cf Fix detection of missing or invalid tile entities for End portals and gateways
By: Jacob Martin <jjm_223@hotmail.com>
2017-06-12 12:41:18 -05:00
CraftBukkit/Spigot
1121a78705 SPIGOT-3328: EntityTameEvent for Parrots
By: md_5 <git@md-5.net>
2017-06-12 07:27:34 +10:00
CraftBukkit/Spigot
e422dbe810 SPIGOT-3324: Best effort fix for shoulder Parrots + cancelled damage event
By: md_5 <git@md-5.net>
2017-06-11 12:20:18 +10:00
CraftBukkit/Spigot
731f084c5b SPIGOT-3320: Apply tile entity fixer to more types
By: md_5 <git@md-5.net>
2017-06-11 08:32:29 +10:00
CraftBukkit/Spigot
c354c54394 SPIGOT-3304: Respect duration from Vanilla /weather
By: md_5 <git@md-5.net>
2017-06-09 16:17:08 +10:00
CraftBukkit/Spigot
47947b0f3b SPIGOT-3303: Warn when attempting to grant non existent recipe
By: md_5 <git@md-5.net>
2017-06-09 16:13:35 +10:00
CraftBukkit/Spigot
f1d918e0ec SPIGOT-3302: Armor stands not dropping armor
By: md_5 <git@md-5.net>
2017-06-09 15:51:56 +10:00
CraftBukkit/Spigot
ea595a5dcf Update to Minecraft 1.12
By: md_5 <git@md-5.net>
2017-06-08 18:00:00 +10:00
CraftBukkit/Spigot
7b45ff54ad Prevent NPE when setting tempt target to null
By: chickeneer <emcchickeneer@gmail.com>
2017-06-03 00:44:10 -05:00
CraftBukkit/Spigot
f25ad2b556 Add proper TeleportCause for /teleport
By: md_5 <git@md-5.net>
2017-06-04 08:39:36 +10:00
CraftBukkit/Spigot
d67c53a34d SPIGOT-3290: /teleport command overrides player rotation
By: md_5 <git@md-5.net>
2017-06-04 08:34:52 +10:00
CraftBukkit/Spigot
1bcf144211 SPIGOT-3286: Call BlockFormEvent for Concrete Powder -> Concrete
By: md_5 <git@md-5.net>
2017-06-03 17:39:03 +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
d6fc1359a2 Add support for preventing block drops in BreakEvent
By: Scetra <contact@scetra.me>
2017-05-27 21:16:13 -04: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
a6491eb83e SPIGOT-3272: Fix duplicate creative inventory
This change properly identifies the creative inventory as one with 5 crafting slots (as that's the default set in ContainerPlayer, and handled properly in other containers), instead of having the same inventory twice (which breaks slot identification).

By: Pokechu22 <Pokechu022@gmail.com>
2017-05-26 20:20:59 -07:00
CraftBukkit/Spigot
07fc30bf6d SPIGOT-439: Add player locale related APIs.
By: MiniDigger <admin@minidigger.me>
2017-05-26 23:37:06 +02:00
CraftBukkit/Spigot
691c25561d Ensure gameLoop function gets selectors applied.
By: md_5 <git@md-5.net>
2017-05-26 16:43:56 +10:00
CraftBukkit/Spigot
0fc0496730 SPIGOT-3257: Issue with AdvancementRewards function
By: md_5 <git@md-5.net>
2017-05-21 10:28:07 +10:00
CraftBukkit/Spigot
31553d7ef7 SPIGOT-3258: VehicleBlockCollisionEvent only fires in certain directions
By: md_5 <git@md-5.net>
2017-05-21 10:24:47 +10:00
CraftBukkit/Spigot
a0b8ce2dc9 SPIGOT-3254: Check chunks are loaded before ticking entities as per previous versions.
By: md_5 <git@md-5.net>
2017-05-20 11:27:48 +10:00
CraftBukkit/Spigot
530fe41851 Update to Minecraft 1.12-pre5
By: md_5 <git@md-5.net>
2017-05-19 21:00:13 +10:00
CraftBukkit/Spigot
5317a74e0a Misc advancement / recipe reload fixes including SPIGOT-3240
By: md_5 <git@md-5.net>
2017-05-16 21:22:07 +10:00
CraftBukkit/Spigot
654b7c21fa SPIGOT-3243: Remove recipe reset on world change / death
By: md_5 <git@md-5.net>
2017-05-15 18:11:48 +10:00
CraftBukkit/Spigot
036d5985ab SPIGOT-3242: Fix rain not showing client side
By: md_5 <git@md-5.net>
2017-05-15 15:01:05 +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
88f459dc51 SPIGOT-3235: Disconnect for payload errors
By: md_5 <git@md-5.net>
2017-05-14 09:25:25 +10:00
CraftBukkit/Spigot
8803cfc46a SPIGOT-3215: Call BlockPhysicsEvent for tall plants
By: BlackHole <black-hole@live.com>
2017-05-01 01:21:20 +02:00
CraftBukkit/Spigot
f965ee5c7f Implement getColor / setColor for Shulker entity
By: Matthew <stteg@hotmail.com>
2017-04-29 17:11:43 -04:00
CraftBukkit/Spigot
c5b0a788e9 SPIGOT-3207: Fix hiding players in a BukkitRunnable after joining
This happened because "joining" wasn't cleared until the player was ticked.  Runnables (presumably) ran _after_ the player list packet was sent, but before the player was ticked; thus, the player list packet was sent, but not cleared.  The fix is to replace joining with hasSentListPacket, which is set immediately before sending any player list packets (thus, if hidePlayer is called after, it sees that the list packet has been sent and sends a new one to reset it).  With this fix, the player is added to the list and then removed shortly afterwards.

The reason why running /hideall in the example wouldn't fix the invisibility is because the server already thinks the player's been removed from the list (as they're hidden), and thus doesn't want to send another hide packet.  This is correct behavior assuming that they get hidden correctly the first time, which they now do.

By: Pokechu22 <Pokechu022@gmail.com>
2017-04-27 21:53:31 -07:00
CraftBukkit/Spigot
0f12ccbdba Drop RegionFile.chunkExists() in favour of Mojang's own version
By: Geoff Crossland <gcrossland+bukkit@gmail.com>
2017-01-31 23:52:21 +00:00
CraftBukkit/Spigot
7baa3d8ac1 Implement getColor / setColor for TippedArrow
By: Matthew <stteg@hotmail.com>
2017-04-26 20:28:27 -04:00
CraftBukkit/Spigot
596875c55b Reset player arrow count on death
By: md_5 <git@md-5.net>
2017-04-26 15:56:06 +10:00
CraftBukkit/Spigot
14c31d360f Remove players from vehicle when changing world via NMS methods.
By: md_5 <git@md-5.net>
2017-04-21 14:56:41 +10:00
CraftBukkit/Spigot
66b6964877 SPIGOT-3192: Return default value for invalid map icons
By: md_5 <git@md-5.net>
2017-04-21 08:20:49 +10:00
CraftBukkit/Spigot
fab1910b0a Add small throttle to book edits.
By: md_5 <git@md-5.net>
2017-04-20 22:10:31 +10:00
CraftBukkit/Spigot
8d75072425 Implement cooldown API
By: md_5 <git@md-5.net>
2017-04-19 18:04:32 +10:00
CraftBukkit/Spigot
16807cc431 SPIGOT-3182: Fix tab-completion in command blocks without leading slash
By: Pokechu22 <Pokechu022@gmail.com>
2017-04-13 17:57:47 -07:00
CraftBukkit/Spigot
4d80529e9a Fixes to mob equipment behaviour
* Set correct flag for CanPickUpLoot on NBT load
* Drop previous equipment on mob equipment pickup

By: Jacob Martin <jjm_223@hotmail.com>
2017-04-08 18:05:32 -05:00
CraftBukkit/Spigot
cc67baddeb SPIGOT-3165: Only increment spawncount when mob spawn succeeds
By: md_5 <git@md-5.net>
2017-04-06 21:31:27 +10:00
CraftBukkit/Spigot
53cffc1f87 SPIGOT-3162: Experience ignored for custom recipes
By: md_5 <git@md-5.net>
2017-04-03 09:06:42 +10:00
CraftBukkit/Spigot
c37f72b58c SPIGOT-3157: Use Vanilla gamemode change code
By: md_5 <git@md-5.net>
2017-03-31 21:21:11 +11:00
CraftBukkit/Spigot
fbcf1da3b9 SPIGOT-3154: Sleeping players cannot change dimensions
By: md_5 <git@md-5.net>
2017-03-30 21:53:23 +11:00
CraftBukkit/Spigot
f6132ee36c SPIGOT-3144: Add missing PrepareAnvilEvent call.
By: md_5 <git@md-5.net>
2017-03-25 09:51:02 +11:00
CraftBukkit/Spigot
30c00da7a6 SPIGOT-3149: StructureGrowEvent for dispenser triggered growth
By: md_5 <git@md-5.net>
2017-03-24 21:03:44 +11:00
CraftBukkit/Spigot
aaaf346654 Add additional methods sigs for binary compat
By: md_5 <git@md-5.net>
2017-03-24 15:23:23 +11:00
CraftBukkit/Spigot
f37ad64b75 Add TeleportCause.COMMAND for inbuilt /tp
By: md_5 <git@md-5.net>
2017-03-24 15:14:31 +11:00
CraftBukkit/Spigot
a29c3edf2f SPIGOT-3142: Plugin event changes not using TeleportCause.PLUGIN
By: md_5 <git@md-5.net>
2017-03-24 15:09:34 +11:00
CraftBukkit/Spigot
100722e44b SPIGOT-3141: Missing TeleportCause.SPECTATE when lift clicking spectate
By: md_5 <git@md-5.net>
2017-03-24 15:08:19 +11:00
CraftBukkit/Spigot
c839929065 SPIGOT-3143: Don't decrease item stack size if VehicleCreateEvent is cancelled
By: BlackHole <black-hole@live.com>
2017-03-21 23:03:20 +01:00
CraftBukkit/Spigot
b18c5c741b Process entity portalling towards the end of a tick.
Cross world teleportation works by taking a copy of an entity and moving it to a new world. After this happens the original entity is marked as dead so as to be removed from the original world, however it still undergoes one further tick in the main world, but with some information from the new world. It is not so easy to break out of this tick cycle if needed, so instead we move the portalling process towards the end of an existing tick. This ensures that the entity will not be spuriously ticked.

By: md_5 <git@md-5.net>
2017-03-20 15:41:15 +11:00
CraftBukkit/Spigot
cedf1495bd SPIGOT-3128: Shift VehicleCreateEvent calling.
By: md_5 <git@md-5.net>
2017-03-15 20:48:47 +11:00
CraftBukkit/Spigot
d8033d64c6 SPIGOT-3126: Make fireballs do a better job of respecting mobGriefing
By: md_5 <git@md-5.net>
2017-03-15 15:26:36 +11:00
CraftBukkit/Spigot
7489812328 Ensure PlayerResourcePackStatusEvent is synchronous
By: md_5 <git@md-5.net>
2017-03-14 21:56:19 +11:00
CraftBukkit/Spigot
e075d320d4 Add getIgnitingBlock to BlockBurnEvent
By: Nathan Wolf <nathan@elmakers.com>
2017-03-08 14:20:24 -08:00
CraftBukkit/Spigot
5e2981ee0f SPIGOT-3107: Try and improve shield knockback further
By: md_5 <git@md-5.net>
2017-03-08 14:51:48 +11:00
CraftBukkit/Spigot
3de67df146 SPIGOT-3105: BlockFadeEvent for large snow blocks
By: md_5 <git@md-5.net>
2017-03-08 14:24:11 +11:00
CraftBukkit/Spigot
0e4ffd62e1 MC-111753, SPIGOT-2971: Brewing stand not reloading
By: md_5 <git@md-5.net>
2017-02-21 20:47:40 +11:00
CraftBukkit/Spigot
1f9370d293 SPIGOT-3075: EntityTeleportEvent for Shulkers
By: md_5 <git@md-5.net>
2017-02-20 09:55:24 +11:00
CraftBukkit/Spigot
6c52504f93 SPIGOT-3067: Wither skeleton heads not dropping
By: md_5 <git@md-5.net>
2017-02-15 10:11:41 +11:00
CraftBukkit/Spigot
4b11aba0f7 SPIGOT-3063: Call EntityAirChangeEvent
By: md_5 <git@md-5.net>
2017-02-14 10:34:56 +11:00
CraftBukkit/Spigot
3b1a28ec19 SPIGOT-3044: BlockDispenseEvent for shulker boxes
By: md_5 <git@md-5.net>
2017-01-31 21:38:55 +11:00
CraftBukkit/Spigot
4166ac5145 Make tile activeContainer assignment consistent.
By: md_5 <git@md-5.net>
2017-01-27 11:42:21 +11:00
CraftBukkit/Spigot
49758a0994 SPIGOT-3033: Alter behaviour of cancelled hopper transfers (reverted from commit ca9bfb2d1f)
By: md_5 <git@md-5.net>
2017-01-26 14:08:04 +11:00
CraftBukkit/Spigot
ca9bfb2d1f SPIGOT-3033: Alter behaviour of cancelled hopper transfers
By: md_5 <git@md-5.net>
2017-01-26 11:13:00 +11:00
CraftBukkit/Spigot
c98102fd99 SPIGOT-3031: Pigs are not dropping their saddle
By: md_5 <git@md-5.net>
2017-01-24 13:39:22 +11:00
CraftBukkit/Spigot
49376274b6 Re-enable the vanilla debug MethodProfiler and /debug command
This is highly useful for profiling vanilla code, and in some cases plugin code.  It is somewhat expensive, though, which is why it was initially disabled.

I chose to use a system property instead of a configuration setting because 1) the MethodProfiler is exclusive to CraftBukkit and not part of the general API (the timings system is the general API equivalent), and 2) using a static final boolean property _may_ allow the JITter to optimize out the methods when disabled (though I'm not sure of it).

There are several changes to fix cases where the profiler code was broken slightly by other craftbukkit changes.  All of cases have been fixed, except for the block entity ticking one, due to the cost of the getSimpleName call.  For that, a ticking entry is used instead, so that time spent actually ticking the block entities can be compared with time processing the list.

This (effectively) reverts 7dde6cc566.

By: Pokechu22 <Pokechu022@gmail.com>
2017-01-18 17:42:35 -08:00
CraftBukkit/Spigot
d66b605829 SPIGOT-3002: Mob spawners are valid
By: md_5 <git@md-5.net>
2017-01-11 09:24:08 +11:00
CraftBukkit/Spigot
6e7031ad9a SPIGOT-2997: Explicitly disallow invalid tiles to be opened
By: md_5 <git@md-5.net>
2017-01-10 09:56:20 +11:00
CraftBukkit/Spigot
5be013beb5 Fix crash if entities other than players (somehow?) consume their item.
By: md_5 <git@md-5.net>
2017-01-09 14:28:49 +11:00
CraftBukkit/Spigot
7e1910e6d4 SPIGOT-2990: EntityTeleportEvent for tameable animals following owner
By: md_5 <git@md-5.net>
2017-01-05 20:44:26 +11:00
CraftBukkit/Spigot
df1033f5f9 SPIGOT-2989: Use existing horse inventory object.
By: md_5 <git@md-5.net>
2017-01-05 15:03:22 +11:00
CraftBukkit/Spigot
abf429e3bb SPIGOT-1915: Fix players seeing their own passengers
By: md_5 <git@md-5.net>
2017-01-04 10:50:02 +11:00
CraftBukkit/Spigot
44f4a83e59 More robust inventory handling
By: md_5 <git@md-5.net>
2017-01-04 10:04:27 +11:00
CraftBukkit/Spigot
a1cc3a4382 SPIGOT-2980: Improve SpawnEgg NBT application and ItemStack conversion.
By: md_5 <git@md-5.net>
2017-01-02 16:13:25 +11:00
CraftBukkit/Spigot
ed9b479bcb Clear effectsToProccess after applying potion effects
By: md_5 <git@md-5.net>
2017-01-02 13:51:16 +11:00
CraftBukkit/Spigot
0779610d64 SPIGOT-2969: Shulker box removal not updating comparators
By: md_5 <git@md-5.net>
2016-12-28 14:23:52 +11:00
CraftBukkit/Spigot
93623ce896 SPIGOT-2966: Entirely remove problematic check
By: md_5 <git@md-5.net>
2016-12-28 09:50:40 +11:00
CraftBukkit/Spigot
1f6a5ecc06 SPIGOT-2960: Fire HOTBAR_MOVE_AND_READD in more cases
By: md_5 <git@md-5.net>
2016-12-27 12:14:55 +11:00
CraftBukkit/Spigot
e3b7ad4ef3 SPIGOT-2964: Correct number of shelve sin PrepareEnchantEvent
By: md_5 <git@md-5.net>
2016-12-27 11:53:09 +11:00
CraftBukkit/Spigot
83554f3290 Correct some code.
By: md_5 <git@md-5.net>
2016-12-24 22:52:50 +11:00
CraftBukkit/Spigot
d338127ab9 SPIGOT-2127: Add DamageCause.ENTITY_SWEEP_ATTACK
By: md_5 <git@md-5.net>
2016-12-23 22:39:33 +11:00
CraftBukkit/Spigot
a272470d6f Additional fireworks damage tracking.
By: md_5 <git@md-5.net>
2016-12-23 22:32:40 +11:00
CraftBukkit/Spigot
64b9c40cd7 MC-88491: Fix projectile colliding with shooter
In some situations, a projectile made collide with the entity that shot
it. This occurs because the game sets the ignored entity incorrectly.
Our fix is to ensure that the shooter is the only entity that gets
ignored by the projectile.

By: Zach Brown <zach.brown@destroystokyo.com>
2016-12-22 15:29:23 -06:00
CraftBukkit/Spigot
2b518036f5 SPIGOT-2953: Set damager for fireworks
By: md_5 <git@md-5.net>
2016-12-22 20:26:27 +11:00
CraftBukkit/Spigot
e6b0af2e55 SPIGOT-2944: Just apply filtering to players
By: md_5 <git@md-5.net>
2016-12-22 16:50:24 +11:00
CraftBukkit/Spigot
0c321dd15d Update to Minecraft 1.11.2
By: md_5 <git@md-5.net>
2016-12-21 22:00:00 +11:00
CraftBukkit/Spigot
afecf1c36c SPIGOT-2948: Alter filtering logic
By: md_5 <git@md-5.net>
2016-12-21 17:12:39 +11:00
CraftBukkit/Spigot
f9a809b2ba Update to Minecraft 1.11.1
By: md_5 <git@md-5.net>
2016-12-21 07:00:00 +11:00
CraftBukkit/Spigot
74902a47aa SPIGOT-2936: Simplify WorldBorder diff
By: md_5 <git@md-5.net>
2016-12-19 23:05:39 +11:00
CraftBukkit/Spigot
595c69ab7b SPIGOT-2930: Shift calling of PlayerItemBreakEvent to before break.
By: md_5 <git@md-5.net>
2016-12-18 09:26:36 +11:00
CraftBukkit/Spigot
75f7baf1ad SPIGOT-2926: Check spawn-npcs setting for NPCs.
Probably should refactor this code to be more similar to Vanilla in future.

By: md_5 <git@md-5.net>
2016-12-17 14:26:09 +11:00
CraftBukkit/Spigot
694b7ad459 SPIGOT-2918: Always call EnchantItemEvent
By: md_5 <git@md-5.net>
2016-12-14 14:38:55 +11:00
CraftBukkit/Spigot
54e60aee75 SPIGOT-2913: Only one enchantment applied to items
By: md_5 <git@md-5.net>
2016-12-13 08:44:50 +11:00
CraftBukkit/Spigot
d381e7b934 SPIGOT-2912: Fix enchanting with ID of 0
By: md_5 <git@md-5.net>
2016-12-12 09:35:31 +11:00
CraftBukkit/Spigot
a9e3f93ed3 Add getLocation for InventoryEnderChest
By: md_5 <git@md-5.net>
2016-12-11 16:41:40 +11:00
CraftBukkit/Spigot
b5bd9528a0 Add EnchantmentOffer to PrepareItemEnchantEvent
By: md_5 <git@md-5.net>
2016-12-11 11:10:38 +11:00
CraftBukkit/Spigot
25e61b60e4 SPIGOT-2242: Handle changed item in PlayerPickupArrowEvent
By: md_5 <git@md-5.net>
2016-12-10 12:48:56 +11:00
CraftBukkit/Spigot
87d502339e SPIGOT-2524: Update inventory for cancelled air right click
By: md_5 <git@md-5.net>
2016-12-10 12:36:09 +11:00
CraftBukkit/Spigot
8b77464a94 SPIGOT-2907: Improve EntityResurrectEvent handling
By: md_5 <git@md-5.net>
2016-12-10 12:16:14 +11:00
CraftBukkit/Spigot
05fbc8df18 Clean up BlockFlowing
By: md_5 <git@md-5.net>
2016-12-09 12:56:49 +11:00
CraftBukkit/Spigot
2fa7ac3174 SPIGOT-2886: Call BlockFormEvent when Lava and Water collide
By: Brokkonaut <hannos17@gmx.de>
2016-12-09 12:53:15 +11:00
CraftBukkit/Spigot
9e8988306c Use CraftEventFactory for BlockFormEvent
By: md_5 <git@md-5.net>
2016-12-09 12:45:21 +11:00
CraftBukkit/Spigot
00609fd3df SPIGOT-2891: Remove chunks if first check is false
Minecraft does double checking for synchronous generation, but since we generate chunks asynchronously we are required to check the first condition also in case the chunk was loaded between ticks. We leave the other logic to be cleaned up by the loops below.

By: md_5 <git@md-5.net>
2016-12-06 22:05:58 +11:00
CraftBukkit/Spigot
db5c1e3e66 Implement EntityDeathEvent for ArmorStands
By: Senmori <thesenmori@gmail.com>
2016-12-03 16:32:13 -05:00
CraftBukkit/Spigot
24fdb26050 SPIGOT-2889: Error cancelling creative InventoryClickEvent
By: md_5 <git@md-5.net>
2016-12-05 09:07:25 +11:00
CraftBukkit/Spigot
5443bf1110 #326: Convert BlockMeta to handle older serialized items.
By: Jacob Martin <jjm_223@hotmail.com>
2016-12-03 10:51:53 +11:00
CraftBukkit/Spigot
83cf54fd9d SPIGOT-2879: Change order of entity addition for ender pearls
By: md_5 <git@md-5.net>
2016-12-03 09:55:36 +11:00
CraftBukkit/Spigot
a00951dd57 SPIGOT-2871: Improve BlockStates + BlockStateMeta
By: md_5 <git@md-5.net>
2016-12-02 09:29:33 +11:00
CraftBukkit/Spigot
e593f348c8 Add some expansions to Anvil Inventory API
By: Xor Boole <mcyoung@mit.edu>
2016-11-30 16:40:40 +11:00
CraftBukkit/Spigot
081c11644f SPIGOT-2867: Update inventory on cancelled interacts too
By: md_5 <git@md-5.net>
2016-11-30 15:33:29 +11:00
CraftBukkit/Spigot
21a4e56ad5 Expand definition of isFrozen
By: md_5 <git@md-5.net>
2016-11-30 09:16:01 +11:00
CraftBukkit/Spigot
140a834de3 SPIGOT-2860: Don't create 0 exp orbs when breeding
By: md_5 <git@md-5.net>
2016-11-29 15:42:46 +11:00
CraftBukkit/Spigot
5cdc0bbd0e Add hitEntity to ProjectileHitEvent
By: md_5 <git@md-5.net>
2016-11-28 12:47:01 +11:00
CraftBukkit/Spigot
3f8ec9a859 SPIGOT-2855: Empty ItemStacks in PlayerDeathEvent drops
By: md_5 <git@md-5.net>
2016-11-28 12:34:21 +11:00
CraftBukkit/Spigot
8eb1f2cdd7 SPIGOT-1401: Issues placing blocks adjacent to eachother
By: md_5 <git@md-5.net>
2016-11-28 10:13:49 +11:00
CraftBukkit/Spigot
1070f2682f Fix possible leaks in vanish API
By: md_5 <git@md-5.net>
2016-11-28 10:02:40 +11:00
CraftBukkit/Spigot
0dcf5cb67e SPIGOT-2695: Added BrewingStandFuelEvent and added fuel level to the BrewEvent
By: LukBukkit <luk.bukkit@gmail.com>
2016-11-24 18:03:48 +01:00
CraftBukkit/Spigot
223f2ee80f SPIGOT-2842: Improve item age handling
By: md_5 <git@md-5.net>
2016-11-25 10:31:53 +11:00
CraftBukkit/Spigot
d722f59600 Farmland is a pickable block
By: md_5 <git@md-5.net>
2016-11-24 21:29:41 +11:00
CraftBukkit/Spigot
5a3215856c SPIGOT-2833: Tile entities occasionally wiped after placement
By: md_5 <git@md-5.net>
2016-11-24 09:30:01 +11:00
CraftBukkit/Spigot
874e784b8a SPIGOT-2836: ProjectileHitEvent not always firing for FishHook
By: md_5 <git@md-5.net>
2016-11-23 22:50:37 +11:00
CraftBukkit/Spigot
c85a3c331b SPIGOT-2765: Special case entity triggered explosions for HangingBreakEvent
By: md_5 <git@md-5.net>
2016-11-23 10:34:08 +11:00
CraftBukkit/Spigot
6b773ce751 SPIGOT-2824: Llama Strength API
By: md_5 <git@md-5.net>
2016-11-23 10:27:49 +11:00
CraftBukkit/Spigot
db370129b4 Fix setCarryingChest not resizing horse inventory
By: md_5 <git@md-5.net>
2016-11-21 21:56:17 +11:00
CraftBukkit/Spigot
f6dd4eff69 SPIGOT-2272: Add API for virtual Merchants
By: Lukas Hennig <lukas@wirsindwir.de>
2016-11-21 15:29:36 +11:00
CraftBukkit/Spigot
6d1f84a8e1 SPIGOT-2807: Update inventory when attack cancelled
By: md_5 <git@md-5.net>
2016-11-20 14:13:21 +11:00
CraftBukkit/Spigot
1026d97b35 SPIGOT-2806: Fix PlayerDropItemEvent for disconnected players
By: md_5 <git@md-5.net>
2016-11-20 10:19:22 +11:00
CraftBukkit/Spigot
0193564053 Fix cancelling PlayerEditBookEvent
By: LukBukkit <luk.bukkit@gmail.com>
2016-11-19 12:40:42 +01:00
CraftBukkit/Spigot
a68281e279 SPIGOT-2800: Can only smelt 63 stack
By: md_5 <git@md-5.net>
2016-11-19 21:14:46 +11:00
CraftBukkit/Spigot
0816d8a06f Add additional APIs for Evoker / EvokerFangs
By: momothereal <momothereal.mc@gmail.com>
2016-11-19 18:53:57 +11:00
CraftBukkit/Spigot
3e21482d20 Attempt to sync damage up again - golden apples this time
By: md_5 <git@md-5.net>
2016-11-19 14:53:19 +11:00
CraftBukkit/Spigot
e73c499794 SPIGOT-2795: InventoryClickEvent issues
By: md_5 <git@md-5.net>
2016-11-19 13:51:10 +11:00
CraftBukkit/Spigot
a43e456dca Get Colors from ShulkerBox; Implement CustomName for Tiles.
By: Senmori <thesenmori@gmail.com>
2016-11-18 11:24:41 +11:00
CraftBukkit/Spigot
3fd399bd50 SPIGOT-2793: Revert Nameable changes
By: md_5 <git@md-5.net>
2016-11-19 03:10:04 +11:00
CraftBukkit/Spigot
f95e0cbeef SPIGOT-2790: Remove negative item ID filtering again
By: md_5 <git@md-5.net>
2016-11-18 15:12:11 +11:00
CraftBukkit/Spigot
bd1ee334c6 Get Colors from ShulkerBox; Implement CustomName for Tiles.
By: Senmori <thesenmori@gmail.com>
2016-11-18 11:24:41 +11:00
CraftBukkit/Spigot
9dad03430b SPIGOT-2777: Mobs not being angered by snowballs
By: md_5 <git@md-5.net>
2016-11-18 10:57:53 +11:00
CraftBukkit/Spigot
4e151a9020 SPIGOT-2784: Fix Withers not being built
By: md_5 <git@md-5.net>
2016-11-18 09:20:14 +11:00
CraftBukkit/Spigot
3d88bfd277 SPIGOT-2771: Safely execute command block commands
By: md_5 <git@md-5.net>
2016-11-18 08:54:22 +11:00
CraftBukkit/Spigot
53a37d68fc SPIGOT-2785: Wrong effect ID for wither sounds
By: md_5 <git@md-5.net>
2016-11-18 08:41:21 +11:00
CraftBukkit/Spigot
5e5fe9d2ed SPIGOT-2770: Can Place Structure Blocks Even When Not Op
By: md_5 <git@md-5.net>
2016-11-17 21:01:15 +11:00
CraftBukkit/Spigot
4e412ab4e3 Update to Minecraft 1.11
By: md_5 <git@md-5.net>
2016-11-17 12:41:03 +11:00
CraftBukkit/Spigot
cf579b12bc SPIGOT-1903, MC-98153: Portal Location Sync Issues
By: md_5 <git@md-5.net>
2016-10-23 14:00:35 +11:00
CraftBukkit/Spigot
537ae5a7b0 SPIGOT-2738: Revert SPIGOT-1903 fix
Reverted from commit 69cae6228b

By: md_5 <git@md-5.net>
2016-10-23 12:45:07 +11:00
CraftBukkit/Spigot
69cae6228b SPIGOT-1903: Only issue player location update after tick
Previously after a player tick, the player's location would be reset back to the location which they had prior to the tick, only to be (hopefully) corrected at a later point, after the client had attempted (and failed) to acknowledge the location change.

By: md_5 <git@md-5.net>
2016-10-19 20:43:47 +11:00
CraftBukkit/Spigot
49316bb556 SPIGOT-2726: Fix duplicate UUID check not always running
World.addEntity(Entity entity) calls addEntity(entity, SpawnReason.DEFAULT), which contains the code that was originally in addEntity (and some event code).

However, WorldServer previously only had addEntity(Entity entity), so if addEntity(Entity entity, SpawnReason spawnreason) was called directly, the UUID check that's found in it (the call to 'i') is skipped.  This happens, among other places, in ChunkRegionLoader.spawnEntity (which /summon uses).

I fixed this by making WorldServer override the SpawnReason version, rather than the regular version.  This is safe to do because the World version calls the SpawnReason version - it's not necessary to do the same thing in WorldServer.

By: Pokechu22 <Pokechu022@gmail.com>
2016-10-15 23:20:12 -07:00
CraftBukkit/Spigot
fc00e0cbca SPIGOT-2686: Vehicles cannot collide with air
By: md_5 <git@md-5.net>
2016-10-12 19:47:14 +11:00
CraftBukkit/Spigot
001b26f1ae Fix looting enchant using wrong variable
By: md_5 <git@md-5.net>
2016-10-10 17:02:49 +11:00
CraftBukkit/Spigot
1160f867a4 SPIGOT-2694: Update other half of door on BlockBreakEvent
By: md_5 <git@md-5.net>
2016-10-10 16:58:14 +11:00
CraftBukkit/Spigot
01ba47a5c0 SPIGOT-2717: /execute over RCON
By: md_5 <git@md-5.net>
2016-10-09 14:00:04 +11:00
CraftBukkit/Spigot
a4f5074da8 MC-54738: Fix ocean biome spikes due to minHeight sign inversion.
By: Ryan Michela <deltahat@gmail.com>
2016-10-06 22:31:53 -07:00
CraftBukkit/Spigot
dc3ec1e507 SPIGOT-2683: Missing BlockDispenseEvents
By: md_5 <git@md-5.net>
2016-09-19 18:20:15 +10:00
CraftBukkit/Spigot
0faf0e750e Remove unneeded change
By: md_5 <git@md-5.net>
2016-09-11 14:14:13 +10:00
CraftBukkit/Spigot
ceee1b96e1 SPIGOT-2639: Better state validation
By: md_5 <git@md-5.net>
2016-09-05 17:33:28 +10:00
CraftBukkit/Spigot
d9aefeb601 SPIGOT-2653: Better align combustion with vanilla behaviour
By: md_5 <git@md-5.net>
2016-09-03 16:39:21 +10:00
CraftBukkit/Spigot
859ccb933b SPIGOT-2634: Concurrency issue in FileIOThread
By: md_5 <git@md-5.net>
2016-08-27 15:51:54 +10:00
CraftBukkit/Spigot
e82ad8c82f SPIGOT-215: Implement infrastructure for Location tab completes
By: DemonWav <demonwav@gmail.com>
2016-08-25 09:48:52 +10:00
CraftBukkit/Spigot
7b4d8c3f3f SPIGOT-2622: Ensure all players are safely disconnected on shutdown
By: md_5 <git@md-5.net>
2016-08-23 14:02:48 +10:00
CraftBukkit/Spigot
cf6a18e39f SPIGOT-2616: Fix dispensers dispensing TNT making squid sounds
This was caused by the wrong obfuscated sound effect being used, probably due to a merge issue.

By: Pokechu22 <Pokechu022@gmail.com>
2016-08-20 09:48:07 +10:00
CraftBukkit/Spigot
22d343c1f4 SPIGOT-2581: EntityAirChangeEvent
By: md_5 <git@md-5.net>
2016-08-08 18:24:21 +10:00
CraftBukkit/Spigot
4e6c8a8362 Enhance Beacon Block API
By: md_5 <git@md-5.net>
2016-07-23 10:55:43 +10:00
CraftBukkit/Spigot
467c8686b0 Implement basic Beacon Block API
By: redwallhp <mcredwallhp@gmail.com>
2016-07-18 03:40:07 -04:00
CraftBukkit/Spigot
9baef28a81 SPIGOT-2537: Relax skull check even for nominally invalid skulls.
By: md_5 <git@md-5.net>
2016-07-22 20:34:17 +10:00
CraftBukkit/Spigot
3aa2d8025a Simplify a few diffs
By: md_5 <git@md-5.net>
2016-07-15 20:08:04 +10:00
CraftBukkit/Spigot
1e7be02c6b SPIGOT-2520: Better skull validation
By: md_5 <git@md-5.net>
2016-07-13 11:47:57 +10:00
CraftBukkit/Spigot
a9eb9b3f1a SPIGOT-2495: Better validation of Skulls.
By: md_5 <git@md-5.net>
2016-07-12 20:18:08 +10:00
CraftBukkit/Spigot
b38424139e SPIGOT-113: Add save status to ChunkUnloadEvent
By: md_5 <git@md-5.net>
2016-07-11 21:10:56 +10:00
CraftBukkit/Spigot
a63680b107 SPIGOT-2427: Fix missed diff in armor damage handling
By: md_5 <git@md-5.net>
2016-07-10 12:02:18 +10:00
CraftBukkit/Spigot
4d977ad06a SPIGOT-1994: Revert collisions to Vanilla behaviour
By: md_5 <git@md-5.net>
2016-07-10 11:44:02 +10:00
CraftBukkit/Spigot
713c31929a Call EntityChangeBlockEvent for Fire Arrows hitting TNT
By: md_5 <git@md-5.net>
2016-07-08 11:20:15 +10:00