Блок с моделью

7,166
329
1,544
Народ, не нашел хорошего тутора по созданию блока с моделью, поиском по форуму пользовался, ничего не нашел полезного, поэтому взял пример с таумкрафта, ну там TileEntity, TileRender...
Блок есть, но нет модели, киньте ссылку на нормальный туториал по этой теме. Заранее спасибо)
 
XuPuPG написал(а):
Тема под носом http://forum.mcmodding.ru/viewtopic.php?id=2147
Не то
[merge_posts_bbcode]Добавлено: 22.04.2015 19:54:12[/merge_posts_bbcode]

timaxa007, спасибо)
 
hohserg, пожалуйста.
Я постараюсь сегодня выложить примеры.
 
Ага, кстати, (minecraftforge.net) Rendering a Techne Model as a Block используется в тауме, но я там упустил одну деталь, собственно, по этому вопрос:
Есть такой код:
//Add this to your ClientProxy:
        public void registerRenderThings() {
                ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTrafficLightEntity.class, new TileEntityTrafficLightRenderer());
        }
А этот метод надо где-то дергать, или после того как пропишешь в главном классе прокси, то они сами дергаться будут?
 
hohserg, этот метод надо писать в проксях, у каждой прокси в этом методе должно быть написано своё. Чтобы этот метод заработал его нужно прописывать, в определённых методах, через прокси в главном классе. В ините наподобие этого:
Код:
proxy.registerRenderThings();
 
А этот proxy, это CommonProxy или ClientProxy?
И если ClientProxy, то его экземпляр создавать в главном классе?
 
Приблизительно так надо зарегистрировать [в главном классе, не в методах] (именно такая последовательность):
Код:
@SidedProxy(modId = MyMod.MODID, clientSide = "my_mod.ProxyClient", serverSide = "my_mod.ProxyCommon")
public static ProxyCommon proxy;
 
Ага, а когда я вызову proxy.initRenderers(), то каким образом этот метод зацепит с ClientProxy?
 
Зацепит его (так называемая) Аннотация "@SidedProxy" (если я не ошибаюсь).
 
А аннотацию эту зацепит фордж и будет делать свою магию, как и сказал тимаха. Тебе вообще не обязательно знать, как он это делает.
 
Для меня необычны анотации...
Кстати, это вызывает краш:
[21:19:32] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Moddingg\eclipse\.\crash-reports\crash-2015-04-22_21.19.32-client.txt
[21:19:32] [Client thread/INFO] [FML]: Waiting for the server to terminate/save.
[21:19:32] [Client thread/INFO] [FML]: Server terminated.
AL lib: (EE) alc_cleanup: 1 device not closed
[merge_posts_bbcode]Добавлено: 22.04.2015 22:21:01[/merge_posts_bbcode]

Вызываю это:
@EventHandler
    public void init(FMLInitializationEvent event)
    {
    proxy.registerRenderThings();
 
    }
 
Вот)
[merge_posts_bbcode]Добавлено: 22.04.2015 22:24:27[/merge_posts_bbcode]

Ой, чето не кинулся файл

[merge_posts_bbcode]Добавлено: 22.04.2015 22:25:22[/merge_posts_bbcode]

Не знаю, как спойлер ставить...

---- Minecraft Crash Report ----
// Oh - I know what I did wrong!

Time: 22.04.15 21:19
Description: Rendering item

