Итем рендер (partialTicks)

Версия Minecraft
1.10.2
Имею вот такой код (прикрипления) , объявлен он в 
Код:
public void preRenderHUD(RenderGameOverlayEvent.Pre event){

Проблема стоит в чем , partialTicks как его объявить ?
Код:
event.getPartialTicks();

Крашит клиент
 

Вложения

  • рпарар.jpg
    рпарар.jpg
    63.8 KB · Просмотры: 36
7,099
324
1,510
И ему нужен partialTicks. А за что этот параметр отвечает?
 
2,505
81
397
7,099
324
1,510
А, понял, круто, спс. Значит, можно юзать что-то вроде тик-хандлера(своего), в котором по достижении определенного предела тики сбрасываются на 0
 
то есть должно быть так : 
Код:
this.renderHotbarItem(i1, j1, event.getPartialTicks(), entityplayer, entityplayer.inventory.mainInventory[l]);

верно ?



Dahaka написал(а):
hohserg написал(а):
И ему нужен partialTicks. А за что этот параметр отвечает?
Просто тики. Нужны для анимации (плавное исчезновение текста, к примеру)


SmallG написал(а):
Где краш-лог?



Вот:
Код:
[17:08:47] [Client thread/INFO]: Setting user: Player307
[17:08:52] [Client thread/WARN]: Skipping bad option: lastServer:
[17:08:52] [Client thread/INFO]: LWJGL Version: 2.9.4
[17:08:56] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:NewWorld
[17:09:01] [Sound Library Loader/INFO]: Starting up SoundSystem...
[17:09:01] [Thread-8/INFO]: Initializing LWJGL OpenAL
[17:09:01] [Thread-8/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[17:09:02] [Thread-8/INFO]: OpenAL initialized.
[17:09:02] [Sound Library Loader/INFO]: Sound engine started
[17:09:08] [Client thread/INFO]: Created: 16x16 textures-atlas
[17:09:11] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:NewWorld
[17:09:15] [Client thread/INFO]: SoundSystem shutting down...
[17:09:16] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[17:09:16] [Sound Library Loader/INFO]: Starting up SoundSystem...
[17:09:16] [Thread-10/INFO]: Initializing LWJGL OpenAL
[17:09:16] [Thread-10/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[17:09:16] [Thread-10/INFO]: OpenAL initialized.
[17:09:16] [Sound Library Loader/INFO]: Sound engine started
[17:09:23] [Client thread/INFO]: Created: 2048x1024 textures-atlas
[17:09:27] [Client thread/WARN]: Skipping bad option: lastServer:
[17:09:29] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[17:09:33] [Server thread/INFO]: Starting integrated minecraft server version 1.10.2
[17:09:33] [Server thread/INFO]: Generating keypair
[17:09:34] [Server thread/INFO]: Preparing start region for level 0
[17:09:35] [Server thread/INFO]: Preparing spawn area: 0%
[17:09:36] [Server thread/INFO]: Preparing spawn area: 22%
[17:09:38] [Server thread/INFO]: Preparing spawn area: 48%
[17:09:39] [Server thread/INFO]: Preparing spawn area: 79%
[17:09:39] [Server thread/INFO]: Changing view distance to 8, from 10
[17:09:41] [Server thread/INFO]: Player307[local:E:fcc75e1e] logged in with entity id 343 at (-189.39605773655717, 64.0, 232.45254746438684)
[17:09:41] [Server thread/INFO]: Player307 подключился.
[17:09:45] [Server thread/INFO]: Saving and pausing game...
[17:09:45] [Server thread/INFO]: Saving chunks for level 'Новый мир'/Overworld
[17:09:46] [Server thread/INFO]: Saving chunks for level 'Новый мир'/Nether
[17:09:46] [Server thread/INFO]: Saving chunks for level 'Новый мир'/The End
[17:09:46] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2259ms behind, skipping 45 tick(s)
[17:09:46] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@15cbf95[id=9bfc7d2e-b7d2-36ba-8889-dc94b2f1b428,name=Player307,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
 at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:65) ~[YggdrasilAuthenticationService.class:?]
 at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:175) [YggdrasilMinecraftSessionService.class:?]
 at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:59) [YggdrasilMinecraftSessionService$1.class:?]
 at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:56) [YggdrasilMinecraftSessionService$1.class:?]
 at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
 at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
 at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:165) [YggdrasilMinecraftSessionService.class:?]
 at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3060) [Minecraft.class:?]
 at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:131) [SkinManager$3.class:?]
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_102]
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_102]
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
 at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]
[17:09:49] [Server thread/INFO]: Stopping server
[17:09:49] [Server thread/INFO]: Saving players
[17:09:49] [Server thread/INFO]: Saving worlds
[17:09:49] [Server thread/INFO]: Saving chunks for level 'Новый мир'/Overworld
[17:09:49] [Server thread/INFO]: Saving chunks for level 'Новый мир'/Nether
[17:09:49] [Server thread/INFO]: Saving chunks for level 'Новый мир'/The End
[17:09:52] [Client thread/FATAL]: Unreported exception thrown!
java.lang.NullPointerException
 at ru.Main.renderHotbarItem(Main.java:293) ~[Main.class:?]
 at ru.Main.preRenderHUD(Main.java:195) ~[Main.class:?]
 at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_7_Main_preRenderHUD_Pre.invoke(.dynamic) ~[?:?]
 at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
 at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
 at net.minecraftforge.client.GuiIngameForge.pre(GuiIngameForge.java:884) ~[GuiIngameForge.class:?]
 at net.minecraftforge.client.GuiIngameForge.renderHotbar(GuiIngameForge.java:321) ~[GuiIngameForge.class:?]
 at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:140) ~[GuiIngameForge.class:?]
 at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1125) ~[EntityRenderer.class:?]
 at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1139) ~[Minecraft.class:?]
 at net.minecraft.client.Minecraft.run(Minecraft.java:406) [Minecraft.class:?]
 at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
 at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
 at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
 at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
 at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
 at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
 at GradleStart.main(GradleStart.java:26) [start/:?]
 

tox1cozZ

aka Agravaine
8,456
598
2,893
hohserg написал(а):
А, понял, круто, спс. Значит, можно юзать что-то вроде тик-хандлера(своего), в котором  по достижении определенного предела тики сбрасываются на 0
Нет, это используется для интерполяции.
 
7,099
324
1,510
GameOverlay немного для другого, чтобы шкалу прочности рисовать, лучше использовать итем рендерер и в инвентаре рисовать дополнительно полоску прочности
 
7,099
324
1,510
А, хот-бар и подобное можно делать через RenderGameOverlayEvent, в учебнике есть тема.
Я не правильно тебя понял. Чтобы отрисовать итемстак в гуи: this.itemRender.renderItemOverlayIntoGUI(<с аргументами сам разберешься>);
 
7,099
324
1,510
Класс, который является слушателем события должен наследоваться от GuiScreen
 
Сверху