Commit Graph

161 Commits

Author SHA1 Message Date
CraftBukkit/Spigot 50503fd516 Update to Minecraft 1.16.1
By: md_5 <git@md-5.net>
2020-06-25 10:00:00 +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 18886036f4 Misc checkstyle fixes
By: md_5 <git@md-5.net>
2020-04-14 12:34:43 +10:00
CraftBukkit/Spigot 7d47bd7c7f Make it clear in error messages that api-version above 1.13 is also supported
By: md_5 <git@md-5.net>
2020-02-23 09:42:33 +11:00
CraftBukkit/Spigot e2093ed2c6 SPIGOT-5551: BlockState.setData fails when used by legacy plugin
By: md_5 <git@md-5.net>
2020-01-29 09:22:43 +11:00
CraftBukkit/Spigot 77bc265e5b SPIGOT-5536: Material.values() causes legacy data init
By: md_5 <git@md-5.net>
2020-01-23 08:53:36 +11:00
CraftBukkit/Spigot 8ef307d13e SPIGOT-5532: Material.values() yields an exception
By: md_5 <git@md-5.net>
2020-01-22 13:23:55 +11:00
CraftBukkit/Spigot b978d253d9 Only load legacy support data if something uses it
By: md_5 <git@md-5.net>
2020-01-22 11:15:58 +11:00
CraftBukkit/Spigot d775003bb2 Fix log messages being split across GUI and terminal
By: md_5 <git@md-5.net>
2020-01-22 09:10:36 +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 beab2a487e Add thread name to TerminalConsoleWriterThread
By: md_5 <git@md-5.net>
2019-12-21 12:01:52 +11:00
CraftBukkit/Spigot 351402accf Update to Minecraft 1.15.1
By: md_5 <git@md-5.net>
2019-12-18 08:00:00 +11:00
CraftBukkit/Spigot 0e142c7f03 Update to Minecraft 1.15
By: md_5 <git@md-5.net>
2019-12-11 09:00:00 +11:00
CraftBukkit/Spigot cfd992a9d4 SPIGOT-5293: Sponge behaviour differs from Vanilla
By: md_5 <git@md-5.net>
2019-08-28 20:10:04 +10:00
CraftBukkit/Spigot a4b8e8ce68 Update to Minecraft 1.14.4
By: md_5 <git@md-5.net>
2019-07-20 09:00:00 +10:00
CraftBukkit/Spigot d6d34c98e7 SPIGOT-5106: Config option to prevent plugins with incompatible API's from loading
By: md_5 <git@md-5.net>
2019-06-29 16:36:58 +10:00
CraftBukkit/Spigot 4d4628bf1c Update to Minecraft 1.14.3
By: md_5 <git@md-5.net>
2019-06-25 06:44:52 +10:00
CraftBukkit/Spigot a8155d2399 Update to Minecraft 1.14.3-pre4
By: md_5 <git@md-5.net>
2019-06-21 20:00:00 +10:00
CraftBukkit/Spigot a5abba4a51 SPIGOT-5015: Players in spectator mode prevent block placement and block projectiles
By: md_5 <git@md-5.net>
2019-06-02 19:51:26 +10:00
CraftBukkit/Spigot ca6d40aa64 SPIGOT-4992: Various villager issues due to broken mapping
By: md_5 <git@md-5.net>
2019-05-28 20:43:33 +10:00
CraftBukkit/Spigot 569660215f Update to Minecraft 1.14.2
By: md_5 <git@md-5.net>
2019-05-28 06:30:00 +10:00
CraftBukkit/Spigot 788fd7eedc Update to Minecraft 1.14.1
By: md_5 <git@md-5.net>
2019-05-14 10:00:00 +10:00
CraftBukkit/Spigot 1596138194 SPIGOT-4823: Crash picking up arrows
By: md_5 <git@md-5.net>
2019-05-01 06:48:56 +10:00
CraftBukkit/Spigot abedca6a94 World#spawnArrow should return an AbstractArrow now
By: md_5 <git@md-5.net>
2019-04-30 21:31:08 +10:00
CraftBukkit/Spigot bfea9a3269 Add Override annotations where appropriate
By: md_5 <git@md-5.net>
2019-04-28 11:38:01 +10:00
CraftBukkit/Spigot 660fe1b0df SPIGOT-4751: Update mappings version
By: md_5 <git@md-5.net>
2019-04-26 09:08:32 +10:00
CraftBukkit/Spigot 545d8a9948 SPIGOT-4726: Lore not being applied to new items
By: md_5 <git@md-5.net>
2019-04-24 09:54:58 +10:00
CraftBukkit/Spigot 4e5e39eda9 SPIGOT-4727: Fix CraftEvil for legacy plugins
By: md_5 <git@md-5.net>
2019-04-24 09:40:42 +10:00
CraftBukkit/Spigot 09673c1a03 Apply import ordering rules to CraftBukkit classes
By: md_5 <git@md-5.net>
2019-04-23 14:54:36 +10:00
CraftBukkit/Spigot 7afe4d02f8 Begin implementation of CheckStyle style checking
By: md_5 <git@md-5.net>
2019-04-23 14:00:30 +10:00
CraftBukkit/Spigot a0f2b74c8d Update to Minecraft 1.14-pre5
By: md_5 <git@md-5.net>
2019-04-23 12:00:00 +10:00
CraftBukkit/Spigot dee9a212cf SPIGOT-4677: Add minecraft.admin.command_feedback permission
By: md_5 <git@md-5.net>
2019-04-20 13:24:20 +10:00
CraftBukkit/Spigot dcc541a4a0 Mappings Update
By: md_5 <git@md-5.net>
2019-03-17 11:48:53 +11:00
CraftBukkit/Spigot 6caa3d0de8 Don't ignore newlines in PlayerListHeader/Footer
By: Yannick Lamprecht <yannicklamprecht@live.de>
2019-03-10 11:04:15 +11:00
CraftBukkit/Spigot 0d8ed5d869 Fix line endings in CraftDefaultPermissions
By: md_5 <git@md-5.net>
2019-02-25 19:41:44 +11:00
CraftBukkit/Spigot d39743e20c Fix incorrect method descriptor in previous commit
By: md_5 <git@md-5.net>
2019-02-06 08:08:45 +11:00
CraftBukkit/Spigot d4aca3321d SPIGOT-4608: Improve quality of MapMeta APIs
By: md_5 <git@md-5.net>
2019-02-05 21:29:03 +11:00
CraftBukkit/Spigot 1f4d52d582 SPIGOT-4577: Fix loss of int/double custom tags when serialized to yaml
By: Bjarne Koll <LynxPlay101@gmail.com>
2019-01-13 16:25:17 +01:00
CraftBukkit/Spigot 92b2d3a400 Replace version constants with methods to prevent compiler inlining
By: md_5 <git@md-5.net>
2018-12-30 16:00:31 +11:00
CraftBukkit/Spigot 70789fee2e Add CraftMagicNumbers.MAPPINGS_VERSION for use by NMS plugins
By: md_5 <git@md-5.net>
2018-12-26 08:00:00 +11:00
CraftBukkit/Spigot 83baf22bde Mappings Update
By: md_5 <git@md-5.net>
2018-12-13 11:00:00 +11:00
CraftBukkit/Spigot 102dee7d4f Mappings Update
By: md_5 <git@md-5.net>
2018-12-06 10:00:00 +11:00
CraftBukkit/Spigot b69f1de549 SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks
By: Bjarne Koll <LynxPlay101@gmail.com>
2018-12-01 20:26:23 +11:00
CraftBukkit/Spigot 7124aea9c6 Add Vanilla help to default permissions
By: md_5 <git@md-5.net>
2018-12-03 15:16:27 +11:00
CraftBukkit/Spigot 273056bd1a SPIGOT-4496: Undeprecate MapView.getId and make int
By: md_5 <git@md-5.net>
2018-11-23 11:50:48 +11:00
CraftBukkit/Spigot 369edcded9 Add ray tracing and bounding box API
By: blablubbabc <lukas@wirsindwir.de>
2018-10-26 19:59:42 +11:00
CraftBukkit/Spigot a194267323 Update to Minecraft 1.13.2
By: md_5 <git@md-5.net>
2018-10-23 06:00:00 +11:00
CraftBukkit/Spigot a0b017be88 SPIGOT-4398: Set ASM7_EXPERIMENTAL flag
By: md_5 <git@md-5.net>
2018-09-27 20:54:14 +10:00
CraftBukkit/Spigot 2e41945330 SPIGOT-4313: Unsupported plugin should not crash server
By: md_5 <git@md-5.net>
2018-08-27 12:57:04 +10:00
CraftBukkit/Spigot 3edc1cf4e0 SPIGOT-4301: Fix more invalid enchants
By: md_5 <git@md-5.net>
2018-08-26 18:48:32 +10:00