Commit graph

598 commits

Author SHA1 Message Date
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