-
-
Notifications
You must be signed in to change notification settings - Fork 30
/
Deprecations.java
362 lines (261 loc) · 33.7 KB
/
Deprecations.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
package com.denizenscript.denizencore.utilities;
import com.denizenscript.denizencore.utilities.debugging.*;
import java.util.HashSet;
/**
* This is a special class to contain all deprecation warnings, ordered by date they were added.
* This should help in keeping track of what's been deprecated (but still is present).
*/
public class Deprecations {
/**
* Tracker of deprecation messages that were triggered recently (since last count).
*/
public static HashSet<String> firedRecently = new HashSet<>();
// In Bukkit impl, Added on 2018/12/23
// Bad candidate for functionality removal - a bit handy to use in "/ex", despite being clearly bad in standard scripts.
// Recommend never removing.
public static Warning playerByNameWarning = new Warning("playerByNameWarning", "Warning: loading player by name - use the UUID instead (or use tag server.match_player)!");
// Added 2020/03/14, moved from future to current 2021/11/12, moved to strong 2022/04/04.
// Should be rapidly advanced through deprecation levels: removing this allows for a significant amount of legacy code removal.
public static Warning eventCommand = new StrongWarning("eventCommand", "The event command is deprecated: use 'customevent' instead. The 'event' command represents an outdated idea of how events should function inside.");
// Added on 2019/02/06
// Bad candidate for functionality remove - 'c' was used often.
// Recommend removal 2023 or later.
public static Warning contextShorthand = new StrongWarning("contextShorthand", "Short-named tags are hard to read. Please use 'context' instead of 'c' as a root tag.");
// 'e' may be safe for removal
public static Warning entryShorthand = new StrongWarning("entryShorthand", "Short-named tags are hard to read. Please use 'entry' instead of 'e' as a root tag.");
// Added on 2019/07/13
// Bad candidate for functionality removal - used to be commonly used
public static Warning oldEscapeTags = new StrongWarning("oldEscapeTags", "'escape:' tags are deprecated. Please use '.escaped' element tags instead.");
// In Bukkit impl, Added on 2019/08/11
// Recommend removal 2023 or later.
public static Warning oldEconomyTags = new StrongWarning("oldEconomyTags", "player.money.currency* tags are deprecated in favor of server.economy.currency* tags.");
// In Bukkit impl, Added on 2019/08/19
public static Warning pointlessTextTags = new StrongWarning("pointlessTextTags", "Several text tags like '&dot' or '&cm' are pointless (there's no reason you can't just directly write them in). Please replace them with the actual intended text.");
// Added on 2019/09/13
// Bad candidate for functionality removal - used to be commonly used
public static Warning elementAsIntTag = new StrongWarning("elementAsIntTag", "'element.as_int' tag is deprecated: use '.round', '.round_down', or '.round_up'.");
// In Bukkit impl, Added on 2019/09/18, but was deprecated earlier.
public static Warning worldContext = new StrongWarning("worldContext", "'context.world' in events containing a location or chunk context is deprecated: use 'context.location.world' or similar to get the world value.");
public static Warning entityBreaksHangingEventContext = new StrongWarning("entityBreaksHangingEventContext", "'context.entity' in event 'on player breaks hanging' is deprecated: use 'context.breaker'.");
public static Warning hangingBreaksEventContext = new StrongWarning("hangingBreaksEventContext", "'context.location' in event 'on hanging breaks' is deprecated: use 'context.hanging.location'.");
public static Warning playerRightClicksEntityContext = new StrongWarning("playerRightClicksEntityContext", "'context.location' in event 'on player right clicks entity' is deprecated: use 'context.entity.location'.");
public static Warning blockDispensesItemDetermination = new StrongWarning("blockDispensesItemDetermination", "Multiplier double determination for 'on block dispenses item' is deprecated: use 'context.velocity.mul[#]'.");
public static Warning serverRedirectLogging = new StrongWarning("serverRedirectLogging", "server mechanism redirect_logging is deprecated: use the system mechanism by the same name.");
// In Bukkit impl, Added on 2019/09/25, but was deprecated earlier.
// Bad candidate for functionality removal - used to be commonly used
public static Warning qtyTags = new StrongWarning("qtyTags", "'qty' in a tag or command is deprecated: use 'quantity'.");
// In Bukkit impl, Added on 2019/09/25
// Prime candidate for functionality removal - tags were only recently added, and were always jank.
public static Warning bookItemRawTags = new StrongWarning("bookItemRawTags", "Raw text tags for books were a placeholder. The normal (non-raw) tags now contain all needed data.");
// In Bukkit impl, Added on 2019/11/22
public static Warning serverPluginNamesTag = new StrongWarning("serverPluginNamesTag", "'server.list_plugin_names' is deprecated: use 'server.list_plugins'");
// In Bukkit impl, Added on 2019/11/25
public static Warning locationBiomeFormattedTag = new StrongWarning("locationBiomeFormattedTag", "'location.biome.formatted' is deprecated: use 'location.biome.name' (uses BiomeTag.name)");
// In Bukkit impl, Added on 2019/11/26
public static Warning nbtCommand = new StrongWarning("nbtCommand", "The NBT command is deprecated: use item flags instead.");
// In Bukkit impl, Added on 2019/11/30
public static Warning serverListMaterialNames = new StrongWarning("serverListMaterialNames", "The tag 'server.list_materials' is deprecated: use '<server.list_material_types.parse[name]>' to get a matching result.");
public static Warning serverListBiomeNames = new StrongWarning("serverListBiomeNames", "The tag 'server.list_biomes' is deprecated: use '<server.list_biome_types.parse[name]>' to get a matching result.");
// In Bukkit impl, Added on 2019/12/24
public static Warning entityRemainingAir = new StrongWarning("entityRemainingAir", "The mechanism 'EntityTag.remaining_air' is deprecated: use 'EntityTag.oxygen' instead (duration input vs. tick input).");
// In Bukkit impl, Added on 2019/07/13
public static Warning oldParseTag = new StrongWarning("oldParseTag", "'parse:' tags are deprecated. Please use '.parsed' element tags instead.");
// Added on 2019/10/09, but was changed earlier.
public static Warning oldTernTag = new StrongWarning("oldTernTag", "'tern[a]:b||c' tag style is deprecated. Please use 'tern[a].pass[b].fail[c]' tag style instead.");
// In Bukkit impl, Added on 2019/09/09
public static Warning oldNPCNavigator = new StrongWarning("oldNPCNavigator", "'npc.navigator.*' tags are deprecated. Just remove the '.navigator' part, they're the same after that.");
// In Bukkit impl, Added on 2019/09/24, made normal 2021/11/2021.
public static Warning oldRecipeScript = new Warning("oldRecipeScript", "Item script single-recipe format is outdated. Use the modern 'recipes' list key (see meta docs).");
// In Bukkit impl, Added on 2020/01/15
public static Warning worldRandomLoadedChunkTag = new StrongWarning("worldRandomLoadedChunkTag", "The 'world.random_loaded_chunk' tag is pointless. Use 'world.loaded_chunks.random' instead.");
// In Bukkit impl, Added on 2020/01/15
public static Warning entityCustomIdTag = new StrongWarning("entityCustomIdTag", "The tag 'EntityTag.custom_id' is deprecated. Use '.script' instead, though it is technically equivalent to <ENTITY.script||<ENTITY.entity_type>>.");
// In Bukkit impl, Added on 2020/01/15
public static Warning playerActionBarMech = new StrongWarning("playerActionBarMech", "The mechanism 'PlayerTag.action_bar' is deprecated. Use the 'actionbar' command instead.");
// Added on 2019/10/08, made current on 2020/02/12
public static Warning ifCommandSingleLine = new StrongWarning("ifCommandSingleLine", "Single line if commands are deprecated. Please update them to modern format.");
public static Warning oldBraceSyntax = new StrongWarning("oldBraceSyntax", "The { braced } command format is deprecated. Please use the ':' colon syntax (refer to documentation).");
// In Bukkit impl, Relevant as of 2019/09/25, made current on 2020/02/12
private static String pointlessSubtagPrefix = "Most pointless sub-tags are deprecated in favor of explicit unique tags. ";
public static Warning npcNicknameTag = new Warning("npcNicknameTag", pointlessSubtagPrefix + "npc.name.nickname is now just npc.nickname. Note that this historically appeared in the config.yml file, so check there if you're unsure what's using this tag.");
public static Warning npcPreviousLocationTag = new Warning("npcPreviousLocationTag", pointlessSubtagPrefix + "npc.location.previous_location is now just npc.previous_location.");
public static Warning npcAnchorListTag = new Warning("npcAnchorListTag", pointlessSubtagPrefix + "npc.anchor.list is now just npc.list_anchors.");
public static Warning playerMoneyFormatTag = new Warning("playerMoneyFormatTag", pointlessSubtagPrefix + "player.money.format is now just player.formatted_money.");
public static Warning playerFoodLevelFormatTag = new Warning("playerFoodLevelFormatTag", pointlessSubtagPrefix + "player.food_level.format is now just player.formatted_food_level.");
public static Warning playerBanInfoTags = new Warning("playerBanInfoTags", pointlessSubtagPrefix + "player.ban_info.* tags are now just player.ban_*.");
public static Warning playerNameTags = new Warning("playerNameTags", pointlessSubtagPrefix + "player.name.* tags are now just player.*_name.");
public static Warning playerSidebarTags = new Warning("playerSidebarTags", pointlessSubtagPrefix + "player.sidebar.* tags are now just player.sidebar_*.");
public static Warning playerAttackCooldownTags = new Warning("playerAttackCooldownTags", pointlessSubtagPrefix + "player.attack_cooldown.* tags are now just player.attack_cooldown_*.");
public static Warning playerXpTags = new Warning("playerXpTags", pointlessSubtagPrefix + "player.xp.* tags are now just player.xp_*.");
public static Warning entityHealthTags = new Warning("entityHealthTags", pointlessSubtagPrefix + "entity.health.* tags are now just entity.health_*.");
public static Warning entityMaxOxygenTag = new Warning("entityMaxOxygenTag", pointlessSubtagPrefix + "entity.oxygen.max is now just entity.max_oxygen.");
public static Warning itemBookTags = new Warning("itemBookTags", pointlessSubtagPrefix + "item.book.* tags are now just item.book_*.");
public static Warning playerItemInHandSlotTag = new Warning("playerItemInHandSlotTag", pointlessSubtagPrefix + "player.item_in_hand_slot is now just player.held_item_slot.");
// In Bukkit impl, Added on 2020/02/17
// Prime candidate for functionality removal - command hasn't been used or recommended by anyone in years, and has clear faults that would have prevented usage for most users.
public static Warning scribeCommand = new StrongWarning("scribeCommand", "The scribe command was created many years ago, in an earlier era of Denizen, and doesn't make sense to use anymore. Consider the 'equip', 'give', or 'drop' commands instead.");
// Added 2020/03/14
public static Warning oldStyleRandomCommand = new StrongWarning("oldStyleRandomCommand", "Using the 'random' command with an argument number is deprecated: use the modern colon syntax instead (refer to documentation).");
// In Bukkit impl, Added 2020/04/24 but deprecated long ago.
public static Warning takeCommandInventory = new StrongWarning("takeCommandInventory", "'take inventory' is deprecated: use 'inventory clear' instead.");
public static Warning oldInventoryCommands = new StrongWarning("oldInventoryCommands", "The 'inventory' command sub-options 'add' and 'remove' are deprecated: use 'give' or 'take' command instead.");
// In Bukkit impl, Added 2020/04/24.
public static Warning itemInventoryTag = new Warning("itemInventoryTag", "The tag 'item.inventory' is deprecated: use inventory_contents instead.");
// In Bukkit impl, Added 2020/05/21.
public static Warning itemSkinFullTag = new Warning("itemSkinFullTag", pointlessSubtagPrefix + "item.skin.full is now item.skull_skin.");
// In Bukkit impl, Added 2020/06/03 but deprecated long ago.
public static Warning oldBossBarMech = new Warning("oldBossBarMech", "The show_boss_bar mechanism is deprecated: use the bossbar command instead.");
public static Warning oldTimeMech = new Warning("oldTimeMech", "The player.*time mechanisms are deprecated: use the time command instead.");
public static Warning oldWeatherMech = new Warning("oldWeatherMech", "The player.*weather mechanisms are deprecated: use the weather command instead.");
public static Warning oldKickMech = new Warning("oldKickMech", "The player.kick mechanism is deprecated: use the kick command instead.");
public static Warning oldMoneyMech = new Warning("oldMoneyMech", "The player.money mechanism is deprecated: use the money command instead.");
// Added 2020/06/13.
public static Warning scriptConstantTag = new Warning("scriptConstantTag", "The script.constant system has been deprecated in favor of just using data_key.");
// In Bukkit impl, added 2020/07/04, made normal 2021/11/2021.
public static Warning cuboidFullTag = new Warning("cuboidFullTag", "The tag cuboid.full is deprecated: this should just never be used.");
public static Warning furnaceTimeTags = new Warning("furnaceTimeTags", "The furnace_burn_time, cook time, and cook total time tag/mechs have been replaced by _duration instead of _time equivalents (using DurationTag now).");
public static Warning playerTimePlayedTags = new Warning("playerTimePlayedTags", "The tags player.first_played, last_played, ban_expiration, and ban_created have been replaced by tags of the same name with '_time' added to the end (using TimeTag now).");
// In Bukkit impl, added 2020/07/19, made normal 2021/11/2021.
public static Warning airLevelEventDuration = new Warning("airLevelEventDuration", "The 'entity changes air level' event uses 'air_duration' context now instead of the old tick count number.");
public static Warning damageEventTypeMap = new Warning("damageEventTypeMap", "The 'entity damaged' context 'damage_[TYPE]' is deprecated in favor of 'damage_type_map', which is operated as a MapTag.");
// In Bukkit impl, added 2020/07/28, made normal 2021/11/2021.
public static Warning headCommand = new Warning("headCommand", "The 'head' command is deprecated: use the 'equip' command with a 'player_head' item using the 'skull_skin' mechanism.");
// In Bukkit impl, added 2020/08/01, made normal 2021/11/2021.
public static Warning entityRemoveWhenFar = new Warning("entityRemoveWhenFar", "The EntityTag remove_when_far_away property is deprecated in favor of the persistent property (which is the exact inverse).");
public static Warning entityPlayDeath = new Warning("entityPlayDeath", "The EntityTag 'play_death' mechanism is deprecated: use the animate command.");
// In Bukkit impl, added 2020/08/19, made normal 2021/11/2021.
public static Warning npcSpawnMechanism = new Warning("npcSpawnMechanism", "The NPCTag 'spawn' mechanism is deprecated: use the spawn command.");
// In Bukkit impl, Added 2020/05/17, made current on 2020/10/24.
public static Warning itemFlagsProperty = new StrongWarning("itemFlagsProperty", "The item.flags property has been renamed to item.hides, to avoid confusion with the new flaggable itemtags system.");
// In Bukkit impl, Added 2020/11/22, made normal 2021/11/2021.
public static Warning biomeSpawnableTag = new Warning("biomeSpawnableTag", pointlessSubtagPrefix + "The tag BiomeTag.spawnable_entities.(type) is deprecated: the type is now an input context instead.");
// In Bukkit impl, Added 2020/11/30, made normal 2021/11/2021.
public static Warning npcDespawnMech = new Warning("npcDespawnMech", "The NPCTag despawn mechanism is deprecated: use the despawn command.");
// Added 2021/02/17.
public static Warning listEscapeContents = new SlowWarning("listEscapeContents", "The tags ListTag.escape_contents and unescape_contents are deprecated: use parse[escaped] and parse[unescaped], or just don't escape in the first place as most list escapes are no longer needed.");
// Added 2021/02/25.
public static Warning zapPrefix = new SlowWarning("zapPrefix", "The 'zap' command should be used with the scriptname and step as two separate arguments, not just one.");
// Added 2021/04/16, made strong 2022/03/19.
// Valid candidate for functionality remove with a 'past deprecations' backup warning - has been deprecated for a while, and is a trivial update to apply
public static Warning ymlFileExtension = new StrongWarning("ymlFileExtension", "Denizen scripts use the '.dsc' file extension, not '.yml'. Please follow the Denizen beginner's guide https://guide.denizenscript.com/ - if you need help, ask in the official Denizen Discord @ https://discord.gg/Q6pZGSR");
// In Bukkit impl, Added 2020/03/05, made current on 2021/04/16.
public static Warning oldPlayEffectSpecials = new SlowWarning("oldPlayEffectSpecials", "The playeffect input of forms like 'iconcrack_' have been deprecated in favor of using the special_data input (refer to meta docs).");
// In Bukkit impl, Added 2020/04/16.
public static Warning entityStandingOn = new SlowWarning("entityStandingOn", pointlessSubtagPrefix + "entity.location.standing_on is now just entity.standing_on.");
// In Bukkit impl, Added 2021/05/02.
public static Warning hurtSourceOne = new SlowWarning("hurtSourceOne", "The 'hurt' command's 'source_once' argument is deprecated due to being now irrelevant thanks to the new NMS backing for the hurt command.");
// In Bukkit impl, Added 2021/05/05.
public static Warning materialLit = new SlowWarning("materialLit", "The MaterialTag property 'lit' is deprecated in favor of 'switched'.");
public static Warning materialCampfire = new SlowWarning("materialCampfire", "The MaterialTag property 'campfire' are deprecated in favor of 'type'.");
public static Warning materialDrags = new SlowWarning("materialDrags", "The MaterialTag property 'drags' are deprecated in favor of 'mode'.");
// In Bukkit impl, Added 2021/06/15, but was irrelevant years earlier.
public static Warning itemMessage = new SlowWarning("itemMessage", "The PlayerTag mechanism 'item_message' is deprecated in favor of using the actionbar.");
// In Bukkit impl, Added 2021/09/08, but was irrelevant years earlier.
public static Warning isValidTag = new SlowWarning("isValidTag", "The 'server.x_is_valid' style tags are deprecated: use '.exists', '.is_spawned.if_null[false]', etc.");
// In Bukkit impl, Added 2021/11/14.
public static Warning blockSpreads = new SlowWarning("blockSpreads", "There are two '<block> spreads' events - use 'block spreads type:<block>' or 'liquid spreads type:<block>'");
// In Bukkit impl, Added 2019/10/03, made slow 2021/11/14.
public static Warning inAreaSwitchFormat = new SlowWarning("inAreaSwitchFormat", "The old 'in <area>' in-line event format is deprecated, use the switch format for 'in:<area>'.");
// In Bukkit impl, Added 2021/11/15.
public static Warning horseJumpsFormat = new SlowWarning("horseJumpsFormat", "The '<color> horse jumps' event is deprecated: don't put the color in the event line. (Deprecated for technical design reasons).");
// In Bukkit impl, Added 2019/11/11, made slow 2021/11/2021.
public static Warning entityLocationCursorOnTag = new SlowWarning("entityLocationCursorOnTag", "entity.location.cursor_on tags should be replaced by entity.cursor_on (be careful with the slight differences though).");
public static Warning playerHasPlayedBefore = new SlowWarning("playerHasPlayedBefore", "The tag player.has_played_before has never returned any value other than 'true', and as such is a useless tag. Use flags to track whether a player has joined.");
// ==================== VERY SLOW deprecations ====================
// These are only shown minimally, so server owners are aware of them but not bugged by them. Only servers with active scripters (using 'ex reload') will see them often.
// Added 2020/05/23, bump to normal slow warning by 2023.
public static Warning timeTagRewrite = new VerySlowWarning("timeTagRewrite", "Using old Duration-Time - TimeTag is now separate from DurationTag, and some tags have changed as a result.");
// Added 2020/05/29, bump to normal slow warning by 2023.
public static Warning listOldMapTags = new VerySlowWarning("listOldMapTags", "Old list.map_* tags are deprecated: use the modern MapTag options instead.");
// In Bukkit impl, Added 2020/04/19, Relevant for many years now, bump to normal slow warning by 2023.
public static Warning interactScriptPriority = new VerySlowWarning("interactScriptPriority", "Assignment script 'interact scripts' section should not have numbered priority values, these were removed years ago. Check https://guide.denizenscript.com/guides/troubleshooting/updates-since-videos.html#assignment-script-updates for more info.");
// Added 2020/06/13, bump to normal slow warning by 2023.
public static Warning yamlDataContainer = new VerySlowWarning("yamlDataContainer", "'yaml data' containers are now just called 'data' containers.");
// Added 2021/10/17, bump to normal slow warning by 2023.
public static Warning queueExists = new VerySlowWarning("queueExists", "'queue.exists[...]' tag is deprecated in favor of queue[...].exists");
public static Warning queueStats = new VerySlowWarning("queueStats", "'queue.stats' tag is deprecated in favor of 'util.event_stats', and 'queue.list' is deprecated in favor of 'util.queues'");
// In Bukkit impl, Added 2021/10/24, bump to normal slow warning by 2023.
public static Warning entityArmorPose = new VerySlowWarning("entityArmorPose", "The old EntityTag.armor_pose and armor_pose_list tags are dperecated in favor of armor_pose_map.");
// Added 2021/10/28, bump to normal slow warning by 2023.
public static Warning dynamicPrefix = new VerySlowWarning("dynamicPrefix", "Dynamically prefixed arguments (for 'prefix:value' arguments, like '<[sometag]>:<[somevalue]>') were never officially permitted and are now deprecated. You must specify a prefix explicitly if one is needed.");
// In Bukkit impl, Added 2021/04/13, bump to normal slow warning by 2023.
public static Warning materialHasDataPackTag = new VerySlowWarning("materialHasDataPackTag", "The tag 'MaterialTag.has_vanilla_data_tag[...]' is deprecated in favor of MaterialTag.vanilla_tags.contains[<name>]");
public static Warning materialPropertyTags = new VerySlowWarning("materialPropertyTags", "Old MaterialTag.is_x property tags are deprecated in favor of PropertyHolderObject.supports[property-name]");
// Added 2020/05/24, bump to normal slow warning by 2023.
public static Warning flagIsExpiredTag = new VerySlowWarning("flagIsExpiredTag", pointlessSubtagPrefix + "'flag[...].is_expired' is deprecated: use 'has_flag[...]' instead.");
public static Warning flagExpirationTag = new VerySlowWarning("flagExpirationTag", pointlessSubtagPrefix + "'flag[...].expiration' is deprecated: use 'flag_expiration[...]' instead.");
// In Bukkit impl, Added 2020/06/13, bump to normal slow warning by 2023.
public static Warning listStyleTags = new VerySlowWarning("listStyleTags", "'list_' tags are deprecated: just remove the 'list_' prefix.");
// In Bukkit impl, Added 2020/07/03, bump to normal slow warning by 2023.
public static Warning attachToMech = new VerySlowWarning("attachToMech", "The entity 'attach_to' mechanism is deprecated: use the new 'attach' command instead!");
// In Bukkit impl, Added 2020/07/12, bump to normal slow warning by 2023.
public static Warning entityEquipmentSubtags = new VerySlowWarning("entityEquipmentSubtags", pointlessSubtagPrefix + " 'entity.equipment.slotname' is deprecated: use 'entity.equipment_map.get[slotname]' instead.");
// In Bukkit impl, Added 2020/12/14, but deprecated unofficially earlier, bump to normal slow warning by 2023.
public static Warning queueClear = new VerySlowWarning("queueClear", "Usage of 'queue clear' or 'queue stop' to stop the current queue is deprecated: use the 'stop' command.");
// In Bukkit impl, Added 2020/12/25, bump to normal slow warning by 2023.
public static Warning itemEnchantmentTags = new VerySlowWarning("itemEnchantmentTags", pointlessSubtagPrefix + "The ItemTag.enchantments.* tags are deprecated: use enchantment_map and relevant MapTag subtags.");
// In Bukkit impl (paper module), Added 2022/03/20
// // bump to normal warning and/or past warning after 1.18 is the minimum supported version (change happened in MC 1.18)
public static Warning paperNoTickViewDistance = new VerySlowWarning("paperNoTickViewDistance", "Paper's 'no_tick_view_distance' is deprecated in favor of modern minecraft's 'simulation_distance' and 'view_distance' separation");
// ==================== FUTURE deprecations ====================
// In Bukkit impl, Added 2020/10/18, deprecate officially by 2023.
// Bad candidate for functionality removal due to frequency of use and likelihood of pre-existing data in save files.
public static Warning itemDisplayNameMechanism = new FutureWarning("itemDisplayNameMechanism", "The item 'display_name' mechanism is now just the 'display' mechanism.");
// In Bukkit impl, Added 2020/12/05, deprecate officially by 2022.
// Bad candidate for functionality removal due to frequency of use and likelihood of pre-existing data remaining in world data.
public static Warning itemNbt = new FutureWarning("itemNbt", "The item 'nbt' property is deprecated: use ItemTag flags instead!");
// In Bukkit impl, Added 2021/02/03, deprecate officially by 2023.
public static Warning hasScriptTags = new FutureWarning("hasScriptTags", "The ItemTag.scriptname and EntityTag.scriptname and ItemTag.has_script and NPCTag.has_script tags are deprecated: use '.script.name' or a null check on .script.");
// In Bukkit impl, Added 2021/10/18, deprecate officially by 2023.
public static Warning entityMechanismsFormat = new FutureWarning("entityMechanismsFormat", "Entity script containers previously allowed mechanisms in the script's root, however they should now be under a 'mechanisms' key.");
// Added 2021/02/04, deprecate officially by 2024.
public static Warning splitNewDataAction = new FutureWarning("splitNewDataAction", "The 'split to new list' data action ('key:!|:value') is deprecated: this no longer has a purpose, as you can instead just set to the list.");
// Added 2021/02/05, deprecate officially by 2023.
public static Warning itemProjectile = new FutureWarning("itemProjectile", "The item_projectile custom entity type is deprecated: modern minecraft lets you set the item of any projectile, like 'snowball[item=stick]'");
// Added 2021/03/02, deprecate officially by 2023.
public static Warning itemScriptColor = new FutureWarning("itemScriptColor", "The item script 'color' key is deprecated: use the 'color' mechanism under the 'mechanisms' key instead.");
// In Bukkit impl, Added 2021/03/29, deprecate officially by 2023.
public static Warning legacyAttributeProperties = new FutureWarning("legacyAttributeProperties", "The 'attribute' properties are deprecated in favor of the 'attribute_modifiers' properties which more fully implement the attribute system.");
// Added 2021/04/14, deprecate officially by 2023.
public static Warning locallyArgument = new FutureWarning("locallyArgument", "The 'locally' argument in run/inject is deprecated: just specify the script name, or <script>.");
// In Bukkit impl, Added 2021/07/26, deprecate officially by 2023.
public static Warning itemEnchantmentsLegacy = new FutureWarning("itemEnchantmentsLegacy", "The tag 'ItemTag.enchantments' is deprecated: use enchantments_map, or enchantment_types.");
public static Warning echantmentTagUpdate = new FutureWarning("echantmentTagUpdate", "Several legacy enchantment-related tags are deprecated in favor of using EnchantmentTag.");
// In Bukkit impl, Added 2021/03/27, deprecate officially by 2024.
public static Warning locationFindEntities = new FutureWarning("locationFindEntities", "The tag 'LocationTag.find.entities.within' and 'blocks' tags are replaced by the 'find_entities' and 'find_blocks' versions. They are mostly compatible, but now have advanced matcher options.");
public static Warning inventoryNonMatcherTags = new FutureWarning("inventoryNonMatcherTags", "The 'InventoryTag' tags 'contains', 'quantity', 'find', 'exclude' with raw items are deprecated and replaced by 'contains_item', 'quantity_item', 'find_item', 'exclude_item' that use advanced matcher logic.");
public static Warning takeRawItems = new FutureWarning("takeRawItems", "The 'take' command's ability to remove raw items without any command prefix, and the 'material' and 'scriptname' options are deprecated: use the 'item:<matcher>' option.");
// In Bukkit impl, Added 2021/08/30, deprecate officially by 2023.
public static Warning giveTakeMoney = new FutureWarning("giveTakeMoney", "The 'take' and 'give' commands option for 'money' are deprecated in favor of using the 'money' command.");
// In Bukkit impl, Added 2021/08/30, deprecate officially by 2024.
public static Warning playerResourcePackMech = new FutureWarning("playerResourcePackMech", "The 'resource_pack' mechanism is deprecated in favor of using the 'resourcepack' command.");
// In Bukkit impl, Added 2021/11/07, deprecate officially by 2024.
public static Warning assignmentRemove = new FutureWarning("assignmentRemove", "'assignment remove' without a script is deprecated: use 'clear' to clear all scripts, or 'remove' to remove one at a time.");
public static Warning npcScriptSingle = new FutureWarning("npcScriptSingle", "'npc.script' is deprecated in favor of 'npc.scripts' (plural).");
// In multiple places, Added 2021/11/20, deprecate officially by 2023.
public static Warning pseudoTagBases = new FutureWarning("pseudoTagBases", "Pseudo-tags like '<text>', '<name>', '<amount>', and '<permission>' are deprecated in favor of definitions: just replace <text> with <[text]> or similar.");
// Added 2021/12/08, deprecate officially by 2023.
public static Warning oldUtilRandomTags = new FutureWarning("oldUtilRandomTags", "Several 'util.random.xxx' are deprecated in favor of 'util.random_xxx' (the same tag, but '_' instead of a '.', for format standardization reasons)");
// In Bukkit impl, Added 2022/01/30, deprecate officially by 2023.
public static Warning entityItemEnderman = new FutureWarning("entityItemEnderman", "The property 'entity.item' for endermen has been replaced by 'entity.material' due to usage of block materials.");
// In Bukkit impl, Added 2022/02/21, deprecate officially by 2024.
public static Warning oldPotionEffects = new FutureWarning("oldPotionEffects", "The comma-separated-list potion effect tags like 'list_effects' are deprecated in favor of MapTag based tags - 'effects_data'. Refer to meta documentation for details.");
// Added 2022/03/30, deprecate officially by 2024.
public static Warning oldNonSecretTagPassword = new FutureWarning("oldNonSecretTagPassword", "Passwords and tokens used to be sent through tags or passwordfiles, it is now recommended instead that you use the 'secrets.secret' file with SecretTag. This includes the 'SQL connect' command.");
// Added 2022/04/11, deprecate officially by 2024.
public static Warning prebinaryTags = new FutureWarning("prebinaryTags", "Tags and tools related to binary processing that predate the BinaryTag feature are deprecated in favor of using BinaryTag. This includes 'ElementTag.base64_encode/decode', 'hex_encode/decode', ... refer to meta-docs for specifics");
// ==================== PAST deprecations of things that are already gone but still have a warning left behind ====================
// In Bukkit impl, Added on 2019/10/13
public static Warning versionScripts = new StrongWarning("versionScripts", "Version script containers are deprecated due to the old script repo no longer being active.");
// Removed in February 2020.
public static Warning ancientDefs = new StrongWarning("ancientDefs", "Ancient-style definitions (those with percent signs like %def%) were removed in Denizen 1.1.3, and can no longer be used. Instead, use <[def]>.");
public static Warning instantTags = new StrongWarning("instantTags", "Instant tags (those with a caret prefix, like <^tag>) were removed in Denizen 1.1.3, and can no longer be used. Instead, pre-define the player or NPC on the line before.");
// In Bukkit impl, Added on 2019/03/08, removed 2020/10/24.
public static Warning boundWarning = new StrongWarning("boundWarning", "Item script 'bound' functionality has never been reliable and should not be used. Consider replicating the concept with world events.");
// Added on 2019/08/27, removed 2020/10/24.
public static Warning yamlFixFormatting = new StrongWarning("yamlFixFormatting", "YAML command 'fix_formatting' argument is deprecated: this should never be used.");
// Added on 2021/04/16.
public static Warning dscriptFileExtension = new StrongWarning("dscriptFileExtension", "'.dscript' extension has never been officially supported. Please use '.dsc'.");
// Deprecated 2019/02/06, removed 2022/03/19.
public static Warning globalTagName = new StrongWarning("globalTagName", "Using 'global' as a base tag is a deprecated alternate name. Please use 'server' instead.");
}