TLHPoE
Members-
Posts
638 -
Joined
-
Last visited
Everything posted by TLHPoE
-
OOOHHHHHHHHHHHHH Thanks diesieben, I am an idiot.
-
I'm not, I think. If I try getting the display name of the nametag itemstack, it doesn't crash. When I try getting the display name of the other 2 paint itemstacks, it gives me the crash report I posted.
-
Whoops, posted the wrong crash report, sorry! ---- Minecraft Crash Report ---- // Hi. I'm Minecraft, and I'm a crashaholic. Time: 10/6/14 1:08 PM Description: Rendering screen java.lang.NullPointerException: Rendering screen at net.minecraft.item.ItemStack.getDisplayName(ItemStack.java:539) at tf2crates.item.ItemCrate.addInformation(ItemCrate.java:52) at net.minecraft.item.ItemStack.getTooltip(ItemStack.java:643) at net.minecraft.client.gui.GuiScreen.renderToolTip(GuiScreen.java:126) at net.minecraft.client.gui.inventory.GuiContainerCreative.renderToolTip(GuiContainerCreative.java:768) at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:190) at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:44) at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:672) at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1145) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1066) at net.minecraft.client.Minecraft.run(Minecraft.java:961) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:108) at GradleStart.startClient(GradleStart.java:101) at GradleStart.main(GradleStart.java:66) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.item.ItemStack.getDisplayName(ItemStack.java:539) at tf2crates.item.ItemCrate.addInformation(ItemCrate.java:52) at net.minecraft.item.ItemStack.getTooltip(ItemStack.java:643) at net.minecraft.client.gui.GuiScreen.renderToolTip(GuiScreen.java:126) at net.minecraft.client.gui.inventory.GuiContainerCreative.renderToolTip(GuiContainerCreative.java:768) at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:190) at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:44) at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:672) -- Screen render details -- Details: Screen name: net.minecraft.client.gui.inventory.GuiContainerCreative Mouse location: Scaled: (131, 70). Absolute: (262, 338) Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2 -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['TEST2'/80, l='MpServer', x=139.50, y=75.62, z=251.50]] Chunk stats: MultiplayerChunkCache: 425, 425 Level seed: 0 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: World: (140,64,256), Chunk: (at 12,4,0 in 8,16; contains blocks 128,0,256 to 143,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 89 game time, 89 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: 236 total; [EntityFallingBlock['Falling Block'/2200, l='MpServer', x=198.50, y=44.64, z=163.50], EntitySheep['Sheep'/0, l='MpServer', x=119.94, y=74.00, z=253.91], EntityFallingBlock['Falling Block'/2201, l='MpServer', x=199.50, y=44.64, z=163.50], EntitySheep['Sheep'/1, l='MpServer', x=119.53, y=74.00, z=252.03], EntitySheep['Sheep'/2, l='MpServer', x=118.13, y=74.00, z=252.19], EntitySheep['Sheep'/3, l='MpServer', x=118.03, y=74.00, z=253.88], EntitySheep['Sheep'/4, l='MpServer', x=180.50, y=63.00, z=288.50], EntityFallingBlock['Falling Block'/2205, l='MpServer', x=190.50, y=47.64, z=169.50], EntitySheep['Sheep'/5, l='MpServer', x=178.50, y=63.00, z=287.50], EntityZombie['Zombie'/1097, l='MpServer', x=97.50, y=44.00, z=220.50], EntityFallingBlock['Falling Block'/2206, l='MpServer', x=191.50, y=47.64, z=169.50], EntitySheep['Sheep'/6, l='MpServer', x=175.50, y=63.00, z=288.50], EntityFallingBlock['Falling Block'/2207, l='MpServer', x=191.50, y=35.64, z=177.50], EntitySheep['Sheep'/7, l='MpServer', x=173.50, y=63.00, z=288.50], EntityBat['Bat'/545, l='MpServer', x=182.83, y=59.17, z=244.78], EntitySheep['Sheep'/8, l='MpServer', x=189.50, y=77.00, z=206.50], EntityFallingBlock['Falling Block'/2193, l='MpServer', x=198.50, y=45.64, z=162.50], EntitySheep['Sheep'/9, l='MpServer', x=187.50, y=77.00, z=206.50], EntityFallingBlock['Falling Block'/2194, l='MpServer', x=199.50, y=44.64, z=160.50], EntitySheep['Sheep'/10, l='MpServer', x=187.50, y=77.00, z=206.50], EntityFallingBlock['Falling Block'/2195, l='MpServer', x=199.50, y=45.64, z=162.50], EntitySheep['Sheep'/11, l='MpServer', x=185.50, y=77.00, z=207.50], EntityFallingBlock['Falling Block'/2196, l='MpServer', x=200.50, y=44.64, z=162.50], EntityFallingBlock['Falling Block'/2199, l='MpServer', x=198.50, y=44.64, z=160.50], EntityVillager['Villager'/15, l='MpServer', x=197.56, y=72.00, z=292.51], EntityVillager['Villager'/17, l='MpServer', x=201.69, y=66.00, z=299.69], EntityVillager['Villager'/16, l='MpServer', x=204.50, y=72.00, z=304.50], EntityVillager['Villager'/19, l='MpServer', x=216.50, y=71.00, z=304.50], EntityVillager['Villager'/18, l='MpServer', x=204.49, y=70.12, z=309.24], EntitySkeleton['Skeleton'/1107, l='MpServer', x=111.50, y=53.00, z=254.50], EntitySkeleton['Skeleton'/1106, l='MpServer', x=110.50, y=53.00, z=253.50], EntityFallingBlock['Falling Block'/2235, l='MpServer', x=187.50, y=13.47, z=265.50], EntityFallingBlock['Falling Block'/2233, l='MpServer', x=187.50, y=13.47, z=264.50], EntitySkeleton['Skeleton'/526, l='MpServer', x=132.75, y=62.00, z=171.75], EntitySkeleton['Skeleton'/527, l='MpServer', x=137.50, y=62.00, z=174.50], EntityCreeper['Creeper'/1148, l='MpServer', x=209.60, y=24.00, z=192.30], EntityFallingBlock['Falling Block'/2209, l='MpServer', x=189.50, y=35.64, z=179.50], EntityZombie['Zombie'/1141, l='MpServer', x=120.50, y=38.00, z=289.50], EntityZombie['Zombie'/1140, l='MpServer', x=119.50, y=38.00, z=289.50], EntityFallingBlock['Falling Block'/2264, l='MpServer', x=190.50, y=10.70, z=384.50], EntityEnderman['Enderman'/1574, l='MpServer', x=156.50, y=29.00, z=223.50], EntityEnderman['Enderman'/1575, l='MpServer', x=158.50, y=29.00, z=221.50], EntityFallingBlock['Falling Block'/2262, l='MpServer', x=189.50, y=12.83, z=383.50], EntityFallingBlock['Falling Block'/2263, l='MpServer', x=189.50, y=12.83, z=384.50], EntitySkeleton['Skeleton'/1573, l='MpServer', x=148.50, y=29.00, z=231.50], EntityClientPlayerMP['TEST2'/80, l='MpServer', x=139.50, y=75.62, z=251.50], EntityFallingBlock['Falling Block'/2302, l='MpServer', x=210.50, y=50.13, z=125.50], EntityFallingBlock['Falling Block'/2300, l='MpServer', x=209.50, y=51.13, z=124.50], EntityFallingBlock['Falling Block'/2298, l='MpServer', x=211.50, y=50.13, z=125.50], EntityFallingBlock['Falling Block'/2299, l='MpServer', x=209.50, y=51.13, z=122.50], EntityFallingBlock['Falling Block'/2296, l='MpServer', x=209.50, y=51.13, z=123.50], EntityFallingBlock['Falling Block'/2297, l='MpServer', x=210.50, y=50.13, z=124.50], EntityFallingBlock['Falling Block'/2294, l='MpServer', x=210.50, y=51.13, z=123.50], EntityFallingBlock['Falling Block'/2295, l='MpServer', x=211.50, y=50.13, z=124.50], EntityFallingBlock['Falling Block'/2292, l='MpServer', x=212.50, y=50.13, z=124.50], EntityFallingBlock['Falling Block'/2293, l='MpServer', x=210.50, y=51.13, z=122.50], EntityFallingBlock['Falling Block'/2290, l='MpServer', x=211.50, y=51.13, z=122.50], EntityFallingBlock['Falling Block'/2291, l='MpServer', x=211.50, y=51.13, z=123.50], EntityFallingBlock['Falling Block'/2288, l='MpServer', x=213.50, y=50.13, z=123.50], EntityFallingBlock['Falling Block'/2289, l='MpServer', x=211.50, y=51.13, z=121.50], EntityFallingBlock['Falling Block'/2287, l='MpServer', x=212.50, y=50.13, z=123.50], EntityFallingBlock['Falling Block'/2286, l='MpServer', x=213.50, y=50.13, z=122.50], EntityCreeper['Creeper'/1082, l='MpServer', x=213.50, y=28.00, z=283.50], EntityFallingBlock['Falling Block'/2285, l='MpServer', x=212.50, y=51.13, z=122.50], EntityFallingBlock['Falling Block'/2284, l='MpServer', x=212.50, y=51.13, z=121.50], EntityFallingBlock['Falling Block'/2283, l='MpServer', x=213.50, y=51.13, z=121.50], EntityCreeper['Creeper'/1087, l='MpServer', x=93.50, y=13.00, z=308.50], EntityFallingBlock['Falling Block'/2282, l='MpServer', x=203.50, y=34.13, z=115.50], EntityCreeper['Creeper'/1086, l='MpServer', x=92.60, y=13.00, z=310.41], EntityFallingBlock['Falling Block'/2281, l='MpServer', x=202.50, y=34.13, z=116.50], EntityFallingBlock['Falling Block'/2280, l='MpServer', x=201.50, y=34.13, z=116.50], EntityFallingBlock['Falling Block'/2279, l='MpServer', x=202.50, y=34.13, z=115.50], EntityFallingBlock['Falling Block'/2278, l='MpServer', x=202.50, y=34.13, z=114.50], EntityFallingBlock['Falling Block'/2277, l='MpServer', x=203.50, y=34.13, z=112.50], EntityBat['Bat'/605, l='MpServer', x=86.67, y=22.76, z=231.11], EntityFallingBlock['Falling Block'/2273, l='MpServer', x=202.50, y=34.13, z=113.50], EntityFallingBlock['Falling Block'/2272, l='MpServer', x=202.50, y=34.13, z=112.50], EntityFallingBlock['Falling Block'/2071, l='MpServer', x=181.50, y=33.03, z=168.50], EntityFallingBlock['Falling Block'/2073, l='MpServer', x=180.50, y=33.03, z=166.50], EntityFallingBlock['Falling Block'/2072, l='MpServer', x=182.50, y=33.03, z=168.50], EntityBat['Bat'/678, l='MpServer', x=209.40, y=40.00, z=314.26], EntityFallingBlock['Falling Block'/2075, l='MpServer', x=180.50, y=33.03, z=168.50], EntityFallingBlock['Falling Block'/2074, l='MpServer', x=180.50, y=33.03, z=167.50], EntityFallingBlock['Falling Block'/2077, l='MpServer', x=181.50, y=33.03, z=166.50], EntityFallingBlock['Falling Block'/2076, l='MpServer', x=180.50, y=33.03, z=169.50], EntityFallingBlock['Falling Block'/2079, l='MpServer', x=182.50, y=33.03, z=167.50], EntityFallingBlock['Falling Block'/2078, l='MpServer', x=181.50, y=33.03, z=167.50], EntityZombie['Zombie'/696, l='MpServer', x=75.50, y=43.00, z=274.50], EntitySkeleton['Skeleton'/697, l='MpServer', x=75.50, y=43.00, z=276.50], EntityCreeper['Creeper'/695, l='MpServer', x=78.50, y=43.00, z=279.50], EntitySquid['Squid'/171, l='MpServer', x=90.59, y=59.27, z=271.60], EntitySquid['Squid'/170, l='MpServer', x=90.97, y=58.34, z=275.26], EntitySquid['Squid'/169, l='MpServer', x=91.10, y=59.43, z=276.56], EntitySquid['Squid'/175, l='MpServer', x=94.45, y=60.35, z=277.15], EntitySquid['Squid'/174, l='MpServer', x=87.89, y=60.19, z=276.81], EntitySquid['Squid'/173, l='MpServer', x=86.68, y=57.06, z=277.05], EntitySquid['Squid'/172, l='MpServer', x=86.02, y=59.19, z=278.34], EntitySquid['Squid'/167, l='MpServer', x=89.31, y=57.97, z=281.67], EntitySquid['Squid'/166, l='MpServer', x=81.36, y=60.04, z=280.15], EntityBat['Bat'/643, l='MpServer', x=152.50, y=46.81, z=232.70], EntitySquid['Squid'/165, l='MpServer', x=85.09, y=60.43, z=274.42], EntitySquid['Squid'/164, l='MpServer', x=84.06, y=60.20, z=276.85], EntityFallingBlock['Falling Block'/2082, l='MpServer', x=182.50, y=33.03, z=166.50], EntityFallingBlock['Falling Block'/2083, l='MpServer', x=179.50, y=33.03, z=166.50], EntityFallingBlock['Falling Block'/2080, l='MpServer', x=179.50, y=33.03, z=167.50], EntityFallingBlock['Falling Block'/2081, l='MpServer', x=179.50, y=33.03, z=168.50], EntityFallingBlock['Falling Block'/2086, l='MpServer', x=183.50, y=33.03, z=167.50], EntityFallingBlock['Falling Block'/2087, l='MpServer', x=179.50, y=33.03, z=165.50], EntityFallingBlock['Falling Block'/2084, l='MpServer', x=180.50, y=33.03, z=165.50], EntityFallingBlock['Falling Block'/2085, l='MpServer', x=181.50, y=33.03, z=165.50], EntityFallingBlock['Falling Block'/2090, l='MpServer', x=181.50, y=33.03, z=164.50], EntityFallingBlock['Falling Block'/2088, l='MpServer', x=182.50, y=33.03, z=165.50], EntityFallingBlock['Falling Block'/2089, l='MpServer', x=180.50, y=33.03, z=164.50], EntityFallingBlock['Falling Block'/2092, l='MpServer', x=178.50, y=33.03, z=166.50], EntityFallingBlock['Falling Block'/2133, l='MpServer', x=175.50, y=26.68, z=359.50], EntityFallingBlock['Falling Block'/2135, l='MpServer', x=172.50, y=26.68, z=361.50], EntityFallingBlock['Falling Block'/2134, l='MpServer', x=172.50, y=26.68, z=360.50], EntityFallingBlock['Falling Block'/2141, l='MpServer', x=174.50, y=26.68, z=362.50], EntityFallingBlock['Falling Block'/2140, l='MpServer', x=173.50, y=26.68, z=362.50], EntityFallingBlock['Falling Block'/2137, l='MpServer', x=173.50, y=27.68, z=360.50], EntityFallingBlock['Falling Block'/2136, l='MpServer', x=173.50, y=27.68, z=359.50], EntityFallingBlock['Falling Block'/2139, l='MpServer', x=174.50, y=27.68, z=360.50], EntityFallingBlock['Falling Block'/2138, l='MpServer', x=174.50, y=27.68, z=359.50], EntitySquid['Squid'/220, l='MpServer', x=99.82, y=48.84, z=282.49], EntitySquid['Squid'/221, l='MpServer', x=96.80, y=47.27, z=279.16], EntitySquid['Squid'/222, l='MpServer', x=101.25, y=47.00, z=281.30], EntitySquid['Squid'/216, l='MpServer', x=103.17, y=49.22, z=280.62], EntitySquid['Squid'/218, l='MpServer', x=97.81, y=48.78, z=275.78], EntitySquid['Squid'/219, l='MpServer', x=97.92, y=48.37, z=282.53], EntitySquid['Squid'/212, l='MpServer', x=102.70, y=49.38, z=273.86], EntitySquid['Squid'/213, l='MpServer', x=100.53, y=49.00, z=276.89], EntitySquid['Squid'/214, l='MpServer', x=106.52, y=47.00, z=279.69], EntityZombie['Zombie'/1725, l='MpServer', x=126.50, y=18.00, z=229.50], EntitySquid['Squid'/215, l='MpServer', x=103.38, y=47.00, z=280.59], EntitySpider['Spider'/1722, l='MpServer', x=132.50, y=18.00, z=227.16], EntityCreeper['Creeper'/1723, l='MpServer', x=132.50, y=18.00, z=228.66], EntityFallingBlock['Falling Block'/2123, l='MpServer', x=179.50, y=29.61, z=173.50], EntitySpider['Spider'/1721, l='MpServer', x=129.50, y=18.00, z=229.50], EntitySquid['Squid'/211, l='MpServer', x=101.76, y=48.91, z=284.96], EntitySkeleton['Skeleton'/1187, l='MpServer', x=138.50, y=62.00, z=221.50], EntitySkeleton['Skeleton'/1188, l='MpServer', x=138.50, y=62.00, z=220.50], EntityFallingBlock['Falling Block'/2146, l='MpServer', x=175.50, y=26.68, z=362.50], EntityFallingBlock['Falling Block'/2147, l='MpServer', x=174.50, y=26.68, z=363.50], EntityFallingBlock['Falling Block'/2144, l='MpServer', x=173.50, y=27.68, z=361.50], EntityFallingBlock['Falling Block'/2145, l='MpServer', x=174.50, y=27.68, z=361.50], EntityCreeper['Creeper'/246, l='MpServer', x=209.50, y=26.00, z=286.50], EntitySkeleton['Skeleton'/245, l='MpServer', x=94.50, y=36.00, z=267.50], EntityFallingBlock['Falling Block'/2154, l='MpServer', x=183.50, y=24.68, z=365.50], EntityFallingBlock['Falling Block'/2153, l='MpServer', x=182.50, y=24.68, z=365.50], EntityCreeper['Creeper'/831, l='MpServer', x=116.50, y=30.00, z=271.50], EntityBat['Bat'/337, l='MpServer', x=78.53, y=23.24, z=272.58], EntitySkeleton['Skeleton'/866, l='MpServer', x=112.50, y=16.00, z=309.50], EntityCreeper['Creeper'/868, l='MpServer', x=112.50, y=16.00, z=307.50], EntityCreeper['Creeper'/869, l='MpServer', x=113.50, y=16.00, z=309.50], EntityCreeper['Creeper'/334, l='MpServer', x=94.50, y=34.00, z=265.50], EntityCreeper['Creeper'/335, l='MpServer', x=97.50, y=34.00, z=264.50], EntityCreeper['Creeper'/372, l='MpServer', x=191.18, y=29.00, z=178.96], EntityBat['Bat'/376, l='MpServer', x=177.96, y=32.77, z=174.32], EntityBat['Bat'/362, l='MpServer', x=196.62, y=24.81, z=175.32], EntityBat['Bat'/363, l='MpServer', x=197.81, y=24.83, z=185.70], EntityFallingBlock['Falling Block'/2032, l='MpServer', x=167.50, y=28.93, z=182.50], EntityFallingBlock['Falling Block'/2033, l='MpServer', x=166.50, y=27.93, z=181.50], EntityFallingBlock['Falling Block'/2034, l='MpServer', x=167.50, y=28.93, z=181.50], EntityFallingBlock['Falling Block'/2305, l='MpServer', x=208.50, y=51.13, z=125.50], EntityFallingBlock['Falling Block'/2035, l='MpServer', x=167.50, y=28.93, z=180.50], EntityFallingBlock['Falling Block'/2310, l='MpServer', x=209.50, y=50.13, z=125.50], EntityFallingBlock['Falling Block'/2308, l='MpServer', x=208.50, y=52.13, z=124.50], EntityZombie['Zombie'/1500, l='MpServer', x=80.50, y=28.00, z=330.50], EntityBat['Bat'/400, l='MpServer', x=122.28, y=25.77, z=216.39], EntityFallingBlock['Falling Block'/2313, l='MpServer', x=207.50, y=52.13, z=125.50], EntityFallingBlock['Falling Block'/2318, l='MpServer', x=209.50, y=50.13, z=126.50], EntityCreeper['Creeper'/1498, l='MpServer', x=76.50, y=28.00, z=326.50], EntityCreeper['Creeper'/1499, l='MpServer', x=79.50, y=28.00, z=329.50], EntityFallingBlock['Falling Block'/2316, l='MpServer', x=208.50, y=50.13, z=126.50], EntitySlime['Slime'/940, l='MpServer', x=63.92, y=15.82, z=307.92], EntityFallingBlock['Falling Block'/2321, l='MpServer', x=207.50, y=51.13, z=126.50], EntitySpider['Spider'/936, l='MpServer', x=65.10, y=15.00, z=309.62], EntityFallingBlock['Falling Block'/2023, l='MpServer', x=166.50, y=29.93, z=185.50], EntityFallingBlock['Falling Block'/2022, l='MpServer', x=166.50, y=29.93, z=184.50], EntityFallingBlock['Falling Block'/2025, l='MpServer', x=165.50, y=29.93, z=184.50], EntityFallingBlock['Falling Block'/2024, l='MpServer', x=167.50, y=29.93, z=184.50], EntityZombie['Zombie'/1486, l='MpServer', x=145.50, y=36.00, z=236.50], EntityFallingBlock['Falling Block'/2027, l='MpServer', x=167.50, y=29.93, z=183.50], EntityFallingBlock['Falling Block'/2026, l='MpServer', x=166.50, y=29.93, z=183.50], EntityFallingBlock['Falling Block'/2029, l='MpServer', x=165.50, y=29.93, z=183.50], EntityFallingBlock['Falling Block'/2028, l='MpServer', x=167.50, y=29.93, z=185.50], EntityFallingBlock['Falling Block'/2031, l='MpServer', x=166.50, y=28.93, z=182.50], EntityFallingBlock['Falling Block'/2343, l='MpServer', x=210.50, y=54.46, z=132.50], EntityFallingBlock['Falling Block'/2344, l='MpServer', x=210.50, y=54.46, z=133.50], EntityFallingBlock['Falling Block'/2345, l='MpServer', x=211.50, y=54.46, z=129.50], EntityFallingBlock['Falling Block'/2346, l='MpServer', x=211.50, y=54.46, z=130.50], EntityFallingBlock['Falling Block'/2347, l='MpServer', x=211.50, y=54.46, z=131.50], EntityFallingBlock['Falling Block'/2348, l='MpServer', x=211.50, y=54.46, z=132.50], EntityFallingBlock['Falling Block'/2349, l='MpServer', x=211.50, y=54.46, z=134.50], EntityFallingBlock['Falling Block'/2350, l='MpServer', x=211.50, y=54.46, z=135.50], EntityFallingBlock['Falling Block'/2351, l='MpServer', x=212.50, y=54.46, z=133.50], EntityFallingBlock['Falling Block'/2353, l='MpServer', x=212.50, y=54.46, z=135.50], EntityFallingBlock['Falling Block'/2352, l='MpServer', x=212.50, y=54.46, z=134.50], EntityFallingBlock['Falling Block'/2355, l='MpServer', x=213.50, y=54.46, z=134.50], EntityFallingBlock['Falling Block'/2354, l='MpServer', x=213.50, y=54.46, z=133.50], EntityFallingBlock['Falling Block'/2357, l='MpServer', x=214.50, y=54.46, z=133.50], EntityFallingBlock['Falling Block'/2356, l='MpServer', x=213.50, y=54.46, z=135.50], EntityFallingBlock['Falling Block'/2359, l='MpServer', x=207.50, y=54.46, z=146.50], EntityFallingBlock['Falling Block'/2358, l='MpServer', x=214.50, y=54.46, z=134.50], EntityFallingBlock['Falling Block'/2360, l='MpServer', x=208.50, y=54.46, z=147.50], EntityCreeper['Creeper'/900, l='MpServer', x=177.50, y=23.00, z=212.50], EntityFallingBlock['Falling Block'/2382, l='MpServer', x=206.50, y=41.96, z=316.50], EntityFallingBlock['Falling Block'/2383, l='MpServer', x=207.50, y=41.96, z=315.50], EntityFallingBlock['Falling Block'/2380, l='MpServer', x=205.50, y=40.96, z=316.50], EntityFallingBlock['Falling Block'/2381, l='MpServer', x=206.50, y=41.96, z=315.50], EntityCreeper['Creeper'/1012, l='MpServer', x=90.50, y=12.00, z=315.50], EntityFallingBlock['Falling Block'/2379, l='MpServer', x=207.50, y=41.96, z=316.50], EntityFallingBlock['Falling Block'/2386, l='MpServer', x=206.50, y=40.96, z=318.50], EntityFallingBlock['Falling Block'/2385, l='MpServer', x=205.50, y=40.96, z=318.50], EntityFallingBlock['Falling Block'/2384, l='MpServer', x=206.50, y=41.96, z=317.50], EntityFallingBlock['Falling Block'/2399, l='MpServer', x=217.50, y=55.42, z=110.50], EntityFallingBlock['Falling Block'/2398, l='MpServer', x=216.50, y=55.42, z=111.50], EntityBat['Bat'/452, l='MpServer', x=124.84, y=40.78, z=282.41], EntityCreeper['Creeper'/998, l='MpServer', x=210.50, y=24.00, z=192.08], EntityFallingBlock['Falling Block'/2404, l='MpServer', x=218.50, y=55.42, z=111.50], EntityFallingBlock['Falling Block'/2405, l='MpServer', x=218.50, y=55.42, z=112.50], EntityFallingBlock['Falling Block'/2406, l='MpServer', x=218.50, y=55.42, z=113.50], EntityFallingBlock['Falling Block'/2407, l='MpServer', x=219.50, y=55.42, z=110.50], EntityFallingBlock['Falling Block'/2400, l='MpServer', x=217.50, y=55.42, z=111.50], EntityFallingBlock['Falling Block'/2401, l='MpServer', x=217.50, y=55.42, z=112.50], EntityFallingBlock['Falling Block'/2402, l='MpServer', x=218.50, y=55.42, z=109.50], EntityFallingBlock['Falling Block'/2403, l='MpServer', x=218.50, y=55.42, z=110.50], EntityFallingBlock['Falling Block'/2412, l='MpServer', x=220.50, y=56.42, z=112.50], EntityFallingBlock['Falling Block'/2408, l='MpServer', x=219.50, y=55.42, z=111.50], EntityFallingBlock['Falling Block'/2409, l='MpServer', x=219.50, y=55.42, z=112.50], EntityFallingBlock['Falling Block'/2410, l='MpServer', x=220.50, y=56.42, z=111.50], EntityZombie['Zombie'/498, l='MpServer', x=116.16, y=17.00, z=309.25], EntityCreeper['Creeper'/1470, l='MpServer', x=81.50, y=12.00, z=291.50], EntityFallingBlock['Falling Block'/2411, l='MpServer', x=220.50, y=56.42, z=110.50], EntityZombie['Zombie'/499, l='MpServer', x=115.50, y=17.00, z=306.50], EntityCreeper['Creeper'/966, l='MpServer', x=77.16, y=22.00, z=273.50]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:417) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2567) at net.minecraft.client.Minecraft.run(Minecraft.java:983) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:108) at GradleStart.startClient(GradleStart.java:101) at GradleStart.main(GradleStart.java:66) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 839678016 bytes (800 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: 13, tallocated: 95 FML: MCP v9.05 FML v7.10.25.1189 Minecraft Forge 10.13.0.1189 12 mods loaded, 12 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.10.25.1189} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1189.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.13.0.1189} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1189.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available CodeChickenCore{1.0.2.11} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available fans{1.4} [Fans] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available huntersagas{1.0} [Hunter Sagas] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available tlhpoeCore{1.6} [TLHPoE Core] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available enderrepositories{1.4} [Ender Repositories] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available flappyworld{1.5} [Flappy World] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available simplyberries{1.0} [simply Berries] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available tf2crates{1.0} [TF2 Crates] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available VersionChecker{1.1.3} [Version Checker] (VersionChecker-1.1.3.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Launched Version: 1.7.10 LWJGL: 2.9.1 OpenGL: GeForce GT 520/PCIe/SSE2 GL version 4.3.0, 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: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Anisotropic Filtering: Off (1)
-
Ok, well I have no idea what's crashing me then. I get this crash when I call ItemStack#getDisplayName() ---- Minecraft Crash Report ---- // Why did you do that? Time: 7/29/14 11:26 PM Description: Initializing game java.lang.IllegalArgumentException: Empty string not allowed at net.minecraft.nbt.NBTTagString.<init>(NBTTagString.java:24) at net.minecraft.nbt.NBTTagCompound.setString(NBTTagCompound.java:138) at tlhpoeCore.TLHPoE.registerUpdateDetector(TLHPoE.java:63) at flappyworld.ClientProxyFW.initClient(ClientProxyFW.java:14) at flappyworld.FlappyWorld.preInit(FlappyWorld.java:24) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:513) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239) at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) at net.minecraft.client.Minecraft.run(Minecraft.java:941) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:108) at GradleStart.startClient(GradleStart.java:101) at GradleStart.main(GradleStart.java:56) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.nbt.NBTTagString.<init>(NBTTagString.java:24) at net.minecraft.nbt.NBTTagCompound.setString(NBTTagCompound.java:138) at tlhpoeCore.TLHPoE.registerUpdateDetector(TLHPoE.java:63) at flappyworld.ClientProxyFW.initClient(ClientProxyFW.java:14) at flappyworld.FlappyWorld.preInit(FlappyWorld.java:24) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:513) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239) at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:941) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:108) at GradleStart.startClient(GradleStart.java:101) at GradleStart.main(GradleStart.java:56) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 780401848 bytes (744 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.25.1189 Minecraft Forge 10.13.0.1189 10 mods loaded, 10 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized FML{7.10.25.1189} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1189.jar) Unloaded->Constructed->Pre-initialized Forge{10.13.0.1189} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1189.jar) Unloaded->Constructed->Pre-initialized CodeChickenCore{1.0.2.11} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized fans{1.3} [Fans] (bin) Unloaded->Constructed->Pre-initialized tlhpoeCore{1.5} [TLHPoE Core] (bin) Unloaded->Constructed->Pre-initialized enderrepositories{1.3} [Ender Repositories] (bin) Unloaded->Constructed->Pre-initialized flappyworld{1.4} [Flappy World] (bin) Unloaded->Constructed->Errored tlhtweaks{1.0} [TLH Tweaks] (bin) Unloaded->Constructed->Pre-initialized VersionChecker{1.1.3} [Version Checker] (VersionChecker-1.1.3.jar) Unloaded->Constructed->Pre-initialized Launched Version: 1.7.10 LWJGL: 2.9.1 OpenGL: GeForce GT 520/PCIe/SSE2 GL version 4.3.0, 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: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Anisotropic Filtering: Off (1) ItemCrate: package tf2crates.item; import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import tf2crates.ReferenceTC; import tf2crates.ServerProxyTC; import tf2crates.crate.CrateLoot; import tlhpoeCore.util.MathUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemCrate extends Item { public static final short NUMBER_OF_CRATES = 1; public ItemCrate() { super(); this.setUnlocalizedName("crate"); this.setTextureName(ReferenceTC.ID + ":crate"); this.setMaxStackSize(1); this.hasSubtypes = true; } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { for(int i = 0; i < NUMBER_OF_CRATES; i++) { list.add(new ItemStack(item, 1, i)); } } @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean f) { int series = itemStack.getItemDamage() + 1; info.add(EnumChatFormatting.BLUE + "Crate Series #" + series); info.add(EnumChatFormatting.WHITE + "This crate contains one of the following items:"); ItemStack[] lootItems = CrateLoot.getLootForCrate(series); ItemStack is = lootItems[1]; //THE ITEMSTACK IS 1 PAINT CAN WITH DAMAGE OF 0 System.err.println("SIZE: " + is.getDisplayName()); //CRASHES RIGHT HERE for(int i = 0; i < lootItems.length; i++) { ItemStack loot = lootItems[i]; if(loot == null) { System.out.println("INDEX: " + i); return; } //info.add(EnumChatFormatting.GRAY + loot.getDisplayName()); } info.add(EnumChatFormatting.AQUA + "or an Exceedingly Rare Special Item!"); } @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { if(!world.isRemote) { if(player.inventory.consumeInventoryItem(ServerProxyTC.key)) { int series = itemStack.getItemDamage() + 1; ItemStack[] lootItems = CrateLoot.getLootForCrate(series); ItemStack loot = null; if(MathUtil.getChance(1, 50)) { loot = new ItemStack(Blocks.diamond_block, 64); } else { loot = lootItems[MathUtil.nextInt(lootItems.length)].copy(); } player.inventory.addItemStackToInventory(loot.copy()); player.playSound(ReferenceTC.ID + ":tf2crates.uncrate", 0.25F, 1F); player.addChatMessage(new ChatComponentText("You received a " + EnumChatFormatting.YELLOW + loot.getDisplayName() + " (x" + loot.stackSize + ")" + EnumChatFormatting.WHITE + "!!!")); itemStack.stackSize--; } else { player.addChatMessage(new ChatComponentText("You need a " + EnumChatFormatting.YELLOW + "Mann Co. Supply Crate Key" + EnumChatFormatting.WHITE + " to open this!")); } } return itemStack; } } ItemPaint: package tf2crates.item; import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import tf2crates.ReferenceTC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemPaint extends Item { public static final String[] TYPES = { "Black", "Blue", "Green", "Orange", "Purple", "White", "Yellow" }; public IIcon[] textures; public ItemPaint() { super(); this.setUnlocalizedName("paint"); this.setMaxStackSize(1); this.hasSubtypes = true; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { textures = new IIcon[TYPES.length]; for(int i = 0; i < TYPES.length; i++) { textures[i] = iconRegister.registerIcon(ReferenceTC.ID + ":/paint/paint" + TYPES[i]); } } @Override public String getItemStackDisplayName(ItemStack itemStack) { int dmg = itemStack.getItemDamage(); String res2 = TYPES[dmg]; String res = StatCollector.translateToLocal("paint." + res2 + ".name"); return res; } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { for(int i = 0; i < TYPES.length; i++) { list.add(new ItemStack(item, 1, i)); } } @Override public EnumRarity getRarity(ItemStack itemStack) { return EnumRarity.rare; } @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean f) { info.add(EnumChatFormatting.YELLOW + "Combine this with the helmet of your choice!"); } @Override @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int dmg) { return textures[dmg]; } } CrateLoot: package tf2crates.crate; import java.util.HashMap; import java.util.Map; import tf2crates.ServerProxyTC; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class CrateLoot { private static final Map<Integer, ItemStack[]> CRATE_LOOT = new HashMap<Integer, ItemStack[]>(); public static void init() { addCrateLoot(1, new ItemStack(Items.name_tag, 1), new ItemStack(ServerProxyTC.paint, 1, 0), new ItemStack(ServerProxyTC.paint, 1, 5)); //item dmg is null, not in nbt } private static void addCrateLoot(int series, ItemStack... lootItems) { CRATE_LOOT.put(series, lootItems); } public static ItemStack[] getLootForCrate(int series) { return CRATE_LOOT.get(series); } }
-
Hello, I'm having a slight problem with storing itemstacks in a map. Whenever I try getting the display name of the itemstack, it crashes. I was able to track the problem to the itemstack's tag compound is null, which is where the itemstack stores and retrieves its item damage. Is there something I'm doing wrong? Am I suppose to create the itemstack's tag compound and store the item damage myself? Code: package tf2crates.crate; import java.util.HashMap; import java.util.Map; import tf2crates.ServerProxyTC; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class CrateLoot { private static final Map<Integer, ItemStack[]> CRATE_LOOT = new HashMap<Integer, ItemStack[]>(); public static void init() { addCrateLoot(1, new ItemStack(Items.name_tag, 1), new ItemStack(ServerProxyTC.paint, 1, 0), new ItemStack(ServerProxyTC.paint, 1, 5)); //item dmg is null, not in nbt } private static void addCrateLoot(int series, ItemStack... lootItems) { CRATE_LOOT.put(series, lootItems); } public static ItemStack[] getLootForCrate(int series) { return CRATE_LOOT.get(series); } }
-
Ok, it's rendering now, but it seems kind of wonky. Ingame: Techne: TileEntityRenderer: package simplyberries.client.render; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; import simplyberries.client.model.ModelBerryBush; import tlhpoeCore.util.MCUtil; public class TileEntityBerryBushRenderer extends TileEntitySpecialRenderer { private static final ResourceLocation TEXTURE = MCUtil.newResource("simplyberries:textures/blocks/berryBush.png"); private final ModelBerryBush model; public TileEntityBerryBushRenderer() { super(); this.model = new ModelBerryBush(); } @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float scale) { System.out.println("RENDER"); Minecraft mc = MCUtil.getMC(); World world = mc.theWorld; mc.renderEngine.bindTexture(TEXTURE); GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D); GL11.glRotatef(180F, 0, 0, 0); model.render(null, 0F, 0F, 0F, 0F, 0F, 0.0625F); GL11.glPopMatrix(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotated(meta * (-90), 0, 0, 1); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getLightValue(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier); } } Model: package simplyberries.client.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelBerryBush extends ModelBase { private ModelRenderer mainStem; private ModelRenderer branch1; private ModelRenderer branch2; private ModelRenderer branch3; private ModelRenderer bush; private ModelRenderer dirtPile; public ModelBerryBush() { textureWidth = 64; textureHeight = 32; mainStem = new ModelRenderer(this, 4, 0); mainStem.addBox(0F, 0F, 0F, 2, 6, 2); mainStem.setRotationPoint(-1F, 18F, -1F); mainStem.setTextureSize(64, 32); mainStem.mirror = true; setRotation(mainStem, 0F, 0F, 0F); branch1 = new ModelRenderer(this, 0, 0); branch1.addBox(0F, 0F, 0F, 1, 5, 1); branch1.setRotationPoint(2.933333F, 15.66667F, -2.9F); branch1.setTextureSize(64, 32); branch1.mirror = true; setRotation(branch1, 0F, 0.669215F, 0.9294653F); branch2 = new ModelRenderer(this, 0, 0); branch2.addBox(0F, 0F, 0F, 1, 5, 1); branch2.setRotationPoint(-3.066667F, 14.8F, -2.4F); branch2.setTextureSize(64, 32); branch2.mirror = true; setRotation(branch2, -0.0743572F, -0.6320364F, -0.669215F); branch3 = new ModelRenderer(this, 0, 0); branch3.addBox(0F, 0F, 0F, 1, 5, 1); branch3.setRotationPoint(-0.6666667F, 15.93333F, 5F); branch3.setTextureSize(64, 32); branch3.mirror = true; setRotation(branch3, 0.1487144F, 1.673038F, -0.9294653F); bush = new ModelRenderer(this, 0, ; bush.addBox(0F, 0F, 0F, 10, 10, 10); bush.setRotationPoint(-5F, 11.4F, -5F); bush.setTextureSize(64, 32); bush.mirror = true; setRotation(bush, 0F, 0F, 0F); dirtPile = new ModelRenderer(this, 12, 0); dirtPile.addBox(0F, 0F, 0F, 3, 1, 3); dirtPile.setRotationPoint(-1.5F, 23.4F, -1.5F); dirtPile.setTextureSize(64, 32); dirtPile.mirror = true; setRotation(dirtPile, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); mainStem.render(f5); branch1.render(f5); branch2.render(f5); branch3.render(f5); bush.render(f5); dirtPile.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e) { super.setRotationAngles(f, f1, f2, f3, f4, f5, e); } }
-
Hello, I'm attempting to render a techne model for my block instead of the usual cube. The renderTileEntityAt method is being called. *Edit: Forgot to explain what the problem was *facepalm* *When I place the block down, the outline appears when I hover over it, but the model isn't being rendered. Mod: package simplyberries; import static simplyberries.ReferenceSB.ID; import static simplyberries.ReferenceSB.NAME; import static simplyberries.ReferenceSB.VERSION; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @Mod(modid = ID, name = NAME, version = VERSION, dependencies = "required-after:tlhpoeCore") public class SimplyBushes { @Instance(ID) public static SimplyBushes instance; @SidedProxy(clientSide = ID + ".ClientProxySB", serverSide = ID + ".ServerProxySB") public static ServerProxySB proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { proxy.initServer(); proxy.initClient(); } } ServerProxy: package simplyberries; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import simplyberries.block.BlockBerryBush; import simplyberries.block.TileEntityBerryBush; import cpw.mods.fml.common.registry.GameRegistry; public class ServerProxySB { public static Block berryBush = new BlockBerryBush(); public void initServer() { GameRegistry.registerTileEntity(TileEntityBerryBush.class, "tileEntityBerryBush"); GameRegistry.registerBlock(berryBush, "berryBush"); } public void initClient() { } } ClientProxy: package simplyberries; import simplyberries.block.TileEntityBerryBush; import simplyberries.client.render.TileEntityBerryBushRenderer; import tlhpoeCore.TLHPoE; import cpw.mods.fml.client.registry.ClientRegistry; public class ClientProxySB extends ServerProxySB { @Override public void initClient() { TLHPoE.registerUpdateDetector(ReferenceSB.ID, ReferenceSB.NAME, ReferenceSB.VERSION, "0B6mhkrh-GwwwR2JjUUdDSWh3d0U"); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBerryBush.class, new TileEntityBerryBushRenderer()); } } Block: package simplyberries.block; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockBerryBush extends BlockContainer { public BlockBerryBush() { super(Material.leaves); this.setBlockTextureName("leaves"); this.setStepSound(Block.soundTypeGrass); this.setCreativeTab(CreativeTabs.tabDecorations); this.setBlockName("berryBush"); } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityBerryBush(); } @Override public int getRenderType() { return -1; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } } TileEntity: package simplyberries.block; import net.minecraft.tileentity.TileEntity; public class TileEntityBerryBush extends TileEntity { } Model: package simplyberries.client.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelBerryBush extends ModelBase { ModelRenderer mainStem; ModelRenderer branch1; ModelRenderer branch2; ModelRenderer branch3; ModelRenderer leaves; ModelRenderer dirtPile; public ModelBerryBush() { textureWidth = 64; textureHeight = 32; mainStem = new ModelRenderer(this, 4, 0); mainStem.addBox(0F, 0F, 0F, 2, 6, 2); mainStem.setRotationPoint(-1F, 18F, -1F); mainStem.setTextureSize(64, 32); mainStem.mirror = true; setRotation(mainStem, 0F, 0F, 0F); branch1 = new ModelRenderer(this, 0, 0); branch1.addBox(0F, 0F, 0F, 1, 5, 1); branch1.setRotationPoint(2.933333F, 15.66667F, -2.9F); branch1.setTextureSize(64, 32); branch1.mirror = true; setRotation(branch1, 0F, 0.669215F, 0.9294653F); branch2 = new ModelRenderer(this, 0, 0); branch2.addBox(0F, 0F, 0F, 1, 5, 1); branch2.setRotationPoint(-3.066667F, 14.8F, -2.4F); branch2.setTextureSize(64, 32); branch2.mirror = true; setRotation(branch2, -0.0743572F, -0.6320364F, -0.669215F); branch3 = new ModelRenderer(this, 0, 0); branch3.addBox(0F, 0F, 0F, 1, 5, 1); branch3.setRotationPoint(-0.6666667F, 15.93333F, 5F); branch3.setTextureSize(64, 32); branch3.mirror = true; setRotation(branch3, 0.1487144F, 1.673038F, -0.9294653F); leaves = new ModelRenderer(this, 0, ; leaves.addBox(0F, 0F, 0F, 10, 10, 10); leaves.setRotationPoint(-5F, 11.4F, -5F); leaves.setTextureSize(64, 32); leaves.mirror = true; setRotation(leaves, 0F, 0F, 0F); dirtPile = new ModelRenderer(this, 12, 0); dirtPile.addBox(0F, 0F, 0F, 3, 1, 3); dirtPile.setRotationPoint(-1.5F, 23.4F, -1.5F); dirtPile.setTextureSize(64, 32); dirtPile.mirror = true; setRotation(dirtPile, 0F, 0F, 0F); } @Override public void render(Entity e, float f, float f1, float f2, float f3, float f4, float f5) { super.render(e, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, e); mainStem.render(f5); branch1.render(f5); branch2.render(f5); branch3.render(f5); leaves.render(f5); dirtPile.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } TileEntityRenderer: package simplyberries.client.render; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; import simplyberries.client.model.ModelBerryBush; import tlhpoeCore.util.MCUtil; public class TileEntityBerryBushRenderer extends TileEntitySpecialRenderer { private static final ResourceLocation TEXTURE = MCUtil.newResource("simplyberries:textures/blocks/berryBush.png"); private final ModelBerryBush model; public TileEntityBerryBushRenderer() { super(); this.model = new ModelBerryBush(); } @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float scale) { System.out.println("RENDER"); GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D); Minecraft mc = MCUtil.getMC(); World world = mc.theWorld; mc.renderEngine.bindTexture(TEXTURE); GL11.glPushMatrix(); GL11.glRotatef(180F, 0, 0, 0); model.render(null, 0F, 0F, 0F, 0F, 0F, 0F); GL11.glPopMatrix(); GL11.glPopMatrix(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotated(meta * (-90), 0, 0, 1); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getLightValue(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier); } }
-
Direct rotation (not "smooth" and prettier 359 -> 0)
TLHPoE replied to david476's topic in Modder Support
Is your ship very wide/long? If so, I think you're talking about how the end of your ship is rotated very rigidly. This is to be expected due to the fact that the farther away an object is from the center of rotation, the more space it will travel to fulfill the rotation. -
Hello, I'm back from my somewhat eternal hiatus and I've run into a problem already, sadly. I have a block with a tile entity and a custom renderer. For some reason, the block is not appearing my custom tab. If I try searching for the block, it does not appear. ServerProxy: package simplyberries; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import simplyberries.block.BlockBerryBush; import simplyberries.block.TileEntityBerryBush; import cpw.mods.fml.common.registry.GameRegistry; public class ServerProxySB { public static Block berryBush = new BlockBerryBush(); public void initServer() { GameRegistry.registerTileEntity(TileEntityBerryBush.class, "tileEntityBerryBush"); GameRegistry.registerBlock(berryBush, "berryBush"); } public void initClient() { } public static CreativeTabs tab = new CreativeTabs("simplyBerries") { @Override public Item getTabIconItem() { return Item.getItemFromBlock(berryBush); } }; } ClientProxy: package simplyberries; import simplyberries.block.TileEntityBerryBush; import simplyberries.client.render.TileEntityBerryBushRenderer; import tlhpoeCore.TLHPoE; import cpw.mods.fml.client.registry.ClientRegistry; public class ClientProxySB extends ServerProxySB { @Override public void initClient() { TLHPoE.registerUpdateDetector(ReferenceSB.ID, ReferenceSB.NAME, ReferenceSB.VERSION, "0B6mhkrh-GwwwR2JjUUdDSWh3d0U"); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBerryBush.class, new TileEntityBerryBushRenderer()); } } Block: package simplyberries.block; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import simplyberries.ServerProxySB; public class BlockBerryBush extends BlockContainer { public BlockBerryBush() { super(Material.leaves); this.setBlockTextureName("leaves"); this.setStepSound(Block.soundTypeGrass); this.setCreativeTab(ServerProxySB.tab); this.setBlockName("berryBush"); } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityBerryBush(); } @Override public int getRenderType() { return -1; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } } TileEntity: package simplyberries.block; import net.minecraft.tileentity.TileEntity; public class TileEntityBerryBush extends TileEntity { } Model: package simplyberries.client.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelBerryBush extends ModelBase { ModelRenderer mainStem; ModelRenderer branch1; ModelRenderer branch2; ModelRenderer branch3; ModelRenderer leaves; ModelRenderer dirtPile; public ModelBerryBush() { textureWidth = 64; textureHeight = 32; mainStem = new ModelRenderer(this, 4, 0); mainStem.addBox(0F, 0F, 0F, 2, 6, 2); mainStem.setRotationPoint(-1F, 18F, -1F); mainStem.setTextureSize(64, 32); mainStem.mirror = true; setRotation(mainStem, 0F, 0F, 0F); branch1 = new ModelRenderer(this, 0, 0); branch1.addBox(0F, 0F, 0F, 1, 5, 1); branch1.setRotationPoint(2.933333F, 15.66667F, -2.9F); branch1.setTextureSize(64, 32); branch1.mirror = true; setRotation(branch1, 0F, 0.669215F, 0.9294653F); branch2 = new ModelRenderer(this, 0, 0); branch2.addBox(0F, 0F, 0F, 1, 5, 1); branch2.setRotationPoint(-3.066667F, 14.8F, -2.4F); branch2.setTextureSize(64, 32); branch2.mirror = true; setRotation(branch2, -0.0743572F, -0.6320364F, -0.669215F); branch3 = new ModelRenderer(this, 0, 0); branch3.addBox(0F, 0F, 0F, 1, 5, 1); branch3.setRotationPoint(-0.6666667F, 15.93333F, 5F); branch3.setTextureSize(64, 32); branch3.mirror = true; setRotation(branch3, 0.1487144F, 1.673038F, -0.9294653F); leaves = new ModelRenderer(this, 0, ; leaves.addBox(0F, 0F, 0F, 10, 10, 10); leaves.setRotationPoint(-5F, 11.4F, -5F); leaves.setTextureSize(64, 32); leaves.mirror = true; setRotation(leaves, 0F, 0F, 0F); dirtPile = new ModelRenderer(this, 12, 0); dirtPile.addBox(0F, 0F, 0F, 3, 1, 3); dirtPile.setRotationPoint(-1.5F, 23.4F, -1.5F); dirtPile.setTextureSize(64, 32); dirtPile.mirror = true; setRotation(dirtPile, 0F, 0F, 0F); } @Override public void render(Entity e, float f, float f1, float f2, float f3, float f4, float f5) { super.render(e, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, e); mainStem.render(f5); branch1.render(f5); branch2.render(f5); branch3.render(f5); leaves.render(f5); dirtPile.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } } TileEntityRenderer: package simplyberries.client.render; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; import simplyberries.client.model.ModelBerryBush; import tlhpoeCore.util.MCUtil; public class TileEntityBerryBushRenderer extends TileEntitySpecialRenderer { private static final ResourceLocation TEXTURE = MCUtil.newResource("simplyberries:textures/blocks/berryBush.png"); private static final ModelBerryBush MODEL = new ModelBerryBush(); @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslated(x, y, z); Minecraft mc = MCUtil.getMC(); World world = mc.theWorld; int x2 = (int) x; int y2 = (int) y; int z2 = (int) z; adjustLightFixture(world, x2, y2, z2, world.getBlock(x2, y2, z2)); mc.renderEngine.bindTexture(TEXTURE); MODEL.render(null, 0F, 0F, 0F, 0F, 0F, 0F); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getLightValue(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier); } } I setup debug things at the registering parts, and they're all being called.
-
Gui disable movement if you actually open the gui I believe, which is something you don't want to do when rendering a HUD.
-
I'm almost 100% sure RenderGameOverlayEvent is a forge event, so register it in MinecraftForge.EVENT_BUS. Don't forget to register it on the client side ONLY!
-
I'm not sure how zombies do it, but I would suggest overriding the entity collide method in your mob and checking for any EntityItems. If it finds any, equip the item in your mob and kill the EntityItem.
-
Use the LivingDeathEvent to listen for the ender dragon's death, and then use WorldSavedData to store the flag.
-
http://www.minecraftforge.net/forum/index.php/topic,7773.msg39517.html#msg39517 <------ not sure if out dated, look around the classes For the overlay, you could use the RenderGameOverlayEvent.Pre event and check for the type.
-
[1.7.2]Increasing movement speed based on a stat[SOLVED]
TLHPoE replied to hugo_the_dwarf's topic in Modder Support
I think you need to only set it when it's first equipped and unset it when it's unequipped. If you are using a custom slot, look in the Slot class for clues. -
How would I make a structure spawn only once in a world? Kind of like a stronghold? One possible solution that I thought of was to check if my structure was generated already by using WorldSavedData, and if it wasn't already generated, then I would generate it and then toggle the boolean in WorldSavedData. Any other solutions I could use?
-
I'm having a bit of an issue with rendering an item. My item renderer basically renders the default 3D item and then scales it to make it bigger. The problem is, there are some grainy, noise-like rendering on the item. Here's my item renderer: package terrarium.client.render.item; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import terrarium.item.IScaledRender; import terrarium.util.Util; public class RenderScaledItem implements IItemRenderer { @Override public boolean handleRenderType(ItemStack itemStack, ItemRenderType type) { return (type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON) ? true : false; } @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack itemStack, ItemRendererHelper helper) { return (type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON) ? true : false; } @Override public void renderItem(ItemRenderType type, ItemStack itemStack, Object... data) { Item item = itemStack.getItem(); if(item instanceof IScaledRender) { double scale = ((IScaledRender) item).getScale(itemStack); IIcon icon = item.getIcon(itemStack, 0); Minecraft mc = Util.getMC(); mc.renderEngine.bindTexture(TextureMap.locationItemsTexture); if(type == ItemRenderType.EQUIPPED) { scale *= 2; GL11.glPushMatrix(); GL11.glScaled(scale, scale, scale); GL11.glTranslated(0.05D, 0.875D, -0.05D); GL11.glRotated(130D, 0D, 1D, 0D); GL11.glRotated(-120D, 0D, 0D, 1D); ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), 255, 255, 0.0625F); GL11.glPopMatrix(); } else if(type == ItemRenderType.EQUIPPED_FIRST_PERSON) { scale *= 200; GL11.glPushMatrix(); GL11.glScaled(scale, scale, scale); GL11.glTranslated(0.4D, -0.2D, 0.45D); GL11.glRotated(37.5D, 0D, 1D, 0D); GL11.glRotated(-30D, 0D, 0D, 1D); ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), 255, 255, 0.0625F); GL11.glPopMatrix(); } } } }
-
Hi, for some reason the reach is not changing at all. The reach is default for attacking and digging even if I set it. This is in a TickEvent.PlayerTick event method: EntityPlayer player = event.player; if(event.phase == Phase.START) { if(event.side == Side.SERVER) { if(player instanceof EntityPlayerMP) { float reach = 5.0F; ItemStack heldItem = player.getHeldItem(); if(heldItem != null) { Item item = heldItem.getItem(); if(item instanceof ICustomReach) { reach = ((ICustomReach) item).getReach(heldItem); } } ItemInWorldManager itemInWorldManager = ((EntityPlayerMP) player).theItemInWorldManager; if(itemInWorldManager.getBlockReachDistance() != reach) { itemInWorldManager.setBlockReachDistance(reach); } } Here's my ItemSword class: package terrarium.item.tool; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import terrarium.item.ICustomReach; public class ItemSword extends ItemTool implements ICustomReach { public SwordType swordType; public ItemSword(String name, ToolMaterial material, SwordType swordType) { super(name, material); this.swordType = swordType; } @Override public boolean isToolType(ToolType type) { return type == ToolType.SWORD ? true : false; } @Override public float getReach(ItemStack itemStack) { Item item = itemStack.getItem(); if(item instanceof ItemSword) { ItemSword sword = (ItemSword) item; System.out.println("HI"); return 1000.0F; } return 0F; } public static enum SwordType { SHORT, LONG; } }
-
Is there anyway to do this? I've suggested an event for it here], but nobody has replied.
-
As far as I can see, I don't think I can detect whenever 2 animals are procreating. Could somebody please add an event that is fired when 2 animals are procreating?
-
You can set the base value of any attribute an infinite amount of times.
-
I mainly need it for spawning the projectiles of a weapon.
-
Is there anyway to exceed the 20 ticks per second that Minecraft has? The reason I ask this is because I want to spawn entities at a rate higher than 20 per second. One way that I know of is to make it seem like it's going faster by spawning 2 or more entities per tick and spacing them out. Another way is to speed the game up entirely, similar to how this mod does it.
-
Here you go
-
Anybody? I haven't been able to do anything with my mod in the past few days. :'(