forked from Andross96/BanItem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
311 lines (311 loc) · 16.4 KB
/
CHANGELOG
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
v3.3.3:
- Added reverted custom items:
- Using the reverted keyword, the plugin will revert the ban of a custom item (all items will be banned except the custom item);
- Updated plugin for 1.18 and more:
- full recode of the versioning system which allows the plugin to work on several updates;
--------------------------------------------
v3.3.2: (hotfix)
- Fixed smith action error;
--------------------------------------------
v3.3.1: (hotfix)
- Fixed inventory error;
- Fixed enchantments ban data;
--------------------------------------------
v3.3:
- Added smith action: when the recipe of an item is completed inside a smithing table (MC>=1.16);
- Added custom permission per item/action:
- This is an important notable improvement for the permission system.
- Please check the documentation for more info.
- Fixed craft action:
- was displaying banned message even if the item does not match;
- now displays the crafted item but block it;
- Removed "addeverywhere" from tab completition;
- Fixed click action on air (thanks to @LoneDev): require 'click' priority into config;
- Fixed transfer action for the workbench;
- Fixed transfer action for dragging items;
- Fixed water bottle error when using potion custom item;
- Fixed error with inventories on 1.7;
- Fixed error with entitydrop;
- Code clean up;
- PlayerBanItemEvent#getaction() and #getactiondata() are now deprecated (typo);
--------------------------------------------
v3.2:
- Added use action: when the player right click with the item in hand;
- Relaxed place action: only matches block placements;
- NBTAPI into custom items can be written inline;
- Enhanced bi info command:
- Custom items names shows if the item matches;
- Added bi info debug, to entirely debug an item with item meta (and more if NBTAPI available);
- Added new hooks for custom items:
- AdvancedEnchantments (Beta);
- ItemsAdder (big thanks to LoneDev);
- Added lore contains with regex for custom items;
--------------------------------------------
v3.1.1:
- Added resistance potion alias;
- Enhanced drops action for MC>=1.13.2;
- Fixed metaitem get command;
- Fixed enchants on custom item with enchanted book;
- Fixed & improved wear action;
- Fixed wear scanner shutdown after reload;
- Fixed smelt action for forge;
- Fixed some permissions with custom items;
- Fixed permissions with meta items;
- Code cleanup;
--------------------------------------------
v3.1:
- Recoded & highly optimized whole custom items system:
- You can now set multiple materials (also support regex);
- You can now use friendly minecraft potions names;
- You can now set interval levels for potions, enchantments and durability;
- Added integration with NBT-API: matches custom NBTs;
- Fixed durability matches for MC<1.13;
- Commands:
- Removed /banitem addeverywhere;
- Modified /banitem add command to allow:
- Writting none, one or multiples worlds;
- Writting none, one or multiples materials;
- Usable from console;
- Modified /banitem remove command to allow:
- Writting none, one or multiples worlds;
- Writting none, one or multiples materials;
- Usable from console;
- Config:
- Added configurable activable/deactivable debug section:
- errors: better debug for errors (was already available);
- reload: more details when reloading the plugin;
- colors-console: color codes into the messages on console;
- Added a wear scanner: will check (async) each second if a player is wearing a banned item;
- Added 'allitems' bypass permission;
- Fixed data into permissions (ex: entity type in 'attack' action);
- Fixed NPE when using the command before the plugin is loaded;
- Multiple other fixes & enhancements;
--------------------------------------------
v3.0.1:
- Added "unbreakable" metadata for custom items: check if the item is unbreakable;
- Fixed FurnaceExtractEvent error with "break" action;
--------------------------------------------
v3.0:
- NEW:
- Custom items:
- they are now customizable bannable items created in customitems.yml;
- they can have configurable item metas, this allows easier bans;
- Meta items:
- previously named "custom items";
- items that match the exact item meta;
- Renamed "options" to "actions"
- ADDED:
- Added "enchant" action: when a player enchants the item, with anvil or enchantment table;
- Added "hold" action: when the player holds the item;
- Added support of hex codes for 1.16+ (ex: "ӪDA")
- Added regex for item names & worlds names using a hashtag (#):
- Example: "#world" will get world, world_nether & world_the_end;
- Added '/bi load <filename>' to load differents configurations files;
- Added '/bi addeverywhere' to ban an item in all worlds;
- Added 'run' action data, it's a commands list executed when a banned action is done;
- Added "modeldata-equals" for custom items: to matches items with model datas (MC>=1.14);
- Added "lore_line_contains" for custom items: if a string from a line of the lore matches;
- Added an option in config to cancel the delete action in some inventory (using titles);
- Added friendly enchantments names for all versions;
- Permissions:
- Enhanced permissions checks & compatibility;
- should now be fully compatible with GroupManager;
- Added "banitem.bypass.*"
- Added "banitem.bypass.world.*"
- Added "banitem.bypass.allworlds.*"
- Fixes:
- Fixed brewing action (ingridients/potions);
- Fixed a bug with break action;
- API:
- Added a "DeleteBannedItemEvent" : run when an item should be deleted from a player inventoryview;
- Multiple Code & Performance enhancements;
--------------------------------------------
v2.4:
- New option bookedit: when the player edits or signs a book and quill item;
- [Config] Added wear worldguard region check (configurable): the plugin will check the player's equipment when changing regions;
- Fixed swap shift+click;
- Fixed color codes deserialization;
--------------------------------------------
v2.3:
- Added 1.16 support;
- Added WorldGuard region support (http://banitem.andross.fr/doc.html#options-data-region);
- Added 'inventoryclick' option: can not click this item in any inventory;
- Added 'rename' option: can not rename the item in an anvil, or from a (configurable) rename commands;
- Added configurable prefix;
- Added support of potions levels for metadata;
- Added update checker (configurable);
- Added metrics;
- Updated config file with new 'options' section: multiple configurations available for some options;
- Better recognition for craft option;
- Fixed swap option (+ no more drag item into inventory);
- Fixed specific subcommands permissions;
- Whole project restructure (packages, pom...);
- Updated API;
--------------------------------------------
v2.2:
- Added 'fill' option: block when a player try to fill a bucket with a fluid;
- Added 'unfill' option: block when a player try to unfill a bucket;
- Improved & fixed wear option;
- Fixed delete option for items with metadata;
- Fixed clientside inventory visual bug if an item is banned (MC<1.12);
- Code cleanup
--------------------------------------------
v2.1.2:
- Added available enchantments & potions name list in /banitem help;
- Fixed metadata potion names. They are also correctly debugged if not valid;
- Fixed craft option;
- Fixed metadata enchantments for enchanted book;
- Fixed events activation versions compatibility: no more errors if trying to use an option unavailable for the current minecraft version;
--------------------------------------------
v2.1.1:
- Fixed multiple same items in config overriden: now correctly add items instead of override them;
- Fixed potion metadata for MC<1.13;
- Fixed durability recognition for MC<1.13;
--------------------------------------------
v2.1:
- Added metadata ban data -> ban items only if they have a custom metadata (durability, displayname, lore, enchantment...);
- Entitydrop option now correctly support the player bypass permission;
- Optimized check command;
- Optimized blacklist & whitelist map;
- Fixed left hand utilisation;
--------------------------------------------
v2.0.1:
- Fixed info command;
- Fixed check command;
- Fixed drops option (FurnaceExtractEvent error);
- Fixed <1.8 rare exception;
--------------------------------------------
v2.0:
- New option brew: when the item is brewed into a brewing stand;
- New option drops: remove item drop from a breaked block;
- New option entitydrop: when the item is dropped by an entity;
- New option glide: when trying to glide with an elytra;
- New option hangingplace: when a player try to place a hanging item (itemframe, painting...);
- Option 'inventory' renamed to transfer, optimized & fixed: can not transfer an item from an inventory to another;
- Option wear optimized & fixed. Now also automatically give the item back (in inventory, or drop it if full) if a player already wear an item & change the world;
- Creative option is now part of ban data gamemode;
-Added options data:
- Can now check multiples datas depending of the option (entity involved, inventory used, player gamemode etc.)
- Added a 'gamemode' data, which will consider the player gamemode to apply the ban or not
- Added a 'log' boolean data, which allows players in game to be directly notified if player use a banned item, with /banitem log
- Added a 'cooldown' (in milliseconds) long data (non persistent), the ban only applies if players aren't in cooldown
- New in configuration:
- Better debug: displays a more detailled debug message, if something is not loaded well;
- Hopper transfer block: if it's enabled and if an item has transfer option, this will be blocked;
- Use the event api: to let others plugins modify the behavior of a banned action
- You can now set multiples ban messages (using a list)
- Commands improved, commented & added new ones:
- /banitem log: activate the live log mode, sending message (of banned items with 'log: true') to them;
- /banitem add <name> <options> [message]: to directly ban in game an item (type, without metadata);
- /banitem ci add <name> [options] [message]: to directly ban in game an item (with metadata);
- /banitem help <type>: give some informations about a specific type (option? entity? etc.);
- Materials now also supports '*' & '!' operators, and correctly support AIR (player empty hand)
- Fixed & optimized whitelist;
- Fixed rare exceptions where custom items aren't banned;
- Fixed custom items;
- Fixed command permissions;
- Fixed display of custom items permissions in /banitem info;
- Recoded & optimized large part of the code;
- Recoded & optimized API. New PlayerBanItemEvent. Every class is now documented.
v1.9.9.3:
- Fixed custom items persistence (not recognized anymore after reload) for Minecraft 1.13+
--------------------------------------------
v1.9.9.2:
- Added new option attack: can not attack an entity with the item;
- Added new option consume: can not consume the food item;
- Added new command /banitem customitem get <name>: to get the custom item in your inventory;
- Added tab completition: commands can now be completed with tabs. Also display available custom items name into custom item commands;
- Added a allworlds permission, which include all worlds: banitem.bypass.allworlds.apple.consume
- Better Worlds configuration: can now be excluded: *, !world -> all worlds, except 'world';
- Better Options configuration: can now be excluded: *, !pickup -> everything banned (not include creative & delete), except 'pickup';
- Whitelist deactivated by default in config.yml (commented);
- Better command integration with Bukkit: does not display the command the player if do not have the permission;
- Fixed delete permission;
- Fixed custom item visual amount bug;
- Code reorganization;
--------------------------------------------
v1.9.9.1:
- Fixed problem where items are not correctly banned in some other (custom) worlds (case sensitive issue)
--------------------------------------------
v1.9.9:
- Fixed whitelist
- Fixed armorstand events
- Fixed 1.7 compatibility
--------------------------------------------
v1.9.8:
- Added the swap option: when the player try to swap the item in hands
- Added the armorstandplace option: when the player try to place the item on an armorstand
- Added the armorstandtake option: when the player try to take the item from an armorstand
- Updated the config ban options list: Options can be written single 'break', multiple 'break, place' or '*' will include all options (except creative & delete)
- Fixed compatibility with 1.15
--------------------------------------------
v1.9.7:
- Added the wear option: players can't equip the item (armor);
- Fixed an error with the craft option
--------------------------------------------
v1.9.6:
- Fixed another error with the smelt option
--------------------------------------------
v1.9.5:
- Fixed errors with the smelt option
--------------------------------------------
v1.9.4:
- Added new permission based on option: banitem.bypass.WorldName.MaterialName.Option
- Added configurable particle & sound effect when a message for a banned item is received
- Added 'craft' option: the player will not be able to craft the item anymore
- Added 'smelt' option: the player will not be able to smelt the item anymore
- Added new methods in developer api (+ added maven repo on github)
- Fixed 'delete' options: now correctly send a message, if configurated
- Fixed rare issue with whitelisted custom items
--------------------------------------------
v1.9:
- Added dispense ban option: block/allow an item to be dispensed from a block
- Fixed some rare case where items are not banned (it deals with datas)
--------------------------------------------
v1.8:
- Added new command /banitem check [delete]: give a list of players which has a blacklisted item in its inventory (respects the world); use the delete argument to remove them;
- The command /banitem info now correctly shows a custom name, if its the case;
- Replaced the use option with the place one: for example, to ban the use of an enderpearl, the option will be place (stability and code performance reasons)
- Added an 'ignored' options key for whitelisted worlds: by default in a whitelisted world, you can not place/break/use/interact/pickup & drop items, you can now choose to disable some;
- Fixed whitelist worlds: all options are correctly usable;
- Fixed world recognition: worlds created by others plugin are now correctly supported;
- Fixed double messages;
- Code & listeners reorganisation
--------------------------------------------
v1.7:
- Added support for custom items (with differents item meta, name etc.): it offers possibility to ban modded items or specific items (like potions);
- Fixed bug with the use option;
- Whitelist config reorganization & options fixed;
- Code: reorganization, optimization & clean up;
- Added developer API: check, add or remove a banned item, easily access to the plugin
--------------------------------------------
v1.5:
- New inventory option: item can be inventory-banned, means that transfering a banned item from an inventory to another is blocked;
- Configuration reorganization: you can now set a custom message for each banned options;
- Added new command /banitem info: will give the exact material name (to use in config) & permission node for the item in your hand;
- Fixed spawn eggs banning;
- Fixed pickup message cooldown;
--------------------------------------------
v1.4:
- Added whitelist
- Fixed drop option
- Code & config reorganization
--------------------------------------------
v1.3:
- Simplified the config file
- Added "creative" options: ban apply only if the player is in creative gamemode
- Added new "per material per world" bypass permission: banitem.bypass.<WorldName>.<MaterialNameInLowerCase>
- Fixed some version compatibility issue
--------------------------------------------
v1.2:
- Added support version for 1.11, 1.10, 1.9, 1.8 & 1.7
- Optimized listeners (not listening if not needed)
- Code cleanup
--------------------------------------------
v1.1:
- Banned items prevents now interactions (configurable)
- Added per world bypass permission
- Added a reload command
- Code cleanup
--------------------------------------------
v1: Initial release