java.lang.NullPointerException: Rendering item
at net.minecraft.tileentity.TileEntity.getBlockType(TileEntity.java:205)
at net.minecraft.tileentity.TileEntity.func_145828_a(TileEntity.java:271)
at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntityAt(TileEntityRendererDispatcher.java:147)
at perfectengenering.cristal.BlockCrystalEnderRenderer.renderInventoryBlock(BlockCrystalEnderRenderer.java:24)
at cpw.mods.fml.client.registry.RenderingRegistry.renderInventoryBlock(RenderingRegistry.java:125)
at net.minecraft.src.FMLRenderAccessLibrary.renderInventoryBlock(FMLRenderAccessLibrary.java:59)
at net.minecraft.client.renderer.RenderBlocks.renderBlockAsItem(RenderBlocks.java:8361)
at net.minecraft.client.renderer.entity.RenderItem.renderItemIntoGUI(RenderItem.java:463)
at net.minecraft.client.renderer.entity.RenderItem.renderItemAndEffectIntoGUI(RenderItem.java:585)
at net.minecraft.client.gui.GuiIngame.renderInventorySlot(GuiIngame.java:973)
at net.minecraftforge.client.GuiIngameForge.renderHotbar(GuiIngameForge.java:209)
at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:144)
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1114)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1057)
at net.minecraft.client.Minecraft.run(Minecraft.java:951)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at net.minecraft.tileentity.TileEntity.getBlockType(TileEntity.java:205)
at net.minecraft.tileentity.TileEntity.func_145828_a(TileEntity.java:271)
at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntityAt(TileEntityRendererDispatcher.java:147)
at perfectengenering.cristal.BlockCrystalEnderRenderer.renderInventoryBlock(BlockCrystalEnderRenderer.java:24)
at cpw.mods.fml.client.registry.RenderingRegistry.renderInventoryBlock(RenderingRegistry.java:125)
at net.minecraft.src.FMLRenderAccessLibrary.renderInventoryBlock(FMLRenderAccessLibrary.java:59)
at net.minecraft.client.renderer.RenderBlocks.renderBlockAsItem(RenderBlocks.java:8361)
at net.minecraft.client.renderer.entity.RenderItem.renderItemIntoGUI(RenderItem.java:463)

