Commit Graph

1148 Commits

Author SHA1 Message Date
CraftBukkit/Spigot 5f36fbfcfe SPIGOT-5799: InventoryCloseEvent fires after PlayerQuitEvent
By: md_5 <git@md-5.net>
2020-06-24 09:54:59 +10:00
CraftBukkit/Spigot fed33ad6d5 SPIGOT-5675, SPIGOT-5798, MC-149563: Fix tracking of entities across dimensions
By: md_5 <git@md-5.net>
2020-06-24 09:21:39 +10:00
CraftBukkit/Spigot 0af0259050 SPIGOT-5797: Zombie(Villagers) Instant Convert based on their lifetime
By: md_5 <git@md-5.net>
2020-06-24 08:52:40 +10:00
CraftBukkit/Spigot 2516f48571 Revert "#675: Fix redirected CommandNodes sometimes not being properly redirected"
This reverts commit 36e3ae4ae6.

By: md_5 <git@md-5.net>
2020-06-18 07:41:02 +10:00
CraftBukkit/Spigot 36e3ae4ae6 #675: Fix redirected CommandNodes sometimes not being properly redirected
By: Matthias Ngeo <matthiasngeo@gmail.com>
2020-06-17 20:04:50 +10:00
CraftBukkit/Spigot ecdda0bdbc #673: Fix Craftworld#isChunkLoaded
The flag for getChunkAt(int, int, ChunkStatus, boolean)
is actually a flag for whether to bring the underlying
PlayerChunk up to the required ticket level to load the
chunk. So, if the chunk is already at the required level,
but has not yet loaded, the call will actually either
start the load if it has not already been started and
block until completion.

This behaviour is not suitable for just
checking if the chunk is loaded.

By: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-06-06 19:23:46 +10:00
CraftBukkit/Spigot a1cc6a4683 SPIGOT-4441: Fix serializing Components to and from Legacy
While 9862a0135d might of semi helped being able to save black text
lore, it actually took a fundamental problem with the legacy serialization
code and expanded it to break even more aspects of the server when dealing
with Component to Legacy conversion.

This is causing data loss in Spigot with cases such as setting an item name
to white gets stripped resulting in it being italic.

Additionally, things such as book pages have been returning black formatting
codes for the end of the line even when the user doesn't have colors in the book.

The root issue is that the "Default Color" system is fundamentally wrong.

Components do not and should not care about what element of the game they
are being used by, and that's what the default color system did.

It results in components that if obtained from 1 source such as a Book
where the default / rendered color is black, is then copied to another
source such as an Entity name, the black is carried forward and shown
in the Entity name, when in reality it should have been white.

This commit reverts 9862a0135d and fixes the underlying serialization
issues when it comes to Legacy to and From conversions.

There was quite a number of issues with this code overall, in how
it handles inserting color codes, new line parsing and such.

Books was using mojangs own "getLegacyString" which doesn't match behavior.
We also do not want to use Mojangs method as there is no guarantee they don't
remove that in future.
Plus, everything about books uses the CB implementation anyways, and it should
be consistent (this was mandatory to avoid serialization format changes on old vs new)

These changes as is results in Item Stacks already serialized will not
change contents when they go to component and back, so this won't impact
any existing data.

Newly created books though for example will change behavior in that they
will no longer insert black color codes in the serialized data and will
only represent intentional color changes by the creator of the book.
This will result in cleaner data on them, and books are the only thing
I'm aware of that has a behavioral shift due to the likelyhood of the
default color system kicking in on other parts of the string.

A unit test has been added to verify integrity of serialization to
ensure that any legacy string that is converted into Components will
always re-encode back in the same way when going back to Legacy.

