md_5
1cf8b5dc1b
SPIGOT-4400: Populators running on existing chunks
2018-09-27 21:41:24 +10:00
md_5
eea4387034
MC-134115: Fix issues converting tile entities
2018-09-27 11:11:53 +10:00
md_5
1a7f2d109e
SPIGOT-4397: isChunkGenerated API
2018-09-26 17:19:16 +10:00
Aikar
40aed54d11
SPIGOT-4396: Improve vehicle movement
2018-09-26 17:19:16 +10:00
md_5
020b495274
SPIGOT-4392: Stem updates even if BlockGrowEvent cancelled
2018-09-25 14:34:05 +10:00
Senmori
dcb43ef83d
MC-136886: locate command loads chunks without needing to.
...
Thanks Aikar for the report
2018-09-24 09:55:18 +10:00
Senmori
88a5346fea
Add API to locate structures.
2018-09-22 17:11:17 +10:00
md_5
26c89277cb
SPIGOT-4385: Clearer error for invalid generator-settings
2018-09-19 18:32:21 +10:00
Parker Hawke
a222e4a252
Implement BatToggleSleepEvent
2018-09-17 16:49:45 +10:00
md_5
79ada744cb
SPIGOT-4382: Fix damage_absorbed statistic
2018-09-17 16:40:35 +10:00
md_5
6166843699
SPIGOT-4378: Fix mistakenly included code
2018-09-16 08:16:03 +10:00
md_5
a4bdecff65
SPIGOT-4372: LightningStrikeEvent cause API
2018-09-15 19:16:42 +10:00
md_5
34caaf6d68
SPIGOT-4371: Trident damaged when event cancelled
2018-09-15 19:07:03 +10:00
md_5
97315374fb
SPIGOT-4369: Handle cancelled trident event
2018-09-15 15:31:39 +10:00
md_5
bf1c82731c
SPIGOT-4370: Remove vehicle if its passenger spawn event was cancelled
2018-09-15 15:25:27 +10:00
simpleauthority
953e1d601a
SPIGOT-4314: Ability to change item in frame without playing sound
2018-09-11 20:39:58 +10:00
md_5
7033f180e0
Hoist out synchronisation from ChunkRegionLoader
2018-09-10 19:13:03 +10:00
md_5
022b8c350a
SPIGOT-4361: BlockFadeEvent for regular coral
2018-09-10 08:30:13 +10:00
md_5
3123a069bf
SPIGOT-4352: MoistureChangeEvent
2018-09-09 18:56:38 +10:00
Parker Hawke
226db0eae7
Add BlockDispenseArmorEvent
2018-09-09 18:44:55 +10:00
md_5
cd367fa4d8
Fix bad thread safety in ChunkRegionLoader
2018-09-09 09:39:23 +10:00
md_5
3f5ca5f2a4
SPIGOT-4355: Improve cancelling VehicleEnterEvent
2018-09-09 09:32:11 +10:00
Pante
19d654bd5e
Add ServerLoadEvent
2018-09-08 13:40:42 +10:00
md_5
228a5cd59d
Remove vanilla command ambiguity warning
...
Needless support burden
2018-09-07 20:51:57 +10:00
md_5
0ddd67b0a9
SPIGOT-4350: Expand EntityTeleportEvent to /teleport command
2018-09-07 20:32:57 +10:00
md_5
632449b6c4
SPIGOT-4349: End portal has wrong TeleportCause
2018-09-07 07:14:59 +10:00
md_5
c88ae6b195
SPIGOT-4342: Fix PlayerMoveEvent from pitch/yaw incorrect
2018-09-04 20:57:55 +10:00
md_5
3037eb3e7c
BlockSpreadEvent for Kelp
2018-09-03 08:43:48 +10:00
md_5
6cf60193b0
SPIGOT-4340: Improve client bug workaround
2018-09-03 08:00:50 +10:00
md_5
60d7982024
SPIGOT-4338: breedCause API
2018-09-01 19:28:12 +10:00
md_5
4c219e2a12
Expand Recipe API to allow multiple Materials per slot
2018-09-01 11:04:48 +10:00
md_5
6304ccd95f
SPIGOT-4116: Tweak tab complete spam since the client appears to be duplicating packets
2018-08-29 22:30:16 +10:00
Senmori
1486c29516
API to prevent PlayerBedLeaveEvent from changing a player's spawn location
2018-08-29 19:08:58 +10:00
md_5
9636bb8d77
SPIGOT-4319: Conduit damage should be a block event
2018-08-28 21:00:24 +10:00
md_5
c2cbdc5ab4
SPIGOT-4316: Do even less processing when block placement without physics requested
2018-08-27 18:29:28 +10:00
md_5
479ec05e3b
SPIGOT-4310: Reset villager career level with trades
2018-08-27 07:00:56 +10:00
md_5
6dee81a6f7
SPIGOT-4302: Use defaults when setting unplaced furnaces
2018-08-27 06:50:15 +10:00
md_5
997d378dab
Fix client stall in specific teleportation scenarios
2018-08-26 19:44:10 +10:00
md_5
5d0d83bb90
SPIGOT-4309: Add "forced" display of particles
2018-08-26 18:27:19 +10:00
md_5
ce1af0c348
Update to Minecraft 1.13.1
2018-08-26 12:00:00 +10:00
md_5
1bc24337d1
SPIGOT-4304: Turtle helmet overrides water breathing potion
2018-08-24 20:56:58 +10:00
md_5
3418f8d7a1
SPIGOT-4298: Block command sender returns wrong block
2018-08-22 08:52:17 +10:00
md_5
bfb9131494
SPIGOT-4283: Allow setting recipe groups
2018-08-17 20:40:54 +10:00
md_5
06112946da
Fix whitespace issue in previous commit
2018-08-16 20:48:00 +10:00
md_5
5bf0abb3ae
SPIGOT-4281: Fix looting enchantment
2018-08-16 20:39:29 +10:00
md_5
b865db3b2a
SPIGOT-4278: EntityChangeBlockEvent for turtles laying eggs
2018-08-16 20:27:16 +10:00
md_5
1728eb298e
SPIGOT-4279: Move turtle egg interact event
2018-08-16 20:23:17 +10:00
md_5
7c341e9beb
Fix StructureGrowEvent originating from dispensers
2018-08-15 18:05:04 +10:00
Senmori
c0df4b82d3
SPIGOT-1936: LootTable API
2018-08-12 18:40:03 +10:00
md_5
0e1d79b449
Correct error in previous patch
2018-08-10 19:43:15 +10:00
Amosar
eb36029f1c
SPIGOT-2719: Comparator and Observer don't trigger BlockRedstoneEvent
2018-08-10 08:39:18 +10:00
md_5
4487c1f9d9
SPIGOT-4245, MC-128441: use target world as teleport destination
2018-08-08 18:59:20 +10:00
Christos Miniotis
c4220dc24f
Add Unit Tests for geHardness and getBlastResistance
2018-08-08 18:07:02 +10:00
md_5
53d3ac0a97
SPIGOT-4238: Sometimes buckets are leaky client side when empty event is cancelled
2018-08-07 21:17:49 +10:00
md_5
a9c796f12c
SPIGOT-4184: Fix furnaces not matching Vanilla smelt or animations
2018-08-05 11:21:01 +10:00
md_5
195f071e3d
SPIGOT-4219: Event for PigZombies angering.
2018-08-05 10:18:01 +10:00
md_5
671581e33f
Fix gamerules in secondary worlds
2018-08-03 21:03:21 +10:00
md_5
69970127c1
SPIGOT-4221: Update surrounding blocks for cancelled break/place
2018-08-03 11:34:26 +10:00
md_5
3006dee4c6
Use CraftBlock.at helper
2018-08-03 09:59:22 +10:00
Nathan Wolf
7dc4738528
SPIGOT-4212: EntityInteractEvent when an entity tries to interact with a door
2018-08-03 09:50:32 +10:00
Nathan Wolf
391e018a79
SPIGOT-4220: Player/Entity interact events when turtle eggs are stepped on
2018-08-03 08:58:15 +10:00
md_5
272426acd7
SPIGOT-4199: Riptide related APIs
2018-08-02 09:38:52 +10:00
md_5
8e87d03145
SPIGOT-4205: Cancelled damage should not anger pig zombie
2018-08-01 19:29:24 +10:00
blablubbabc
a0c7bcf02a
Fix merchant inventories with custom titles
2018-08-01 08:50:08 +10:00
md_5
d474030e14
SPIGOT-4198: Pockets of darkness in the air
2018-07-31 21:11:35 +10:00
md_5
549d9b0120
SPIGOT-4029: Add event for commands being sent to client
2018-07-31 10:46:09 +10:00
md_5
5cfa68387f
SPIGOT-4194: Call BlockFadeEvent for coral
2018-07-31 10:17:43 +10:00
Articdive
e013bf4323
SPIGOT-3917: Add EntityDropItemEvent
2018-07-31 10:06:23 +10:00
md_5
c79e28e627
SPIGOT-4192: Fix cancelling dispensers removing water sources
2018-07-31 09:21:21 +10:00
md_5
8592585b9f
Fix ancient style event call in PlayerDropItemEvent
2018-07-30 19:29:03 +10:00
md_5
3f9d7f7770
Move persist flag check
2018-07-30 13:25:02 +10:00
md_5
98f4292331
SPIGOT-4190: Move ChunkLoadEvent call
2018-07-30 13:09:04 +10:00
blablubbabc
c3a8de0371
SPIGOT-227: Add entity persistent flag
...
Non-persistent entities won't get saved when the chunk saves the entities.
Entities that are passengers of a non-persistent entity won't get saved.
Players won't save their vehicle, if the player is directly or
indirectly riding a non-persistent entity.
2018-07-30 12:29:43 +10:00
md_5
bef764020e
SPIGOT-4185: Bubble columns not working on mobs
2018-07-30 11:17:26 +10:00
md_5
0b274effbb
SPIGOT-4188: Fish not dispensing from buckets
2018-07-30 09:43:46 +10:00
md_5
3b8f5be77b
SPIGOT-1714: Draft API for player list header / footer
2018-07-29 21:30:31 +10:00
md_5
4d0e2b7d88
Give turtle eggs a spawn reason
2018-07-29 10:50:56 +10:00
md_5
f68afdb0ca
SPIGOT-4178: Add another BlockPhysicsEvent call site
2018-07-29 09:37:16 +10:00
md_5
212fd0f230
SPIGOT-4166: Fix Tags being corrupted by early access (and not reflecting reloads)
2018-07-28 15:00:12 +10:00
md_5
e3c21decb0
SPIGOT-4171: Advancement description not showing
2018-07-28 10:38:36 +10:00
md_5
5c2585068b
SPIGOT-1588: Fix cancelling mount related events
2018-07-28 10:10:17 +10:00
md_5
d5b95a2832
Fix growing large dark oak trees
2018-07-28 08:41:45 +10:00
klugemonkey
4b00823222
Use SpawnReason.NATURAL for Phantom spawning
2018-07-27 19:33:42 +10:00
md_5
3d7f2f07d5
SPIGOT-4161: Missing BlockDispenseEvent for Waterlogged
2018-07-27 19:29:47 +10:00
md_5
0891fc1c45
SPIGOT-4160: StructureGrowEvent not triggering for giant trees
2018-07-27 19:16:16 +10:00
klugemonkey
5d881a9264
Add SpawnReason.DROWNED
2018-07-27 14:20:35 +10:00
md_5
e70d864f00
SPIGOT-4140, SPIGOT-4157: World generation errors
2018-07-26 22:11:02 +10:00
md_5
420f5fa779
Add draft BlockFertilizeEvent
2018-07-26 20:44:09 +10:00
md_5
1ef1ffd664
SPIGOT-4137: Fix World.regenerateChunk
2018-07-25 19:32:06 +10:00
md_5
88d89792fc
SPIGOT-4141: Untouched filled maps not saving
2018-07-25 14:13:17 +10:00
md_5
49a2604e1f
Fix scute dropping
2018-07-24 22:22:56 +10:00
md_5
38adf52b28
SPIGOT-4119: Incorrect slot type in InventoryClickEvent
2018-07-24 08:41:15 +10:00
md_5
587014503b
SPIGOT-4116: Increase command tab spam threshold
2018-07-23 18:33:29 +10:00
Articdive
30ab12cf4c
SPIGOT-824: SpongeAbsorbEvent
2018-07-23 17:21:07 +10:00
md_5
b50bb15f56
SPIGOT-4110: Fix spawning withers
2018-07-23 11:58:43 +10:00
md_5
11542134c8
SPIGOT-4109: Wall skulls not dropping
2018-07-23 10:43:45 +10:00
md_5
5b93c39d4b
SPIGOT-4106: Fish from buckets despawn
2018-07-23 10:01:46 +10:00
md_5
1c7adf74e4
Always return captured tiles from chunks as well.
...
Missed in 22c613d869
Fixes replacing tile entities in BlockPlaceEvent (or calling setBlockData on them)
2018-07-22 19:35:42 +10:00
md_5
1a6b4f5392
Update to Minecraft 1.13
2018-07-22 12:00:00 +10:00
md_5
961295e432
SPIGOT-4101: Turtle lightning strike causing crash
2018-07-21 14:55:07 +10:00
md_5
e5d6f6b596
SPIGOT-4024: Improve interactions of Vanilla tab completion, and also reloads
2018-07-21 11:23:11 +10:00
md_5
dbc6c660eb
Fix cancelling new effect events
2018-07-21 10:13:45 +10:00
md_5
a8dc8d31d3
SPIGOT-4099: Missing BlockFormEvent for concrete powder
2018-07-21 10:03:08 +10:00
kaenganxt
814c742554
SPIGOT-840, SPIGOT-2522: [Draft] Add EntityPotionEffectChangeEvent
...
Discussion ongoing in PR #449
2018-07-20 16:06:34 +10:00
md_5
fa6e97a8f8
SPIGOT-4064: Fix BlockPistonRetractEvent for regular pistons
2018-07-20 10:59:23 +10:00
md_5
c1d9f94223
SPIGOT-4050: Snow erasing block below it
2018-07-19 15:44:55 +10:00
md_5
6c944b2163
Fix issues converting certain chunks
2018-07-19 14:20:07 +10:00
md_5
fc1b107579
SPIGOT-4046: Fix selectors in tick functions
2018-07-19 10:59:16 +10:00
md_5
80f4c10c8f
SPIGOT-4044: Cannot load datapack functions on startup
2018-07-19 10:48:34 +10:00
md_5
40f15832b4
SPIGOT-4048: Fish disappear when they cannot be picked up
2018-07-19 10:37:25 +10:00
md_5
595ec64726
SPIGOT-4049: Books lose NBT data
2018-07-19 10:12:55 +10:00
md_5
3e5fe3e40d
SPIGOT-4042: Fix emptying buckets onto slabs
2018-07-18 17:48:17 +10:00
md_5
15036eb75b
Fix changes that got lost late in development cycle
2018-07-18 14:13:20 +10:00
md_5
f18d78282d
SPIGOT-4028: Improve legacy ItemStack conversion
2018-07-18 14:01:15 +10:00
md_5
de019a35f0
Tweak display of command completions when we have none
2018-07-18 12:23:00 +10:00
md_5
e120b5d10e
Fix missing PlayerResourcePackStatusEvent
2018-07-18 10:00:43 +10:00
md_5
3e814e7b7d
SPIGOT-4034: Fix missed diff affecting canceled InventoryClickEvent
2018-07-18 09:59:10 +10:00
md_5
a71d06a0c8
SPIGOT-3998, MC-133373: Improve attributes
2018-07-17 21:11:52 +10:00
md_5
b4bff6fc3d
SPIGOT-4026: Clicking on command error suggestion should return verbatim input
2018-07-17 06:49:40 +10:00
md_5
f03c10c185
SPIGOT-4025: Fixed missed diff affecting PlayerLocaleChangeEvent
2018-07-17 06:21:43 +10:00
md_5
e563bc00db
Command block names are not nullable
2018-07-16 16:20:46 +10:00
md_5
84676f363c
Fix MapInitializeEvent firing every tick
2018-07-16 12:45:01 +10:00
md_5
8fbc72b714
Add ignore-vanilla-permissions option to assist with disabling default commands
2018-07-16 12:06:06 +10:00
md_5
3890544e04
SPIGOT-4015: Make CraftTeam tie into backing prefix/suffix
2018-07-16 10:20:53 +10:00
md_5
00bba6e86f
SPIGOT-4010: Prefix / suffix compatibility should default to empty string
2018-07-16 09:09:47 +10:00
md_5
82ca5c2740
SPIGOT-4006: ICE rather than SNOW forming in some biomes
2018-07-16 08:53:29 +10:00
md_5
fe7db9d53b
Add EntityToggleSwimEvent and isSwimming / setSwimming API
2018-07-15 16:17:35 +10:00
md_5
421c1728c8
Update to Minecraft 1.13-pre7
2018-07-15 10:00:00 +10:00
md_5
ab13683d8e
SPIGOT-3987: Preserve attributes when writing in books
2018-07-08 10:25:17 +10:00
blablubbabc
8cc5a7ecb6
SPIGOT-3945: Remove RepairCost tag when cost is 0
2018-05-27 17:10:22 +10:00
Parker Hawke
d0a3620c2d
Implement Arrow tile methods
2018-05-06 14:12:19 +10:00
md_5
4509a144db
SPIGOT-3899: Only load advancements from primary world
2018-04-15 10:21:11 +10:00
md_5
fb423b8f48
SPIGOT-3883: Better reloading of pending unload chunks
2018-04-04 16:12:32 +10:00
md_5
68b4fb6427
SPIGOT-3882: Extra call site for VehicleEntityCollisionEvent
2018-04-02 12:55:28 +10:00
md_5
1daee53916
SPIGOT-3879: Make end->overworld spawning more consistent with vanilla
2018-03-30 19:16:53 +11:00
md_5
2e210288de
SPIGOT-3875: Book selectors not resolving
2018-03-29 20:34:46 +11:00
md_5
aa255689c1
SPIGOT-3869: More resurrect fixes
2018-03-24 16:13:17 +11:00
md_5
3fed09cc42
SPIGOT-3869: Error when forcing EntityResurrectEvent
2018-03-23 19:40:16 +11:00
md_5
29705a0d4f
SPIGOT-3864: Protect against suffocation on world change
2018-03-22 21:05:34 +11:00
md_5
7e94e65a1c
SPIGOT-3845: Fix spawnRadius on respawn
...
Thanks senmori for the investigation in PR #431
2018-03-08 18:21:31 +11:00
md_5
1bb523c4e4
SPIGOT-3829: Apply some speed limits to all entities
2018-02-19 09:52:00 +11:00
Senmori
f8411ea1e5
Expand Structure Block API
2018-02-12 10:33:19 +11:00
md_5
8bb4f6ccc1
SPIGOT-3813: Player.setHealth not reliable in conjunction with attribute API
2018-02-12 08:59:32 +11:00
md_5
aa34e9bddd
SPIGOT-3805: Minecart does not teleport through Nether Portal
2018-02-09 18:04:44 +11:00
Senmori
1c40a81828
Expand EnderSignal API
2018-02-03 17:48:41 +11:00
md_5
dac2a4a6ae
SPIGOT-3784: Reset horse chests after event
2018-01-28 09:44:16 +11:00
Senmori
c7656468e4
Expand CreatureSpawner API
2018-01-24 17:19:41 +11:00
md_5
4a030536cd
SPIGOT-3775: ghost player list entry if kicked on join
2018-01-23 22:49:26 +11:00
md_5
1dced6a2c5
Send complete metadata update to joining players
2018-01-08 19:48:32 +11:00
md_5
c3e4382c33
CauldronLevelChangeEvent does not use new level
2018-01-08 13:42:44 +11:00
md_5
dc7d31b00d
SPIGOT-3735: Missing call to BlockFadeEvent
2018-01-04 08:57:01 +11:00
md_5
360629ec5a
SPIGOT-3729: Add AreaEffectClouds to tracker
2018-01-02 10:14:30 +11:00
Senmori
950006003c
SPIGOT-355: API for Villager careers
2017-12-31 21:21:03 +11:00
md_5
8c37e2ebda
SPIGOT-3717: Fix some RCON commands
2017-12-26 07:28:56 +11:00
md_5
70cc3820cf
SPIGOT-3686: Move entity event call earlier in method
2017-12-09 17:32:19 +11:00
md_5
d063cd0d3b
Fix missing event call for BlockRedstoneLamp
2017-12-07 10:59:30 +11:00
md_5
22564a9177
SPIGOT-3674: Take into account max stack size for PlayerDropItemEvent
2017-12-03 08:55:19 +11:00
md_5
809c399a62
SPIGOT-3668: Missing EntityToggleGlideEvent in creative mode
2017-11-28 09:33:40 +11:00
Senmori
bdb8822625
SPIGOT-1505: PlayerItemMendEvent
2017-11-21 10:21:20 +11:00
md_5
b4c298d644
Fix mismatched setArrowCount method
2017-11-17 11:03:30 +11:00
Thinkofdeath
685ed2eb92
Fix dispensing bone meal not having the correct data value
2017-11-17 10:23:20 +11:00
Parker Hawke
305df9035f
Implement max fuse tick & explosion radius methods to Creeper
2017-11-08 12:33:21 +11:00
md_5
3e3bbd4272
SPIGOT-3638: Don't process async chat on shutting down server
2017-11-08 10:36:11 +11:00
md_5
2fae23c251
SPIGOT-3637: Adjust yaw yet again
2017-11-07 17:21:38 +11:00
md_5
b8f84f375b
Fix bad diff
2017-10-13 21:47:55 +11:00
md_5
ef2f38267f
SPIGOT-3607: Bad yaw from armorstands treated as living
2017-10-13 21:36:32 +11:00
md_5
6733aa5635
SPIGOT-3603: Fix client timing out in scenarios where it sends no packets.
2017-10-09 18:23:58 +11:00
blablubbabc
f8500c0a3e
SPIGOT-3598: Persist all beacon effects
...
Regardless of if they are possible in Vanilla by default.
2017-10-07 18:48:08 +11:00
md_5
e8b6e4f29b
Temporarily shift L7 timeout value to L4 value of 30s.
2017-10-06 20:49:22 +11:00
md_5
362ed329f0
Supress harmless teleport error
2017-10-01 17:29:03 +11:00
md_5
94b0980852
SPIGOT-3571: Packet handling must be synchronous
2017-09-19 08:00:56 +10:00
md_5
9a1f5ee80a
Update to Minecraft 1.12.2
2017-09-18 20:00:00 +10:00
md_5
357b573a19
SPIGOT-3513: Correctly set size for freshly spawned Minecarts
2017-08-16 20:47:23 +10:00
Geoff Crossland
963b19c599
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).
2017-08-11 17:34:19 +10:00
md_5
27b8bf9116
SPIGOT-3497: Cancelled EntityPortalEvent leads to incorrect behaviour
2017-08-08 20:35:29 +10:00
Lukas Hennig
61a31ca0c7
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.
2017-08-08 20:34:15 +10:00
md_5
b5878783ad
SPIGOT-3491: Add option to bypass permissions in advancements
2017-08-06 09:07:24 +10:00
Lukas Hennig
19507baf8b
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.
2017-08-05 14:37:19 +10:00
md_5
63029f4ff3
SPIGOT-3492: Ensure player functionality uses their specific scoreboard
2017-08-05 09:15:52 +10:00
md_5
2a927e8638
Update to Minecraft 1.12.1
2017-08-03 23:00:00 +10:00
md_5
57c323aad1
SPIGOT-3486: Missing check in redstone placement
2017-08-03 08:31:29 +10:00
md_5
2cfb85dae2
SPIGOT-3487: Llama doesn't drop chest
2017-08-03 08:21:05 +10:00
md_5
86aa17fae1
SPIGOT-3482: ProjectileHitEvent for shulker bullet and llama spit
2017-08-02 18:05:28 +10:00
md_5
2c5c611d0c
SPIGOT-3456: Expand calling of ServerCommandEvent
...
Existing usage preserved by checking sender.
2017-07-28 18:10:38 +10:00
md_5
d00c0574cd
SPIGOT-3403: Add an EntityPickupItemEvent
2017-07-28 17:47:59 +10:00
md_5
5c4864398d
SPIGOT-3463: Spurious item drops from event
2017-07-28 17:23:39 +10:00
md_5
b1b9ab0df9
SPIGOT-3461: Standardise plugin load timing
2017-07-26 13:20:29 +10:00
md_5
4670a84bd9
SPIGOT-3432: Add playNote support for new sounds
2017-07-24 17:44:44 +10:00
md_5
f078eed54b
SPIGOT-3440: Non player entities should not make new portals
2017-07-22 16:40:10 +10:00
md_5
5a12442f22
SPIGOT-3433: Improve AreaEffectCloud#getSource
2017-07-22 09:51:22 +10:00
md_5
49c2537fe2
Fix memory leak in PlayerList
2017-07-17 09:55:47 +10:00
md_5
e03b1a556d
SPIGOT-3417: Event for shearing snowman
2017-07-15 09:53:22 +10:00
md_5
50b75cd65d
SPIGOT-3407: Set damager for evoker fangs
2017-07-08 22:40:54 +10:00
md_5
0481ae963a
SPIGOT-3382: Ensure players can pickup stuff
2017-06-26 11:21:38 +10:00
md_5
9de5cb59a0
SPIGOT-3377: Fix subspace bubble advancement
2017-06-26 10:16:54 +10:00
md_5
d7cd7275f2
SPIGOT-3379: Generalise canPickupItems to other entities.
2017-06-26 08:34:52 +10:00
md_5
de76085596
SPIGOT-3376: Fix nested functions
2017-06-26 08:27:25 +10:00
md_5
258575110f
SPIGOT-3373: Fix /execute in gameloop functions
2017-06-25 09:46:19 +10:00
md_5
753a8e700d
SPIGOT-3324: Improve tameable damage handling
2017-06-24 10:01:46 +10:00
md_5
763827668e
SPIGOT-3368: Allow anvil level cost to be overwritten by properties
2017-06-23 20:35:17 +10:00
md_5
5e2a23055e
SPIGOT-3364: Correct EntityResurrectEvent
2017-06-23 12:47:29 +10:00
md_5
03f1e37ae2
Fix nether world border center not adjusting
2017-06-18 19:23:33 +10:00
md_5
a7d074c6c0
SPIGOT-3329: Allow per world loot tables
2017-06-15 20:34:19 +10:00
md_5
732911efbc
SPIGOT-3337: Use special data value to indicate multiple recipe choices
2017-06-15 07:23:08 +10:00
Jacob Martin
f7d14f184d
Fix detection of missing or invalid tile entities for End portals and gateways
2017-06-12 12:41:18 -05:00
md_5
ec47e791bd
SPIGOT-3328: EntityTameEvent for Parrots
2017-06-12 07:27:34 +10:00
md_5
202da9777d
SPIGOT-3324: Best effort fix for shoulder Parrots + cancelled damage event
2017-06-11 12:20:18 +10:00
md_5
639aa0cf48
SPIGOT-3320: Apply tile entity fixer to more types
2017-06-11 08:32:29 +10:00
md_5
ed8c725d19
SPIGOT-3304: Respect duration from Vanilla /weather
2017-06-09 16:17:08 +10:00
md_5
2c34c38d7a
SPIGOT-3303: Warn when attempting to grant non existent recipe
2017-06-09 16:13:35 +10:00
md_5
1b3122eef1
SPIGOT-3302: Armor stands not dropping armor
2017-06-09 15:51:56 +10:00
md_5
bb4ae3b3b8
Update to Minecraft 1.12
2017-06-08 18:00:00 +10:00
chickeneer
fe3ca95c76
Prevent NPE when setting tempt target to null
2017-06-04 08:43:00 +10:00
md_5
10daedccdd
Add proper TeleportCause for /teleport
2017-06-04 08:39:36 +10:00
md_5
9a032b246b
SPIGOT-3290: /teleport command overrides player rotation
2017-06-04 08:34:52 +10:00
md_5
701b06494d
SPIGOT-3286: Call BlockFormEvent for Concrete Powder -> Concrete
2017-06-03 17:39:03 +10:00
md_5
e13d119686
Update to Minecraft 1.12-pre6
2017-05-30 21:55:13 +10:00
Scetra
ccc420a957
Add support for preventing block drops in BreakEvent
2017-05-28 17:08:28 +10:00
md_5
c037fe3d44
Add color API for Teams
2017-05-28 11:00:02 +10:00
Pokechu22
44dd60ac27
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).
2017-05-28 10:32:31 +10:00
MiniDigger
274304b8ca
SPIGOT-439: Add player locale related APIs.
2017-05-27 19:06:28 +10:00
md_5
a479029a85
Ensure gameLoop function gets selectors applied.
2017-05-26 16:43:56 +10:00
md_5
c7920f4302
SPIGOT-3257: Issue with AdvancementRewards function
2017-05-21 10:28:07 +10:00
md_5
24147056e0
SPIGOT-3258: VehicleBlockCollisionEvent only fires in certain directions
2017-05-21 10:24:47 +10:00
md_5
cda27c992d
SPIGOT-3254: Check chunks are loaded before ticking entities as per previous versions.
2017-05-20 11:28:38 +10:00
md_5
1004352990
Update to Minecraft 1.12-pre5
2017-05-19 21:00:13 +10:00
md_5
45102fcf28
Misc advancement / recipe reload fixes including SPIGOT-3240
2017-05-16 21:22:07 +10:00
md_5
68b0515b51
SPIGOT-3243: Remove recipe reset on world change / death
2017-05-15 18:11:48 +10:00
md_5
913c5a61f7
SPIGOT-3242: Fix rain not showing client side
2017-05-15 15:01:05 +10:00
md_5
5195487ec6
Update to Minecraft 1.12-pre2
2017-05-14 12:00:00 +10:00
md_5
fcc5dcce54
SPIGOT-3235: Disconnect for payload errors
2017-05-14 09:25:25 +10:00
BlackHole
fbb47e8383
SPIGOT-3215: Call BlockPhysicsEvent for tall plants
2017-05-01 19:49:37 +10:00
Matthew
d9d7552262
Implement getColor / setColor for Shulker entity
2017-04-30 09:54:34 +10:00
Pokechu22
a2af8f0a73
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.
2017-04-28 15:27:57 +10:00
Geoff Crossland
6194f6cc49
Drop RegionFile.chunkExists() in favour of Mojang's own version
2017-04-27 21:25:33 +10:00
Matthew
55a1f9ff12
Implement getColor / setColor for TippedArrow
2017-04-26 20:28:27 -04:00
md_5
2453830549
Reset player arrow count on death
2017-04-26 15:56:06 +10:00
md_5
7b044defc0
Remove players from vehicle when changing world via NMS methods.
2017-04-21 14:56:41 +10:00
md_5
0ab698655b
SPIGOT-3192: Return default value for invalid map icons
2017-04-21 08:20:49 +10:00
md_5
1c3428e534
Add small throttle to book edits.
2017-04-20 22:10:31 +10:00
md_5
be9ef980b9
Implement cooldown API
2017-04-19 18:04:32 +10:00
Pokechu22
1ac133ecc5
SPIGOT-3182: Fix tab-completion in command blocks without leading slash
2017-04-13 17:57:47 -07:00
Jacob Martin
d219213e2b
Fixes to mob equipment behaviour
...
* Set correct flag for CanPickUpLoot on NBT load
* Drop previous equipment on mob equipment pickup
2017-04-09 11:45:37 +10:00
md_5
1f6c04c0f4
SPIGOT-3165: Only increment spawncount when mob spawn succeeds
2017-04-06 21:31:27 +10:00
md_5
41a7d14f8c
SPIGOT-3162: Experience ignored for custom recipes
2017-04-03 09:06:42 +10:00
md_5
b5f7b6d69f
SPIGOT-3157: Use Vanilla gamemode change code
2017-03-31 21:21:11 +11:00
md_5
7dd77d7340
SPIGOT-3154: Sleeping players cannot change dimensions
2017-03-30 21:53:23 +11:00
md_5
d09304e5db
SPIGOT-3144: Add missing PrepareAnvilEvent call.
2017-03-25 09:51:02 +11:00
md_5
186c351a3a
SPIGOT-3149: StructureGrowEvent for dispenser triggered growth
2017-03-24 21:03:44 +11:00
md_5
f4822eb93d
Add additional methods sigs for binary compat
2017-03-24 15:23:23 +11:00