-- Item being rendered --
Details:
Item Type: perfectengenering.cristal.BlockCrystalEnderItem@72fdad38
Item Aux: 0
Item NBT: null
Item Foil: false
Stacktrace:
at net.minecraft.client.renderer.entity.RenderItem.renderItemAndEffectIntoGUI(RenderItem.java:585)
at net.minecraft.client.gui.GuiIngame.renderInventorySlot(GuiIngame.java:973)
at net.minecraftforge.client.GuiIngameForge.renderHotbar(GuiIngameForge.java:209)
at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:144)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['Player312'/226, l='MpServer', x=1761,76, y=5,62, z=1924,21]]
Chunk stats: MultiplayerChunkCache: 355, 355
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options: 
Level spawn location: World: (1758,4,1915), Chunk: (at 14,0,11 in 109,119; contains blocks 1744,0,1904 to 1759,255,1919), Region: (3,3; contains chunks 96,96 to 127,127, blocks 1536,0,1536 to 2047,255,2047)
Level time: 188149 game time, 188149 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 95 total; [EntityChicken['Курица'/137, l='MpServer', x=1730,56, y=4,00, z=1981,59], EntityChicken['Курица'/136, l='MpServer', x=1740,63, y=4,00, z=1968,41], EntityChicken['Курица'/139, l='MpServer', x=1736,38, y=4,00, z=1987,59], EntityChicken['Курица'/138, l='MpServer', x=1733,53, y=4,00, z=1991,56], EntityCow['Корова'/140, l='MpServer', x=1733,84, y=4,00, z=2001,81], EntityChicken['Курица'/143, l='MpServer', x=1744,41, y=4,00, z=1858,41], EntityCow['Корова'/129, l='MpServer', x=1733,09, y=4,00, z=1895,06], EntitySheep['Овца'/128, l='MpServer', x=1714,25, y=4,00, z=1994,19], EntityChicken['Курица'/131, l='MpServer', x=1736,47, y=4,00, z=1918,47], EntitySheep['Овца'/130, l='MpServer', x=1743,75, y=4,00, z=1892,78], EntityChicken['Курица'/133, l='MpServer', x=1729,56, y=4,00, z=1943,41], EntityChicken['Курица'/132, l='MpServer', x=1728,47, y=4,00, z=1923,41], EntityChicken['Курица'/135, l='MpServer', x=1735,56, y=4,00, z=1976,38], EntityCow['Корова'/134, l='MpServer', x=1730,22, y=4,00, z=1975,25], EntitySheep['Овца'/152, l='MpServer', x=1765,31, y=4,00, z=1860,19], EntityChicken['Курица'/153, l='MpServer', x=1771,47, y=4,00, z=1880,47], EntitySheep['Овца'/154, l='MpServer', x=1762,97, y=4,00, z=1893,06], EntityCow['Корова'/155, l='MpServer', x=1768,03, y=4,00, z=1992,84], EntitySheep['Овца'/156, l='MpServer', x=1767,84, y=4,00, z=1989,88], EntityChicken['Курица'/144, l='MpServer', x=1747,47, y=4,00, z=1902,53], EntitySheep['Овца'/145, l='MpServer', x=1744,09, y=4,00, z=1946,56], EntityCow['Корова'/146, l='MpServer', x=1759,75, y=4,00, z=1963,53], EntityPig['Свинья'/147, l='MpServer', x=1748,16, y=4,00, z=1975,69], EntityPig['Свинья'/148, l='MpServer', x=1749,84, y=4,00, z=1981,59], EntityPig['Свинья'/151, l='MpServer', x=1761,94, y=4,00, z=1853,94], EntityChicken['Курица'/175, l='MpServer', x=1815,63, y=4,00, z=1985,41], EntitySheep['Овца'/174, l='MpServer', x=1822,13, y=4,00, z=1928,78], EntityCow['Корова'/173, l='MpServer', x=1822,28, y=4,00, z=1915,28], EntitySheep['Овца'/172, l='MpServer', x=1816,19, y=4,00, z=1856,72], EntityChicken['Курица'/163, l='MpServer', x=1806,56, y=4,00, z=1864,59], EntityChicken['Курица'/166, l='MpServer', x=1800,47, y=4,00, z=1992,41], EntityCow['Корова'/165, l='MpServer', x=1797,03, y=4,00, z=1962,91], EntityClientPlayerMP['Player312'/226, l='MpServer', x=1761,76, y=5,62, z=1924,21], EntitySheep['Овца'/164, l='MpServer', x=1802,22, y=4,00, z=1886,88], EntityCow['Корова'/186, l='MpServer', x=1833,19, y=4,00, z=1858,81], EntitySheep['Овца'/187, l='MpServer', x=1827,25, y=4,00, z=1873,53], EntityHorse['Лошадь'/184, l='MpServer', x=1827,75, y=4,00, z=1863,91], EntityChicken['Курица'/185, l='MpServer', x=1825,41, y=4,00, z=1860,63], EntityPig['Свинья'/191, l='MpServer', x=1840,09, y=4,00, z=1945,97], EntityHorse['Лошадь'/188, l='MpServer', x=1825,97, y=4,00, z=1898,09], EntityChicken['Курица'/189, l='MpServer', x=1831,47, y=4,00, z=1908,44], EntityItem['item.item.feather'/176, l='MpServer', x=1816,81, y=4,13, z=1984,91], EntitySheep['Овца'/177, l='MpServer', x=1817,16, y=4,00, z=2004,13], EntitySheep['Овца'/182, l='MpServer', x=1835,03, y=4,00, z=1855,97], EntityHorse['Лошадь'/181, l='MpServer', x=1836,06, y=4,00, z=1847,16], EntityCow['Корова'/76, l='MpServer', x=1682,69, y=4,00, z=1860,22], EntityPig['Свинья'/77, l='MpServer', x=1695,13, y=4,00, z=1898,06], EntityPig['Свинья'/78, l='MpServer', x=1683,16, y=4,00, z=1929,22], EntityPig['Свинья'/79, l='MpServer', x=1689,03, y=4,00, z=1929,03], EntityHorse['Лошадь'/193, l='MpServer', x=1830,63, y=4,00, z=1964,50], EntityCow['Корова'/192, l='MpServer', x=1838,94, y=4,00, z=1950,84], EntitySheep['Овца'/75, l='MpServer', x=1688,94, y=4,00, z=1850,88], EntityChicken['Курица'/194, l='MpServer', x=1831,56, y=4,00, z=1955,38], EntitySheep['Овца'/85, l='MpServer', x=1695,88, y=4,00, z=1970,94], EntityHorse['Лошадь'/84, l='MpServer', x=1688,63, y=4,00, z=1965,78], EntityHorse['Лошадь'/87, l='MpServer', x=1692,25, y=4,00, z=1991,72], EntitySheep['Овца'/81, l='MpServer', x=1694,19, y=4,00, z=1946,81], EntitySheep['Овца'/80, l='MpServer', x=1686,66, y=4,00, z=1933,84], EntityPig['Свинья'/83, l='MpServer', x=1691,88, y=4,00, z=1942,59], EntitySheep['Овца'/82, l='MpServer', x=1695,13, y=4,00, z=1936,03], EntityCow['Корова'/93, l='MpServer', x=1700,88, y=4,00, z=1865,16], EntityCow['Корова'/92, l='MpServer', x=1707,91, y=4,00, z=1858,91], EntitySheep['Овца'/95, l='MpServer', x=1706,09, y=4,00, z=1886,13], EntityCow['Корова'/94, l='MpServer', x=1701,09, y=4,00, z=1872,16], EntityChicken['Курица'/89, l='MpServer', x=1690,38, y=4,00, z=1990,38], EntityPig['Свинья'/88, l='MpServer', x=1684,94, y=4,00, z=1992,91], EntityHorse['Лошадь'/209, l='MpServer', x=1840,50, y=4,00, z=1988,78], EntityChicken['Курица'/102, l='MpServer', x=1709,16, y=4,00, z=1976,75], EntityChicken['Курица'/103, l='MpServer', x=1711,44, y=4,00, z=1975,63], EntitySheep['Овца'/100, l='MpServer', x=1706,94, y=4,00, z=1934,06], EntitySheep['Овца'/101, l='MpServer', x=1704,09, y=4,00, z=1962,84], EntityChicken['Курица'/98, l='MpServer', x=1701,41, y=4,00, z=1928,59], EntityItem['item.item.feather'/99, l='MpServer', x=1706,56, y=4,13, z=1935,31], EntityChicken['Курица'/96, l='MpServer', x=1711,56, y=4,00, z=1908,63], EntitySheep['Овца'/97, l='MpServer', x=1708,97, y=4,00, z=1913,09], EntitySheep['Овца'/110, l='MpServer', x=1715,63, y=4,00, z=1896,22], EntityItem['item.item.feather'/111, l='MpServer', x=1727,25, y=4,13, z=1905,81], EntityCow['Корова'/109, l='MpServer', x=1725,09, y=4,00, z=1890,03], EntityChicken['Курица'/104, l='MpServer', x=1711,59, y=4,00, z=1971,53], EntityChicken['Курица'/119, l='MpServer', x=1717,41, y=4,00, z=1941,41], EntityPig['Свинья'/118, l='MpServer', x=1722,63, y=4,00, z=1942,22], EntitySheep['Овца'/117, l='MpServer', x=1716,06, y=4,00, z=1944,88], EntitySheep['Овца'/116, l='MpServer', x=1723,22, y=4,00, z=1931,72], EntityPig['Свинья'/115, l='MpServer', x=1722,91, y=4,00, z=1924,72], EntitySheep['Овца'/114, l='MpServer', x=1720,88, y=4,00, z=1928,25], EntitySheep['Овца'/113, l='MpServer', x=1715,75, y=4,00, z=1911,38], EntityPig['Свинья'/112, l='MpServer', x=1719,59, y=4,00, z=1906,16], EntityHorse['Лошадь'/127, l='MpServer', x=1717,88, y=4,00, z=1977,00], EntityPig['Свинья'/126, l='MpServer', x=1716,84, y=4,00, z=1974,50], EntitySheep['Овца'/125, l='MpServer', x=1713,81, y=4,00, z=1954,38], EntityItem['item.item.feather'/124, l='MpServer', x=1714,44, y=4,13, z=1963,06], EntityChicken['Курица'/123, l='MpServer', x=1720,81, y=4,00, z=1958,81], EntityHorse['Лошадь'/122, l='MpServer', x=1723,63, y=4,00, z=1952,81], EntityChicken['Курица'/121, l='MpServer', x=1713,59, y=4,00, z=1963,53], EntityPig['Свинья'/120, l='MpServer', x=1723,88, y=4,00, z=1936,94]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2556)
at net.minecraft.client.Minecraft.run(Minecraft.java:972)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.7.0_75, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 630810040 bytes (601 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.85.1291 Minecraft Forge 10.13.2.1291 17 mods loaded, 17 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{7.10.85.1291} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.2.1291.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{10.13.2.1291} [Minecraft Forge] (forgeSrc-1.7.10-10.13.2.1291.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
appliedenergistics2-core{rv1-stable-1} [AppliedEnergistics2 Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CodeChickenCore{1.0.4.29} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NotEnoughItems{1.0.4.83} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.4.83-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ThaumicTinkerer-preloader{0.1} [Thaumic Tinkerer Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Baubles{1.0.1.10} [Baubles] (Baubles-deobf-1.7.10-1.0.1.10.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Thaumcraft{4.2.3.5} [Thaumcraft] (Thaumcraft-deobf-1.7.10-4.2.3.5.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
examplemod{1.0} [Example Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
perfectengenering{1.0} [PerfectEngenering] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
appliedenergistics2{rv1-stable-1} [Applied Energistics 2] (appliedenergistics2-rv1-stable-1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
AWWayofTime{v1.3.0b} [Blood Magic: Alchemical Wizardry] (BloodMagic-1.7.10-1.3.0b-3.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Botania{r1.5-163} [Botania] (Botania r1.5-163.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ThaumicTinkerer{unspecified} [Thaumic Tinkerer] (ThaumicTinkerer-2.5-1.7.10-162.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForbiddenMagic{1.7.10-0.552} [Forbidden Magic] (Forbidden Magic-1.7.10-0.552.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
thaumicenergistics{0.8.7.2b-rv1} [Thaumic Energistics] (thaumicenergistics-0.8.7.2b-rv1_rus.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
AE2 Version: stable rv1-stable-1 for Forge 10.13.0.1187
AE2 Integration: IC2:OFF, RotaryCraft:OFF, RC:OFF, BC:OFF, MJ6:OFF, MJ5:OFF, RF:OFF, RFItem:OFF, MFR:OFF, DSU:OFF, FZ:OFF, FMP:OFF, RB:OFF, CLApi:OFF, Waila:OFF, InvTweaks:OFF, NEI:ON, CraftGuide:OFF, Mekanism:OFF, ImmibisMicroblocks:OFF, BetterStorage:OFF
Launched Version: 1.7.10
LWJGL: 2.9.1
OpenGL: GeForce GT 610/PCIe/SSE2 GL version 4.5.0 NVIDIA 347.25, NVIDIA Corporation
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: Русский (Россия)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)
 
at perfectengenering.cristal.BlockCrystalEnderRenderer.renderInventoryBlock(BlockCrystalEnderRenderer.java:24)
Возможно, ты используешь какие-то значение которые равные null.
 
Странно, а что тут может быть null?
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
  {
      GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
      GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
      TileCrystal tc = new TileCrystal();
      tc.blockMetadata = metadata;
      TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0D, 0.0D, 0.0D, 0.0F);
      GL11.glEnable(32826);
  }
 
Тут может быть null "TileCrystal", точнее его рендер (я точно не помню из-за чего это случаеться).
 
хм, а по какой причине?
вот таил:
package perfectengenering.cristal;

import net.minecraft.nbt.NBTTagCompound;
import thaumcraft.api.TileThaumcraft;

public class TileCrystal extends TileThaumcraft{
public short orientation;
 
 public TileCrystal()
 {
   this.orientation = 1;
 }
 
 public void readCustomNBT(NBTTagCompound nbttagcompound)
 {
   super.readCustomNBT(nbttagcompound);
   this.orientation = nbttagcompound.getShort("orientation");
 }
 
 public void writeCustomNBT(NBTTagCompound nbttagcompound)
 {
   super.writeCustomNBT(nbttagcompound);
   nbttagcompound.setShort("orientation", this.orientation);
 }

}
Вот рендер:
package perfectengenering.cristal;
import java.awt.Color;
import java.util.Random;

import org.lwjgl.opengl.GL11;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import thaumcraft.client.lib.UtilsFX;
import thaumcraft.client.renderers.models.ModelCrystal;
import thaumcraft.client.renderers.tile.TileCrystalRenderer;
import thaumcraft.common.tiles.TileCrystal;

public class CrystalRenderer extends TileEntitySpecialRenderer {
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f)
 {
   GL11.glPushMatrix();
   TileCrystal tco = (TileCrystal)te;
   int md = tco.getBlockMetadata();
   int color = 111111;
   if (md != 2) {
     color = 111111;
   }
   UtilsFX.bindTexture("textures/models/crystal.png");
   Random rand = new Random(tco.getBlockMetadata() + tco.xCoord + tco.yCoord * tco.zCoord);
   drawCrystal(tco.orientation, (float)x, (float)y, (float)z, (rand.nextFloat() - rand.nextFloat()) * 5.0F, (rand.nextFloat() - rand.nextFloat()) * 5.0F, rand, color, 1.1F);
   for (int a = 1; a < 2; a++)
   {
     if (md == 2) {
       color = 111111;
     }
     int angle1 = rand.nextInt(36) + 72 * a;
     int angle2 = 15 + rand.nextInt(15);
     drawCrystal(tco.orientation, (float)x, (float)y, (float)z, angle1, angle2, rand, color, 0.8F);
   }
   GL11.glPopMatrix();
   GL11.glDisable(3042);
 }
private void translateFromOrientation(float x, float y, float z, int orientation)
 {
   if (orientation == 0)
   {
     GL11.glTranslatef(x + 0.5F, y + 1.3F, z + 0.5F);
     GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
   }
   else if (orientation == 1)
   {
     GL11.glTranslatef(x + 0.5F, y - 0.3F, z + 0.5F);
   }
   else if (orientation == 2)
   {
     GL11.glTranslatef(x + 0.5F, y + 0.5F, z + 1.3F);
     GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F);
   }
   else if (orientation == 3)
   {
     GL11.glTranslatef(x + 0.5F, y + 0.5F, z - 0.3F);
     GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
   }
   else if (orientation == 4)
   {
     GL11.glTranslatef(x + 1.3F, y + 0.5F, z + 0.5F);
     GL11.glRotatef(90.0F, 0.0F, 0.0F, 1.0F);
   }
   else if (orientation == 5)
   {
     GL11.glTranslatef(x - 0.3F, y + 0.5F, z + 0.5F);
     GL11.glRotatef(-90.0F, 0.0F, 0.0F, 1.0F);
   }
 }
public CrystalRenderer(){
this.model = new ModelCrystal();
}
private ModelCrystal model;

private void drawCrystal(int ori, float x, float y, float z, float a1, float a2, Random rand, int color, float size)
 {
   EntityPlayer p = Minecraft.getMinecraft().thePlayer;
   float shade = MathHelper.sin((p.ticksExisted + rand.nextInt(10)) / (5.0F + rand.nextFloat())) * 0.075F + 0.925F;
   
   Color c = new Color(color);
   float r = c.getRed() / 220.0F;
   float g = c.getGreen() / 220.0F;
   float b = c.getBlue() / 220.0F;
   
   GL11.glPushMatrix();
   GL11.glEnable(2977);
   GL11.glEnable(3042);
   GL11.glEnable(32826);
   GL11.glBlendFunc(770, 771);
   
   translateFromOrientation(x, y, z, ori);
   GL11.glRotatef(a1, 0.0F, 1.0F, 0.0F);
   GL11.glRotatef(a2, 1.0F, 0.0F, 0.0F);
   
   GL11.glScalef((0.15F + rand.nextFloat() * 0.075F) * size, (0.5F + rand.nextFloat() * 0.1F) * size, (0.15F + rand.nextFloat() * 0.05F) * size);
   
   int var19 = (int)(210.0F * shade);
   int var20 = var19 % 65536;
   int var21 = var19 / 65536;
   OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, var20 / 1.0F, var21 / 1.0F);
   GL11.glColor4f(r, g, b, 1.0F);
   
   this.model.render();
   GL11.glScalef(1.0F, 1.0F, 1.0F);
   
   GL11.glDisable(32826);
   GL11.glDisable(3042);
   GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
   GL11.glPopMatrix();
 }

}
[merge_posts_bbcode]Добавлено: 22.04.2015 22:48:52[/merge_posts_bbcode]

Проверил расположение текстурки, ее не было, поставил, проблема не исчезла.

[merge_posts_bbcode]Добавлено: 22.04.2015 22:51:41[/merge_posts_bbcode]

Убрал лишние проверки метадаты, тоже не помогло(
 
Назад
Сверху