-
Notifications
You must be signed in to change notification settings - Fork 31
Expand file tree
/
Copy pathDialogInventory.java
More file actions
227 lines (151 loc) · 5.21 KB
/
DialogInventory.java
File metadata and controls
227 lines (151 loc) · 5.21 KB
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
package fr.maxlego08.menu.api;
import fr.maxlego08.menu.api.button.Button;
import fr.maxlego08.menu.api.button.dialogs.BodyButton;
import fr.maxlego08.menu.api.button.dialogs.InputButton;
import fr.maxlego08.menu.api.engine.InventoryEngine;
import fr.maxlego08.menu.api.engine.InventoryResult;
import fr.maxlego08.menu.api.enums.dialog.DialogType;
import fr.maxlego08.menu.api.pattern.Pattern;
import fr.maxlego08.menu.api.requirement.Requirement;
import fr.maxlego08.menu.api.utils.OpenWithItem;
import fr.maxlego08.menu.api.utils.dialogs.record.ActionButtonRecord;
import fr.maxlego08.menu.api.utils.dialogs.record.ZDialogInventoryBuild;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
import java.io.File;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public interface DialogInventory extends Inventory{
String getExternalTitle();
boolean canCloseWithEscape();
void setCanCloseWithEscape(boolean canCloseWithEscape);
String getAfterAction();
void setAfterAction(String afterAction);
boolean isPause();
void setPause(boolean pause);
void setDialogType(DialogType dialogType);
DialogType getDialogType();
List<BodyButton> getBodyButtons();
List<InputButton> getInputButtons();
void setBodyButtons(List<BodyButton> bodyButtons);
void setInputButtons(List<InputButton> inputButtons);
List<BodyButton> getDialogBodies();
List<BodyButton> getDialogBodies(Player player);
List<InputButton> getDialogInputs();
/**
* Return the list of body buttons for a specific player with the view requirement applied
* @param player the player to check
* @return the list of body buttons
*/
List<InputButton> getDialogInputs(Player player);
List<Requirement> getYesActions();
List<Requirement> getNoActions();
void addYesAction(List<Requirement> action);
void addNoAction(List<Requirement> action);
void addAction(List<Requirement> action);
List<Requirement> getActions();
void setYesText(String yesText);
void setNoText(String noText);
void setYesTooltip(String yesTooltip);
void setNoTooltip(String noTooltip);
String getYesText();
String getYesText(Player player);
String getNoText();
String getNoText(Player player);
String getYesTooltip();
String getYesTooltip(Player player);
String getNoTooltip();
String getNoTooltip(Player player);
int getYesWidth();
int getNoWidth();
void setYesWidth(int yesWidth);
void setNoWidth(int noWidth);
String getLabel();
String getLabel(Player player);
void setLabel(String label);
String getLabelTooltip();
String getLabelTooltip(Player player);
void setLabelTooltip(String labelTooltip);
int getLabelWidth();
void setLabelWidth(int labelWidth);
List<ActionButtonRecord> getActionButtons(Player player);
List<ActionButtonRecord> getActionButtons();
void addActionButton(ActionButtonRecord actionButton);
int getNumberOfColumns();
void setNumberOfColumns(int numberOfColumns);
ZDialogInventoryBuild getBuild(Player player);
void setActionButtonServerLink(ActionButtonRecord actionButtonRecord);
ActionButtonRecord getActionButtonServerLink(Player player);
ActionButtonRecord getActionButtonServerLink();
//TODO getOpenWithItem not implemented but need
@Override
default OpenWithItem getOpenWithItem() {
return null;
}
/**
* Set unUsed méthod of Inventory Interface, don't used in BedrockInventory
*
*/
@Override
default int size() {
return 9;
}
@Override
default InventoryType getType() {
return null;
}
@Override
default boolean shouldCancelItemPickup() {
return false;
}
@Override
default Collection<Button> getButtons() {
return Collections.emptyList();
}
@Override
default Collection<Pattern> getPatterns() {
return Collections.emptyList();
}
@Override
default <T extends Button> List<T> getButtons(Class<T> type) {
return Collections.emptyList();
}
@Override
default int getMaxPage(Collection<Pattern> patterns, Player player, Object... objects) {
return 1;
}
@Override
default List<Button> sortButtons(int page, Object... objects) {
return Collections.emptyList();
}
@Override
default List<Button> sortPatterns(Pattern pattern, int page, Object... objects) {
return Collections.emptyList();
}
@Override
default InventoryResult openInventory(Player player, InventoryEngine InventoryEngine) {
return null;
}
@Override
default void postOpenInventory(Player player, InventoryEngine InventoryEngine) {};
@Override
default void closeInventory(Player player, InventoryEngine InventoryEngine) {}
@Override
default MenuItemStack getFillItemStack() {
return null;
}
@Override
default int getUpdateInterval() {
return 0;
}
@Override
default boolean cleanInventory() {
return false;
}
@Override
default Map<String, String> getTranslatedNames() {
return null;
}
}