By: Aikar <aikar@aikar.co>
2020-06-01 19:19:42 +10:00
CraftBukkit/Spigot 698e183d45 SPIGOT-5727: GameRule doImmediateRespawn cannot be set per-world
By: ShaneBeee <shanebolenback@me.com>
2020-05-09 15:45:52 +10:00
CraftBukkit/Spigot fb92d00666 #662: Expose ItemStack and hand used in PlayerShearEntityEvent
By: Parker Hawke <hawkeboyz2@hotmail.com>
2020-05-02 17:48:37 +10:00
CraftBukkit/Spigot c4099fa584 SPIGOT-2304: Implement LootGenerateEvent
By: Parker Hawke <hawkeboyz2@hotmail.com>
2020-04-30 19:15:58 +10:00
CraftBukkit/Spigot 0141e701d7 SPIGOT-5566: Doused campfires & fires should call EntityChangeBlockEvent
By: Parker Hawke <hawkeboyz2@hotmail.com>
2020-04-29 17:26:40 +10:00
CraftBukkit/Spigot 95a89a0073 #650: Add method to get player's attack cooldown
By: DiamondDagger590 <diamonddagger590@gmail.com>
2020-04-23 11:13:40 +10:00
CraftBukkit/Spigot 62583ba081 SPIGOT-5680: isChunkGenerated creates empty region files
By: md_5 <git@md-5.net>
2020-04-22 12:00:50 +10:00
CraftBukkit/Spigot d76c6104ce SPIGOT-5665: Improve loading spawn egg NBT
By: md_5 <git@md-5.net>
2020-04-10 11:16:58 +10:00
CraftBukkit/Spigot 593102e1fa SPIGOT-5667: Can't add recipe without (vanilla) datapack
By: md_5 <git@md-5.net>
2020-04-10 10:56:00 +10:00
CraftBukkit/Spigot bd0b71b0a0 SPIGOT-5657: BlockPlaceEvent not cancelling for tripwire hooks
By: md_5 <git@md-5.net>
2020-04-05 17:19:03 +10:00
CraftBukkit/Spigot b7d5dc8dd0 #645: Allow statistics to be accessed for offline players
By: SydMontague <sydmontague@phoenix-staffel.de>
2020-04-05 15:58:43 +10:00
CraftBukkit/Spigot deee71fef3 SPIGOT-5650: Lectern.setPage(int) causes a NullPointerException
By: md_5 <git@md-5.net>
2020-04-01 09:30:47 +11:00
CraftBukkit/Spigot dd80c73690 SPIGOT-5617: setBlockData does not work when NotPlayEvent is called by redstone current
By: md_5 <git@md-5.net>
2020-03-29 16:24:11 +11:00
CraftBukkit/Spigot a9cc2e304b #642: Add a DragonBattle API to manipulate respawn phases etc
By: Parker Hawke <hawkeboyz2@hotmail.com>
2020-03-24 19:53:47 +11:00
CraftBukkit/Spigot bb7a4a3aa5 #644: Fix ChunkMapDistance#removeAllTicketsFor not propagating ticket level updates
Now call the method used in removeTicket for propagating the change,
so that chunks are guaranteed to unload

By: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-03-22 20:02:22 +11:00
CraftBukkit/Spigot 9d7e810ee1 SPIGOT-5606: call BlockRedstoneEvent for fence gates
By: Jan Boerman <Janboerman95@gmail.com>
2020-03-15 19:05:50 +11:00
CraftBukkit/Spigot e6566a0503 SPIGOT-5484: Add more spawn tick settings
By: Phoenix616 <mail@moep.tv>
2020-03-07 18:30:21 +01:00
CraftBukkit/Spigot 5ca0965ff4 #640: Fix chunk load/unload callbacks for chunk load cancellations
When a chunk goes from a ticket level where it is loading a
full chunk to an inactive state (i.e ticket level 33 to
ticket level 45) the full status future will be completed
with a "Right" Either (indicating unloaded). However, this
will also schedule the unload callback immediately.

However, the callback is not immediately executed. This means
the next unload/load callback that needs to be scheduled will
fail. The fix applied is to not schedule a callback if the
chunk is not loaded - if the Either is "right."

Even better, due to how completablefuture works, exceptions
are not printed by default. So the exception thrown by the
callback executor was not printed and the failure
hidden from console. This explains why no-one has tracked this issue.
Now the exception is printed so future failures with the
callback system (if any) can be tracked easier.

