-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsimplyvanish_lists.txt
375 lines (279 loc) · 15.3 KB
/
simplyvanish_lists.txt
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
363
364
365
366
367
368
369
370
371
372
373
374
375
SimplyVanish lists
-------------------------------------------
PLANNED FEATURES AND QUESTIONS
------------------------------------
*** GRAVEYARD (PRESUMABLY)
? make config flags if to register the listeners at all ?
*** REAL PROBLEMS
- !(add) Configurable: fake a lower number of players on list-ping [WAITING FOR FEATURE REQUEST]
? add configurability and on demand event registrations (by config !)
- !(adjust) Better xp orb handling !
? check collisions: on -interact: prevent vehicle and arrow collisions (other entities, how arrows?) with vanished players !
Tamable problems ...
PigZombies still problematic !
!? unregister hooks somehow ? -> would need re-enabling the plugin currently, because of listeners.
*** PERFORMANCE AND CONSISTENCY
? use entity ids or similar for fastest checking ?
? check update for efficiency (uh uh)
? Faster exclusion checks (mix-in permission?) for setFlags
? test performance :)
? remove the checking if players are online ?
**** COMMANDS
?(add) '/simplyvanish clear' or 'simplyvanish /rea *' command to let all players be seen again.
*** COMPATIBILITY / HOOKS
- ?hide / show player: collect Map<String, Set<String>> or similar then call hooks then hide/show cumulative
- !(add) prevent-hooks
- !(adjust) Check PalyerJoin twice: lowest = update state, highest = update messages
- !CONSIDER: Delayed message on join.
*** LANGUAGE
? language update
*** PERMISSIONS
*** FLAGS
? flag set aliases ? -> + use some class to wrap flag sets ?
? (add) Flag sets: permissions for applying just those flag sets ? -> not yet
* consider: flag without +/- => use default state or extra prefix (complicates all though)?* consider: flag without +/- => use default state or extra prefix (complicates all though)?
*** FEATURES
? (add) Expiration time for vanishconfigs (checked at getVanishConfig) to allow temporary vanishing. ? RSP- integration: invisible arena ?
!(add) god mode - config: classical god mode + flag oriented godmode?
*** APPEARANCE
?(add) colored flag output: red = - green = + // name gray if default value and configured to show
? DisplayPolice for flags: DEFAULT, POSITIVE, NEGATIVE (Show only changes to those stats, saving and loading always with difference to DEFAULT)
? some help text / more info
- !(add) Panic: Digest warning messages where possible (show one instead of two). <- remove panic :)
STACK
---------------------------------------------
*** STILL ON STACK
? refactor: only use updatevanishstate also from doVanish and doReappear!
!?bugfix: static handlerlist atlogin event vs. stateevent
? add configurable messages for vantell
- ?cmd flag / bypass : allow certain commands by bypass flag.
? chat: /tell /me configurable: treat as commands or as chat?
command/other bypass permissions (then flag dependent), toggle by configuration ?
? add configuration for block updates when canceling interaction. or maybe a list of ids for the item in hand ? [NOT: CB bug ?]
*** DEFAULT FLAG STATES
!(add) Allow setting specific flags as "configuration defaults" (saving will be by standard defaults), setting of defaults in constructor then.
!(add) Care: loading flags from file: allow manual entry *clear (check if possible, important for default states)
? how to "restore" old state (new flags, default config flags -> not restore).
*** OPENINV INTEGRATION
(wait for API)
*** NEW
? maplist / mappos ... flags for appearing there.
*** 0.5.0 "MINIMUM" RELEASE ---------------------------------------------------------------
***API
! API: make config options available to be able to interpret all flags correctly.
? if simple config is checked: remove some entries if at default values ?
dynmap: check if after vanish is called for login of vanished players.
!CHECK: implications of API: maybe add API to call hooks or make it consistent with updatevanishdstate (HookChangedVisibilityEvent ?)
*** Hooks
? (add) Hook for PlayersInCubes ?
?add ignore worlds to do no updating on those worlds and update on world changes maybe! Or hook into PlayersInCubes !
?(add) config for hooks
*** Permissions
! consider for all/most flags: Make configurable if to use at all, if to use permissions only, or enable / disable by default.
! shortcut permissions (mapped!).
*** Appearance
!(add) join message :if godded.
? order of vanished and god (vanished always first ?)
*** Teleport tool
! low range teleport : into the middle of a door block or next to it (rotating principle ?).
! at least two longer distance permissions.
! pass through and teleport.
? safe ground feature + safe transparent (configurable: but show-hidden)
**** Inventories [Make a basic peek setup, including silent chest (permission), and blocked chest (permission)]
!flesh out permissions for when to peek and when not.
?vanconfiscate
*** Actions on vanish
? OpenInv: toggle silent and blocked chest automatically when vanishing ?
! (consider) close inventories when payers vanish !
? (add) Workaround: Let all (nearby) tamed cats and dogs sit when a player vanishes !
*** Projectiles
!(add) Option to remove projectiles on hit.
*** Convenience commands
!(add) vangods command.
!(add) vanlist command ! (cansee + vanished tag + ?godded + sorted + prefix)
? (add) /vanreply command to reply to last tell message
?(add) update (all) command
*** Uncategorized
? remove checkInvolved checks ?
!(add) Tickets from bukkitdev
dynmap: consider using a player command !
ITERATIONS
--------------------------------------------
*** Docs
!Add tickets from bukkitdev
*** Permissions
!Shortcut permissions: mapped permissions (how: context dependent checks or raw mapping?).
*** Inventory
!Make features definitive, concerning flags, permissisons, config.
?(add) Debugging hook !
***
? join/quit messages are wrong way round ?
* Something for beacons + potions.
***
protocollib hook <- experiment
!getVanishedOnline (/size).
!Async access: make a copy of vanished (+online) player each time, use that for access checks (!).
CHANGELOG
--------------------------------------------
(1.1.0)
- (add) Essentials 2 hook: Hide vanished players from commands output.
(1.0.3)
- (bugfix) Minor fixes.
- (bugfix) Use correct synchronization for iterating.
- (adjust) Use Collections.synchronizedMap instead of HashTable.
(1.0.2)
- (adapt) Use simple HashTable for VanishConfigs, for listeners and reading flags concurrency should pose no critical problem.
(1.0.1)
- (adapt) Introduce player chat events for potentially asynchronous use!
(1.0.0)
- (CHANGE) Packet naming.
(0.5.0-DEV-4)
- (add) Inventory peek with right click (RAW, only when vanished).
- (adjust) Dynmap hook: Check state of player + use assertPlayerInvisibility as well.
- (adjust) vantell: add mirror option.
(0.5.0-DEV-3)
- (add) Dynmap hook fix.
(0.5.0-DEV-2)
- (add) Dynmap hook (RAW).
- (add) /vanpeek command (RAW).
(0.5.0-DEV-1)
- (add) Inventory manipulation prevention when vanished (RAW).
- (add) classical god-mode: /vangod and /vanungod
- (bugfix) Updated descriptions for commands, add usage to vantell.
- (update) config: compatlayer
(0.4.4)
- (add) /vantell command + tell flag.
- (add) Support for the permission "simplyvanish.all".
- (adjust) Only parse flags for commands that accept flags.
(0.4.3)
- (add) "load-plugins" option in the configuration, to allow loading other plugins first.
- (adjust) Potential fix: Add DisguiseCraft to softdepend.
- (bugfix) onEnable: update player states after all other action, wrapping with try-catch + schedule for next tick on failure.
(0.4.2)
- (bugfix) DisguiseCraft compatibility
- (add) API: added allowShow + allowHide to Hook (per player)
- (add) API : Hook.allowUpdateVanishState + updateVanishState return boolean now.
(0.4.1)
- (change) Now seperate permissions must be used for vanish and reappear!
- (add) /tvanish <other>
- (bugfix) Flag display: default message instead of empty.
- (bugfix) "cl: *clear"
- (bugfix) Incompatibility of *clear with other flag sets.
(0.4.0)
- (add) Flag sets for shortcuts.
- (add) More complex flags: attack, interact+bypass, chat, cmd. [clicked away one event, what was it...]
- (add) save.delay: Do delay saving for at least this amount of seconds.
- (add) '/simplyvanish save' command (simplyvanish.cmd.save).
- (change) Save-settings do have their own configuration section now.
- (add) Configuration flag "extended-configuration": Will prevent adding fake permissions and commands entries, if set to false.
- (add) API - SimplyVanish.hasPermission + Internals: make permission related settings non-static.
- (add) API - SimplyVanish: getDefaultVanishConfig, getRegisteredHook ; SimplyVanishStateEvent: getPlayer, isPlayerOnline
- (adjust) API call setVanishConfig will issue a save now, if configured so.
- (remove) Obsolete command: /simplyvanish drop
- (bugfix) "-damage" also prevents negative food level change now.
- (bugfix) Show flags if used with vanish, reappear or tvanish.
- (bugfix) /simplyvanish command without arguments is again recognized for display of flags.
- (refactor) Separate listener classes, roughly related to flags.
- (refactor) Adjust internals for more reliability and easier maintenance in some spots (VanishConfig: handling, changed flag).
(0.4.0-PRE-4)
- (add) /simplyvanish flags command to show all flags with default value.
- (add) Configuration flags to control ops and superperms.
- (add) Fake permission sets to give players access to SimplyVanish based on configuration entries (adds a warning message, if in use).
- (bugfix) Removed double no-permission-messages on reappear.
- (refactor) Refactor configuration + permission handling (+compatlayer 0.5.0).
- (refactor) Move some chunks of code away from the plugin class.
- (refactor) Reduce some code cloning, move stuff, get rid of some delegation.
(0.4.0-PRE-3)
- (bugfix) PlayerJoin: suppress message only if really vanished.
- (bugfix) Further code cleanups and simplifications.
(0.4.0-PRE-2)
- (add) DisguiseCraft hook.
- (add) Shaped some basic hooks and events API.
- (add) Stats for saving vanish configs.
- (remove) Deprecated API.
- (adjust) Some minor code cleanups, simplifications.
- (adjust) Some consistency checks added.
- (bugfix) Avoid creating VanishConfigs for every player on join, if unnecessary.
(0.4.0-PRE-1)
- (add) Stats for updateVanishState, vanish, reappear, setFlags + command to show and to reset.
- (bugfix) Reset aliases on reloading !
- (bugfix) Remove log message for handled aliases defined in the configuration.
(0.4.0-DEV-9)
- (add) Command alias feature: define aliases in the config.
- (bugfix) Add alias recognition for vanflag command.
(0.4.0-DEV-8)
- (add) permission to reappear (as an alternative to vanish, to only allow a player to reappear).
- (add) save-vanished-interval in minutes as an alternative to save always.
- (add) specific permissions for setting flags
- (change) auto vanish will now only work, if enabled in the configuration, setting the flag will not override it.
- (refactor) Use new flag system internally to increase reliability for future additions.
- (add) Use VanishConfig.changed on some occasions.
- (refactor) Changed package structure slightly.
(0.4.0-DEV-7)
- (bugfix) Updates vanish/see state now after setting flags.
(0.4.0-DEV-6)
- (add) New flag: *clear to reset flags to orgiginal state, can be put anywhere next to other flags.
- (bugfix) Message on reappear.
- (bugfix) Notify ping: should work as expected now.
- (bugfix) Toggle did not work when vanished.
(0.4.0-DEV-5)
- (add) /vanflag command for flags.
- (add) ping support (You are vanished.)
- (bugfix) Restructured updateVanishState, fixed small issue, ensure who sees whom. [Actually might have fixed some other issue(s), that probably existed in previous DEV-4.]
- (adjust) Only save back configuration, if changes have been maded at all (defaults).
- (remove) /nosee command (now needs: simplyvanish.flags.set.self|other and setting -see|+see as additional argument)
(0.4.0-DEV-4)
- (add) /simplyvanish allows to show own or other players flags.
- (add) Flag support for most commands to set flags for VanishConfigs. [One permission for that, yet.]
- (add) Use VanishConfig for internals, everywhere ! [prepares internal for flags.]
- (internals) Add VanishConfig for storing individual data per player.
(0.4.0-DEV-3)
- (add) no-abort flag for configuration (on player inconsistency it will still be attempted to show or hide).
- (add) Warning message to the player if hide or show was aborted (might spam a bit).
- (bugfix) Ensure that both players are checked for inconsistencies always.
(0.4.0-DEV-2)
- (add) Save nosee state of players.
- (add) nosee tag for the vanished list
- (bugfix) Do not show if vanished or not again if just adjusting state due to nosee-toggle.
- (adjust) Colors to all messages.
(0.4.0-DEV-1) [Quick addition: nosee, might get changed / removed.]
- (add) Command to not see vanished though you could: "/nosee" - toggle seeing for oneself, permission: simplyvanish.see-all [Subject to changes / removal]
- (refactor) Use a central access point method to determine if a player should see vanished players, checking the nosee-set.
- (bugfix) No effect but for later, potentially: Put lower case label to command alias map.
(0.3.3)
- (bugfix) Only show a panic log message if the server did really not return a Player [showed up always].
(0.3.2)
- (add) '/simplyvanish drop' ('/simvan drop') command to drop the item in hand.
- (add) Prevent splash potion effects on vanished players.
- (add) Configurable: save and load vanished players at start/shutdown
- (add) Configurable: auto-vanish permission [disabled by default]
(0.3.1) ["panic update"]
- (add) Panic settings (hidden) that allow to do stuff, if hiding or showing fails internally.
- (add) Some consistency checks and log messages for showPlayer and hidePlayer. [If this is an exploit you will probably have the involved players names, for which this failed.]
- (refactor) Use central-access methods to delegate showPlayer and hidePlayer to.
(0.3.0)
- (add) Toggle command: /tvanish
- (add) Notify players with permission about others vanishing or reappearing (instead of fake join / leave)
- (add) Configurable: fake leave / join messages (rather vanilla style)
- (add) Configurable: suppress join/quit messages
- (add) Command aliases: vanish(van), reappear(rea), tvanish(vanisht, tvan, vant), simplyvanish(simvan)
- (refactor) Rework some internals (Settings Class).
(0.2.1)
- (bugfix) Permission for /vanished : simplyvanish.vanished
(0.2.0) [-> GitHub]
- (add) Configuration for workaround + /simplyvanish reload command.
- (bugfix) Attempt a workaround for Experience orbs: let them "flee" or remove if too close. [Does not prevent adding exp!]
- (add) /vanish <player> (+reappear) to change vanish state of others.
- (add) /vanished command
- (add) API for setVanished(Player/String)
- (add) API calls: setVanished(Player, boolean)
- (refactor) Split into some classes.
- (add) deprecated: public methods vanish(Player) and reappear(Player)
- (refactor) Use lower case names internally, to allow for vanish(other)
(0.1.2)
- (bugfix) Remove empty entries from plugin.yml .
- (bugfix) Exception if vanish is called by console.
(0.1.1)
- (add) API: getVanishedPlayers();
(0.1.0)
- (add) API for checking if a player is vanished).