Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Я подобную систему делал, но только он отображался неправильно: ставит неправильные цифры, предметы клонируются и т.д.Ну страницы со вкладками сделать нельзя, но можно поместить внизу в правом и нижнем углу такие предметы, при нажатии на которые переключалась страница.
Я подобную систему делал, но только он отображался неправильно: ставит неправильные цифры, предметы клонируются и т.д.
Просто в этих делах я рукожопый))Ну это уже не наши полномочия... Это вы как-то странно просто заполняете.
Просто в этих делах я рукожопый))
Положи в хешмап предметы, где ключом будет являться порядковый номер предмета.Просто в этих делах я рукожопый))
Можете подать пример? А то что-то не получается.Положи в хешмап предметы, где ключом будет являться порядковый номер предмета.
Тоесть на первой странице отображает например с 1 по 27, на второй 28-55 и тд
Пример кинуть не могу, эклипс не рядом. Вот способ попроще и подробнее:Можете подать пример? А то что-то не получается.
Сделал по инструкции, получился такой код:Пример кинуть не могу, эклипс не рядом. Вот способ попроще и подробнее:
- Создаёшь List предметов
- В нужном месте инвентаря ложишь предмет с Lore или ещё с чем нибудь, что будет обозначать номер следующей(или предыдущей страницы)
- Умножаешь номер страницы на кол-во слотов инвентаря(за исключением незаполняемых) и получившееся число суёшь в цикл for(int i = page; i < кол-во слотов; i++)(если вернуть на первую страницу то 0)
- И уже делаешь itemList.get(i), а что делать с полученным предметом сам решаешь
/**
* For CustomGUIMenu
*
* @param inventory
*/
public void createRecipesPages(Inventory inv){
//Предметы короч
List<ItemStack> itemList = new ArrayList<ItemStack>();
for(String name : Icons.getRecipesList()){
ItemStack item = Icons.getRecipe(name);
//Заполняем
itemList.add(item);
}
int page = 1; // Как-бэ страница
int pages = page * inv.getSize(); // "Умножаешь номер страницы на кол-во слотов инвентаря"
for(int i = page; i < pages; i++){
inv.setItem(itemList.indexOf(itemList.get(i)), itemList.get(i));//Заполняю
}
}
Что делать ?[13:46:55] [Server thread/ERROR]: Could not pass event InventoryClickEvent to PaperRecipe v1.0-Dev
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) ~[spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:487) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:472) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:1403) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.a(SourceFile:32) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.handle(SourceFile:10) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:147) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.ServerConnection.c(ServerConnection.java:77) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:700) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
Caused by: java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.7.0]
at java.util.ArrayList.get(Unknown Source) ~[?:1.7.0]
at ykt.BeYkeRYkt.PaperRecipe.PaperRecipe.createRecipesPages(PaperRecipe.java:204) ~[?:?]
at ykt.BeYkeRYkt.PaperRecipe.GUI.GUIListener.onStandartClick(GUIListener.java:57) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[spigot-1.7.5.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
... 14 more
Тебе в коде с ошибкой написало место, что за ошибка и в каком месте происходит, и в данном случае - выход за пределы массива.Что делать ?