By: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-03-02 17:19:06 -08:00
CraftBukkit/Spigot c4c8db5127 Move Bukkit.Aware loading/saving to correct location
By: md_5 <git@md-5.net>
2020-02-21 10:09:47 +11:00
CraftBukkit/Spigot 2a55fc03dd SPIGOT-5311: Add API to get/set item associated with throwable projectiles
By: Lars Dormans <lars.dormans@live.nl>
2020-02-21 09:53:51 +11:00
CraftBukkit/Spigot 39966685a6 Add set/isAware to disable Vanilla AI components of a Mob
By: konsolas <vincentyntang@gmail.com>
2020-02-19 10:50:21 +00:00
CraftBukkit/Spigot 416eb5c343 SPIGOT-5571: Beehive MaxEntities cannot be set back to 3
By: ShaneBee <shanebolenback@me.com>
2020-02-09 19:49:35 -08:00
CraftBukkit/Spigot 6b39c5d083 SPIGOT-5468: Improve Beehive TileEntity API
By: ShaneBee <shanebolenback@me.com>
2020-02-09 10:47:11 +11:00
CraftBukkit/Spigot ab4f7e3436 MC-135989, SPIGOT-5564: Don't kick players for flight while riptiding
By: konsolas <vincentyntang@gmail.com>
2020-02-07 20:19:24 +11:00
CraftBukkit/Spigot 9adbf6f88b Remove unused seed in CustomChunkGenerator
By: md_5 <git@md-5.net>
2020-02-02 19:32:36 +11:00
CraftBukkit/Spigot 1705694b06 Craftbukkit -> CraftBukkit
By: md_5 <git@md-5.net>
2020-02-02 11:18:17 +11:00
CraftBukkit/Spigot 0b8e05b835 SPIGOT-5559: Add EntityPotionEffectEvent causes for bee, raiders and wither rose
By: ShaneBee <shanebolenback@me.com>
2020-02-02 11:16:01 +11:00
CraftBukkit/Spigot 959b2adc98 SPIGOT-5550: Cancelled ProjectileLaunchEvent still plays sound for eggs
By: md_5 <git@md-5.net>
2020-01-28 16:22:09 +11:00
CraftBukkit/Spigot 443580395d SPIGOT-5538: Using javaw to run GUI prints input error
By: md_5 <git@md-5.net>
2020-01-28 10:36:47 +11:00
CraftBukkit/Spigot 26c35202a0 SPIGOT-5526: Call EntityEnterBlockEvent for bees trying to enter hives
By: BlackHole <black-hole@live.com>
2020-01-22 18:34:03 +01:00
CraftBukkit/Spigot e0ee6f0a50 SPIGOT-5537: Bee nests generated by growing trees near flower have no bees
By: md_5 <git@md-5.net>
2020-01-28 09:48:28 +11:00
CraftBukkit/Spigot 42e9529365 Change some block == AIR checks to isAir to catch CAVE_AIR
By: md_5 <git@md-5.net>
2020-01-27 10:09:46 +11:00
CraftBukkit/Spigot 6037f360e7 SPIGOT-5542: Cancelling EntityToggleGlideEvent doesn't stop client from gliding
By: md_5 <git@md-5.net>
2020-01-25 11:30:39 +11:00
CraftBukkit/Spigot 1cd6af40ab SPIGOT-5514: VehicleEntityCollisionEvent triggered by passengers
By: Lars Dormans <lars.dormans@live.nl>
2020-01-24 16:48:48 +11:00
CraftBukkit/Spigot 5a7dc86cd2 SPIGOT-5531: Fix --universe option
By: md_5 <git@md-5.net>
2020-01-22 10:36:35 +11:00
CraftBukkit/Spigot 460b4c2803 Strip ANSI colours from ServerGUI
By: md_5 <git@md-5.net>
2020-01-22 09:33:40 +11:00
CraftBukkit/Spigot 77b64e0c78 Update to Minecraft 1.15.2
By: md_5 <git@md-5.net>
2020-01-22 08:00:00 +11:00
CraftBukkit/Spigot 09a2fa4d96 SPIGOT-5526: Call EntityChangeBlockEvent for bees triggering crop growth
By: md_5 <git@md-5.net>
2020-01-21 14:33:44 +11:00
CraftBukkit/Spigot 3a7695e5b1 SPIGOT-5510: VehicleBlockCollisionEvent returns the wrong block
By: md_5 <git@md-5.net>
2020-01-15 15:05:30 +11:00
CraftBukkit/Spigot bc8ef512e1 #616: Fix exception on entity portal teleport attempt
By: Phoenix616 <mail@moep.tv>
2020-01-14 15:10:30 +01:00
CraftBukkit/Spigot c738dcb532 SPIGOT-5252: Nether portal fixes and additions
- Fixes PlayerTeleportEvent getting called multiple times and with wrong coordinates
- Implement PlayerPortalEvent and EntityPortalEvent additions

By: Phoenix616 <mail@moep.tv>
2020-01-12 01:02:13 +01:00
CraftBukkit/Spigot 420c962ceb SPIGOT-5477: Server not shutting down
By: md_5 <git@md-5.net>
2020-01-12 10:50:22 +11:00
CraftBukkit/Spigot b2fd1fcbe1 SPIGOT-5504: cancelling InventoryMoveItemEvent on composter doesn't properly cancel
By: md_5 <git@md-5.net>
2020-01-10 09:50:39 +11:00
CraftBukkit/Spigot d32c77d777 SPIGOT-5502: Fix command block successcount being set to return value rather than actual count
By: md_5 <git@md-5.net>
2020-01-06 13:44:16 +11:00