Commit graph

729 commits

Author SHA1 Message Date
CraftBukkit/Spigot
3c5675eaa3 SPIGOT-3513: Correctly set size for freshly spawned Minecarts
By: md_5 <git@md-5.net>
2017-08-16 20:47:23 +10:00
CraftBukkit/Spigot
0d13d3970d Fix a few chunk saving race conditions
* ChunkRegionLoader.c() picks an entry in the save queue, removes that entry from the save queue and then actually writes the entry to the region file. So, between the last two steps, the entry is neither in the save queue nor is it in the region file; if somebody loads the chunk again (with ChunkRegionLoader.loadChunk()) in that gap, they'll get old data. I've delayed the removal until the saving is done.
* ChunkRegionLoader.c() also records the coords of the chunks it's currently saving in this.c. ChunkRegionLoader.a(ChunkCoordIntPair, NBTTagCompound), which adds an entry to the save queue, stops the addition of an entry if its coords are in this.c. Now, I'm guessing that Mojang's intended purpose for this mechanism was to prevent multiple parallel writes for the same chunk. The "stops the addition" bit above should then be something like "block until it's no longer in c"; in fact, the vanilla implementation is "discard the new state of the chunk". I've taken the easy route to solving this, by just making ChunkRegionLoader.c() synchronized (since, in normal use, only the chunk saving thread is in here).

By: Geoff Crossland <gcrossland+bukkit@gmail.com>
2017-08-11 17:27:33 +10:00
CraftBukkit/Spigot
fa26f3f501 SPIGOT-3497: Cancelled EntityPortalEvent leads to incorrect behaviour
By: md_5 <git@md-5.net>
2017-08-08 20:35:29 +10:00
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