summaryrefslogtreecommitdiff
path: root/eclipse/.metadata
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-23 18:08:44 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-23 18:08:44 +0100
commit05f43b228ae0de5bd33ccd303ebbadfaaa464bc7 (patch)
treedf2067001e0b28c2d40edc5ccde43830616ec8ce /eclipse/.metadata
parent2a7e0a624f482a28af1c770dbcf2a20f52f94f78 (diff)
Added new curses!
Diffstat (limited to 'eclipse/.metadata')
-rw-r--r--eclipse/.metadata/.log375
-rw-r--r--eclipse/.metadata/.mylyn/.tasks.xml.zipbin250 -> 250 bytes
-rw-r--r--eclipse/.metadata/.mylyn/tasks.xml.zipbin250 -> 250 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437127
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437126
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf124
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935124
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf61
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437122
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d6593523
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf67
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437128
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf477
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e5660
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/0052cca56de70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1/806717930fe60014127dc373d78c1666)214
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437126
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d6593512
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d6593533
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437128
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e5612
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d6593524
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e5626
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d6593533
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf582
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d6593529
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437128
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf48
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf62
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935124
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb68243779
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf71
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e5611
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf54
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d6593529
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb68243727
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e5612
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437478
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935466
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf584
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf58
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56186
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb68243734
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d6593538
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf53
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf60
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437477
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437123
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d6593536
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d6593533
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf587
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/2016e2c66be70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/10b4162c31e100141e1cc3c3be242e56)0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf477
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56206
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e5666
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf102
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935473
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf67
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437476
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5d/e0b4b0ca6ce70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/e027ffc10fe60014127dc373d78c1666)35
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf71
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf67
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0ebb9adcbe6001411c8f2d2b3d65935 (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/1058fac532e100141e1cc3c3be242e56)0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d6593535
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf53
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/61/304076fa6ee70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/70358e7c0fe60014127dc373d78c1666)219
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935466
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf54
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf52
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf71
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/30c158746ee70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2/607789ae0fe60014127dc373d78c1666)219
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf71
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70f30ce86ae70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/600230f8fde50014127dc373d78c1666)4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e5664
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d6593531
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d6593562
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb68243724
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e5663
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437127
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d6593566
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/d09e79f76ae70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/8031ad1933e100141e1cc3c3be242e56)11
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb68243773
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/71/00feda906de70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/e007edb70fe60014127dc373d78c1666)52
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e5650
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935120
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/80bc5d566ee70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3d/d039874701e50014174fe663e69b8422)24
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d6593534
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437128
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/70d7e7d56de70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/700de6a60fe60014127dc373d78c1666)218
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf124
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf12
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d6593535
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d6593566
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56206
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/82/3037ff566fe70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/c057434c00e50014174fe663e69b8422)30
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935473
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d6593531
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d6593561
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf57
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437185
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf61
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437476
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d6593560
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb68243771
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56261
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56191
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935473
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf61
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf40
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb68243778
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf62
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb68243734
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d6593529
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb68243734
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437771
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935468
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437473
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437126
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d6593533
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb68243717
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935468
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e5626
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e5627
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437478
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d6593533
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437127
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb68243734
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437477
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf123
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935473
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb68243777
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb68243734
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e5626
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb68243738
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb68243726
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437122
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf61
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e5611
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d6593525
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf67
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf58
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935124
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d6593533
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56190
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e5666
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d6593566
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d6593529
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf67
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b842254
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d6593538
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437127
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d6593512
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56186
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d6593535
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf67
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e5666
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e5663
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d6593524
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d6593532
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935467
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437127
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e5663
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437122
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e5626
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d6593555
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437477
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb68243734
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437771
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/805ab54b6fe70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50dc9ef400e50014174fe663e69b8422)29
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935474
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b842253
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437771
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666579
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437128
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d04590e96fe70014115de2bb951f0adf (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/604048aa00e50014174fe663e69b8422)29
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d6593529
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e5663
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf586
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56260
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d6593530
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d6593536
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e5662
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437770
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf38
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935469
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935468
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b842255
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d6593524
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56454
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb68243778
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.indexbin1275 -> 1275 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.indexbin3313 -> 3313 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.indexbin202 -> 188 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.indexbin0 -> 96 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.indexbin0 -> 826 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.indexbin388 -> 0 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.indexbin1797 -> 1570 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.indexbin1072 -> 0 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.indexbin1275 -> 3794 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.indexbin678 -> 2165 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.indexbin496 -> 372 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.indexbin188 -> 140 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markersbin1034 -> 1034 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.datbin116967 -> 118526 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/66.tree (renamed from eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/61.tree)bin912596 -> 973103 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resourcesbin1032 -> 1035 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi80
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.indexbin111100 -> 112636 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStampsbin10225 -> 10225 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml18
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.index2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml32
-rw-r--r--eclipse/.metadata/version.ini2
301 files changed, 34642 insertions, 18962 deletions
diff --git a/eclipse/.metadata/.log b/eclipse/.metadata/.log
index 855b84a..5edbe1c 100644
--- a/eclipse/.metadata/.log
+++ b/eclipse/.metadata/.log
@@ -7326,3 +7326,378 @@ Java Model Exception: Java Model Status [<default> [in dependencies/main/java/tc
!ENTRY org.eclipse.core.jobs 2 2 2015-04-19 03:28:16.550
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.core.internal.refresh.RefreshJob
+!SESSION 2015-04-19 20:31:25.493 -----------------------------------------------
+eclipse.buildId=4.4.1.M20140925-0400
+java.version=1.8.0_31
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-19 20:31:39.338
+!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+!STACK 0
+java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+ at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107)
+ at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62)
+ at java.util.TimerThread.mainLoop(Unknown Source)
+ at java.util.TimerThread.run(Unknown Source)
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-19 20:32:09.439
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-19 20:32:09.453
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-19 21:16:10.842
+!MESSAGE Cannot obtain JDT’s lookup environment (debug only).
+!STACK 0
+org.eclipse.recommenders.utils.Logs$LogTraceException
+ at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:130)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:122)
+ at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499)
+ at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ 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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
+
+!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-19 21:29:32.921
+!MESSAGE Cannot obtain JDT’s lookup environment (debug only).
+!STACK 0
+org.eclipse.recommenders.utils.Logs$LogTraceException
+ at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:130)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:122)
+ at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499)
+ at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ 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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
+!SESSION 2015-04-20 09:59:42.291 -----------------------------------------------
+eclipse.buildId=4.4.1.M20140925-0400
+java.version=1.8.0_31
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-20 09:59:53.566
+!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+!STACK 0
+java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+ at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107)
+ at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62)
+ at java.util.TimerThread.mainLoop(Unknown Source)
+ at java.util.TimerThread.run(Unknown Source)
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-20 10:00:16.897
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-20 10:00:16.921
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-20 10:20:55.011
+!MESSAGE Cannot obtain JDT’s lookup environment (debug only).
+!STACK 0
+org.eclipse.recommenders.utils.Logs$LogTraceException
+ at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:130)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:122)
+ at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499)
+ at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
+ at org.eclipse.swt.widgets.Display.msgFilterProc(Display.java:3479)
+ at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
+ at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:256)
+ at org.eclipse.swt.widgets.Display.runPopups(Display.java:4213)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ 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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
+
+!ENTRY org.eclipse.core.resources 4 566 2015-04-20 12:17:06.858
+!MESSAGE Workspace was not properly initialized or has already shutdown.
+
+!ENTRY org.eclipse.core.jobs 4 1 2015-04-20 12:17:06.878
+!MESSAGE Worker thread ended job: Refreshing workspace(10), but still holds rule: ThreadJob(Refreshing workspace(10),[F/Minecraft/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history])
+
+!ENTRY org.eclipse.core.resources 4 566 2015-04-20 12:17:06.925
+!MESSAGE Workspace was not properly initialized or has already shutdown.
+!SESSION 2015-04-20 15:25:58.042 -----------------------------------------------
+eclipse.buildId=4.4.1.M20140925-0400
+java.version=1.8.0_31
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-20 15:26:00.908
+!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+!STACK 0
+java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+ at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107)
+ at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62)
+ at java.util.TimerThread.mainLoop(Unknown Source)
+ at java.util.TimerThread.run(Unknown Source)
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-20 15:26:14.120
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-20 15:26:14.139
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-20 16:47:35.614
+!MESSAGE Cannot obtain JDT’s lookup environment (debug only).
+!STACK 0
+org.eclipse.recommenders.utils.Logs$LogTraceException
+ at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:130)
+ at org.eclipse.recommenders.utils.Logs.log(Logs.java:122)
+ at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229)
+ at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333)
+ at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499)
+ at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ 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 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
+!SESSION 2015-04-21 12:52:58.568 -----------------------------------------------
+eclipse.buildId=4.4.1.M20140925-0400
+java.version=1.8.0_31
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-21 12:53:11.474
+!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+!STACK 0
+java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+ at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107)
+ at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62)
+ at java.util.TimerThread.mainLoop(Unknown Source)
+ at java.util.TimerThread.run(Unknown Source)
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-21 12:54:18.272
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-21 12:54:18.293
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-04-21 22:39:45.316 -----------------------------------------------
+eclipse.buildId=4.4.1.M20140925-0400
+java.version=1.8.0_31
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-21 22:39:49.995
+!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+!STACK 0
+java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
+ at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144)
+ at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107)
+ at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62)
+ at java.util.TimerThread.mainLoop(Unknown Source)
+ at java.util.TimerThread.run(Unknown Source)
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-21 22:40:07.480
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-04-21 22:40:07.609
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
diff --git a/eclipse/.metadata/.mylyn/.tasks.xml.zip b/eclipse/.metadata/.mylyn/.tasks.xml.zip
index abb9184..c5df11c 100644
--- a/eclipse/.metadata/.mylyn/.tasks.xml.zip
+++ b/eclipse/.metadata/.mylyn/.tasks.xml.zip
Binary files differ
diff --git a/eclipse/.metadata/.mylyn/tasks.xml.zip b/eclipse/.metadata/.mylyn/tasks.xml.zip
index 12593fd..bc669db 100644
--- a/eclipse/.metadata/.mylyn/tasks.xml.zip
+++ b/eclipse/.metadata/.mylyn/tasks.xml.zip
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf
new file mode 100644
index 0000000..dc4d380
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 2F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437
new file mode 100644
index 0000000..842c659
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437
@@ -0,0 +1,127 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ System.out.println(PlayerUtils.getModPlayerPersistTag(player, Variables.MODID));
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437
new file mode 100644
index 0000000..05b2c1e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437
@@ -0,0 +1,126 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf
new file mode 100644
index 0000000..0d71b5f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf
@@ -0,0 +1,124 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..790f82b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935
@@ -0,0 +1,124 @@
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class Curse
+{
+ protected int id, texturepack;
+ protected String name, description;
+ protected Random rand = new Random();
+ private static ArrayList<Curse> curses = new ArrayList<Curse>();
+ public static ArrayList<Curse> availableCurses = new ArrayList<Curse>();
+
+ /**
+ * @param id the ID of the curse
+ * @param name the name of the curse
+ * @param texturepack the ID of the pack the texture is located in
+ */
+ protected Curse(int id, String name, int texturepack)
+ {
+ this.id = id;
+ this.name = name;
+ this.texturepack = texturepack;
+ curses.add(this);
+ availableCurses.add(this);
+ }
+
+ /**
+ * @return the name of the curse
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @return the description of the curse
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Curse setDescription(String desc)
+ {
+ description = desc;
+ return this;
+ }
+
+ /**
+ * @return the curse ID
+ */
+ public int getID()
+ {
+ return id;
+ }
+
+ /**
+ * @return the texture pack ID
+ */
+ public int getTexturePack()
+ {
+ return texturepack;
+ }
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void action(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void playerDeathAction(World world, EntityPlayer player)
+ {}
+
+ public void entityDeathAction(World world, EntityLivingBase target)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void respawnAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {}
+
+ public boolean itemToss()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ public static ArrayList<Curse> getCurseList()
+ {
+ return curses;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf
new file mode 100644
index 0000000..94351ec
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf
@@ -0,0 +1,61 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.item;
+
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemGoldObj extends Item
+{
+ public ItemGoldObj()
+ {}
+
+ public boolean requiresMultipleRenderPasses()
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass)
+ {
+ return 0xffff00;
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ ItemStack item = JewelryNBT.item(stack);
+ if (item != null) return item.getIconIndex();
+ return itemIcon;
+ }
+
+ public String getItemStackDisplayName(ItemStack stack)
+ {
+ System.out.println("Item: " + stack + " " + stack.getTagCompound());
+ if (stack != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ else return "Golden Object";
+ }
+
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
+ {
+ if (displayInfo) if (JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437
new file mode 100644
index 0000000..3ff5ed4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437
@@ -0,0 +1,122 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+ public static String[] infamyCache = new String[]{};
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (infamyCache != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ for(int i = 0; i < infamyCache.length; i++)
+ if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..5858a79
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d65935
@@ -0,0 +1,23 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf
new file mode 100644
index 0000000..b9d0eb8
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glRotatef(rot, 0F, 1F, 0F);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ rot++;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf
new file mode 100644
index 0000000..a2001e4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString());
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf
new file mode 100644
index 0000000..dc4d380
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 2F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56
deleted file mode 100644
index 8867a73..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf
new file mode 100644
index 0000000..dd64830
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437
new file mode 100644
index 0000000..e81ef93
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437
@@ -0,0 +1,128 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(gemColor + " " + ingotColor);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(gemColor + " " + ingotColor);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf
new file mode 100644
index 0000000..40155e2
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf
@@ -0,0 +1,477 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 200;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e56
deleted file mode 100644
index fc1a3b6..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,60 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack = 2;
- public static int jewelsChestMin = 2;
- public static int jewelsChestMax = 5;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.get("Timers", "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt(100);
- ingotMeltingTime = config.get("Timers", "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt(1500);
- jewelryCraftingTime = config.get("Timers", "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt(200);
- generateVillageNetherstar = config.get("Village Generation", "Netherstar Generation", generateVillageNetherstar, "If set to true Nether Stars will be able to generate in Jewelers chests.").getBoolean(false);
- canFurnacesGenerateIngots = config.get("Village Generation", "Furnace Ingots Generation", canFurnacesGenerateIngots, "If set to true jewelers will generate ingots in furnaces.").getBoolean(true);
- maxVillageJewelers = config.get("Village Generation", "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1);
- jewelerWeight = config.get("Village Generation", "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30);
- ingotChestMin = config.get("Village Generation", "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1);
- ingotChestMax = config.get("Village Generation", "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4);
- ingotChestMaxStack = config.get("Village Generation", "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2);
- jewelsChestMin = config.get("Village Generation", "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2);
- jewelsChestMax = config.get("Village Generation", "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5);
- furnacesIngotStackMin = config.get("Village Generation", "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2);
- furnacesIngotStackMax = config.get("Village Generation", "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5);
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1/806717930fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/0052cca56de70014115de2bb951f0adf
index b596034..7e7f592 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1/806717930fe60014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/0052cca56de70014115de2bb951f0adf
@@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
+import net.minecraft.item.*;
import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import darkknight.jewelrycraft.util.JewelryNBT;
@@ -85,15 +76,19 @@ public class ItemRender implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
{
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ GL11.glPopMatrix();
}
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
}
}
@@ -101,94 +96,101 @@ public class ItemRender implements IItemRenderer
{
GL11.glPushMatrix();
TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
}else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
}
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
}
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
}
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
}
GL11.glPopMatrix();
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437
new file mode 100644
index 0000000..d39e416
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437
@@ -0,0 +1,126 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d65935
new file mode 100644
index 0000000..a969d0f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d65935
@@ -0,0 +1,12 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+/**
+ * @author Sorin
+ *
+ */
+public class CurseRabbitsPaw
+{
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..d558150
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d65935
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437
new file mode 100644
index 0000000..1143a94
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437
@@ -0,0 +1,128 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(nbt);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(nbt);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e56
deleted file mode 100644
index b12cd38..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- *
- */
-package darkknight.jewelrycraft.config;
-
-/**
- * @author Sorin
- *
- */
-public class ConfigGui
-{
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..8d0f447
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d65935
@@ -0,0 +1,24 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops)
+ target.entityDropItem(item.getEntityItem(), 1F);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e56
deleted file mode 100644
index f3d10a0..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e56
+++ /dev/null
@@ -1,26 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import cpw.mods.fml.client.config.GuiConfig;
-import cpw.mods.fml.client.config.IConfigElement;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraftforge.common.config.ConfigElement;
-import java.util.ArrayList;
-import java.util.List;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigGui extends GuiConfig
-{
- public ConfigGui(GuiScreen parent)
- {
- super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString()));
- }
-
- @SuppressWarnings ({"rawtypes"})
- private static List<IConfigElement> getElements()
- {
- List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length);
- for(String category: ConfigHandler.categories)
- list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category.toLowerCase())));
- return list;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..25c6a6e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d65935
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf
new file mode 100644
index 0000000..caf8992
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf
@@ -0,0 +1,582 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null && JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..94344a8
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d65935
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ EntityItem entityitem = item;
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ target.worldObj.spawnEntityInWorld(entityitem);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437
new file mode 100644
index 0000000..98a9aba
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437
@@ -0,0 +1,128 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(nbt);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(JewelryNBT.ingotColor(item));
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf
new file mode 100644
index 0000000..cff4141
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf
@@ -0,0 +1,48 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ IIcon iicon = itemStack.getIconIndex();
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e56
deleted file mode 100644
index 2453924..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf
new file mode 100644
index 0000000..3bb822f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf
new file mode 100644
index 0000000..f0cd611
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf
@@ -0,0 +1,62 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 1F, 1F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..554b85d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935
@@ -0,0 +1,124 @@
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class Curse
+{
+ protected int id, texturepack;
+ protected String name, description;
+ protected Random rand = new Random();
+ private static ArrayList<Curse> curses = new ArrayList<Curse>();
+ public static ArrayList<Curse> availableCurses = new ArrayList<Curse>();
+
+ /**
+ * @param id the ID of the curse
+ * @param name the name of the curse
+ * @param texturepack the ID of the pack the texture is located in
+ */
+ protected Curse(int id, String name, int texturepack)
+ {
+ this.id = id;
+ this.name = name;
+ this.texturepack = texturepack;
+ curses.add(this);
+ availableCurses.add(this);
+ }
+
+ /**
+ * @return the name of the curse
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @return the description of the curse
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Curse setDescription(String desc)
+ {
+ description = desc;
+ return this;
+ }
+
+ /**
+ * @return the curse ID
+ */
+ public int getID()
+ {
+ return id;
+ }
+
+ /**
+ * @return the texture pack ID
+ */
+ public int getTexturePack()
+ {
+ return texturepack;
+ }
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void action(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void playerDeathAction(World world, EntityPlayer player)
+ {}
+
+ public void entityDeathAction(World world, EntityLiving target)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void respawnAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {}
+
+ public boolean itemToss()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ public static ArrayList<Curse> getCurseList()
+ {
+ return curses;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf
new file mode 100644
index 0000000..08cc3c3
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4, -1));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e56
deleted file mode 100644
index 849ea4d..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb682437
new file mode 100644
index 0000000..77ab18f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb682437
@@ -0,0 +1,79 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+// if (temp != "")
+// PlayerRenderHandler.infamyCache = temp.split(";");
+// else
+// PlayerRenderHandler.infamyCache = new String[] { };
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
+// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ }
+// ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e56
deleted file mode 100644
index 6198ae2..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf
new file mode 100644
index 0000000..fe955ce
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ }
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf
new file mode 100644
index 0000000..4f4a265
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 1;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e56
deleted file mode 100644
index 957cd67..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,11 +0,0 @@
-package darkknight.jewelrycraft.util;
-
-public class Variables
-{
- public static final String MODID = "jewelrycraft2";
- public static final String MODNAME = "Jewelrycraft 2";
- public static final String VERSION = "1.0";
- public static final String PACKET_CHANNEL = "jewelrycraft2";
- public static final int MAX_CURSES = 10;
- public static final String CONFIG_GUI = "darkknight.jewelrycraft.config.ConfigGuiFactory";
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf
new file mode 100644
index 0000000..2844d05
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf
@@ -0,0 +1,54 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ IIcon iicon = itemStack.getIconIndex();
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ System.out.println("Hello");
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..5f01f5a
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d65935
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize += this.rand.nextInt(4);
+ target.entityDropItem(drop, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb682437
new file mode 100644
index 0000000..ddc4b6d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb682437
@@ -0,0 +1,27 @@
+package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ if(event.side == Side.SERVER && event.phase == Phase.END)
+ System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf
new file mode 100644
index 0000000..2943ec9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 1F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e56
deleted file mode 100644
index 47c874e..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- *
- */
-package darkknight.jewelrycraft.config;
-
-/**
- * @author Sorin
- *
- */
-public class ConfigGuiFactory
-{
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437
new file mode 100644
index 0000000..601050c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437
@@ -0,0 +1,478 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ System.out.println(updateTime);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 2000;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666
deleted file mode 100644
index 71fb995..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.9F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935
new file mode 100644
index 0000000..bcfea1c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935
@@ -0,0 +1,466 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ System.out.println(event.entityLiving + " " + event.source + " " + event.entity);
+// EntityPlayer player = (EntityPlayer)entity;
+// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+// for(Curse curse: Curse.getCurseList())
+// if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf
new file mode 100644
index 0000000..fd20e2b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf
@@ -0,0 +1,584 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ if(Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null)
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.portal), 0, type);;
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf
new file mode 100644
index 0000000..6b432e5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf
@@ -0,0 +1,58 @@
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.ScreenHandler;
+
+public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSendClientPlayerInfo, IMessage>
+{
+ public NBTTagCompound tagCompound;
+
+ /**
+ * @param tagCompound
+ */
+ public PacketSendPlayerInfo(NBTTagCompound tagCompound)
+ {
+ this.tagCompound = tagCompound;
+ }
+
+ /**
+ *
+ */
+ public PacketSendPlayerInfo()
+ {}
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendClientPlayerInfo message, MessageContext ctx)
+ {
+ ScreenHandler.tagCache = message.tagCompound;
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ tagCompound = ByteBufUtils.readTag(buf);
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ ByteBufUtils.writeTag(buf, tagCompound);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56
deleted file mode 100644
index 83f2cb2..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,186 +0,0 @@
-package darkknight.jewelrycraft.tileentity;
-
-import java.util.Random;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.NetworkManager;
-import net.minecraft.network.Packet;
-import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
-import net.minecraft.tileentity.TileEntity;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class TileEntitySmelter extends TileEntity
-{
- public int melting, flow, n = 0, p = 0;
- public boolean hasMetal, hasMoltenMetal, isDirty, pouring;
- public ItemStack metal, moltenMetal;
- public float quantity, pouredQuantity = 0.1f;
-
- /**
- *
- */
- public TileEntitySmelter()
- {
- melting = 0;
- pouring = false;
- flow = 0;
- quantity = 0f;
- hasMetal = false;
- hasMoltenMetal = false;
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
- isDirty = false;
- }
-
- /**
- * @param nbt
- */
- @Override
- public void writeToNBT(NBTTagCompound nbt)
- {
- super.writeToNBT(nbt);
- nbt.setInteger("melting", melting);
- nbt.setFloat("quantity", quantity);
- nbt.setBoolean("hasMetal", hasMetal);
- nbt.setBoolean("hasMoltenMetal", hasMoltenMetal);
- nbt.setBoolean("pouring", pouring);
- NBTTagCompound tag = new NBTTagCompound();
- NBTTagCompound tag1 = new NBTTagCompound();
- metal.writeToNBT(tag);
- nbt.setTag("metal", tag);
- moltenMetal.writeToNBT(tag1);
- nbt.setTag("moltenMetal", tag1);
- }
-
- /**
- * @param nbt
- */
- @Override
- public void readFromNBT(NBTTagCompound nbt)
- {
- super.readFromNBT(nbt);
- melting = nbt.getInteger("melting");
- quantity = nbt.getFloat("quantity");
- hasMetal = nbt.getBoolean("hasMetal");
- hasMoltenMetal = nbt.getBoolean("hasMoltenMetal");
- pouring = nbt.getBoolean("pouring");
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- metal.readFromNBT(nbt.getCompoundTag("metal"));
- moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
- moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal"));
- }
-
- /**
- *
- */
- @Override
- public void updateEntity()
- {
- super.updateEntity();
- Random rand = new Random();
- if (isDirty){
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- isDirty = false;
- }
- if (p > 0) --p;
- else p = 5;
- if (n == 0 && p == 0){
- flow += 16;
- if (flow >= 16 * 20) n = 1;
- }
- if (n == 1 && p == 0){
- flow -= 16;
- if (flow <= 0) n = 0;
- }
- if (hasMetal) for(int l = 0; l < 2; ++l)
- worldObj.spawnParticle("flame", xCoord + rand.nextFloat(), (double)yCoord + 0.3F, zCoord + rand.nextFloat(), 0.0D, 0.0D, 0.0D);
- if (rand.nextInt(65) == 0){
- double d5 = xCoord + rand.nextFloat();
- double d7 = yCoord;
- double d6 = zCoord + rand.nextFloat();
- worldObj.playSound(d5, d7, d6, "liquid.lavapop", 0.2F + rand.nextFloat() * 0.2F, 0.9F + rand.nextFloat() * 0.15F, false);
- }
- if (hasMetal && !hasMoltenMetal){
- boolean isOre = JewelrycraftUtil.isOre(metal);
- if (melting > 0) melting--;
- if (melting == 0){
- hasMetal = false;
- if (!isOre) moltenMetal = metal;
- else{
- moltenMetal = JewelrycraftUtil.getIngotFromOre(metal.getItem());
- moltenMetal.stackSize *= 2;
- }
- hasMoltenMetal = true;
- if (!isOre) quantity = 0.1f * metal.stackSize;
- else quantity = 0.2f * metal.stackSize;
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- melting = -1;
- isDirty = true;
- }
- }else if (hasMoltenMetal){
- boolean isOre = JewelrycraftUtil.isOre(metal);
- if (melting > 0) melting--;
- if (melting == 0){
- hasMetal = false;
- if (!isOre) moltenMetal.stackSize += metal.stackSize;
- else moltenMetal.stackSize += metal.stackSize * 2;
- if (!isOre) quantity += 0.1f * metal.stackSize;
- else quantity += 0.2f * metal.stackSize;
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- melting = -1;
- isDirty = true;
- }
- }
- TileEntityMolder me = null;
- if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 0 && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord - 1);
- else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 1 && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord + 1, yCoord, zCoord);
- else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 2 && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord + 1);
- else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 3 && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord - 1, yCoord, zCoord);
- if (pouring && pouredQuantity > 0f){
- quantity -= 0.01f;
- pouredQuantity -= 0.01f;
- me.quantity += 0.01f;
- if (!me.hasMoltenMetal){
- me.moltenMetal = moltenMetal;
- me.hasMoltenMetal = true;
- }
- if (pouredQuantity <= 0f){
- pouring = false;
- pouredQuantity = 0.1f;
- me.cooling = ConfigHandler.ingotCoolingTime;
- }
- if (quantity <= 0f){
- quantity = 0f;
- hasMoltenMetal = false;
- moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
- // pouring = false;
- me.cooling = ConfigHandler.ingotCoolingTime;
- }
- me.isDirty = true;
- }
- }
-
- /**
- * @return
- */
- @Override
- public Packet getDescriptionPacket()
- {
- NBTTagCompound nbttagcompound = new NBTTagCompound();
- writeToNBT(nbttagcompound);
- return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound);
- }
-
- /**
- * @param net
- * @param packet
- */
- @Override
- public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet)
- {
- readFromNBT(packet.func_148857_g());
- worldObj.func_147479_m(xCoord, yCoord, zCoord);
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb682437
new file mode 100644
index 0000000..9dd707f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb682437
@@ -0,0 +1,34 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ if(event.side == Side.SERVER && event.phase == Phase.END)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d65935
new file mode 100644
index 0000000..2ab23de
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d65935
@@ -0,0 +1,38 @@
+package darkknight.jewelrycraft.curses;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CurseList
+{
+ private static Curse rotten;
+ private static Curse flaming;
+ private static Curse blind;
+ private static Curse greed;
+ private static Curse infamy;
+ private static Curse midasTouch;
+ private static Curse rabbitsPaw;
+ private static Curse pentagram;
+ private static Curse vampireHunger;
+ private static Curse humbleBundle;
+ private static Curse deathsTouch;
+ private static Curse antichrist;
+ private static Curse moneyEqualsPower;
+
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0);
+ flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0);
+ greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0);
+ blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0);
+ infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0);
+ midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0);
+ rabbitsPaw = new CurseMidasTouch(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0);
+ pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0);
+ vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0);
+ humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0);
+ deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0);
+ antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0);
+ moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf
new file mode 100644
index 0000000..c8e2b42
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf
@@ -0,0 +1,53 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ IIcon iicon = itemStack.getIconIndex();
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf
new file mode 100644
index 0000000..8251ee5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf
@@ -0,0 +1,60 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437
new file mode 100644
index 0000000..2503674
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437
@@ -0,0 +1,477 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 500;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf
new file mode 100644
index 0000000..e1a56f6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-14F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32*7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf
new file mode 100644
index 0000000..f4fa38d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 20F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56
deleted file mode 100644
index 1702871..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666
deleted file mode 100644
index bd63740..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.8F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e56
deleted file mode 100644
index 514a129..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf
new file mode 100644
index 0000000..f7cb890
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+// if (iicon == null){
+// GL11.glPopMatrix();
+// return;
+// }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437
new file mode 100644
index 0000000..2b78aa0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437
@@ -0,0 +1,123 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ for(int i = 0; i < infamyCache.length; i++)
+ if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..1df0ef2
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d65935
@@ -0,0 +1,36 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+// world.spawnEntityInWorld(entityitem);
+ target.entityDropItem(item.getEntityItem().copy(), 0.5F);
+// target.dropItem(item.getEntityItem().getItem(), 1);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..0875e67
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d65935
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+// entityitem.motionX = 0;
+// entityitem.motionZ = 0;
+// entityitem.motionY = 0.2D;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf
new file mode 100644
index 0000000..f7cb890
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+// if (iicon == null){
+// GL11.glPopMatrix();
+// return;
+// }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666
deleted file mode 100644
index 42e58aa..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(90f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf
new file mode 100644
index 0000000..a16a4e4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf
@@ -0,0 +1,587 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+// if (iicon == null){
+// GL11.glPopMatrix();
+// return;
+// }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ GL11.glPopMatrix();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e56
deleted file mode 100644
index 3233a23..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf
new file mode 100644
index 0000000..d8e2a63
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/10b4162c31e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/2016e2c66be70014115de2bb951f0adf
index e69de29..e69de29 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/10b4162c31e100141e1cc3c3be242e56
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/2016e2c66be70014115de2bb951f0adf
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf
new file mode 100644
index 0000000..a2eea3e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf
@@ -0,0 +1,477 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ updateTime = 200;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56
deleted file mode 100644
index 8c152e3..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,206 +0,0 @@
-package darkknight.jewelrycraft.block;
-
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.util.Variables;
-
-public class BlockMolder extends BlockContainer
-{
- Random rand = new Random();
-
- /**
- * @param par2Material
- */
- protected BlockMolder(Material par2Material)
- {
- super(par2Material);
- setBlockBounds(0.1F, 0F, 0.1F, 0.9F, 0.2F, 0.9F);
- }
-
- /**
- * @param world
- * @param var2
- * @return
- */
- @Override
- public TileEntity createNewTileEntity(World world, int var2)
- {
- return new TileEntityMolder();
- }
-
- /**
- * @return
- */
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param entityPlayer
- * @param par6
- * @param par7
- * @param par8
- * @param par9
- * @return
- */
- @Override
- public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
- {
- TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k);
- ItemStack item = entityPlayer.inventory.getCurrentItem();
- if (te != null && !world.isRemote){
- if (item != null && !te.hasMold && item.getItem() == ItemList.molds){
- te.mold = item.copy();
- te.hasMold = true;
- if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
- entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".molder.addedmold", te.mold.getDisplayName())));
- te.isDirty = true;
- }
- if (te.hasMold && entityPlayer.isSneaking() && !te.hasMoltenMetal){
- dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy());
- te.mold = new ItemStack(Item.getItemById(0), 0, 0);
- te.hasMold = false;
- te.isDirty = true;
- }else if (te.hasMoltenMetal) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.hasmoltenmetal")));
- }
- return true;
- }
-
- /**
- * @param world
- * @param x
- * @param y
- * @param z
- * @param stack
- */
- public void dropItem(World world, double x, double y, double z, ItemStack stack)
- {
- EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack);
- entityitem.motionX = 0;
- entityitem.motionZ = 0;
- entityitem.motionY = 0.11000000298023224D;
- world.spawnEntityInWorld(entityitem);
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param par5
- * @param par6
- */
- @Override
- public void breakBlock(World world, int i, int j, int k, Block par5, int par6)
- {
- TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k);
- if (te != null){
- if (te.hasJewelBase) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.jewelBase.copy());
- if (te.hasMold) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy());
- world.removeTileEntity(i, j, k);
- }
- super.breakBlock(world, i, j, k, par5, par6);
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param entityLiving
- * @param par6ItemStack
- */
- @Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
- {
- int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
- world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param player
- */
- @Override
- public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
- {
- TileEntityMolder me = (TileEntityMolder)world.getTileEntity(i, j, k);
- if (me != null && !world.isRemote){
- if (me.hasJewelBase){
- dropItem(me.getWorldObj(), me.xCoord, me.yCoord, me.zCoord, me.jewelBase.copy());
- me.jewelBase = new ItemStack(Item.getItemById(0), 0, 0);
- me.hasJewelBase = false;
- }else if (me.hasMoltenMetal && me.cooling >= 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.metaliscooling") + " (" + (ConfigHandler.INGOT_COOLING_TIME - me.cooling) * 100 / ConfigHandler.INGOT_COOLING_TIME + "%)"));
- else if (me.mold.getItem() == ItemList.molds && !me.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldisempty")));
- else if (me.mold.getItem() != ItemList.molds) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldismissing")));
- me.isDirty = true;
- }
- }
-
- /**
- * @param iblockaccess
- * @param i
- * @param j
- * @param k
- * @param l
- * @return
- */
- @Override
- public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
- {
- return false;
- }
-
- /**
- * @return
- */
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- /**
- * @return
- */
- @Override
- public int getRenderType()
- {
- return -1;
- }
-
- /**
- * @param icon
- */
- @Override
- public void registerBlockIcons(IIconRegister icon)
- {
- blockIcon = icon.registerIcon(Variables.MODID + ":molder");
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf
new file mode 100644
index 0000000..3bb822f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e56
deleted file mode 100644
index adaddd3..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e56
+++ /dev/null
@@ -1,66 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static int RITUAL_TIME;
-
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int FURNACE_MIN_INGOT_STACK;
- public static int FURNACE_MAX_INGOT_STACK;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end.");
-
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666
deleted file mode 100644
index b7bfca5..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.4F, 0.92F);
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(-25f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf
new file mode 100644
index 0000000..9556045
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf
@@ -0,0 +1,102 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.GuiChat;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderGameOverlayEvent;
+import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
+import net.minecraftforge.event.entity.player.PlayerOpenContainerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.util.Variables;
+
+public class ScreenHandler extends Gui
+{
+ private Minecraft mc;
+ public static NBTTagCompound tagCache = null;
+ public static int cooldown;
+ static ResourceLocation texture;
+ static ResourceLocation hearts = new ResourceLocation(Variables.MODID, "textures/gui/hearts.png");
+
+// public ScreenHandler(Minecraft mc, ResourceLocation tex)
+// {
+// super();
+// this.mc = mc;
+// texture = tex;
+// }
+
+ @SubscribeEvent
+ public void renderScreen(RenderGameOverlayEvent event)
+ {
+ if (event.isCancelable() || event.type != ElementType.ALL || tagCache == null) return;
+ if (!mc.gameSettings.showDebugInfo && !(mc.currentScreen instanceof GuiChat)){
+ int count = 0;
+ int size = 32;
+ ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
+ if (tagCache.hasKey("cursePoints") && tagCache.getInteger("cursePoints") > 0){
+ mc.renderEngine.bindTexture(hearts);
+ for(Curse curse: Curse.getCurseList()){
+ if (tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){
+ drawTexturedModalRect(-16, -16 + (size - 6) * count, 0, 32, 144, 60);
+ count++;
+ }
+ }
+ mc.renderEngine.bindTexture(texture);
+ count = 0;
+ for(Curse curse: Curse.getCurseList())
+ if (tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){
+ int tag = curse.getID();
+ GL11.glPushMatrix();
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GL11.glDisable(GL11.GL_LIGHTING);
+ GL11.glScalef(0.45f, 0.45f, 0.0f);
+ drawTexturedModalRect(28, 18 + (size + 26) * count, tag % size * size, tag / size * size, size, size);
+ GL11.glPopMatrix();
+ count++;
+ }
+ count = 0;
+ size = 16;
+ for(Curse curse: Curse.getCurseList())
+ if (tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){
+ int tag = curse.getID();
+ mc.fontRenderer.drawStringWithShadow(curse.getName().split(":")[1], 30, 11 + (size + 10) * count, 16777215);
+ if (tagCache.getInteger(curse.getName()) == 2){
+ mc.renderEngine.bindTexture(hearts);
+ GL11.glPushMatrix();
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glColor4f(1f, 1f, 1f, 0.5f);
+ drawTexturedModalRect(95, 7 + (size + 10) * count, 3 * size, 0, size, size);
+ GL11.glPopMatrix();
+ }
+ count++;
+ }
+ }
+ GL11.glPushMatrix();
+ GL11.glColor4f(1f, 1f, 1f, 1.0f);
+ mc.renderEngine.bindTexture(hearts);
+ count = 0;
+ size = 16;
+ if (tagCache.getFloat("BlueHeart") > 0){
+ drawTexturedModalRect(5 + 35*count, resolution.getScaledHeight() - 20, 0 * size, 0 * size, size, size);
+ mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F), 15 + 35*count, resolution.getScaledHeight() - 16, 16777215);
+ }
+ count++;
+ mc.renderEngine.bindTexture(hearts);
+ if (tagCache.getFloat("BlackHeart") > 0){
+ drawTexturedModalRect(5 + 35*count, resolution.getScaledHeight() - 20, 1 * size, 0 * size, size, size);
+ mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F), 15 + 35*count, resolution.getScaledHeight() - 16, 16777215);
+ }
+ count++;
+ mc.renderEngine.bindTexture(hearts);
+ if (tagCache.getFloat("WhiteHeart") > 0)
+ drawTexturedModalRect(5 + 35*count, resolution.getScaledHeight() - 20, 2 * size, 1 * size, size, size);
+ GL11.glPopMatrix();
+ }
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..9285b8b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935
@@ -0,0 +1,473 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf
new file mode 100644
index 0000000..82fe152
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ GL11.glRotatef(rot, 0F, 0F, 1F);
+ rot++;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437
new file mode 100644
index 0000000..10d09f4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437
@@ -0,0 +1,476 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 2000;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/e027ffc10fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5d/e0b4b0ca6ce70014115de2bb951f0adf
index d9a74ae..a150ae0 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/e027ffc10fe60014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5d/e0b4b0ca6ce70014115de2bb951f0adf
@@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
+import net.minecraft.item.*;
import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import darkknight.jewelrycraft.util.JewelryNBT;
@@ -92,8 +83,10 @@ public class ItemRender implements IItemRenderer
}
render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
}else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
GL11.glColor3f(1F, 1F, 0F);
renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ GL11.glPopMatrix();
}
}
@@ -118,7 +111,7 @@ public class ItemRender implements IItemRenderer
}else{
renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
}
- }else{
+ }else{
IIcon iicon = itemStack.getIconIndex();
if (iicon == null){
GL11.glPopMatrix();
@@ -136,6 +129,12 @@ public class ItemRender implements IItemRenderer
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
float f6 = 1.6F;
GL11.glScalef(f6, f6, f6);
+ if(type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
GL11.glRotatef(45f, 0f, 1f, 0f);
GL11.glRotatef(180f, 0f, 1f, 0f);
@@ -146,8 +145,8 @@ public class ItemRender implements IItemRenderer
}
GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
}
- else{
- GL11.glTranslatef(-0.3F, 0.4F, 0.9F);
+ else if(type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
GL11.glRotatef(45f, 0f, 1f, 0f);
GL11.glRotatef(-25f, 0f, 0f, 1f);
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf
new file mode 100644
index 0000000..fe955ce
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ }
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf
new file mode 100644
index 0000000..b3251c0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ GL11.glRotatef(rot, 0F, 1F, 0F);
+ rot++;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf
new file mode 100644
index 0000000..a08292f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item + " " + JewelryNBT.item(item));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/1058fac532e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0ebb9adcbe6001411c8f2d2b3d65935
index e69de29..e69de29 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/1058fac532e100141e1cc3c3be242e56
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0ebb9adcbe6001411c8f2d2b3d65935
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..52e23c4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d65935
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+ world.spawnEntityInWorld(entityitem);
+ target.entityDropItem(item.getEntityItem(), 0.5F);
+ target.dropItem(item.getEntityItem().getItem(), 1);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf
new file mode 100644
index 0000000..acb7897
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf
@@ -0,0 +1,53 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ IIcon iicon = itemStack.getIconIndex();
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ GL11.glRotatef(90F, 0F, 0F, 1F);
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/70358e7c0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/61/304076fa6ee70014115de2bb951f0adf
index b596034..9a2cca3 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/70358e7c0fe60014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/61/304076fa6ee70014115de2bb951f0adf
@@ -1,31 +1,23 @@
package darkknight.jewelrycraft.item.render;
import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
+import net.minecraft.item.*;
import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import darkknight.jewelrycraft.util.JewelryNBT;
@@ -85,15 +77,23 @@ public class ItemRender implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
{
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item);
+ }
+ GL11.glPopMatrix();
}
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
}
}
@@ -101,94 +101,101 @@ public class ItemRender implements IItemRenderer
{
GL11.glPushMatrix();
TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
}else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
}
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
}
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
}
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
}
GL11.glPopMatrix();
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935
new file mode 100644
index 0000000..5533438
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935
@@ -0,0 +1,466 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ System.out.println(event.entityLiving + " " + event.source.getEntity() + " " + event.entity);
+// EntityPlayer player = (EntityPlayer)entity;
+// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+// for(Curse curse: Curse.getCurseList())
+// if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf
new file mode 100644
index 0000000..02143d6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf
@@ -0,0 +1,54 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ IIcon iicon = itemStack.getIconIndex();
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+// System.out.println("Hello");
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf
new file mode 100644
index 0000000..b35bd5c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf
@@ -0,0 +1,52 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ IIcon iicon = itemStack.getIconIndex();
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf
new file mode 100644
index 0000000..b67902a
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ }
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2/607789ae0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/30c158746ee70014115de2bb951f0adf
index 55e6a1d..3984286 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2/607789ae0fe60014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/30c158746ee70014115de2bb951f0adf
@@ -1,31 +1,23 @@
package darkknight.jewelrycraft.item.render;
import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
+import net.minecraft.item.*;
import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import darkknight.jewelrycraft.util.JewelryNBT;
@@ -85,15 +77,23 @@ public class ItemRender implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
{
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e.getMessage());
+ }
+ GL11.glPopMatrix();
}
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
}
}
@@ -101,94 +101,101 @@ public class ItemRender implements IItemRenderer
{
GL11.glPushMatrix();
TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
}else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
}
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 1.0F);
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(-25f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
}
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
}
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
}
GL11.glPopMatrix();
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf
new file mode 100644
index 0000000..95ef086
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendServerPlayersInfo implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage>
+{
+ public PacketSendServerPlayersInfo()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ }
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/600230f8fde50014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70f30ce86ae70014115de2bb951f0adf
index 0cdeb96..360add0 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/600230f8fde50014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70f30ce86ae70014115de2bb951f0adf
@@ -43,8 +43,10 @@ import darkknight.jewelrycraft.damage.DamageSourceList;
import darkknight.jewelrycraft.effects.EffectsList;
import darkknight.jewelrycraft.entities.EntityHalfHeart;
import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.events.BlockEventHandler;
import darkknight.jewelrycraft.events.BucketHandler;
import darkknight.jewelrycraft.events.EntityEventHandler;
+import darkknight.jewelrycraft.events.EventCommonHandler;
import darkknight.jewelrycraft.events.KeyBindings;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.network.PacketClearColorCache;
@@ -116,7 +118,9 @@ public class JewelrycraftMod
logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10");
}
MinecraftForge.EVENT_BUS.register(new EntityEventHandler());
+ MinecraftForge.EVENT_BUS.register(new BlockEventHandler());
MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
+ FMLCommonHandler.instance().bus().register(new EventCommonHandler());
BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket);
ModMetadata metadata = e.getModMetadata();
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e56
deleted file mode 100644
index 93ba6f0..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,64 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static int RITUAL_TIME;
-
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int FURNACE_MIN_INGOT_STACK;
- public static int FURNACE_MAX_INGOT_STACK;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..e90403d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d65935
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ System.out.println(drop.stackSize);
+ if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..4bd5f5d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d65935
@@ -0,0 +1,62 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.item.EntityXPOrb;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (rand.nextInt(3) == 0) world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, rand.nextInt(40)));
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb682437
new file mode 100644
index 0000000..21e54e7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb682437
@@ -0,0 +1,24 @@
+package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56
deleted file mode 100644
index 9af71a0..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e56
deleted file mode 100644
index b9e4d59..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,63 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
-
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437
new file mode 100644
index 0000000..1a10446
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437
@@ -0,0 +1,127 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(gemColor + " " + ingotColor);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf
new file mode 100644
index 0000000..35f79ad
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32*7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..9b8ffc2
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d65935
@@ -0,0 +1,66 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.item.EntityXPOrb;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (rand.nextInt(3) == 0){
+ int i = target.getExperiencePoints(this.attackingPlayer);
+ int j = EntityXPOrb.getXPSplit(i);
+ this.worldObj.spawnEntityInWorld(new EntityXPOrb(this.worldObj, this.posX, this.posY, this.posZ, j));
+ }
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/8031ad1933e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/d09e79f76ae70014115de2bb951f0adf
index 71064eb..766ed37 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/8031ad1933e100141e1cc3c3be242e56
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/d09e79f76ae70014115de2bb951f0adf
@@ -43,8 +43,10 @@ import darkknight.jewelrycraft.damage.DamageSourceList;
import darkknight.jewelrycraft.effects.EffectsList;
import darkknight.jewelrycraft.entities.EntityHalfHeart;
import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.events.BlockEventHandler;
import darkknight.jewelrycraft.events.BucketHandler;
import darkknight.jewelrycraft.events.EntityEventHandler;
+import darkknight.jewelrycraft.events.EventCommonHandler;
import darkknight.jewelrycraft.events.KeyBindings;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.network.PacketClearColorCache;
@@ -54,7 +56,7 @@ import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
import darkknight.jewelrycraft.network.PacketRequestSetSlot;
import darkknight.jewelrycraft.network.PacketSendCurseStats;
import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.network.PacketSendPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
import darkknight.jewelrycraft.proxy.CommonProxy;
import darkknight.jewelrycraft.recipes.CraftingRecipes;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
@@ -69,10 +71,12 @@ public class JewelrycraftMod
{
@Instance (Variables.MODID)
public static JewelrycraftMod instance;
+
@SidedProxy (clientSide = Variables.CLIENT_PROXY, serverSide = Variables.SERVER_PROXY)
public static CommonProxy proxy;
public static final Logger logger = Logger.getLogger("Jewelrycraft");
public static File dir;
+
public static CreativeTabs jewelrycraft = new CreativeTabs(Variables.MODID){
@Override
public Item getTabIconItem()
@@ -80,6 +84,7 @@ public class JewelrycraftMod
return Item.getItemFromBlock(BlockList.jewelCraftingTable);
}
};
+
public static CreativeTabs liquids = new CreativeTabLiquids("Liquids");
public static NBTTagCompound saveData = new NBTTagCompound();
public static NBTTagCompound clientData = new NBTTagCompound();
@@ -113,7 +118,9 @@ public class JewelrycraftMod
logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10");
}
MinecraftForge.EVENT_BUS.register(new EntityEventHandler());
+ MinecraftForge.EVENT_BUS.register(new BlockEventHandler());
MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
+ FMLCommonHandler.instance().bus().register(new EventCommonHandler());
BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket);
ModMetadata metadata = e.getModMetadata();
@@ -131,7 +138,7 @@ public class JewelrycraftMod
netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT);
netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER);
netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER);
- netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT);
+ netWrapper.registerMessage(PacketSendClientPlayerInfo.class, PacketSendClientPlayerInfo.class, 5, Side.CLIENT);
netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT);
netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER);
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf
new file mode 100644
index 0000000..cd8b754
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 12F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb682437
new file mode 100644
index 0000000..cd8454e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb682437
@@ -0,0 +1,73 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ String temp = ByteBufUtils.readUTF8String(buf);
+ if (temp != "")
+ PlayerRenderHandler.infamyCache = temp.split(";");
+ else
+ PlayerRenderHandler.infamyCache = new String[] { };
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
+// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ }
+// ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/e007edb70fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/71/00feda906de70014115de2bb951f0adf
index 2a5e97d..8f41ba9 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/e007edb70fe60014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/71/00feda906de70014115de2bb951f0adf
@@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
+import net.minecraft.item.*;
import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import darkknight.jewelrycraft.util.JewelryNBT;
@@ -85,15 +76,19 @@ public class ItemRender implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
{
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ GL11.glPopMatrix();
}
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
}
}
@@ -136,6 +131,12 @@ public class ItemRender implements IItemRenderer
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
float f6 = 1.6F;
GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
GL11.glRotatef(45f, 0f, 1f, 0f);
GL11.glRotatef(180f, 0f, 1f, 0f);
@@ -145,9 +146,8 @@ public class ItemRender implements IItemRenderer
GL11.glTranslatef(0F, -0.15F, -0.6F);
}
GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.4F, 1.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
GL11.glRotatef(45f, 0f, 1f, 0f);
GL11.glRotatef(-25f, 0f, 0f, 1f);
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56
deleted file mode 100644
index 786b68b..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e56
deleted file mode 100644
index 45a0130..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,50 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.world.gen.structure.StructureVillagePieces.PieceWeight;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import cpw.mods.fml.common.registry.VillagerRegistry.IVillageCreationHandler;
-import darkknight.jewelrycraft.config.ConfigHandler;
-
-public class VillageJewelryHandler implements IVillageCreationHandler
-{
-
- /**
- * @param random
- * @param i
- * @return
- */
- @Override
- public PieceWeight getVillagePieceWeight(Random random, int i)
- {
- return new PieceWeight(ComponentJewelry.class, ConfigHandler.jewelerWeight, ConfigHandler.MAX_VILLAGE_JEWELERS);
- }
-
- /**
- * @return
- */
- @Override
- public Class<?> getComponentClass()
- {
- return ComponentJewelry.class;
- }
-
- /**
- * @param villagePiece
- * @param startPiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @Override
- public Object buildComponent(PieceWeight villagePiece, Start startPiece, @SuppressWarnings ("rawtypes") List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- return ComponentJewelry.buildComponent(startPiece, pieces, random, p1, p2, p3, p4, p5);
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e56
deleted file mode 100644
index 1fcdec5..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int FURNACE_MIN_INGOT_STACK;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..76c2b89
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935
@@ -0,0 +1,120 @@
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class Curse
+{
+ protected int id, texturepack;
+ protected String name, description;
+ protected Random rand = new Random();
+ private static ArrayList<Curse> curses = new ArrayList<Curse>();
+ public static ArrayList<Curse> availableCurses = new ArrayList<Curse>();
+
+ /**
+ * @param id the ID of the curse
+ * @param name the name of the curse
+ * @param texturepack the ID of the pack the texture is located in
+ */
+ protected Curse(int id, String name, int texturepack)
+ {
+ this.id = id;
+ this.name = name;
+ this.texturepack = texturepack;
+ curses.add(this);
+ availableCurses.add(this);
+ }
+
+ /**
+ * @return the name of the curse
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @return the description of the curse
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Curse setDescription(String desc)
+ {
+ description = desc;
+ return this;
+ }
+
+ /**
+ * @return the curse ID
+ */
+ public int getID()
+ {
+ return id;
+ }
+
+ /**
+ * @return the texture pack ID
+ */
+ public int getTexturePack()
+ {
+ return texturepack;
+ }
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void action(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void deathAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void respawnAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {}
+
+ public boolean itemToss()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ public static ArrayList<Curse> getCurseList()
+ {
+ return curses;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3d/d039874701e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/80bc5d566ee70014115de2bb951f0adf
index 49dbe25..20bc0a8 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3d/d039874701e50014174fe663e69b8422
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/80bc5d566ee70014115de2bb951f0adf
@@ -4,8 +4,11 @@
package darkknight.jewelrycraft.item;
import java.util.List;
+import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
@@ -24,6 +27,12 @@ public class ItemGoldObj extends Item
}
@SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass)
{
return 0xffff00;
@@ -33,22 +42,19 @@ public class ItemGoldObj extends Item
public IIcon getIcon(ItemStack stack, int pass)
{
ItemStack item = JewelryNBT.item(stack);
- if (item != null && Item.getIdFromItem(item.getItem()) > 0)
- return item.getItem().getIconIndex(JewelryNBT.item(stack));
- else return itemIcon;
+ if (item != null) return item.getIconIndex();
+ return itemIcon;
}
public String getItemStackDisplayName(ItemStack stack)
{
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ return "Golden " + ((JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object");
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
{
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
+ if (displayInfo)
+ if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
}
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666
deleted file mode 100644
index ca6172a..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(0.25F, 0.25F, 0.25F);
- GL11.glRotatef(60f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..0603d56
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d65935
@@ -0,0 +1,34 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+ entityitem.lifespan = 15000;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666
deleted file mode 100644
index b596034..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437
new file mode 100644
index 0000000..7c5a8fb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437
@@ -0,0 +1,128 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(JewelryNBT.ingotColor(item));
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(JewelryNBT.ingotColor(item));
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666
deleted file mode 100644
index 68edc65..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/700de6a60fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/70d7e7d56de70014115de2bb951f0adf
index 1ce9c6d..bd9a088 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/700de6a60fe60014127dc373d78c1666
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/70d7e7d56de70014115de2bb951f0adf
@@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
+import net.minecraft.item.*;
import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import darkknight.jewelrycraft.util.JewelryNBT;
@@ -85,15 +76,23 @@ public class ItemRender implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
{
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e);
+ }
+ GL11.glPopMatrix();
}
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
}
}
@@ -101,94 +100,101 @@ public class ItemRender implements IItemRenderer
{
GL11.glPushMatrix();
TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
}else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
}
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 1.0F);
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
}
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
}
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
}
GL11.glPopMatrix();
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf
new file mode 100644
index 0000000..5267618
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf
@@ -0,0 +1,124 @@
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class Curse
+{
+ protected int id, texturepack;
+ protected String name, description;
+ protected Random rand = new Random();
+ private static ArrayList<Curse> curses = new ArrayList<Curse>();
+ public static ArrayList<Curse> availableCurses = new ArrayList<Curse>();
+
+ /**
+ * @param id the ID of the curse
+ * @param name the name of the curse
+ * @param texturepack the ID of the pack the texture is located in
+ */
+ protected Curse(int id, String name, int texturepack)
+ {
+ this.id = id;
+ this.name = name;
+ this.texturepack = texturepack;
+ curses.add(this);
+ availableCurses.add(this);
+ }
+
+ /**
+ * @return the name of the curse
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @return the description of the curse
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Curse setDescription(String desc)
+ {
+ description = desc;
+ return this;
+ }
+
+ /**
+ * @return the curse ID
+ */
+ public int getID()
+ {
+ return id;
+ }
+
+ /**
+ * @return the texture pack ID
+ */
+ public int getTexturePack()
+ {
+ return texturepack;
+ }
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void action(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void playerDeathAction(World world, EntityPlayer player)
+ {}
+
+ public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void respawnAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {}
+
+ public boolean itemToss()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ public static ArrayList<Curse> getCurseList()
+ {
+ return curses;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf
new file mode 100644
index 0000000..a2c482f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf
@@ -0,0 +1,12 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+/**
+ * @author Sorin
+ *
+ */
+public class CursePentagram
+{
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..fddb563
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d65935
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+// world.spawnEntityInWorld(entityitem);
+ target.entityDropItem(item.getEntityItem(), 0.5F);
+// target.dropItem(item.getEntityItem().getItem(), 1);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..21342fb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d65935
@@ -0,0 +1,66 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.item.EntityXPOrb;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (rand.nextInt(3) == 0){
+ int i = target.getExperiencePoints(this.attackingPlayer);
+ int j = EntityXPOrb.getXPSplit(i);
+ this.worldObj.spawnEntityInWorld(new EntityXPOrb(this.worldObj, this.posX, this.posY, this.posZ, j));
+ }
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56
deleted file mode 100644
index 5840c72..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,206 +0,0 @@
-package darkknight.jewelrycraft.block;
-
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.util.Variables;
-
-public class BlockMolder extends BlockContainer
-{
- Random rand = new Random();
-
- /**
- * @param par2Material
- */
- protected BlockMolder(Material par2Material)
- {
- super(par2Material);
- setBlockBounds(0.1F, 0F, 0.1F, 0.9F, 0.2F, 0.9F);
- }
-
- /**
- * @param world
- * @param var2
- * @return
- */
- @Override
- public TileEntity createNewTileEntity(World world, int var2)
- {
- return new TileEntityMolder();
- }
-
- /**
- * @return
- */
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param entityPlayer
- * @param par6
- * @param par7
- * @param par8
- * @param par9
- * @return
- */
- @Override
- public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
- {
- TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k);
- ItemStack item = entityPlayer.inventory.getCurrentItem();
- if (te != null && !world.isRemote){
- if (item != null && !te.hasMold && item.getItem() == ItemList.molds){
- te.mold = item.copy();
- te.hasMold = true;
- if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
- entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".molder.addedmold", te.mold.getDisplayName())));
- te.isDirty = true;
- }
- if (te.hasMold && entityPlayer.isSneaking() && !te.hasMoltenMetal){
- dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy());
- te.mold = new ItemStack(Item.getItemById(0), 0, 0);
- te.hasMold = false;
- te.isDirty = true;
- }else if (te.hasMoltenMetal) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.hasmoltenmetal")));
- }
- return true;
- }
-
- /**
- * @param world
- * @param x
- * @param y
- * @param z
- * @param stack
- */
- public void dropItem(World world, double x, double y, double z, ItemStack stack)
- {
- EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack);
- entityitem.motionX = 0;
- entityitem.motionZ = 0;
- entityitem.motionY = 0.11000000298023224D;
- world.spawnEntityInWorld(entityitem);
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param par5
- * @param par6
- */
- @Override
- public void breakBlock(World world, int i, int j, int k, Block par5, int par6)
- {
- TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k);
- if (te != null){
- if (te.hasJewelBase) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.jewelBase.copy());
- if (te.hasMold) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy());
- world.removeTileEntity(i, j, k);
- }
- super.breakBlock(world, i, j, k, par5, par6);
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param entityLiving
- * @param par6ItemStack
- */
- @Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
- {
- int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
- world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param player
- */
- @Override
- public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
- {
- TileEntityMolder me = (TileEntityMolder)world.getTileEntity(i, j, k);
- if (me != null && !world.isRemote){
- if (me.hasJewelBase){
- dropItem(me.getWorldObj(), me.xCoord, me.yCoord, me.zCoord, me.jewelBase.copy());
- me.jewelBase = new ItemStack(Item.getItemById(0), 0, 0);
- me.hasJewelBase = false;
- }else if (me.hasMoltenMetal && me.cooling >= 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.metaliscooling") + " (" + (ConfigHandler.ingotCoolingTime - me.cooling) * 100 / ConfigHandler.ingotCoolingTime + "%)"));
- else if (me.mold.getItem() == ItemList.molds && !me.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldisempty")));
- else if (me.mold.getItem() != ItemList.molds) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldismissing")));
- me.isDirty = true;
- }
- }
-
- /**
- * @param iblockaccess
- * @param i
- * @param j
- * @param k
- * @param l
- * @return
- */
- @Override
- public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
- {
- return false;
- }
-
- /**
- * @return
- */
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- /**
- * @return
- */
- @Override
- public int getRenderType()
- {
- return -1;
- }
-
- /**
- * @param icon
- */
- @Override
- public void registerBlockIcons(IIconRegister icon)
- {
- blockIcon = icon.registerIcon(Variables.MODID + ":molder");
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666
deleted file mode 100644
index 4f404af..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/c057434c00e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/82/3037ff566fe70014115de2bb951f0adf
index 17c0273..5e027de 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/c057434c00e50014174fe663e69b8422
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/82/3037ff566fe70014115de2bb951f0adf
@@ -4,15 +4,17 @@
package darkknight.jewelrycraft.item;
import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.util.JewelryNBT;
+import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
-import net.minecraft.util.StatCollector;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.JewelryNBT;
public class ItemGoldObj extends Item
{
@@ -25,6 +27,12 @@ public class ItemGoldObj extends Item
}
@SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass)
{
return 0xffff00;
@@ -33,22 +41,20 @@ public class ItemGoldObj extends Item
@Override
public IIcon getIcon(ItemStack stack, int pass)
{
- System.out.println(getIconIndex(JewelryNBT.item(stack)));
- if (JewelryNBT.item(stack) != null && pass >= 0) return getIconIndex(JewelryNBT.item(stack));
+ ItemStack item = JewelryNBT.item(stack);
+ if (item != null) return item.getIconIndex();
return itemIcon;
}
public String getItemStackDisplayName(ItemStack stack)
{
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ if (stack != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ else return "Golden Object";
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
{
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
+ if (displayInfo) if (JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
}
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..f96d6a2
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935
@@ -0,0 +1,473 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf
new file mode 100644
index 0000000..de2394e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound());
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..4554ccd
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d65935
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ for(EntityItem item: drops){
+ EntityItem entityitem = item;
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ player.worldObj.spawnEntityInWorld(entityitem);
+ System.out.println("Drop");
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..11fc91d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d65935
@@ -0,0 +1,61 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ System.out.println("Spwan heart");
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf
new file mode 100644
index 0000000..5964039
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf
@@ -0,0 +1,57 @@
+package darkknight.jewelrycraft.curses;
+
+import org.lwjgl.opengl.GL11;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.SharedMonsterAttributes;
+import net.minecraft.entity.monster.EntityMob;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ MaskRender mask = new MaskRender();
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437
new file mode 100644
index 0000000..5acd992
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437
@@ -0,0 +1,185 @@
+package darkknight.jewelrycraft.model;
+
+import java.awt.Color;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+import org.lwjgl.opengl.GL11;
+
+/**
+ * ModelBiped - Either Mojang or a mod author Created using Tabula 4.1.1
+ */
+public class ModelBracelet extends ModelBase
+{
+ public ModelRenderer metal1;
+ public ModelRenderer metal2;
+ public ModelRenderer metal3;
+ public ModelRenderer metal4;
+ public ModelRenderer gem1;
+ public ModelRenderer gem2;
+ public ModelRenderer gem3;
+ public ModelRenderer gem4;
+ public ModelRenderer gem5;
+ public ModelRenderer gem6;
+ public ModelRenderer gem7;
+ public ModelRenderer gem8;
+ public ModelRenderer gem9;
+
+ public ModelBracelet()
+ {
+ this.textureWidth = 16;
+ this.textureHeight = 16;
+ this.metal4 = new ModelRenderer(this, 0, 8);
+ this.metal4.setRotationPoint(-5.0F, 12.0F, -2.0F);
+ this.metal4.addBox(0.0F, 0.0F, 0.0F, 1, 2, 4, 0.0F);
+ this.gem4 = new ModelRenderer(this, 0, 0);
+ this.gem4.setRotationPoint(-3.0F, 12.8F, -3.5F);
+ this.gem4.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F);
+ this.setRotateAngle(gem4, 0.0F, 0.008901179185171082F, 0.0F);
+ this.gem3 = new ModelRenderer(this, 0, 0);
+ this.gem3.setRotationPoint(-4.8F, 12.2F, -3.5F);
+ this.gem3.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F);
+ this.gem2 = new ModelRenderer(this, 0, 0);
+ this.gem2.setRotationPoint(-1.5F, 12.8F, -3.5F);
+ this.gem2.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F);
+ this.gem1 = new ModelRenderer(this, 0, 0);
+ this.gem1.setRotationPoint(0.3F, 12.2F, -3.5F);
+ this.gem1.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F);
+ this.metal1 = new ModelRenderer(this, 0, 8);
+ this.metal1.setRotationPoint(-5.0F, 12.0F, -3.0F);
+ this.metal1.addBox(0.0F, 0.0F, 0.0F, 6, 2, 1, 0.0F);
+ this.gem6 = new ModelRenderer(this, 0, 0);
+ this.gem6.setRotationPoint(-4.3F, 12.7F, -3.5F);
+ this.gem6.addBox(0.0F, 0.0F, 0.0F, 1, 2, 1, 0.0F);
+ this.gem7 = new ModelRenderer(this, 0, 0);
+ this.gem7.setRotationPoint(-3.8F, 12.7F, -3.5F);
+ this.gem7.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F);
+ this.gem8 = new ModelRenderer(this, 0, 0);
+ this.gem8.setRotationPoint(-0.2F, 12.7F, -3.5F);
+ this.gem8.addBox(0.0F, 0.0F, 0.0F, 1, 2, 1, 0.0F);
+ this.metal2 = new ModelRenderer(this, 0, 8);
+ this.metal2.setRotationPoint(-5.0F, 12.0F, 2.0F);
+ this.metal2.addBox(0.0F, 0.0F, 0.0F, 6, 2, 1, 0.0F);
+ this.gem5 = new ModelRenderer(this, 0, 0);
+ this.gem5.setRotationPoint(-2.5F, 12.3F, -3.5F);
+ this.gem5.addBox(0.0F, 0.0F, 0.0F, 2, 3, 1, 0.0F);
+ this.metal3 = new ModelRenderer(this, 0, 8);
+ this.metal3.setRotationPoint(0.0F, 12.0F, -2.0F);
+ this.metal3.addBox(0.0F, 0.0F, 0.0F, 1, 2, 4, 0.0F);
+ this.gem9 = new ModelRenderer(this, 0, 0);
+ this.gem9.setRotationPoint(-0.7F, 12.7F, -3.5F);
+ this.gem9.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F);
+ }
+
+ @Override
+ public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
+ {
+ GL11.glDisable(GL11.GL_LIGHTING);
+ if ((int)f3 != -1){
+ System.out.println((int)f3);
+ int ingotColor = (int)f3;
+ int red = (ingotColor >> 16) & 0xff;
+ int green = (ingotColor >> 8) & 0xff;
+ int blue = ingotColor & 0xff;
+ GL11.glColor3f((float)red / 255, (float)green / 255, (float)blue / 255);
+ this.metal1.render(f5);
+ this.metal2.render(f5);
+ this.metal3.render(f5);
+ this.metal4.render(f5);
+ }
+ if ((int)f4 != -1){
+ int gemColor = (int)f4;
+ int red = gemColor >> 16 & 0xff;
+ int green = gemColor >> 8 & 0xff;
+ int blue = gemColor & 0xff;
+ GL11.glColor3f((float)red / 255, (float)green / 255, (float)blue / 255);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE_MINUS_DST_COLOR);
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem4.offsetX, this.gem4.offsetY, this.gem4.offsetZ);
+ GL11.glTranslatef(this.gem4.rotationPointX * f5, this.gem4.rotationPointY * f5, this.gem4.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem4.offsetX, -this.gem4.offsetY, -this.gem4.offsetZ);
+ GL11.glTranslatef(-this.gem4.rotationPointX * f5, -this.gem4.rotationPointY * f5, -this.gem4.rotationPointZ * f5);
+ this.gem4.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem3.offsetX, this.gem3.offsetY, this.gem3.offsetZ);
+ GL11.glTranslatef(this.gem3.rotationPointX * f5, this.gem3.rotationPointY * f5, this.gem3.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem3.offsetX, -this.gem3.offsetY, -this.gem3.offsetZ);
+ GL11.glTranslatef(-this.gem3.rotationPointX * f5, -this.gem3.rotationPointY * f5, -this.gem3.rotationPointZ * f5);
+ this.gem3.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem2.offsetX, this.gem2.offsetY, this.gem2.offsetZ);
+ GL11.glTranslatef(this.gem2.rotationPointX * f5, this.gem2.rotationPointY * f5, this.gem2.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem2.offsetX, -this.gem2.offsetY, -this.gem2.offsetZ);
+ GL11.glTranslatef(-this.gem2.rotationPointX * f5, -this.gem2.rotationPointY * f5, -this.gem2.rotationPointZ * f5);
+ this.gem2.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem1.offsetX, this.gem1.offsetY, this.gem1.offsetZ);
+ GL11.glTranslatef(this.gem1.rotationPointX * f5, this.gem1.rotationPointY * f5, this.gem1.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem1.offsetX, -this.gem1.offsetY, -this.gem1.offsetZ);
+ GL11.glTranslatef(-this.gem1.rotationPointX * f5, -this.gem1.rotationPointY * f5, -this.gem1.rotationPointZ * f5);
+ this.gem1.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem6.offsetX, this.gem6.offsetY, this.gem6.offsetZ);
+ GL11.glTranslatef(this.gem6.rotationPointX * f5, this.gem6.rotationPointY * f5, this.gem6.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem6.offsetX, -this.gem6.offsetY, -this.gem6.offsetZ);
+ GL11.glTranslatef(-this.gem6.rotationPointX * f5, -this.gem6.rotationPointY * f5, -this.gem6.rotationPointZ * f5);
+ this.gem6.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem7.offsetX, this.gem7.offsetY, this.gem7.offsetZ);
+ GL11.glTranslatef(this.gem7.rotationPointX * f5, this.gem7.rotationPointY * f5, this.gem7.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem7.offsetX, -this.gem7.offsetY, -this.gem7.offsetZ);
+ GL11.glTranslatef(-this.gem7.rotationPointX * f5, -this.gem7.rotationPointY * f5, -this.gem7.rotationPointZ * f5);
+ this.gem7.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem8.offsetX, this.gem8.offsetY, this.gem8.offsetZ);
+ GL11.glTranslatef(this.gem8.rotationPointX * f5, this.gem8.rotationPointY * f5, this.gem8.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem8.offsetX, -this.gem8.offsetY, -this.gem8.offsetZ);
+ GL11.glTranslatef(-this.gem8.rotationPointX * f5, -this.gem8.rotationPointY * f5, -this.gem8.rotationPointZ * f5);
+ this.gem8.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem5.offsetX, this.gem5.offsetY, this.gem5.offsetZ);
+ GL11.glTranslatef(this.gem5.rotationPointX * f5, this.gem5.rotationPointY * f5, this.gem5.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem5.offsetX, -this.gem5.offsetY, -this.gem5.offsetZ);
+ GL11.glTranslatef(-this.gem5.rotationPointX * f5, -this.gem5.rotationPointY * f5, -this.gem5.rotationPointZ * f5);
+ this.gem5.render(f5);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(this.gem9.offsetX, this.gem9.offsetY, this.gem9.offsetZ);
+ GL11.glTranslatef(this.gem9.rotationPointX * f5, this.gem9.rotationPointY * f5, this.gem9.rotationPointZ * f5);
+ GL11.glScaled(0.5D, 0.5D, 0.5D);
+ GL11.glTranslatef(-this.gem9.offsetX, -this.gem9.offsetY, -this.gem9.offsetZ);
+ GL11.glTranslatef(-this.gem9.rotationPointX * f5, -this.gem9.rotationPointY * f5, -this.gem9.rotationPointZ * f5);
+ this.gem9.render(f5);
+ GL11.glPopMatrix();
+ GL11.glDisable(GL11.GL_BLEND);
+ }
+ GL11.glEnable(GL11.GL_LIGHTING);
+ }
+
+ /**
+ * This is a helper function from Tabula to set the rotation of model parts
+ */
+ public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z)
+ {
+ modelRenderer.rotateAngleX = x;
+ modelRenderer.rotateAngleY = y;
+ modelRenderer.rotateAngleZ = z;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf
new file mode 100644
index 0000000..9e9b54d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 32;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf
new file mode 100644
index 0000000..1837db1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf
@@ -0,0 +1,61 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.item;
+
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemGoldObj extends Item
+{
+ public ItemGoldObj()
+ {}
+
+ public boolean requiresMultipleRenderPasses()
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass)
+ {
+ return 0xffff00;
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ ItemStack item = JewelryNBT.item(stack);
+ if (item != null) return item.getIconIndex();
+ return itemIcon;
+ }
+
+ public String getItemStackDisplayName(ItemStack stack)
+ {
+// return "Golden " + ((stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object");
+ return "Golden Object";
+ }
+
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
+ {
+ if (displayInfo)
+ if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437
new file mode 100644
index 0000000..c125c60
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437
@@ -0,0 +1,476 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 2000;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..4c407a1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d65935
@@ -0,0 +1,60 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666
deleted file mode 100644
index 68b4bfe..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.3F);
- GL11.glRotatef(60f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb682437
new file mode 100644
index 0000000..788fa17
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb682437
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ String temp = ByteBufUtils.readUTF8String(buf);
+ if (temp != "")
+ PlayerRenderHandler.infamyCache = temp.split(";");
+ else
+ PlayerRenderHandler.infamyCache = new String[] { };
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ NBTTagCompound nbt = new NBTTagCompound();
+ if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
+ infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ }
+ ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56
deleted file mode 100644
index a8c581c..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,261 +0,0 @@
-package darkknight.jewelrycraft.block;
-
-import java.io.IOException;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMoltenMetalBucket;
-import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
-
-public class BlockSmelter extends BlockContainer
-{
- Random rand = new Random();
-
- public BlockSmelter()
- {
- super(Material.rock);
- }
-
- @Override
- public TileEntity createNewTileEntity(World world, int var2)
- {
- return new TileEntitySmelter();
- }
-
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-
- /**
- * Spawns an item in the world at the specified location
- *
- * @param world
- * @param x
- * @param y
- * @param z
- * @param stack
- */
- public void dropItem(World world, double x, double y, double z, ItemStack stack)
- {
- EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.3D, z + 0.5D, stack);
- entityitem.motionX = 0;
- entityitem.motionZ = 0;
- entityitem.motionY = 0.11000000298023224D;
- entityitem.delayBeforeCanPickup = 0;
- world.spawnEntityInWorld(entityitem);
- }
-
- @Override
- public void breakBlock(World world, int i, int j, int k, Block par5, int par6)
- {
- TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k);
- if (te != null){
- if (te.hasMetal) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy());
- if (te.hasMoltenMetal && te.moltenMetal != null && Item.getIdFromItem(te.moltenMetal.getItem()) > 0){
- ItemStack metal = te.moltenMetal;
- ItemStack item = te.moltenMetal;
- if (Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) metal.setItemDamage(15 - metal.getItemDamage());
- int color = 16777215;
- JewelryNBT.addMetal(item, metal);
- try{
- color = ItemMoltenMetalBucket.color(item, 1);
- System.out.println(color);
- }
- catch(IOException e){
- e.printStackTrace();
- }
- JewelrycraftMod.saveData.setString(i + " " + j + " " + k + " " + world.provider.dimensionId, Item.getIdFromItem(metal.getItem()) + ":" + metal.getItemDamage() + ":" + color);
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, i, j, k, Item.getIdFromItem(metal.getItem()), metal.getItemDamage(), color));
- world.setBlock(i, j, k, BlockList.moltenMetal, 0, 3);
- int quant = (int)(te.quantity * 10);
- if (quant == 1) world.setBlockMetadataWithNotify(i, j, k, 4, 3);
- if (quant == 2) world.setBlockMetadataWithNotify(i, j, k, 4, 3);
- if (quant == 3) world.setBlockMetadataWithNotify(i, j, k, 3, 3);
- if (quant == 4) world.setBlockMetadataWithNotify(i, j, k, 3, 3);
- if (quant == 5) world.setBlockMetadataWithNotify(i, j, k, 2, 3);
- if (quant == 6) world.setBlockMetadataWithNotify(i, j, k, 2, 3);
- if (quant == 7) world.setBlockMetadataWithNotify(i, j, k, 1, 3);
- if (quant == 8) world.setBlockMetadataWithNotify(i, j, k, 1, 3);
- if (quant == 9) world.setBlockMetadataWithNotify(i, j, k, 0, 3);
- }
- world.removeTileEntity(i, j, k);
- }
- super.breakBlock(world, i, j, k, par5, par6);
- }
-
- @Override
- public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
- {
- TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k);
- ItemStack item = entityPlayer.inventory.getCurrentItem();
- if (te != null && te.hasMoltenMetal && te.quantity >= 0.9f && !te.pouring && item != null && item.getItem() == Items.bucket){
- te.quantity = 0f;
- te.hasMoltenMetal = false;
- ItemStack metalBucket = new ItemStack(ItemList.bucket, 1);
- ItemStack ingot = te.moltenMetal.copy();
- if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage());
- JewelryNBT.addMetal(metalBucket, ingot);
- --item.stackSize;
- entityPlayer.inventory.addItemStackToInventory(metalBucket);
- te.isDirty = true;
- return true;
- }
- if (te != null && !world.isRemote){
- if (te.hasMetal && entityPlayer.isSneaking()){
- dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy());
- te.hasMetal = false;
- te.melting = -1;
- te.isDirty = true;
- }
- if (item != null && item.getItem() != null && !(item.getItem() instanceof ItemMoltenMetalBucket)){
- int index = -1;
- for(int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++)
- if (entityPlayer.getUniqueID().toString().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a;
- if(entityPlayer.capabilities.isCreativeMode) index = 1;
- boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0);
- boolean isOre = false, oreCoincidesWithMetal = false, itemCoincidesWithMetal = false, itemCoincidesWithMoltenMetal = false, overflow = false;
- isOre = JewelrycraftUtil.isOre(item);
- if (te.metal != null && te.metal.getItem() != null) itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage();
- if (te.moltenMetal != null && te.moltenMetal.getItem() != null){
- itemCoincidesWithMoltenMetal = item.getItem().equals(te.moltenMetal.getItem()) && item.getItemDamage() == te.moltenMetal.getItemDamage();
- if (isOre) oreCoincidesWithMetal = te.moltenMetal.getItem().equals(JewelrycraftUtil.getIngotFromOre(item.getItem()).getItem()) && te.moltenMetal.getItemDamage() == JewelrycraftUtil.getIngotFromOre(item.getItem()).getItemDamage();
- }
- overflow = isOre ? te.metal.stackSize * 0.2f + te.quantity < 0.8f : te.metal.stackSize * 0.1f + te.quantity < 0.9f;
- boolean isValid = te.hasMoltenMetal ? itemCoincidesWithMoltenMetal : true;
- if (te.quantity < 0.9f && !te.pouring && canPlace && isValid){
- boolean check = isOre ? oreCoincidesWithMetal && te.quantity < 0.8f : itemCoincidesWithMoltenMetal;
- boolean check2 = isOre ? oreCoincidesWithMetal : itemCoincidesWithMetal;
- if (!te.hasMetal && !te.hasMoltenMetal || !te.hasMetal && te.hasMoltenMetal && check){
- entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.nowsmeltingingot", item.getDisplayName())));
- te.metal = item.copy();
- // if (Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) te.metal.setItemDamage(15 - te.metal.getItemDamage());
- te.metal.stackSize = 1;
- te.hasMetal = true;
- te.melting = ConfigHandler.ingotMeltingTime;
- if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
- te.isDirty = true;
- }else if (te.hasMetal && te.hasMoltenMetal && check2 && overflow || te.hasMetal && !te.hasMoltenMetal && itemCoincidesWithMetal && overflow){
- entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("Smelting extra " + (isOre ? "ores" : "ingots") + " (" + (te.metal.stackSize + 1) + ")")));
- te.metal.stackSize++;
- te.hasMetal = true;
- te.melting += ConfigHandler.INGOT_MELTING_TIME;
- if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
- te.isDirty = true;
- }
- te.isDirty = true;
- }else if (item != null && (te.hasMetal || te.hasMoltenMetal) && !itemCoincidesWithMoltenMetal && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Item does not match contents!")));
- else if (item != null && !item.getUnlocalizedName().toLowerCase().contains("ingot") && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.itemrenamedtoingot")));
- else if (item != null && te.quantity >= 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Smelter is at full capacity.")));
- }else if (item != null && item.getItem() != null && item.getItem() instanceof ItemMoltenMetalBucket && !te.hasMoltenMetal && !te.hasMetal){
- te.hasMoltenMetal = true;
- ItemStack ingot = JewelryNBT.ingot(item);
- if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage());
- te.moltenMetal = ingot;
- te.quantity = 0.9f;
- te.isDirty = true;
- if (!entityPlayer.capabilities.isCreativeMode){
- --item.stackSize;
- dropItem(world, entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ, new ItemStack(Items.bucket));
- }
- }else if (item == null && te.hasMoltenMetal && te.moltenMetal.getItem() != null) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.hasmolteningot", te.moltenMetal.getDisplayName())));
- world.setTileEntity(i, j, k, te);
- }
- return true;
- }
-
- @Override
- public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
- {
- TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k);
- TileEntityMolder me = null;
- if (world.getBlockMetadata(i, j, k) == 0 && world.getTileEntity(i, j, k - 1) != null && world.getTileEntity(i, j, k - 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k - 1);
- else if (world.getBlockMetadata(i, j, k) == 1 && world.getTileEntity(i + 1, j, k) != null && world.getTileEntity(i + 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i + 1, j, k);
- else if (world.getBlockMetadata(i, j, k) == 2 && world.getTileEntity(i, j, k + 1) != null && world.getTileEntity(i, j, k + 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k + 1);
- else if (world.getBlockMetadata(i, j, k) == 3 && world.getTileEntity(i - 1, j, k) != null && world.getTileEntity(i - 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i - 1, j, k);
- if (te != null && me != null && !world.isRemote) if (te.hasMoltenMetal && isConnectedToMolder(world, i, j, k) && me != null && me.hasMold && !me.hasMoltenMetal && !me.hasJewelBase){
- te.pouring = true;
- te.isDirty = true;
-// System.out.println(Block.getBlockById(Item.getIdFromItem(te.moltenMetal.getItem())));
- }else if (te.hasMetal && te.melting > 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.metalismelting", te.metal.getDisplayName()) + " (" + (ConfigHandler.ingotMeltingTime * te.metal.stackSize - te.melting) * 100 / (ConfigHandler.ingotMeltingTime * te.metal.stackSize) + "%)"));
- else if (te.hasMoltenMetal && !isConnectedToMolder(world, i, j, k)) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderismissing")));
- else if (!me.hasMold && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasnomold")));
- else if (me.hasMoltenMetal && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasmoltenmetal")));
- else if (me.hasJewelBase && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.modlerhasitem")));
- else player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.empty")));
- }
-
- /**
- * Determines if a molder is placed in front of this
- *
- * @param world
- * @param i
- * @param j
- * @param k
- * @return true if a molder is attached, false otherwise
- */
- public boolean isConnectedToMolder(World world, int i, int j, int k)
- {
- int blockMeta = world.getBlockMetadata(i, j, k);
- if (blockMeta == 0 && world.getBlock(i, j, k - 1) instanceof BlockMolder) return true;
- else if (blockMeta == 1 && world.getBlock(i + 1, j, k) instanceof BlockMolder) return true;
- else if (blockMeta == 2 && world.getBlock(i, j, k + 1) instanceof BlockMolder) return true;
- else if (blockMeta == 3 && world.getBlock(i - 1, j, k) instanceof BlockMolder) return true;
- return false;
- }
-
- @Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
- {
- int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
- world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
- }
-
- @Override
- public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- @Override
- public int getRenderType()
- {
- return -1;
- }
-
- @Override
- public void registerBlockIcons(IIconRegister icon)
- {
- blockIcon = icon.registerIcon(Variables.MODID + ":smelter");
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf
new file mode 100644
index 0000000..9b9fc80
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 1;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e56
deleted file mode 100644
index 3233a23..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56
deleted file mode 100644
index e9f1b64..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Mod made by DarkKnight during the Modjam 3
- * It's an awesome mod
- * I love me! :D
- */
-package darkknight.jewelrycraft;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Logger;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.gen.structure.MapGenStructureIO;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.oredict.OreDictionary;
-import cpw.mods.fml.common.FMLCommonHandler;
-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.ModMetadata;
-import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.event.FMLInitializationEvent;
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.event.FMLServerStartingEvent;
-import cpw.mods.fml.common.network.NetworkRegistry;
-import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
-import cpw.mods.fml.common.registry.EntityRegistry;
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.registry.VillagerRegistry;
-import cpw.mods.fml.relauncher.Side;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.client.gui.GuiHandler;
-import darkknight.jewelrycraft.commands.JewelrycraftCommands;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.curses.CurseList;
-import darkknight.jewelrycraft.damage.DamageSourceList;
-import darkknight.jewelrycraft.effects.EffectsList;
-import darkknight.jewelrycraft.entities.EntityHalfHeart;
-import darkknight.jewelrycraft.entities.EntityHeart;
-import darkknight.jewelrycraft.events.BucketHandler;
-import darkknight.jewelrycraft.events.EntityEventHandler;
-import darkknight.jewelrycraft.events.KeyBindings;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.network.PacketClearColorCache;
-import darkknight.jewelrycraft.network.PacketKeyPressEvent;
-import darkknight.jewelrycraft.network.PacketRequestLiquidData;
-import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
-import darkknight.jewelrycraft.network.PacketRequestSetSlot;
-import darkknight.jewelrycraft.network.PacketSendCurseStats;
-import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.network.PacketSendPlayerInfo;
-import darkknight.jewelrycraft.proxy.CommonProxy;
-import darkknight.jewelrycraft.recipes.CraftingRecipes;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
-import darkknight.jewelrycraft.worldGen.Generation;
-import darkknight.jewelrycraft.worldGen.village.ComponentJewelry;
-import darkknight.jewelrycraft.worldGen.village.JCTrades;
-import darkknight.jewelrycraft.worldGen.village.VillageJewelryHandler;
-
-@Mod (modid = Variables.MODID, name = Variables.MODNAME, version = Variables.VERSION)
-public class JewelrycraftMod
-{
- @Instance (Variables.MODID)
- public static JewelrycraftMod instance;
- @SidedProxy (clientSide = "darkknight.jewelrycraft.proxy.ClientProxy", serverSide = "darkknight.jewelrycraft.proxy.CommonProxy")
- public static CommonProxy proxy;
- public static final Logger logger = Logger.getLogger("Jewelrycraft");
- public static File dir;
- public static CreativeTabs jewelrycraft = new CreativeTabs(Variables.MODID){
- @Override
- public Item getTabIconItem()
- {
- return Item.getItemFromBlock(BlockList.jewelCraftingTable);
- }
- };
- public static CreativeTabs liquids = new CreativeTabLiquids("Liquids");
- public static NBTTagCompound saveData = new NBTTagCompound();
- public static NBTTagCompound clientData = new NBTTagCompound();
- public static File liquidsConf;
- public static SimpleNetworkWrapper netWrapper;
- public static boolean fancyRender;
-
- /**
- * Pre initialization of mod stuff.
- *
- * @param e FMLPreInitializationEvent
- * @throws IOException Signals that an I/O exception has occurred.
- */
- @EventHandler
- public void preInit(FMLPreInitializationEvent e) throws IOException
- {
- ConfigHandler.INSTANCE.loadConfig(e);
- BlockList.preInit(e);
- ItemList.preInit(e);
- CraftingRecipes.preInit(e);
- CurseList.preInit(e);
- OreDictionary.registerOre("ingotShadow", new ItemStack(ItemList.shadowIngot));
- OreDictionary.registerOre("oreShadow", new ItemStack(BlockList.shadowOre));
- VillagerRegistry.instance().registerVillagerId(3000);
- VillagerRegistry.instance().registerVillageTradeHandler(3000, new JCTrades());
- VillagerRegistry.instance().registerVillageCreationHandler(new VillageJewelryHandler());
- try{
- MapGenStructureIO.func_143031_a(ComponentJewelry.class, Variables.MODID + ":Jewelry");
- }
- catch(Throwable e2){
- logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10");
- }
- MinecraftForge.EVENT_BUS.register(new EntityEventHandler());
- MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
- BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket);
-
- ModMetadata metadata = e.getModMetadata();
- List<String> authorList = new ArrayList<String>();
-
- authorList.add("OnyxDarkKnight");
- authorList.add("bspkrs");
- authorList.add("domi1819");
-
- dir = e.getModConfigurationDirectory();
- proxy.preInit();
- netWrapper = NetworkRegistry.INSTANCE.newSimpleChannel(Variables.MODID);
- netWrapper.registerMessage(PacketRequestLiquidData.class, PacketRequestLiquidData.class, 0, Side.SERVER);
- netWrapper.registerMessage(PacketSendLiquidData.class, PacketSendLiquidData.class, 1, Side.CLIENT);
- netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT);
- netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER);
- netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER);
- netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT);
- netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT);
- netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER);
-
- metadata.autogenerated = false;
- metadata.authorList = authorList;
- metadata.url = "https://github.com/sor1n/Jewelrycraft";
-
- createEntity(EntityHeart.class, Variables.MODID + ".Heart", 0xFF0000, 0xFF0000, false);
- createEntity(EntityHalfHeart.class, Variables.MODID + ".Half-Heart", 0x000000, 0xFF0000, false);
-
-// EntityRegistry.addSpawn(EntityMob.class, 5, 2, 3, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.coldBeach, BiomeGenBase.frozenRiver);
- }
-
- public void createEntity(Class<? extends Entity> entity, String entityName, int solidColor, int spotColor, boolean hasSpawnEgg)
- {
- int randomID = EntityRegistry.findGlobalUniqueEntityId();
- if(hasSpawnEgg) EntityRegistry.registerGlobalEntityID(entity, entityName, randomID, solidColor, spotColor);
- else EntityRegistry.registerGlobalEntityID(entity, entityName, randomID);
- EntityRegistry.registerModEntity(entity, entityName, randomID, this, 40, 3, true);
- }
-
- /**
- * Initializes the world generation and key bindings.
- *
- * @param e FMLInitializationEvent
- */
- @EventHandler
- public void init(FMLInitializationEvent e)
- {
- GameRegistry.registerWorldGenerator(new Generation(), 0);
- if (FMLCommonHandler.instance().getSide() == Side.CLIENT) FMLCommonHandler.instance().bus().register(new KeyBindings());
- new GuiHandler();
- FMLCommonHandler.instance().bus().register(ConfigHandler.INSTANCE);
- }
-
- /**
- * Post initialization of metals, modifiers and others.
- *
- * @param e FMLPostInitializationEvent
- */
- @EventHandler
- public void postInit(FMLPostInitializationEvent e)
- {
- JewelrycraftUtil.addMetals();
- JewelrycraftUtil.jamcrafters();
- EffectsList.postInit(e);
- DamageSourceList.postInit(e);
- proxy.postInit();
- }
-
- @Mod.EventHandler
- public void serverLoad(FMLServerStartingEvent event)
- {
- event.registerServerCommand(new JewelrycraftCommands());
- }
-
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..212372c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935
@@ -0,0 +1,473 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf
new file mode 100644
index 0000000..bf00345
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf
@@ -0,0 +1,61 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.7F, 0.7F, 0.7F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf
new file mode 100644
index 0000000..81fe34b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf
@@ -0,0 +1,40 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemPickaxe;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraftforge.event.world.BlockEvent;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.block.BlockMidasTouch;
+import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
+
+/**
+ * @author Sorin
+ */
+public class BlockEventHandler
+{
+ @SubscribeEvent
+ public void onBlockDestroyed(BlockEvent.BreakEvent event)
+ {
+ // System.out.println("Broken " + event.getResult());
+ ItemStack item = event.getPlayer().inventory.getCurrentItem();
+ if (event.block instanceof BlockMidasTouch && item != null && item.getItem().getHarvestLevel(item, "pickaxe") >= event.block.getHarvestLevel(event.blockMetadata)){
+ TileEntityMidasTouch te = (TileEntityMidasTouch)event.world.getTileEntity(event.x, event.y, event.z);
+ if (te.target != null) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, new ItemStack(Items.gold_nugget, (int)(te.target.width * te.target.height * 100), 0));
+ }
+ }
+
+ public void dropItem(World world, double x, double y, double z, ItemStack stack)
+ {
+ EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack);
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb682437
new file mode 100644
index 0000000..155d17c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb682437
@@ -0,0 +1,78 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+// if (temp != "")
+// PlayerRenderHandler.infamyCache = temp.split(";");
+// else
+// PlayerRenderHandler.infamyCache = new String[] { };
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
+// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ }
+// ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf
new file mode 100644
index 0000000..090ac7a
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf
@@ -0,0 +1,62 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ ItemStack itemStack = new ItemStack(Items.apple);
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+// texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ texturemanager.bindTexture(curse);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb682437
new file mode 100644
index 0000000..9dd707f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb682437
@@ -0,0 +1,34 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ if(event.side == Side.SERVER && event.phase == Phase.END)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..9ef1eb6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d65935
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf
new file mode 100644
index 0000000..9039a78
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e.getMessage());
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e56
deleted file mode 100644
index 3519106..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e56
deleted file mode 100644
index 7e8547d..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e56
deleted file mode 100644
index f02eb49..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
-// public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb682437
new file mode 100644
index 0000000..a7afb2e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb682437
@@ -0,0 +1,34 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+// if(event.side == Side.SERVER && event.phase == Phase.END)
+// {
+// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+// playerInfo.setBoolean("sendInfo", true);
+// }
+// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437
new file mode 100644
index 0000000..357a685
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437
@@ -0,0 +1,771 @@
+package darkknight.jewelrycraft.util;
+
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityList;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class JewelryNBT
+{
+ // TODO NBT Tag Adding
+ public static void addItem(ItemStack item, ItemStack target)
+ {
+ if (target != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound targetNBT = new NBTTagCompound();
+ target.writeToNBT(targetNBT);
+ itemStackData.setTag("target", targetNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param metal The metal you want to add on the item
+ */
+ public static void addMetal(ItemStack item, ItemStack metal)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound ingotNBT = new NBTTagCompound();
+ metal.writeToNBT(ingotNBT);
+ itemStackData.setTag("ingot", ingotNBT);
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param gem The gem you want to add on the item
+ */
+ public static void addGem(ItemStack item, ItemStack gem)
+ {
+ if (gem != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound gemNBT = new NBTTagCompound();
+ gem.writeToNBT(gemNBT);
+ itemStackData.setTag("gem", gemNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param modifier The modifier you want to add on the item
+ */
+ public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier)
+ {
+ if (modifier != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ for(int i = 0; i < modifier.size(); i++){
+ NBTTagCompound modifierNBT = new NBTTagCompound();
+ modifier.get(i).writeToNBT(modifierNBT);
+ itemStackData.setTag("modifier" + i, modifierNBT);
+ }
+ itemStackData.setInteger("modifierSize", modifier.size());
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param entity The entity to add on the item
+ */
+ public static void addEntity(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ entity.writeToNBT(entityNBT);
+ itemStackData.setTag("entity", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param entity
+ */
+ public static void addEntityID(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ int id = EntityList.getEntityID(entity);
+ entityNBT.setInteger("entityID", id);
+ itemStackData.setTag("entityID", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addCoordonates(ItemStack item, double x, double y, double z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ }
+
+ /**
+ * @param item
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound tileNBT = new NBTTagCompound();
+ NBTTagCompound block = new NBTTagCompound();
+ world.getTileEntity(x, y, z).writeToNBT(tileNBT);
+ itemStackData.setTag("tile", tileNBT);
+ block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z)));
+ block.setInteger("metadata", world.getBlockMetadata(x, y, z));
+ block.setInteger("blockX", x);
+ block.setInteger("blockY", y);
+ block.setInteger("blockZ", z);
+ itemStackData.setTag("metadata", block);
+ itemStackData.setTag("blockID", block);
+ itemStackData.setTag("blockX", block);
+ itemStackData.setTag("blockY", block);
+ itemStackData.setTag("blockZ", block);
+ }
+
+ /**
+ * @param item
+ * @param block
+ * @param metadata
+ */
+ public static void addBlock(ItemStack item, int block, int metadata)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound blockNBT = new NBTTagCompound();
+ blockNBT.setInteger("blockID", block);
+ itemStackData.setTag("blockID", blockNBT);
+ blockNBT.setInteger("metadata", metadata);
+ itemStackData.setTag("metadata", blockNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addBlockCoordonates(ItemStack item, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setInteger("blockX", x);
+ coords.setInteger("blockY", y);
+ coords.setInteger("blockZ", z);
+ itemStackData.setTag("blockX", coords);
+ itemStackData.setTag("blockY", coords);
+ itemStackData.setTag("blockZ", coords);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ * @param dim
+ * @param name
+ */
+ public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ coords.setInteger("dimension", dim);
+ coords.setString("dimName", name);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ itemStackData.setTag("dimension", coords);
+ itemStackData.setTag("dimName", coords);
+ }
+
+ /**
+ * @param item
+ */
+ public static void addFakeEnchantment(ItemStack item)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.setTag("ench", new NBTTagList());
+ }
+
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addIngotColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("ingotColor", color);
+ itemStackData.setTag("ingotColor", colors);
+ }
+
+ // TODO
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addGemColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("gemColor", color);
+ itemStackData.setTag("gemColor", colors);
+ }
+
+ /**
+ * @param item
+ * @param list
+ */
+ @SuppressWarnings ("rawtypes")
+ public static void addEntities(ItemStack item, List list)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ for(int i = 0; i < list.size(); i++)
+ ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT);
+ itemStackData.setTag("entities", entityNBT);
+ }
+
+ // TODO NBT Tag Removing
+ /**
+ * @param item
+ * @param tag
+ */
+ public static void removeNBT(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.removeTag(tag);
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeEntity(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "entityID");
+ JewelryNBT.removeNBT(item, "entity");
+ JewelryNBT.removeNBT(item, "ench");
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeBlock(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "blockID");
+ JewelryNBT.removeNBT(item, "metadata");
+ JewelryNBT.removeNBT(item, "tile");
+ JewelryNBT.removeNBT(item, "blockX");
+ JewelryNBT.removeNBT(item, "blockY");
+ JewelryNBT.removeNBT(item, "blockZ");
+ }
+
+ // TODO NTB Tag Checking
+ /**
+ * @param item
+ * @param tag
+ * @return
+ */
+ public static boolean hasTag(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ if (itemStackData.hasKey(tag)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param gem
+ * @return
+ */
+ public static boolean isGemX(ItemStack stack, ItemStack gem)
+ {
+ if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param modifier
+ * @return
+ */
+ public static boolean doesModifierExist(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true;
+ }
+ return false;
+ }
+
+ public static int modifierSize(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize;
+ }
+ return -1;
+ }
+
+ public static int numberOfModifiers(ItemStack stack)
+ {
+ if (modifier(stack) != null) return modifier(stack).size();
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @param ingot
+ * @return
+ */
+ public static boolean isIngotX(ItemStack stack, ItemStack ingot)
+ {
+ if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @param entity
+ * @return
+ */
+ public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
+ {
+ if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimName
+ * @return
+ */
+ public static boolean isDimNameX(ItemStack stack, String dimName)
+ {
+ if (ingot(stack) != null && dimName(stack).equals(dimName)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimension
+ * @return
+ */
+ public static boolean isDimensionX(ItemStack stack, int dimension)
+ {
+ if (dimension(stack) != -2 && dimension(stack) == dimension) return true;
+ return false;
+ }
+
+ // TODO Return components based on NBT
+ public static ItemStack item(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){
+ NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target");
+ ItemStack target = new ItemStack(Item.getItemById(0), 0, 0);
+ target.readFromNBT(itemNBT);
+ return target;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack gem(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){
+ NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem");
+ ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0);
+ gem.readFromNBT(jewelNBT);
+ return gem;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ArrayList<ItemStack> modifier(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){
+ int size = stack.getTagCompound().getInteger("modifierSize");
+ ArrayList<ItemStack> list = new ArrayList<ItemStack>();
+ for(int i = 0; i < size; i++){
+ ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0);
+ NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i);
+ modifier.readFromNBT(modifierNBT);
+ list.add(modifier);
+ }
+ return list;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack ingot(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){
+ NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot");
+ ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0);
+ ingot.readFromNBT(ingotNBT);
+ return ingot;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ public static EntityLivingBase entity(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID");
+ NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity");
+ int entityID = 0;
+ entityID = enID.getInteger("entityID");
+ EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj);
+ if (entity != null && entity instanceof EntityLivingBase){
+ entity.readFromNBT(en);
+ return entity;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static TileEntity tileEntity(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){
+ NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile");
+ TileEntity tile = TileEntity.createAndLoadEntity(tileNBT);
+ if (tile != null && tile instanceof TileEntity){
+ tile.readFromNBT(tileNBT);
+ return tile;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String dimName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName");
+ String name = dim.getString("dimName");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String modeName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode");
+ String name = dim.getString("mode");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int dimension(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension");
+ int dimension = dim.getInteger("dimension");
+ return dimension;
+ }
+ return -2;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX");
+ int posX = x.getInteger("blockX");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY");
+ int posY = y.getInteger("blockY");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ");
+ int posZ = z.getInteger("blockZ");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockID(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){
+ NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID");
+ int blockId = blockID.getInteger("blockID");
+ return blockId;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockMetadata(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){
+ NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata");
+ int metadata = metadataNBT.getInteger("metadata");
+ return metadata;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x");
+ double posX = x.getDouble("x");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y");
+ double posY = y.getDouble("y");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z");
+ double posZ = z.getDouble("z");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int ingotColor(ItemStack stack)
+ {
+ System.out.println(stack.getTagCompound());
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor");
+ int color = colors.getInteger("ingotColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ // TODO
+ /**
+ * @param stack
+ * @return
+ */
+ public static int gemColor(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor");
+ int color = colors.getInteger("gemColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ @SuppressWarnings ({"rawtypes", "unchecked", "null"})
+ public static List entities(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID");
+ List list = null;
+ int[] entityID;
+ EntityLivingBase entity;
+ entityID = enID.getIntArray("entitiesID");
+ for(int element: entityID){
+ entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj);
+ list.add(entity);
+ }
+ return list;
+ }
+ return null;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..84ea0ab
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935
@@ -0,0 +1,468 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ System.out.println(event.specialDropValue);
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437
new file mode 100644
index 0000000..1da7cd1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437
@@ -0,0 +1,473 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e56
deleted file mode 100644
index 3bb8e1c..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf
new file mode 100644
index 0000000..ef47014
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf
new file mode 100644
index 0000000..81e54b9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 16F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32*7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437
new file mode 100644
index 0000000..05b2c1e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437
@@ -0,0 +1,126 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..9e94b6b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d65935
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop");
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb682437
new file mode 100644
index 0000000..9919a3f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb682437
@@ -0,0 +1,17 @@
+package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666
deleted file mode 100644
index 95f6609..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 1.0F);
- GL11.glRotatef(65f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935
new file mode 100644
index 0000000..40e21e9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935
@@ -0,0 +1,468 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ System.out.println(event.specialDropValue);
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e56
deleted file mode 100644
index 6308908..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e56
+++ /dev/null
@@ -1,26 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import cpw.mods.fml.client.config.GuiConfig;
-import cpw.mods.fml.client.config.IConfigElement;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraftforge.common.config.ConfigElement;
-import java.util.ArrayList;
-import java.util.List;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigGui extends GuiConfig
-{
- public ConfigGui(GuiScreen parent)
- {
- super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString()));
- }
-
- @SuppressWarnings ({"rawtypes"})
- private static List<IConfigElement> getElements()
- {
- List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length);
- for(String category: ConfigHandler.categories)
- list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category)));
- return list;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf
new file mode 100644
index 0000000..c00195b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf
new file mode 100644
index 0000000..3bb822f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e56
deleted file mode 100644
index 9f6c7cc..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,27 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import cpw.mods.fml.client.config.GuiConfig;
-import cpw.mods.fml.client.config.IConfigElement;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraftforge.common.config.ConfigElement;
-import java.util.ArrayList;
-import java.util.List;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigGui extends GuiConfig
-{
- public ConfigGui(GuiScreen parent)
- {
- super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString()));
- }
-
- @SuppressWarnings ({"rawtypes"})
- private static List<IConfigElement> getElements()
- {
- List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length);
- for(String category: ConfigHandler.categories){
- list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category.toLowerCase())));
- }
- return list;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56
deleted file mode 100644
index 8e85ae6..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666
deleted file mode 100644
index 30a3515..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 1.0F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437
new file mode 100644
index 0000000..b6f5bf6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437
@@ -0,0 +1,478 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+// System.out.println(updateTime);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 1000;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..03a1d73
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d65935
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437
new file mode 100644
index 0000000..e728502
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437
@@ -0,0 +1,127 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+// System.out.println(playersInfo);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb682437
new file mode 100644
index 0000000..a7afb2e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb682437
@@ -0,0 +1,34 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+// if(event.side == Side.SERVER && event.phase == Phase.END)
+// {
+// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+// playerInfo.setBoolean("sendInfo", true);
+// }
+// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf
new file mode 100644
index 0000000..7533743
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32*7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437
new file mode 100644
index 0000000..e9aca81
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437
@@ -0,0 +1,477 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 2000;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf
new file mode 100644
index 0000000..30a9d0c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf
@@ -0,0 +1,123 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..9285b8b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935
@@ -0,0 +1,473 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf
new file mode 100644
index 0000000..a67f108
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+// GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 2F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb682437
new file mode 100644
index 0000000..9978323
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb682437
@@ -0,0 +1,77 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+// if (temp != "")
+// PlayerRenderHandler.infamyCache = temp.split(";");
+// else
+// PlayerRenderHandler.infamyCache = new String[] { };
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
+// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ }
+// ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf
new file mode 100644
index 0000000..ebfa452
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+// renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound());
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb682437
new file mode 100644
index 0000000..9dd707f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb682437
@@ -0,0 +1,34 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ if(event.side == Side.SERVER && event.phase == Phase.END)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e56
deleted file mode 100644
index 2bea4c9..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e56
deleted file mode 100644
index 3b562b7..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666
deleted file mode 100644
index a5a1674..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
-// OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666
deleted file mode 100644
index 0518542..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(60f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e56
deleted file mode 100644
index 6308908..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e56
+++ /dev/null
@@ -1,26 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import cpw.mods.fml.client.config.GuiConfig;
-import cpw.mods.fml.client.config.IConfigElement;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraftforge.common.config.ConfigElement;
-import java.util.ArrayList;
-import java.util.List;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigGui extends GuiConfig
-{
- public ConfigGui(GuiScreen parent)
- {
- super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString()));
- }
-
- @SuppressWarnings ({"rawtypes"})
- private static List<IConfigElement> getElements()
- {
- List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length);
- for(String category: ConfigHandler.categories)
- list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category)));
- return list;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf
new file mode 100644
index 0000000..3bb822f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666
deleted file mode 100644
index 68edc65..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb682437
new file mode 100644
index 0000000..470d561
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb682437
@@ -0,0 +1,38 @@
+package darkknight.jewelrycraft.curses;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CurseList
+{
+ private static Curse rotten;
+ private static Curse flaming;
+ private static Curse blind;
+ private static Curse greed;
+ private static Curse infamy;
+ private static Curse midasTouch;
+ private static Curse rabbitsPaw;
+ private static Curse pentagram;
+ private static Curse vampireHunger;
+ private static Curse humbleBundle;
+ private static Curse deathsTouch;
+ private static Curse antichrist;
+ private static Curse moneyEqualsPower;
+
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0);
+ flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0);
+ greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0);
+ blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0);
+ infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0);
+ midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0);
+ rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0);
+// pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0);
+// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0);
+// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0);
+// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0);
+// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0);
+// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb682437
new file mode 100644
index 0000000..b12de27
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb682437
@@ -0,0 +1,26 @@
+package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.relauncher.Side;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ if(event.side == Side.SERVER)
+ System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf
new file mode 100644
index 0000000..dd64830
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(e);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437
new file mode 100644
index 0000000..3ff5ed4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437
@@ -0,0 +1,122 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+ public static String[] infamyCache = new String[]{};
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (infamyCache != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ for(int i = 0; i < infamyCache.length; i++)
+ if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf
new file mode 100644
index 0000000..4bf6476
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf
@@ -0,0 +1,61 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.item;
+
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemGoldObj extends Item
+{
+ public ItemGoldObj()
+ {}
+
+ public boolean requiresMultipleRenderPasses()
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass)
+ {
+ return 0xffff00;
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ ItemStack item = JewelryNBT.item(stack);
+ if (item != null) return item.getIconIndex();
+ return itemIcon;
+ }
+
+ public String getItemStackDisplayName(ItemStack stack)
+ {
+ System.out.println("Item: " + stack);
+ if (stack != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ else return "Golden Object";
+ }
+
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
+ {
+ if (displayInfo) if (JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e56
deleted file mode 100644
index 384f0b7..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,11 +0,0 @@
-package darkknight.jewelrycraft.util;
-
-public class Variables
-{
- public static final String MODID = "jewelrycraft2";
- public static final String MODNAME = "Jewelrycraft 2";
- public static final String VERSION = "1.0";
- public static final String PACKET_CHANNEL = "jewelrycraft2";
- public static final int MAX_CURSES = 10;
- public static final String CONFIG_GUI = "thebetweenlands.utils.confighandler.ConfigGuiFactory";
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56
deleted file mode 100644
index 59e715f..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.jewelsChestMax);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666
deleted file mode 100644
index f345333..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 1.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..b125cef
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d65935
@@ -0,0 +1,25 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops) target.entityDropItem(item.getEntityItem().copy(), 0.5F);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf
new file mode 100644
index 0000000..b97d12c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glRotatef(rot, 0F, 1F, 0F);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ rot+=4F;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666
deleted file mode 100644
index 4d35230..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.4F, 0.95F);
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(-25f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56
deleted file mode 100644
index ed833cf..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf
new file mode 100644
index 0000000..6b432e5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf
@@ -0,0 +1,58 @@
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.ScreenHandler;
+
+public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSendClientPlayerInfo, IMessage>
+{
+ public NBTTagCompound tagCompound;
+
+ /**
+ * @param tagCompound
+ */
+ public PacketSendPlayerInfo(NBTTagCompound tagCompound)
+ {
+ this.tagCompound = tagCompound;
+ }
+
+ /**
+ *
+ */
+ public PacketSendPlayerInfo()
+ {}
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendClientPlayerInfo message, MessageContext ctx)
+ {
+ ScreenHandler.tagCache = message.tagCompound;
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ tagCompound = ByteBufUtils.readTag(buf);
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ ByteBufUtils.writeTag(buf, tagCompound);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e56
deleted file mode 100644
index 904f3b4..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int FURNACE_MIN_INGOT_STACK;
- public static int FURNACE_MAX_INGOT_STACK;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..6a7fe46
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935
@@ -0,0 +1,124 @@
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class Curse
+{
+ protected int id, texturepack;
+ protected String name, description;
+ protected Random rand = new Random();
+ private static ArrayList<Curse> curses = new ArrayList<Curse>();
+ public static ArrayList<Curse> availableCurses = new ArrayList<Curse>();
+
+ /**
+ * @param id the ID of the curse
+ * @param name the name of the curse
+ * @param texturepack the ID of the pack the texture is located in
+ */
+ protected Curse(int id, String name, int texturepack)
+ {
+ this.id = id;
+ this.name = name;
+ this.texturepack = texturepack;
+ curses.add(this);
+ availableCurses.add(this);
+ }
+
+ /**
+ * @return the name of the curse
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @return the description of the curse
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Curse setDescription(String desc)
+ {
+ description = desc;
+ return this;
+ }
+
+ /**
+ * @return the curse ID
+ */
+ public int getID()
+ {
+ return id;
+ }
+
+ /**
+ * @return the texture pack ID
+ */
+ public int getTexturePack()
+ {
+ return texturepack;
+ }
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void action(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void playerDeathAction(World world, EntityPlayer player)
+ {}
+
+ public void entityDeathAction(World world, EntityLivingBase target)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void respawnAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedAction(World world, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param player
+ */
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {}
+
+ public boolean itemToss()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ public static ArrayList<Curse> getCurseList()
+ {
+ return curses;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf
new file mode 100644
index 0000000..9f3b210
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 132;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..03a1d73
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d65935
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+ world.spawnEntityInWorld(entityitem);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e56
deleted file mode 100644
index 244533c..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56
deleted file mode 100644
index 0d35710..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Mod made by DarkKnight during the Modjam 3
- * It's an awesome mod
- * I love me! :D
- */
-package darkknight.jewelrycraft;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Logger;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.gen.structure.MapGenStructureIO;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.oredict.OreDictionary;
-import cpw.mods.fml.common.FMLCommonHandler;
-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.ModMetadata;
-import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.event.FMLInitializationEvent;
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.event.FMLServerStartingEvent;
-import cpw.mods.fml.common.network.NetworkRegistry;
-import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
-import cpw.mods.fml.common.registry.EntityRegistry;
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.registry.VillagerRegistry;
-import cpw.mods.fml.relauncher.Side;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.client.gui.GuiHandler;
-import darkknight.jewelrycraft.commands.JewelrycraftCommands;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.curses.CurseList;
-import darkknight.jewelrycraft.damage.DamageSourceList;
-import darkknight.jewelrycraft.effects.EffectsList;
-import darkknight.jewelrycraft.entities.EntityHalfHeart;
-import darkknight.jewelrycraft.entities.EntityHeart;
-import darkknight.jewelrycraft.events.BucketHandler;
-import darkknight.jewelrycraft.events.EntityEventHandler;
-import darkknight.jewelrycraft.events.KeyBindings;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.network.PacketClearColorCache;
-import darkknight.jewelrycraft.network.PacketKeyPressEvent;
-import darkknight.jewelrycraft.network.PacketRequestLiquidData;
-import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
-import darkknight.jewelrycraft.network.PacketRequestSetSlot;
-import darkknight.jewelrycraft.network.PacketSendCurseStats;
-import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.network.PacketSendPlayerInfo;
-import darkknight.jewelrycraft.proxy.CommonProxy;
-import darkknight.jewelrycraft.recipes.CraftingRecipes;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
-import darkknight.jewelrycraft.worldGen.Generation;
-import darkknight.jewelrycraft.worldGen.village.ComponentJewelry;
-import darkknight.jewelrycraft.worldGen.village.JCTrades;
-import darkknight.jewelrycraft.worldGen.village.VillageJewelryHandler;
-
-@Mod (modid = Variables.MODID, name = Variables.MODNAME, version = Variables.VERSION)
-public class JewelrycraftMod
-{
- @Instance (Variables.MODID)
- public static JewelrycraftMod instance;
- @SidedProxy (clientSide = "darkknight.jewelrycraft.proxy.ClientProxy", serverSide = "darkknight.jewelrycraft.proxy.CommonProxy")
- public static CommonProxy proxy;
- public static final Logger logger = Logger.getLogger("Jewelrycraft");
- public static File dir;
- public static CreativeTabs jewelrycraft = new CreativeTabs(Variables.MODID){
- @Override
- public Item getTabIconItem()
- {
- return Item.getItemFromBlock(BlockList.jewelCraftingTable);
- }
- };
- public static CreativeTabs liquids = new CreativeTabLiquids("Liquids");
- public static NBTTagCompound saveData = new NBTTagCompound();
- public static NBTTagCompound clientData = new NBTTagCompound();
- public static File liquidsConf;
- public static SimpleNetworkWrapper netWrapper;
- public static boolean fancyRender;
-
- /**
- * Pre initialization of mod stuff.
- *
- * @param e FMLPreInitializationEvent
- * @throws IOException Signals that an I/O exception has occurred.
- */
- @EventHandler
- public void preInit(FMLPreInitializationEvent e) throws IOException
- {
- ConfigHandler.INSTANCE.loadConfig(e);
- BlockList.preInit(e);
- ItemList.preInit(e);
- CraftingRecipes.preInit(e);
- CurseList.preInit(e);
- OreDictionary.registerOre("ingotShadow", new ItemStack(ItemList.shadowIngot));
- OreDictionary.registerOre("oreShadow", new ItemStack(BlockList.shadowOre));
- VillagerRegistry.instance().registerVillagerId(3000);
- VillagerRegistry.instance().registerVillageTradeHandler(3000, new JCTrades());
- VillagerRegistry.instance().registerVillageCreationHandler(new VillageJewelryHandler());
- try{
- MapGenStructureIO.func_143031_a(ComponentJewelry.class, Variables.MODID + ":Jewelry");
- }
- catch(Throwable e2){
- logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10");
- }
- MinecraftForge.EVENT_BUS.register(new EntityEventHandler());
- MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
- BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket);
-
- ModMetadata metadata = e.getModMetadata();
- List<String> authorList = new ArrayList<String>();
-
- authorList.add("OnyxDarkKnight");
- authorList.add("bspkrs");
- authorList.add("domi1819");
-
- dir = e.getModConfigurationDirectory();
- proxy.preInit();
- netWrapper = NetworkRegistry.INSTANCE.newSimpleChannel(Variables.MODID);
- netWrapper.registerMessage(PacketRequestLiquidData.class, PacketRequestLiquidData.class, 0, Side.SERVER);
- netWrapper.registerMessage(PacketSendLiquidData.class, PacketSendLiquidData.class, 1, Side.CLIENT);
- netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT);
- netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER);
- netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER);
- netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT);
- netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT);
- netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER);
-
- metadata.autogenerated = false;
- metadata.authorList = authorList;
- metadata.url = "https://github.com/sor1n/Jewelrycraft";
-
- createEntity(EntityHeart.class, Variables.MODID + ".Heart", 0xFF0000, 0xFF0000, false);
- createEntity(EntityHalfHeart.class, Variables.MODID + ".Half-Heart", 0x000000, 0xFF0000, false);
-
-// EntityRegistry.addSpawn(EntityMob.class, 5, 2, 3, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.coldBeach, BiomeGenBase.frozenRiver);
- }
-
- public void createEntity(Class<? extends Entity> entity, String entityName, int solidColor, int spotColor, boolean hasSpawnEgg)
- {
- int randomID = EntityRegistry.findGlobalUniqueEntityId();
- if(hasSpawnEgg) EntityRegistry.registerGlobalEntityID(entity, entityName, randomID, solidColor, spotColor);
- else EntityRegistry.registerGlobalEntityID(entity, entityName, randomID);
- EntityRegistry.registerModEntity(entity, entityName, randomID, this, 40, 3, true);
- }
-
- /**
- * Initializes the world generation and key bindings.
- *
- * @param e FMLInitializationEvent
- */
- @EventHandler
- public void init(FMLInitializationEvent e)
- {
- GameRegistry.registerWorldGenerator(new Generation(), 0);
- if (FMLCommonHandler.instance().getSide() == Side.CLIENT) FMLCommonHandler.instance().bus().register(new KeyBindings());
- new GuiHandler();
- }
-
- /**
- * Post initialization of metals, modifiers and others.
- *
- * @param e FMLPostInitializationEvent
- */
- @EventHandler
- public void postInit(FMLPostInitializationEvent e)
- {
- JewelrycraftUtil.addMetals();
- JewelrycraftUtil.jamcrafters();
- EffectsList.postInit(e);
- DamageSourceList.postInit(e);
- proxy.postInit();
- }
-
- @Mod.EventHandler
- public void serverLoad(FMLServerStartingEvent event)
- {
- event.registerServerCommand(new JewelrycraftCommands());
- }
-
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e56
deleted file mode 100644
index adaddd3..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e56
+++ /dev/null
@@ -1,66 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static int RITUAL_TIME;
-
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int FURNACE_MIN_INGOT_STACK;
- public static int FURNACE_MAX_INGOT_STACK;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end.");
-
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..7259097
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d65935
@@ -0,0 +1,66 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.item.EntityXPOrb;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (rand.nextInt(3) == 0){
+ int i = target.getExperiencePoints(player);
+ int j = EntityXPOrb.getXPSplit(i);
+ world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, j));
+ }
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e56
deleted file mode 100644
index 015bbd9..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666
deleted file mode 100644
index 0ced66b..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(-15f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
-// GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
-// GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf
new file mode 100644
index 0000000..3bb822f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..9ef1eb6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d65935
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf
new file mode 100644
index 0000000..7302c01
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glRotatef(rot, 0F, 0F, 1F);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ rot++;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf
new file mode 100644
index 0000000..a84e65c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b8422
deleted file mode 100644
index 22fbda3..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b8422
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- *
- */
-package darkknight.jewelrycraft.item;
-
-import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import net.minecraft.entity.player.EntityPlayer;
-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;
-
-public class ItemGoldObj extends Item
-{
- public ItemGoldObj()
- {}
-
- public boolean requiresMultipleRenderPasses()
- {
- return true;
- }
-
- @SideOnly (Side.CLIENT)
- public int getColorFromItemStack(ItemStack stack, int pass)
- {
- return 0xffff00;
- }
-
- @Override
- public IIcon getIcon(ItemStack stack, int pass)
- {
- System.out.println(JewelryNBT.item(stack).getIconIndex());
- if (JewelryNBT.item(stack) != null && pass >= 0) return getIconIndex(JewelryNBT.item(stack));
- return itemIcon;
- }
-
- public String getItemStackDisplayName(ItemStack stack)
- {
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
- }
-
- public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
- {
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf
new file mode 100644
index 0000000..6cccaed
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-3F, 15F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..470d561
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d65935
@@ -0,0 +1,38 @@
+package darkknight.jewelrycraft.curses;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CurseList
+{
+ private static Curse rotten;
+ private static Curse flaming;
+ private static Curse blind;
+ private static Curse greed;
+ private static Curse infamy;
+ private static Curse midasTouch;
+ private static Curse rabbitsPaw;
+ private static Curse pentagram;
+ private static Curse vampireHunger;
+ private static Curse humbleBundle;
+ private static Curse deathsTouch;
+ private static Curse antichrist;
+ private static Curse moneyEqualsPower;
+
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0);
+ flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0);
+ greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0);
+ blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0);
+ infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0);
+ midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0);
+ rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0);
+// pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0);
+// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0);
+// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0);
+// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0);
+// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0);
+// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437
new file mode 100644
index 0000000..31ebcd5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437
@@ -0,0 +1,127 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(playersInfo);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d65935
new file mode 100644
index 0000000..08f83f0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d65935
@@ -0,0 +1,12 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56
deleted file mode 100644
index b9a276b..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,186 +0,0 @@
-package darkknight.jewelrycraft.tileentity;
-
-import java.util.Random;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.NetworkManager;
-import net.minecraft.network.Packet;
-import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
-import net.minecraft.tileentity.TileEntity;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class TileEntitySmelter extends TileEntity
-{
- public int melting, flow, n = 0, p = 0;
- public boolean hasMetal, hasMoltenMetal, isDirty, pouring;
- public ItemStack metal, moltenMetal;
- public float quantity, pouredQuantity = 0.1f;
-
- /**
- *
- */
- public TileEntitySmelter()
- {
- melting = 0;
- pouring = false;
- flow = 0;
- quantity = 0f;
- hasMetal = false;
- hasMoltenMetal = false;
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
- isDirty = false;
- }
-
- /**
- * @param nbt
- */
- @Override
- public void writeToNBT(NBTTagCompound nbt)
- {
- super.writeToNBT(nbt);
- nbt.setInteger("melting", melting);
- nbt.setFloat("quantity", quantity);
- nbt.setBoolean("hasMetal", hasMetal);
- nbt.setBoolean("hasMoltenMetal", hasMoltenMetal);
- nbt.setBoolean("pouring", pouring);
- NBTTagCompound tag = new NBTTagCompound();
- NBTTagCompound tag1 = new NBTTagCompound();
- metal.writeToNBT(tag);
- nbt.setTag("metal", tag);
- moltenMetal.writeToNBT(tag1);
- nbt.setTag("moltenMetal", tag1);
- }
-
- /**
- * @param nbt
- */
- @Override
- public void readFromNBT(NBTTagCompound nbt)
- {
- super.readFromNBT(nbt);
- melting = nbt.getInteger("melting");
- quantity = nbt.getFloat("quantity");
- hasMetal = nbt.getBoolean("hasMetal");
- hasMoltenMetal = nbt.getBoolean("hasMoltenMetal");
- pouring = nbt.getBoolean("pouring");
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- metal.readFromNBT(nbt.getCompoundTag("metal"));
- moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
- moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal"));
- }
-
- /**
- *
- */
- @Override
- public void updateEntity()
- {
- super.updateEntity();
- Random rand = new Random();
- if (isDirty){
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- isDirty = false;
- }
- if (p > 0) --p;
- else p = 5;
- if (n == 0 && p == 0){
- flow += 16;
- if (flow >= 16 * 20) n = 1;
- }
- if (n == 1 && p == 0){
- flow -= 16;
- if (flow <= 0) n = 0;
- }
- if (hasMetal) for(int l = 0; l < 2; ++l)
- worldObj.spawnParticle("flame", xCoord + rand.nextFloat(), (double)yCoord + 0.3F, zCoord + rand.nextFloat(), 0.0D, 0.0D, 0.0D);
- if (rand.nextInt(65) == 0){
- double d5 = xCoord + rand.nextFloat();
- double d7 = yCoord;
- double d6 = zCoord + rand.nextFloat();
- worldObj.playSound(d5, d7, d6, "liquid.lavapop", 0.2F + rand.nextFloat() * 0.2F, 0.9F + rand.nextFloat() * 0.15F, false);
- }
- if (hasMetal && !hasMoltenMetal){
- boolean isOre = JewelrycraftUtil.isOre(metal);
- if (melting > 0) melting--;
- if (melting == 0){
- hasMetal = false;
- if (!isOre) moltenMetal = metal;
- else{
- moltenMetal = JewelrycraftUtil.getIngotFromOre(metal.getItem());
- moltenMetal.stackSize *= 2;
- }
- hasMoltenMetal = true;
- if (!isOre) quantity = 0.1f * metal.stackSize;
- else quantity = 0.2f * metal.stackSize;
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- melting = -1;
- isDirty = true;
- }
- }else if (hasMoltenMetal){
- boolean isOre = JewelrycraftUtil.isOre(metal);
- if (melting > 0) melting--;
- if (melting == 0){
- hasMetal = false;
- if (!isOre) moltenMetal.stackSize += metal.stackSize;
- else moltenMetal.stackSize += metal.stackSize * 2;
- if (!isOre) quantity += 0.1f * metal.stackSize;
- else quantity += 0.2f * metal.stackSize;
- metal = new ItemStack(Item.getItemById(0), 0, 0);
- melting = -1;
- isDirty = true;
- }
- }
- TileEntityMolder me = null;
- if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 0 && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord - 1);
- else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 1 && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord + 1, yCoord, zCoord);
- else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 2 && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord + 1);
- else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 3 && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord - 1, yCoord, zCoord);
- if (pouring && pouredQuantity > 0f){
- quantity -= 0.01f;
- pouredQuantity -= 0.01f;
- me.quantity += 0.01f;
- if (!me.hasMoltenMetal){
- me.moltenMetal = moltenMetal;
- me.hasMoltenMetal = true;
- }
- if (pouredQuantity <= 0f){
- pouring = false;
- pouredQuantity = 0.1f;
- me.cooling = ConfigHandler.INGOT_COOLING_TIME;
- }
- if (quantity <= 0f){
- quantity = 0f;
- hasMoltenMetal = false;
- moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
- // pouring = false;
- me.cooling = ConfigHandler.INGOT_COOLING_TIME;
- }
- me.isDirty = true;
- }
- }
-
- /**
- * @return
- */
- @Override
- public Packet getDescriptionPacket()
- {
- NBTTagCompound nbttagcompound = new NBTTagCompound();
- writeToNBT(nbttagcompound);
- return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound);
- }
-
- /**
- * @param net
- * @param packet
- */
- @Override
- public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet)
- {
- readFromNBT(packet.func_148857_g());
- worldObj.func_147479_m(xCoord, yCoord, zCoord);
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..af1f56c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d65935
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+// world.spawnEntityInWorld(entityitem);
+// target.entityDropItem(item.getEntityItem(), 0.5F);
+ target.dropItem(item.getEntityItem().getItem(), 1);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf
new file mode 100644
index 0000000..d4788c7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glRotatef(rot, 0F, 1F, 0F);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ rot+=2F;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e56
deleted file mode 100644
index 9553111..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e56
+++ /dev/null
@@ -1,66 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static int RITUAL_TIME;
-
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int GEM_CHEST_MIN;
- public static int GEM_CHEST_MAX;
- public static int FURNACE_MIN_INGOT_STACK;
- public static int FURNACE_MAX_INGOT_STACK;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile(),true);
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end.");
-
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e56
deleted file mode 100644
index f47fa57..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,63 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
-
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.get(categories[0], "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt(100);
- ingotMeltingTime = config.get(categories[0], "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt(1500);
- jewelryCraftingTime = config.get(categories[0], "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt(200);
- generateVillageNetherstar = config.get(categories[1], "Netherstar Generation", generateVillageNetherstar, "If set to true Nether Stars will be able to generate in Jewelers chests.").getBoolean(false);
- canFurnacesGenerateIngots = config.get(categories[1], "Furnace Ingots Generation", canFurnacesGenerateIngots, "If set to true jewelers will generate ingots in furnaces.").getBoolean(true);
- maxVillageJewelers = config.get(categories[1], "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1);
- jewelerWeight = config.get(categories[1], "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30);
- ingotChestMin = config.get(categories[1], "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1);
- ingotChestMax = config.get(categories[1], "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4);
- ingotChestMaxStack = config.get(categories[1], "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2);
- jewelsChestMin = config.get(categories[1], "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2);
- jewelsChestMax = config.get(categories[1], "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5);
- furnacesIngotStackMin = config.get(categories[1], "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2);
- furnacesIngotStackMax = config.get(categories[1], "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5);
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf
new file mode 100644
index 0000000..12c4190
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 64;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf
new file mode 100644
index 0000000..64f580f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 32;
+ int y = 0;
+ int u = 32;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d65935
new file mode 100644
index 0000000..e4105c8
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d65935
@@ -0,0 +1,24 @@
+package darkknight.jewelrycraft.curses;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CurseList
+{
+ private static Curse rotten;
+ private static Curse flaming;
+ private static Curse blind;
+ private static Curse greed;
+ private static Curse infamy;
+ private static Curse midasTouch;
+
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0);
+ flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0);
+ greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0);
+ blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0);
+ infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0);
+ midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e56
deleted file mode 100644
index 2453924..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf
new file mode 100644
index 0000000..8938e9d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..8be1e62
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d65935
@@ -0,0 +1,32 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ System.out.println(drop.stackSize);
+ if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ System.out.println("~~~~~~~~~~~~");
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..925ceda
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935
@@ -0,0 +1,467 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437
new file mode 100644
index 0000000..9c25ad9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437
@@ -0,0 +1,127 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+// System.out.println(PlayerUtils.getModPlayerPersistTag(player, Variables.MODID));
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf
new file mode 100644
index 0000000..1c30b7b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(3));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e56
deleted file mode 100644
index 627ca48..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,63 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
-
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.get(categories[0], "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt(100);
- ingotMeltingTime = config.get(categories[0], "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt(1500);
- jewelryCraftingTime = config.get(categories[0], "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt(200);
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.get(categories[1], "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1);
- jewelerWeight = config.get(categories[1], "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30);
- ingotChestMin = config.get(categories[1], "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1);
- ingotChestMax = config.get(categories[1], "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4);
- ingotChestMaxStack = config.get(categories[1], "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2);
- jewelsChestMin = config.get(categories[1], "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2);
- jewelsChestMax = config.get(categories[1], "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5);
- furnacesIngotStackMin = config.get(categories[1], "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2);
- furnacesIngotStackMax = config.get(categories[1], "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5);
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437
new file mode 100644
index 0000000..b53c27d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437
@@ -0,0 +1,122 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (infamyCache != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ for(int i = 0; i < infamyCache.length; i++)
+ if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf
new file mode 100644
index 0000000..6490580
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(3F, 15F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e56
deleted file mode 100644
index f3d10a0..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e56
+++ /dev/null
@@ -1,26 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import cpw.mods.fml.client.config.GuiConfig;
-import cpw.mods.fml.client.config.IConfigElement;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraftforge.common.config.ConfigElement;
-import java.util.ArrayList;
-import java.util.List;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigGui extends GuiConfig
-{
- public ConfigGui(GuiScreen parent)
- {
- super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString()));
- }
-
- @SuppressWarnings ({"rawtypes"})
- private static List<IConfigElement> getElements()
- {
- List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length);
- for(String category: ConfigHandler.categories)
- list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category.toLowerCase())));
- return list;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..71e21bd
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d65935
@@ -0,0 +1,55 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437
new file mode 100644
index 0000000..bd522ea
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437
@@ -0,0 +1,477 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ int updateTime = 0;
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (updateTime == 0){
+ System.out.println("Update");
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ updateTime = 1000;
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf
new file mode 100644
index 0000000..2ef4c69
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ GL11.glTranslatef(1F, 1F, 1F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf
new file mode 100644
index 0000000..5be8cde
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-15F, 15F, -15F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32*8;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb682437
new file mode 100644
index 0000000..a7afb2e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb682437
@@ -0,0 +1,34 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.nbt.NBTTagCompound;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+// if(event.side == Side.SERVER && event.phase == Phase.END)
+// {
+// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+// playerInfo.setBoolean("sendInfo", true);
+// }
+// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437
new file mode 100644
index 0000000..34bbfcc
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437
@@ -0,0 +1,771 @@
+package darkknight.jewelrycraft.util;
+
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityList;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class JewelryNBT
+{
+ // TODO NBT Tag Adding
+ public static void addItem(ItemStack item, ItemStack target)
+ {
+ if (target != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound targetNBT = new NBTTagCompound();
+ target.writeToNBT(targetNBT);
+ itemStackData.setTag("target", targetNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param metal The metal you want to add on the item
+ */
+ public static void addMetal(ItemStack item, ItemStack metal)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound ingotNBT = new NBTTagCompound();
+ metal.writeToNBT(ingotNBT);
+ itemStackData.setTag("ingot", ingotNBT);
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param gem The gem you want to add on the item
+ */
+ public static void addGem(ItemStack item, ItemStack gem)
+ {
+ if (gem != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound gemNBT = new NBTTagCompound();
+ gem.writeToNBT(gemNBT);
+ itemStackData.setTag("gem", gemNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param modifier The modifier you want to add on the item
+ */
+ public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier)
+ {
+ if (modifier != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ for(int i = 0; i < modifier.size(); i++){
+ NBTTagCompound modifierNBT = new NBTTagCompound();
+ modifier.get(i).writeToNBT(modifierNBT);
+ itemStackData.setTag("modifier" + i, modifierNBT);
+ }
+ itemStackData.setInteger("modifierSize", modifier.size());
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param entity The entity to add on the item
+ */
+ public static void addEntity(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ entity.writeToNBT(entityNBT);
+ itemStackData.setTag("entity", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param entity
+ */
+ public static void addEntityID(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ int id = EntityList.getEntityID(entity);
+ entityNBT.setInteger("entityID", id);
+ itemStackData.setTag("entityID", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addCoordonates(ItemStack item, double x, double y, double z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ }
+
+ /**
+ * @param item
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound tileNBT = new NBTTagCompound();
+ NBTTagCompound block = new NBTTagCompound();
+ world.getTileEntity(x, y, z).writeToNBT(tileNBT);
+ itemStackData.setTag("tile", tileNBT);
+ block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z)));
+ block.setInteger("metadata", world.getBlockMetadata(x, y, z));
+ block.setInteger("blockX", x);
+ block.setInteger("blockY", y);
+ block.setInteger("blockZ", z);
+ itemStackData.setTag("metadata", block);
+ itemStackData.setTag("blockID", block);
+ itemStackData.setTag("blockX", block);
+ itemStackData.setTag("blockY", block);
+ itemStackData.setTag("blockZ", block);
+ }
+
+ /**
+ * @param item
+ * @param block
+ * @param metadata
+ */
+ public static void addBlock(ItemStack item, int block, int metadata)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound blockNBT = new NBTTagCompound();
+ blockNBT.setInteger("blockID", block);
+ itemStackData.setTag("blockID", blockNBT);
+ blockNBT.setInteger("metadata", metadata);
+ itemStackData.setTag("metadata", blockNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addBlockCoordonates(ItemStack item, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setInteger("blockX", x);
+ coords.setInteger("blockY", y);
+ coords.setInteger("blockZ", z);
+ itemStackData.setTag("blockX", coords);
+ itemStackData.setTag("blockY", coords);
+ itemStackData.setTag("blockZ", coords);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ * @param dim
+ * @param name
+ */
+ public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ coords.setInteger("dimension", dim);
+ coords.setString("dimName", name);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ itemStackData.setTag("dimension", coords);
+ itemStackData.setTag("dimName", coords);
+ }
+
+ /**
+ * @param item
+ */
+ public static void addFakeEnchantment(ItemStack item)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.setTag("ench", new NBTTagList());
+ }
+
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addIngotColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("ingotColor", color);
+ itemStackData.setTag("ingotColor", colors);
+ }
+
+ // TODO
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addGemColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("gemColor", color);
+ itemStackData.setTag("gemColor", colors);
+ }
+
+ /**
+ * @param item
+ * @param list
+ */
+ @SuppressWarnings ("rawtypes")
+ public static void addEntities(ItemStack item, List list)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ for(int i = 0; i < list.size(); i++)
+ ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT);
+ itemStackData.setTag("entities", entityNBT);
+ }
+
+ // TODO NBT Tag Removing
+ /**
+ * @param item
+ * @param tag
+ */
+ public static void removeNBT(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.removeTag(tag);
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeEntity(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "entityID");
+ JewelryNBT.removeNBT(item, "entity");
+ JewelryNBT.removeNBT(item, "ench");
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeBlock(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "blockID");
+ JewelryNBT.removeNBT(item, "metadata");
+ JewelryNBT.removeNBT(item, "tile");
+ JewelryNBT.removeNBT(item, "blockX");
+ JewelryNBT.removeNBT(item, "blockY");
+ JewelryNBT.removeNBT(item, "blockZ");
+ }
+
+ // TODO NTB Tag Checking
+ /**
+ * @param item
+ * @param tag
+ * @return
+ */
+ public static boolean hasTag(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ if (itemStackData.hasKey(tag)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param gem
+ * @return
+ */
+ public static boolean isGemX(ItemStack stack, ItemStack gem)
+ {
+ if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param modifier
+ * @return
+ */
+ public static boolean doesModifierExist(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true;
+ }
+ return false;
+ }
+
+ public static int modifierSize(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize;
+ }
+ return -1;
+ }
+
+ public static int numberOfModifiers(ItemStack stack)
+ {
+ if (modifier(stack) != null) return modifier(stack).size();
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @param ingot
+ * @return
+ */
+ public static boolean isIngotX(ItemStack stack, ItemStack ingot)
+ {
+ if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @param entity
+ * @return
+ */
+ public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
+ {
+ if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimName
+ * @return
+ */
+ public static boolean isDimNameX(ItemStack stack, String dimName)
+ {
+ if (ingot(stack) != null && dimName(stack).equals(dimName)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimension
+ * @return
+ */
+ public static boolean isDimensionX(ItemStack stack, int dimension)
+ {
+ if (dimension(stack) != -2 && dimension(stack) == dimension) return true;
+ return false;
+ }
+
+ // TODO Return components based on NBT
+ public static ItemStack item(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){
+ NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target");
+ ItemStack target = new ItemStack(Item.getItemById(0), 0, 0);
+ target.readFromNBT(itemNBT);
+ return target;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack gem(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){
+ NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem");
+ ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0);
+ gem.readFromNBT(jewelNBT);
+ return gem;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ArrayList<ItemStack> modifier(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){
+ int size = stack.getTagCompound().getInteger("modifierSize");
+ ArrayList<ItemStack> list = new ArrayList<ItemStack>();
+ for(int i = 0; i < size; i++){
+ ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0);
+ NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i);
+ modifier.readFromNBT(modifierNBT);
+ list.add(modifier);
+ }
+ return list;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack ingot(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){
+ NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot");
+ ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0);
+ ingot.readFromNBT(ingotNBT);
+ return ingot;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ public static EntityLivingBase entity(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID");
+ NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity");
+ int entityID = 0;
+ entityID = enID.getInteger("entityID");
+ EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj);
+ if (entity != null && entity instanceof EntityLivingBase){
+ entity.readFromNBT(en);
+ return entity;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static TileEntity tileEntity(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){
+ NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile");
+ TileEntity tile = TileEntity.createAndLoadEntity(tileNBT);
+ if (tile != null && tile instanceof TileEntity){
+ tile.readFromNBT(tileNBT);
+ return tile;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String dimName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName");
+ String name = dim.getString("dimName");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String modeName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode");
+ String name = dim.getString("mode");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int dimension(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension");
+ int dimension = dim.getInteger("dimension");
+ return dimension;
+ }
+ return -2;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX");
+ int posX = x.getInteger("blockX");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY");
+ int posY = y.getInteger("blockY");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ");
+ int posZ = z.getInteger("blockZ");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockID(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){
+ NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID");
+ int blockId = blockID.getInteger("blockID");
+ return blockId;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockMetadata(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){
+ NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata");
+ int metadata = metadataNBT.getInteger("metadata");
+ return metadata;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x");
+ double posX = x.getDouble("x");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y");
+ double posY = y.getDouble("y");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z");
+ double posZ = z.getDouble("z");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int ingotColor(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){
+ System.out.println(stack.getTagCompound());
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor");
+ int color = colors.getInteger("ingotColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ // TODO
+ /**
+ * @param stack
+ * @return
+ */
+ public static int gemColor(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor");
+ int color = colors.getInteger("gemColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ @SuppressWarnings ({"rawtypes", "unchecked", "null"})
+ public static List entities(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID");
+ List list = null;
+ int[] entityID;
+ EntityLivingBase entity;
+ entityID = enID.getIntArray("entitiesID");
+ for(int element: entityID){
+ entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj);
+ list.add(entity);
+ }
+ return list;
+ }
+ return null;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50dc9ef400e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/805ab54b6fe70014115de2bb951f0adf
index d8755a6..7ad25c4 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50dc9ef400e50014174fe663e69b8422
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/805ab54b6fe70014115de2bb951f0adf
@@ -4,15 +4,17 @@
package darkknight.jewelrycraft.item;
import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.util.JewelryNBT;
+import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
-import net.minecraft.util.StatCollector;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.JewelryNBT;
public class ItemGoldObj extends Item
{
@@ -25,6 +27,12 @@ public class ItemGoldObj extends Item
}
@SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass)
{
return 0xffff00;
@@ -33,21 +41,20 @@ public class ItemGoldObj extends Item
@Override
public IIcon getIcon(ItemStack stack, int pass)
{
- if (JewelryNBT.item(stack) != null) return JewelryNBT.item(stack).getItem().getIconIndex(JewelryNBT.item(stack));
+ ItemStack item = JewelryNBT.item(stack);
+ if (item != null) return item.getIconIndex();
return itemIcon;
}
public String getItemStackDisplayName(ItemStack stack)
{
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ return "Golden " + ((stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object");
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
{
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
+ if (displayInfo)
+ if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
}
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..389d2b1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935
@@ -0,0 +1,474 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ System.out.println("Spwan original heart");
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving);
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf
new file mode 100644
index 0000000..77a9960
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32*7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b8422
deleted file mode 100644
index 6d4bb3a..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b8422
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- *
- */
-package darkknight.jewelrycraft.item;
-
-import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import net.minecraft.entity.player.EntityPlayer;
-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;
-
-public class ItemGoldObj extends Item
-{
- public ItemGoldObj()
- {}
-
- public boolean requiresMultipleRenderPasses()
- {
- return true;
- }
-
- @SideOnly (Side.CLIENT)
- public int getColorFromItemStack(ItemStack stack, int pass)
- {
- return 0xffff00;
- }
-
- @Override
- public IIcon getIcon(ItemStack stack, int pass)
- {
- if (JewelryNBT.item(stack) != null && pass >= 0) return JewelryNBT.item(stack).getItem().getIconIndex(JewelryNBT.item(stack));
- return itemIcon;
- }
-
- public String getItemStackDisplayName(ItemStack stack)
- {
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
- }
-
- public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
- {
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf
new file mode 100644
index 0000000..7eb5e9f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0]);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437
new file mode 100644
index 0000000..357a685
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437
@@ -0,0 +1,771 @@
+package darkknight.jewelrycraft.util;
+
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityList;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class JewelryNBT
+{
+ // TODO NBT Tag Adding
+ public static void addItem(ItemStack item, ItemStack target)
+ {
+ if (target != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound targetNBT = new NBTTagCompound();
+ target.writeToNBT(targetNBT);
+ itemStackData.setTag("target", targetNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param metal The metal you want to add on the item
+ */
+ public static void addMetal(ItemStack item, ItemStack metal)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound ingotNBT = new NBTTagCompound();
+ metal.writeToNBT(ingotNBT);
+ itemStackData.setTag("ingot", ingotNBT);
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param gem The gem you want to add on the item
+ */
+ public static void addGem(ItemStack item, ItemStack gem)
+ {
+ if (gem != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound gemNBT = new NBTTagCompound();
+ gem.writeToNBT(gemNBT);
+ itemStackData.setTag("gem", gemNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param modifier The modifier you want to add on the item
+ */
+ public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier)
+ {
+ if (modifier != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ for(int i = 0; i < modifier.size(); i++){
+ NBTTagCompound modifierNBT = new NBTTagCompound();
+ modifier.get(i).writeToNBT(modifierNBT);
+ itemStackData.setTag("modifier" + i, modifierNBT);
+ }
+ itemStackData.setInteger("modifierSize", modifier.size());
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param entity The entity to add on the item
+ */
+ public static void addEntity(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ entity.writeToNBT(entityNBT);
+ itemStackData.setTag("entity", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param entity
+ */
+ public static void addEntityID(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ int id = EntityList.getEntityID(entity);
+ entityNBT.setInteger("entityID", id);
+ itemStackData.setTag("entityID", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addCoordonates(ItemStack item, double x, double y, double z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ }
+
+ /**
+ * @param item
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound tileNBT = new NBTTagCompound();
+ NBTTagCompound block = new NBTTagCompound();
+ world.getTileEntity(x, y, z).writeToNBT(tileNBT);
+ itemStackData.setTag("tile", tileNBT);
+ block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z)));
+ block.setInteger("metadata", world.getBlockMetadata(x, y, z));
+ block.setInteger("blockX", x);
+ block.setInteger("blockY", y);
+ block.setInteger("blockZ", z);
+ itemStackData.setTag("metadata", block);
+ itemStackData.setTag("blockID", block);
+ itemStackData.setTag("blockX", block);
+ itemStackData.setTag("blockY", block);
+ itemStackData.setTag("blockZ", block);
+ }
+
+ /**
+ * @param item
+ * @param block
+ * @param metadata
+ */
+ public static void addBlock(ItemStack item, int block, int metadata)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound blockNBT = new NBTTagCompound();
+ blockNBT.setInteger("blockID", block);
+ itemStackData.setTag("blockID", blockNBT);
+ blockNBT.setInteger("metadata", metadata);
+ itemStackData.setTag("metadata", blockNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addBlockCoordonates(ItemStack item, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setInteger("blockX", x);
+ coords.setInteger("blockY", y);
+ coords.setInteger("blockZ", z);
+ itemStackData.setTag("blockX", coords);
+ itemStackData.setTag("blockY", coords);
+ itemStackData.setTag("blockZ", coords);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ * @param dim
+ * @param name
+ */
+ public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ coords.setInteger("dimension", dim);
+ coords.setString("dimName", name);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ itemStackData.setTag("dimension", coords);
+ itemStackData.setTag("dimName", coords);
+ }
+
+ /**
+ * @param item
+ */
+ public static void addFakeEnchantment(ItemStack item)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.setTag("ench", new NBTTagList());
+ }
+
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addIngotColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("ingotColor", color);
+ itemStackData.setTag("ingotColor", colors);
+ }
+
+ // TODO
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addGemColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("gemColor", color);
+ itemStackData.setTag("gemColor", colors);
+ }
+
+ /**
+ * @param item
+ * @param list
+ */
+ @SuppressWarnings ("rawtypes")
+ public static void addEntities(ItemStack item, List list)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ for(int i = 0; i < list.size(); i++)
+ ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT);
+ itemStackData.setTag("entities", entityNBT);
+ }
+
+ // TODO NBT Tag Removing
+ /**
+ * @param item
+ * @param tag
+ */
+ public static void removeNBT(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.removeTag(tag);
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeEntity(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "entityID");
+ JewelryNBT.removeNBT(item, "entity");
+ JewelryNBT.removeNBT(item, "ench");
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeBlock(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "blockID");
+ JewelryNBT.removeNBT(item, "metadata");
+ JewelryNBT.removeNBT(item, "tile");
+ JewelryNBT.removeNBT(item, "blockX");
+ JewelryNBT.removeNBT(item, "blockY");
+ JewelryNBT.removeNBT(item, "blockZ");
+ }
+
+ // TODO NTB Tag Checking
+ /**
+ * @param item
+ * @param tag
+ * @return
+ */
+ public static boolean hasTag(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ if (itemStackData.hasKey(tag)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param gem
+ * @return
+ */
+ public static boolean isGemX(ItemStack stack, ItemStack gem)
+ {
+ if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param modifier
+ * @return
+ */
+ public static boolean doesModifierExist(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true;
+ }
+ return false;
+ }
+
+ public static int modifierSize(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize;
+ }
+ return -1;
+ }
+
+ public static int numberOfModifiers(ItemStack stack)
+ {
+ if (modifier(stack) != null) return modifier(stack).size();
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @param ingot
+ * @return
+ */
+ public static boolean isIngotX(ItemStack stack, ItemStack ingot)
+ {
+ if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @param entity
+ * @return
+ */
+ public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
+ {
+ if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimName
+ * @return
+ */
+ public static boolean isDimNameX(ItemStack stack, String dimName)
+ {
+ if (ingot(stack) != null && dimName(stack).equals(dimName)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimension
+ * @return
+ */
+ public static boolean isDimensionX(ItemStack stack, int dimension)
+ {
+ if (dimension(stack) != -2 && dimension(stack) == dimension) return true;
+ return false;
+ }
+
+ // TODO Return components based on NBT
+ public static ItemStack item(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){
+ NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target");
+ ItemStack target = new ItemStack(Item.getItemById(0), 0, 0);
+ target.readFromNBT(itemNBT);
+ return target;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack gem(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){
+ NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem");
+ ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0);
+ gem.readFromNBT(jewelNBT);
+ return gem;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ArrayList<ItemStack> modifier(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){
+ int size = stack.getTagCompound().getInteger("modifierSize");
+ ArrayList<ItemStack> list = new ArrayList<ItemStack>();
+ for(int i = 0; i < size; i++){
+ ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0);
+ NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i);
+ modifier.readFromNBT(modifierNBT);
+ list.add(modifier);
+ }
+ return list;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack ingot(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){
+ NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot");
+ ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0);
+ ingot.readFromNBT(ingotNBT);
+ return ingot;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ public static EntityLivingBase entity(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID");
+ NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity");
+ int entityID = 0;
+ entityID = enID.getInteger("entityID");
+ EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj);
+ if (entity != null && entity instanceof EntityLivingBase){
+ entity.readFromNBT(en);
+ return entity;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static TileEntity tileEntity(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){
+ NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile");
+ TileEntity tile = TileEntity.createAndLoadEntity(tileNBT);
+ if (tile != null && tile instanceof TileEntity){
+ tile.readFromNBT(tileNBT);
+ return tile;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String dimName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName");
+ String name = dim.getString("dimName");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String modeName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode");
+ String name = dim.getString("mode");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int dimension(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension");
+ int dimension = dim.getInteger("dimension");
+ return dimension;
+ }
+ return -2;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX");
+ int posX = x.getInteger("blockX");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY");
+ int posY = y.getInteger("blockY");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ");
+ int posZ = z.getInteger("blockZ");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockID(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){
+ NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID");
+ int blockId = blockID.getInteger("blockID");
+ return blockId;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockMetadata(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){
+ NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata");
+ int metadata = metadataNBT.getInteger("metadata");
+ return metadata;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x");
+ double posX = x.getDouble("x");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y");
+ double posY = y.getDouble("y");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z");
+ double posZ = z.getDouble("z");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int ingotColor(ItemStack stack)
+ {
+ System.out.println(stack.getTagCompound());
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor");
+ int color = colors.getInteger("ingotColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ // TODO
+ /**
+ * @param stack
+ * @return
+ */
+ public static int gemColor(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor");
+ int color = colors.getInteger("gemColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ @SuppressWarnings ({"rawtypes", "unchecked", "null"})
+ public static List entities(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID");
+ List list = null;
+ int[] entityID;
+ EntityLivingBase entity;
+ entityID = enID.getIntArray("entitiesID");
+ for(int element: entityID){
+ entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj);
+ list.add(entity);
+ }
+ return list;
+ }
+ return null;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666
deleted file mode 100644
index bd6bc0f..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666
+++ /dev/null
@@ -1,579 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(-0.3F, 0.3F, 0.6F);
- GL11.glRotatef(75f, 0f, 1f, 0f);
- GL11.glRotatef(15f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437
new file mode 100644
index 0000000..e705fa6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437
@@ -0,0 +1,128 @@
+package darkknight.jewelrycraft.events;
+
+import java.util.Iterator;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.CurseList;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.BraceletRender;
+import darkknight.jewelrycraft.item.render.EarringsRender;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+public class PlayerRenderHandler
+{
+ MaskRender mask = new MaskRender();
+ EarringsRender earrings = new EarringsRender();
+ BraceletRender bracelet = new BraceletRender();
+// public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
+
+ @SubscribeEvent
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
+ {
+ ModelBiped main = event.renderer.modelBipedMain;
+ Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
+ if (playersInfo != null){
+ while (players.hasNext()){
+ EntityPlayer player = players.next();
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+ if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(0.07f, 0.07f, 0.07f);
+ GL11.glTranslatef(0.0F, 3.0F, -2.0F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ GL11.glPopMatrix();
+ }
+ for(int i = 10; i <= 13; i++)
+ if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F);
+ if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F));
+ if (i / 12 == 1){
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F);
+ }else{
+ GL11.glScalef(0.05f, 0.03f, 0.05f);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F);
+ GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F);
+ int gemColor = -1;
+ int ingotColor = -1;
+ if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item);
+ if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item);
+ System.out.println(item);
+ bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F);
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean checkPlayerInfamy(String string)
+ {
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
+// for(int i = 0; i < infamyCache.length; i++)
+// if (infamyCache[i].equals(string)) return true;
+ return false;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/604048aa00e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d04590e96fe70014115de2bb951f0adf
index c55e71b..7ad25c4 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/604048aa00e50014174fe663e69b8422
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d04590e96fe70014115de2bb951f0adf
@@ -4,15 +4,17 @@
package darkknight.jewelrycraft.item;
import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.util.JewelryNBT;
+import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
-import net.minecraft.util.StatCollector;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.JewelryNBT;
public class ItemGoldObj extends Item
{
@@ -25,6 +27,12 @@ public class ItemGoldObj extends Item
}
@SideOnly (Side.CLIENT)
+ public boolean hasEffect(ItemStack item)
+ {
+ return true;
+ }
+
+ @SideOnly (Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass)
{
return 0xffff00;
@@ -33,21 +41,20 @@ public class ItemGoldObj extends Item
@Override
public IIcon getIcon(ItemStack stack, int pass)
{
- if (JewelryNBT.item(stack) != null && pass >= 0) return JewelryNBT.item(stack).getIconIndex();
+ ItemStack item = JewelryNBT.item(stack);
+ if (item != null) return item.getIconIndex();
return itemIcon;
}
public String getItemStackDisplayName(ItemStack stack)
{
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
+ return "Golden " + ((stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object");
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
{
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
+ if (displayInfo)
+ if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?");
+ else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :(");
}
}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..43515c5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d65935
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ EntityItem entityitem = item;
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ player.worldObj.spawnEntityInWorld(entityitem);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e56
deleted file mode 100644
index 98564f1..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,63 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
-
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int ingotCoolingTime;
- public static int ingotMeltingTime;
- public static int jewelryCraftingTime;
- public static boolean generateVillageNetherstar;
- public static boolean canFurnacesGenerateIngots;
- public static int maxVillageJewelers;
- public static int jewelerWeight;
- public static int ingotChestMin;
- public static int ingotChestMax;
- public static int ingotChestMaxStack;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- maxVillageJewelers = config.get(categories[1], "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1);
- jewelerWeight = config.get(categories[1], "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30);
- ingotChestMin = config.get(categories[1], "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1);
- ingotChestMax = config.get(categories[1], "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4);
- ingotChestMaxStack = config.get(categories[1], "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2);
- jewelsChestMin = config.get(categories[1], "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2);
- jewelsChestMax = config.get(categories[1], "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5);
- furnacesIngotStackMin = config.get(categories[1], "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2);
- furnacesIngotStackMax = config.get(categories[1], "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5);
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf
new file mode 100644
index 0000000..8938e9d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf
@@ -0,0 +1,586 @@
+package darkknight.jewelrycraft.item.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.block.BlockHopper;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.tileentity.*;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.*;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.*;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.util.JewelryNBT;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ try{
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ }catch(Exception e){
+ System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4));
+ }
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ boolean flag = block == Blocks.grass;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 1){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
+ renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
+ tessellator.draw();
+ }else if (j == 19){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 23){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ block.setBlockBoundsForItemRender();
+ tessellator.draw();
+ }else if (j == 13){
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 22){
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }else if (j == 6){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
+ tessellator.draw();
+ }else if (j == 2){
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
+ tessellator.draw();
+ }else if (j == 10){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 27){
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0){
+ b0 = 2;
+ }
+ if (l == 1){
+ b0 = 3;
+ }
+ if (l == 2){
+ b0 = 4;
+ }
+ if (l == 3){
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4){
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5){
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6){
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7){
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 11){
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 21){
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2){
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else if (j == 32){
+ for(k = 0; k < 2; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1){
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else if (j == 35){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else if (j == 34){
+ for(k = 0; k < 3; ++k){
+ if (k == 0){
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else if (k == 1){
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else if (k == 2){
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ }else if (j == 38){
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ }else{
+ if (j == 16){
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56
deleted file mode 100644
index 00d62f0..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,260 +0,0 @@
-package darkknight.jewelrycraft.block;
-
-import java.io.IOException;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMoltenMetalBucket;
-import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
-
-public class BlockSmelter extends BlockContainer
-{
- Random rand = new Random();
-
- public BlockSmelter()
- {
- super(Material.rock);
- }
-
- @Override
- public TileEntity createNewTileEntity(World world, int var2)
- {
- return new TileEntitySmelter();
- }
-
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-
- /**
- * Spawns an item in the world at the specified location
- *
- * @param world
- * @param x
- * @param y
- * @param z
- * @param stack
- */
- public void dropItem(World world, double x, double y, double z, ItemStack stack)
- {
- EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.3D, z + 0.5D, stack);
- entityitem.motionX = 0;
- entityitem.motionZ = 0;
- entityitem.motionY = 0.11000000298023224D;
- entityitem.delayBeforeCanPickup = 0;
- world.spawnEntityInWorld(entityitem);
- }
-
- @Override
- public void breakBlock(World world, int i, int j, int k, Block par5, int par6)
- {
- TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k);
- if (te != null){
- if (te.hasMetal) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy());
- if (te.hasMoltenMetal && te.moltenMetal != null && Item.getIdFromItem(te.moltenMetal.getItem()) > 0){
- ItemStack metal = te.moltenMetal;
- ItemStack item = te.moltenMetal;
- if (Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) metal.setItemDamage(15 - metal.getItemDamage());
- int color = 16777215;
- JewelryNBT.addMetal(item, metal);
- try{
- color = ItemMoltenMetalBucket.color(item, 1);
- System.out.println(color);
- }
- catch(IOException e){
- e.printStackTrace();
- }
- JewelrycraftMod.saveData.setString(i + " " + j + " " + k + " " + world.provider.dimensionId, Item.getIdFromItem(metal.getItem()) + ":" + metal.getItemDamage() + ":" + color);
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, i, j, k, Item.getIdFromItem(metal.getItem()), metal.getItemDamage(), color));
- world.setBlock(i, j, k, BlockList.moltenMetal, 0, 3);
- int quant = (int)(te.quantity * 10);
- if (quant == 1) world.setBlockMetadataWithNotify(i, j, k, 4, 3);
- if (quant == 2) world.setBlockMetadataWithNotify(i, j, k, 4, 3);
- if (quant == 3) world.setBlockMetadataWithNotify(i, j, k, 3, 3);
- if (quant == 4) world.setBlockMetadataWithNotify(i, j, k, 3, 3);
- if (quant == 5) world.setBlockMetadataWithNotify(i, j, k, 2, 3);
- if (quant == 6) world.setBlockMetadataWithNotify(i, j, k, 2, 3);
- if (quant == 7) world.setBlockMetadataWithNotify(i, j, k, 1, 3);
- if (quant == 8) world.setBlockMetadataWithNotify(i, j, k, 1, 3);
- if (quant == 9) world.setBlockMetadataWithNotify(i, j, k, 0, 3);
- }
- world.removeTileEntity(i, j, k);
- }
- super.breakBlock(world, i, j, k, par5, par6);
- }
-
- @Override
- public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
- {
- TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k);
- ItemStack item = entityPlayer.inventory.getCurrentItem();
- if (te != null && te.hasMoltenMetal && te.quantity >= 0.9f && !te.pouring && item != null && item.getItem() == Items.bucket){
- te.quantity = 0f;
- te.hasMoltenMetal = false;
- ItemStack metalBucket = new ItemStack(ItemList.bucket, 1);
- ItemStack ingot = te.moltenMetal.copy();
- if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage());
- JewelryNBT.addMetal(metalBucket, ingot);
- --item.stackSize;
- entityPlayer.inventory.addItemStackToInventory(metalBucket);
- te.isDirty = true;
- return true;
- }
- if (te != null && !world.isRemote){
- if (te.hasMetal && entityPlayer.isSneaking()){
- dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy());
- te.hasMetal = false;
- te.melting = -1;
- te.isDirty = true;
- }
- if (item != null && item.getItem() != null && !(item.getItem() instanceof ItemMoltenMetalBucket)){
- int index = -1;
- for(int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++)
- if (entityPlayer.getUniqueID().toString().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a;
- if(entityPlayer.capabilities.isCreativeMode) index = 1;
- boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0);
- boolean isOre = false, oreCoincidesWithMetal = false, itemCoincidesWithMetal = false, itemCoincidesWithMoltenMetal = false, overflow = false;
- isOre = JewelrycraftUtil.isOre(item);
- if (te.metal != null && te.metal.getItem() != null) itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage();
- if (te.moltenMetal != null && te.moltenMetal.getItem() != null){
- itemCoincidesWithMoltenMetal = item.getItem().equals(te.moltenMetal.getItem()) && item.getItemDamage() == te.moltenMetal.getItemDamage();
- if (isOre) oreCoincidesWithMetal = te.moltenMetal.getItem().equals(JewelrycraftUtil.getIngotFromOre(item.getItem()).getItem()) && te.moltenMetal.getItemDamage() == JewelrycraftUtil.getIngotFromOre(item.getItem()).getItemDamage();
- }
- overflow = isOre ? te.metal.stackSize * 0.2f + te.quantity < 0.8f : te.metal.stackSize * 0.1f + te.quantity < 0.9f;
- boolean isValid = te.hasMoltenMetal ? itemCoincidesWithMoltenMetal : true;
- if (te.quantity < 0.9f && !te.pouring && canPlace && isValid){
- boolean check = isOre ? oreCoincidesWithMetal && te.quantity < 0.8f : itemCoincidesWithMoltenMetal;
- boolean check2 = isOre ? oreCoincidesWithMetal : itemCoincidesWithMetal;
- if (!te.hasMetal && !te.hasMoltenMetal || !te.hasMetal && te.hasMoltenMetal && check){
- entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.nowsmeltingingot", item.getDisplayName())));
- te.metal = item.copy();
- // if (Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) te.metal.setItemDamage(15 - te.metal.getItemDamage());
- te.metal.stackSize = 1;
- te.hasMetal = true;
- te.melting = ConfigHandler.INGOT_MELTING_TIME;
- if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
- te.isDirty = true;
- }else if (te.hasMetal && te.hasMoltenMetal && check2 && overflow || te.hasMetal && !te.hasMoltenMetal && itemCoincidesWithMetal && overflow){
- entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("Smelting extra " + (isOre ? "ores" : "ingots") + " (" + (te.metal.stackSize + 1) + ")")));
- te.metal.stackSize++;
- te.hasMetal = true;
- te.melting += ConfigHandler.INGOT_MELTING_TIME;
- if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
- te.isDirty = true;
- }
- te.isDirty = true;
- }else if (item != null && (te.hasMetal || te.hasMoltenMetal) && !itemCoincidesWithMoltenMetal && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Item does not match contents!")));
- else if (item != null && !item.getUnlocalizedName().toLowerCase().contains("ingot") && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.itemrenamedtoingot")));
- else if (item != null && te.quantity >= 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Smelter is at full capacity.")));
- }else if (item != null && item.getItem() != null && item.getItem() instanceof ItemMoltenMetalBucket && !te.hasMoltenMetal && !te.hasMetal){
- te.hasMoltenMetal = true;
- ItemStack ingot = JewelryNBT.ingot(item);
- if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage());
- te.moltenMetal = ingot;
- te.quantity = 0.9f;
- te.isDirty = true;
- if (!entityPlayer.capabilities.isCreativeMode){
- --item.stackSize;
- dropItem(world, entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ, new ItemStack(Items.bucket));
- }
- }else if (item == null && te.hasMoltenMetal && te.moltenMetal.getItem() != null) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.hasmolteningot", te.moltenMetal.getDisplayName())));
- world.setTileEntity(i, j, k, te);
- }
- return true;
- }
-
- @Override
- public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
- {
- TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k);
- TileEntityMolder me = null;
- if (world.getBlockMetadata(i, j, k) == 0 && world.getTileEntity(i, j, k - 1) != null && world.getTileEntity(i, j, k - 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k - 1);
- else if (world.getBlockMetadata(i, j, k) == 1 && world.getTileEntity(i + 1, j, k) != null && world.getTileEntity(i + 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i + 1, j, k);
- else if (world.getBlockMetadata(i, j, k) == 2 && world.getTileEntity(i, j, k + 1) != null && world.getTileEntity(i, j, k + 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k + 1);
- else if (world.getBlockMetadata(i, j, k) == 3 && world.getTileEntity(i - 1, j, k) != null && world.getTileEntity(i - 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i - 1, j, k);
- if (te != null && me != null && !world.isRemote) if (te.hasMoltenMetal && isConnectedToMolder(world, i, j, k) && me != null && me.hasMold && !me.hasMoltenMetal && !me.hasJewelBase){
- te.pouring = true;
- te.isDirty = true;
- }else if (te.hasMetal && te.melting > 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.metalismelting", te.metal.getDisplayName()) + " (" + (ConfigHandler.INGOT_MELTING_TIME * te.metal.stackSize - te.melting) * 100 / (ConfigHandler.ingotMeltingTime * te.metal.stackSize) + "%)"));
- else if (te.hasMoltenMetal && !isConnectedToMolder(world, i, j, k)) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderismissing")));
- else if (!me.hasMold && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasnomold")));
- else if (me.hasMoltenMetal && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasmoltenmetal")));
- else if (me.hasJewelBase && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.modlerhasitem")));
- else player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.empty")));
- }
-
- /**
- * Determines if a molder is placed in front of this
- *
- * @param world
- * @param i
- * @param j
- * @param k
- * @return true if a molder is attached, false otherwise
- */
- public boolean isConnectedToMolder(World world, int i, int j, int k)
- {
- int blockMeta = world.getBlockMetadata(i, j, k);
- if (blockMeta == 0 && world.getBlock(i, j, k - 1) instanceof BlockMolder) return true;
- else if (blockMeta == 1 && world.getBlock(i + 1, j, k) instanceof BlockMolder) return true;
- else if (blockMeta == 2 && world.getBlock(i, j, k + 1) instanceof BlockMolder) return true;
- else if (blockMeta == 3 && world.getBlock(i - 1, j, k) instanceof BlockMolder) return true;
- return false;
- }
-
- @Override
- public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
- {
- int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
- world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
- }
-
- @Override
- public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- @Override
- public int getRenderType()
- {
- return -1;
- }
-
- @Override
- public void registerBlockIcons(IIconRegister icon)
- {
- blockIcon = icon.registerIcon(Variables.MODID + ":smelter");
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..f859742
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d65935
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops.size());
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..0fb3040
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d65935
@@ -0,0 +1,36 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ System.out.println(drops);
+ World world = player.getEntityWorld();
+ for(EntityItem item: drops){
+ EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem().copy());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.2D;
+// world.spawnEntityInWorld(entityitem);
+ target.entityDropItem(item.getEntityItem().copy(), 0.5F);
+// target.dropItem(item.getEntityItem().getItem(), 1);
+ System.out.println("Drop " + item.getEntityItem());
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf
new file mode 100644
index 0000000..2943ec9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 1F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e56
deleted file mode 100644
index 6def0a2..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,62 +0,0 @@
-package darkknight.jewelrycraft.config;
-
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
-import cpw.mods.fml.client.event.ConfigChangedEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.util.Variables;
-
-public class ConfigHandler
-{
- public static Configuration config;
- public static final ConfigHandler INSTANCE = new ConfigHandler();
- public static final String[] categories = { "Timers", "Village Generation"};
-
- public static int INGOT_COOLING_TIME;
- public static int INGOT_MELTING_TIME;
- public static int GEM_PLACEMENT_TIME;
- public static boolean GENERATE_VILLAGE_NETHERSTAR;
- public static boolean CAN_FURNACE_GENERATE_INGOTS;
- public static int MAX_VILLAGE_JEWELERS;
- public static int JEWELER_WEIGHT;
- public static int INGOT_CHEST_MIN;
- public static int INGOT_CHEST_MAX;
- public static int INGOT_CHEST_MAX_STACK;
- public static int jewelsChestMin;
- public static int jewelsChestMax;
- public static int furnacesIngotStackMin;
- public static int furnacesIngotStackMax;
-
- public void loadConfig(FMLPreInitializationEvent event)
- {
- config = new Configuration(event.getSuggestedConfigurationFile());
- config.load();
- syncConfigs();
- }
-
- private void syncConfigs()
- {
- INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
- INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
- GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
- CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces.");
- MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village.");
- JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.");
- INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)");
- INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.");
- jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.");
- furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace.");
- furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace.");
- if (config.hasChanged()) config.save();
- }
-
- @SubscribeEvent
- public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
- {
- if (event.modID.equals(Variables.MODID)) syncConfigs();
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437
new file mode 100644
index 0000000..295a776
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437
@@ -0,0 +1,770 @@
+package darkknight.jewelrycraft.util;
+
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityList;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class JewelryNBT
+{
+ // TODO NBT Tag Adding
+ public static void addItem(ItemStack item, ItemStack target)
+ {
+ if (target != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound targetNBT = new NBTTagCompound();
+ target.writeToNBT(targetNBT);
+ itemStackData.setTag("target", targetNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param metal The metal you want to add on the item
+ */
+ public static void addMetal(ItemStack item, ItemStack metal)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound ingotNBT = new NBTTagCompound();
+ metal.writeToNBT(ingotNBT);
+ itemStackData.setTag("ingot", ingotNBT);
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param gem The gem you want to add on the item
+ */
+ public static void addGem(ItemStack item, ItemStack gem)
+ {
+ if (gem != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound gemNBT = new NBTTagCompound();
+ gem.writeToNBT(gemNBT);
+ itemStackData.setTag("gem", gemNBT);
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param modifier The modifier you want to add on the item
+ */
+ public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier)
+ {
+ if (modifier != null){
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ for(int i = 0; i < modifier.size(); i++){
+ NBTTagCompound modifierNBT = new NBTTagCompound();
+ modifier.get(i).writeToNBT(modifierNBT);
+ itemStackData.setTag("modifier" + i, modifierNBT);
+ }
+ itemStackData.setInteger("modifierSize", modifier.size());
+ }
+ }
+
+ /**
+ * @param item The item you want to add the NBT data on
+ * @param entity The entity to add on the item
+ */
+ public static void addEntity(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ entity.writeToNBT(entityNBT);
+ itemStackData.setTag("entity", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param entity
+ */
+ public static void addEntityID(ItemStack item, EntityLivingBase entity)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ int id = EntityList.getEntityID(entity);
+ entityNBT.setInteger("entityID", id);
+ itemStackData.setTag("entityID", entityNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addCoordonates(ItemStack item, double x, double y, double z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ }
+
+ /**
+ * @param item
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound tileNBT = new NBTTagCompound();
+ NBTTagCompound block = new NBTTagCompound();
+ world.getTileEntity(x, y, z).writeToNBT(tileNBT);
+ itemStackData.setTag("tile", tileNBT);
+ block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z)));
+ block.setInteger("metadata", world.getBlockMetadata(x, y, z));
+ block.setInteger("blockX", x);
+ block.setInteger("blockY", y);
+ block.setInteger("blockZ", z);
+ itemStackData.setTag("metadata", block);
+ itemStackData.setTag("blockID", block);
+ itemStackData.setTag("blockX", block);
+ itemStackData.setTag("blockY", block);
+ itemStackData.setTag("blockZ", block);
+ }
+
+ /**
+ * @param item
+ * @param block
+ * @param metadata
+ */
+ public static void addBlock(ItemStack item, int block, int metadata)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound blockNBT = new NBTTagCompound();
+ blockNBT.setInteger("blockID", block);
+ itemStackData.setTag("blockID", blockNBT);
+ blockNBT.setInteger("metadata", metadata);
+ itemStackData.setTag("metadata", blockNBT);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ */
+ public static void addBlockCoordonates(ItemStack item, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setInteger("blockX", x);
+ coords.setInteger("blockY", y);
+ coords.setInteger("blockZ", z);
+ itemStackData.setTag("blockX", coords);
+ itemStackData.setTag("blockY", coords);
+ itemStackData.setTag("blockZ", coords);
+ }
+
+ /**
+ * @param item
+ * @param x
+ * @param y
+ * @param z
+ * @param dim
+ * @param name
+ */
+ public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setDouble("x", x);
+ coords.setDouble("y", y);
+ coords.setDouble("z", z);
+ coords.setInteger("dimension", dim);
+ coords.setString("dimName", name);
+ itemStackData.setTag("x", coords);
+ itemStackData.setTag("y", coords);
+ itemStackData.setTag("z", coords);
+ itemStackData.setTag("dimension", coords);
+ itemStackData.setTag("dimName", coords);
+ }
+
+ /**
+ * @param item
+ */
+ public static void addFakeEnchantment(ItemStack item)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.setTag("ench", new NBTTagList());
+ }
+
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addIngotColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("ingotColor", color);
+ itemStackData.setTag("ingotColor", colors);
+ }
+
+ // TODO
+ /**
+ * @param item
+ * @param color
+ */
+ public static void addGemColor(ItemStack item, int color)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound colors = new NBTTagCompound();
+ colors.setInteger("gemColor", color);
+ itemStackData.setTag("gemColor", colors);
+ }
+
+ /**
+ * @param item
+ * @param list
+ */
+ @SuppressWarnings ("rawtypes")
+ public static void addEntities(ItemStack item, List list)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound entityNBT = new NBTTagCompound();
+ for(int i = 0; i < list.size(); i++)
+ ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT);
+ itemStackData.setTag("entities", entityNBT);
+ }
+
+ // TODO NBT Tag Removing
+ /**
+ * @param item
+ * @param tag
+ */
+ public static void removeNBT(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.removeTag(tag);
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeEntity(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "entityID");
+ JewelryNBT.removeNBT(item, "entity");
+ JewelryNBT.removeNBT(item, "ench");
+ }
+
+ /**
+ * @param item
+ */
+ public static void removeBlock(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "blockID");
+ JewelryNBT.removeNBT(item, "metadata");
+ JewelryNBT.removeNBT(item, "tile");
+ JewelryNBT.removeNBT(item, "blockX");
+ JewelryNBT.removeNBT(item, "blockY");
+ JewelryNBT.removeNBT(item, "blockZ");
+ }
+
+ // TODO NTB Tag Checking
+ /**
+ * @param item
+ * @param tag
+ * @return
+ */
+ public static boolean hasTag(ItemStack item, String tag)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound()) itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ if (itemStackData.hasKey(tag)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param gem
+ * @return
+ */
+ public static boolean isGemX(ItemStack stack, ItemStack gem)
+ {
+ if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param modifier
+ * @return
+ */
+ public static boolean doesModifierExist(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true;
+ }
+ return false;
+ }
+
+ public static int modifierSize(ItemStack stack, ItemStack modifier)
+ {
+ if (modifier(stack) != null){
+ ArrayList<ItemStack> list = modifier(stack);
+ for(int i = 0; i < list.size(); i++)
+ if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize;
+ }
+ return -1;
+ }
+
+ public static int numberOfModifiers(ItemStack stack)
+ {
+ if (modifier(stack) != null) return modifier(stack).size();
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @param ingot
+ * @return
+ */
+ public static boolean isIngotX(ItemStack stack, ItemStack ingot)
+ {
+ if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @param entity
+ * @return
+ */
+ public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
+ {
+ if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimName
+ * @return
+ */
+ public static boolean isDimNameX(ItemStack stack, String dimName)
+ {
+ if (ingot(stack) != null && dimName(stack).equals(dimName)) return true;
+ return false;
+ }
+
+ /**
+ * @param stack
+ * @param dimension
+ * @return
+ */
+ public static boolean isDimensionX(ItemStack stack, int dimension)
+ {
+ if (dimension(stack) != -2 && dimension(stack) == dimension) return true;
+ return false;
+ }
+
+ // TODO Return components based on NBT
+ public static ItemStack item(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){
+ NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target");
+ ItemStack target = new ItemStack(Item.getItemById(0), 0, 0);
+ target.readFromNBT(itemNBT);
+ return target;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack gem(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){
+ NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem");
+ ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0);
+ gem.readFromNBT(jewelNBT);
+ return gem;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ArrayList<ItemStack> modifier(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){
+ int size = stack.getTagCompound().getInteger("modifierSize");
+ ArrayList<ItemStack> list = new ArrayList<ItemStack>();
+ for(int i = 0; i < size; i++){
+ ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0);
+ NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i);
+ modifier.readFromNBT(modifierNBT);
+ list.add(modifier);
+ }
+ return list;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static ItemStack ingot(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){
+ NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot");
+ ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0);
+ ingot.readFromNBT(ingotNBT);
+ return ingot;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ public static EntityLivingBase entity(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID");
+ NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity");
+ int entityID = 0;
+ entityID = enID.getInteger("entityID");
+ EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj);
+ if (entity != null && entity instanceof EntityLivingBase){
+ entity.readFromNBT(en);
+ return entity;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static TileEntity tileEntity(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){
+ NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile");
+ TileEntity tile = TileEntity.createAndLoadEntity(tileNBT);
+ if (tile != null && tile instanceof TileEntity){
+ tile.readFromNBT(tileNBT);
+ return tile;
+ }else return null;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String dimName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName");
+ String name = dim.getString("dimName");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static String modeName(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode");
+ String name = dim.getString("mode");
+ return name;
+ }
+ return null;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int dimension(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){
+ NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension");
+ int dimension = dim.getInteger("dimension");
+ return dimension;
+ }
+ return -2;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX");
+ int posX = x.getInteger("blockX");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY");
+ int posY = y.getInteger("blockY");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockCoordZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ");
+ int posZ = z.getInteger("blockZ");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockID(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){
+ NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID");
+ int blockId = blockID.getInteger("blockID");
+ return blockId;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int blockMetadata(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){
+ NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata");
+ int metadata = metadataNBT.getInteger("metadata");
+ return metadata;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){
+ NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x");
+ double posX = x.getDouble("x");
+ return posX;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){
+ NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y");
+ double posY = y.getDouble("y");
+ return posY;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static double playerPosZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){
+ NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z");
+ double posZ = z.getDouble("z");
+ return posZ;
+ }
+ return -1;
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ public static int ingotColor(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor");
+ int color = colors.getInteger("ingotColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ // TODO
+ /**
+ * @param stack
+ * @return
+ */
+ public static int gemColor(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){
+ NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor");
+ int color = colors.getInteger("gemColor");
+ return color;
+ }
+ return 16777215;
+ }
+
+ /**
+ * @param stack
+ * @param player
+ * @return
+ */
+ @SuppressWarnings ({"rawtypes", "unchecked", "null"})
+ public static List entities(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){
+ NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID");
+ List list = null;
+ int[] entityID;
+ EntityLivingBase entity;
+ entityID = enID.getIntArray("entitiesID");
+ for(int element: entityID){
+ entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj);
+ list.add(entity);
+ }
+ return list;
+ }
+ return null;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf
new file mode 100644
index 0000000..0854f18
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf
@@ -0,0 +1,38 @@
+package darkknight.jewelrycraft.curses;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CurseList
+{
+ public static Curse rotten;
+ public static Curse flaming;
+ public static Curse blind;
+ public static Curse greed;
+ public static Curse infamy;
+ public static Curse midasTouch;
+ public static Curse rabbitsPaw;
+ public static Curse pentagram;
+ public static Curse vampireHunger;
+ public static Curse humbleBundle;
+ public static Curse deathsTouch;
+ public static Curse antichrist;
+ public static Curse moneyEqualsPower;
+
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0);
+ flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0);
+ greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0);
+ blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0);
+ infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0);
+ midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0);
+ rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0);
+// pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0);
+// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0);
+// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0);
+// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0);
+// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0);
+// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..7d7cea4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935
@@ -0,0 +1,469 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ System.out.println(event.specialDropValue);
+ if (event.source.getEntity() != null){
+ System.out.println(event.entity.worldObj.isRemote);
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935
new file mode 100644
index 0000000..3f54aa4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935
@@ -0,0 +1,468 @@
+package darkknight.jewelrycraft.events;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.CompressedStreamTools;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.item.ItemTossEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+import net.minecraftforge.event.world.WorldEvent;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * Code taken from OpenBlocks
+ */
+public class EntityEventHandler
+{
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity);
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual){
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ for(Curse curse: Curse.getCurseList())
+ if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ persistTag.setBoolean("sendInfo", true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ Entity entity = event.entity;
+ if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){
+ entity.motionX *= 0D;
+ entity.motionZ *= 0D;
+ entity.motionY *= 0D;
+ entity.rotationPitch = entity.prevRotationPitch;
+ entity.rotationYaw = entity.prevRotationYaw;
+ entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1);
+ if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false);
+ entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
+ player.motionX *= 0D;
+ player.motionZ *= 0D;
+ player.motionY *= 0D;
+ player.rotationPitch = entity.prevRotationPitch;
+ player.rotationYaw = entity.prevRotationYaw;
+ playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1);
+ if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false);
+ player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D);
+ }
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ }
+ if (!player.worldObj.isRemote){
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ if (playerInfo.getBoolean("sendInfo")){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
+ playerInfo.setBoolean("sendInfo", false);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ System.out.println(event.drops);
+ if (event.source.getEntity() != null){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event)
+ {
+ Entity entity = event.entityLiving;
+ if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true);
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("negateDamage")){
+ playerInfo.setBoolean("negateDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount);
+ }
+ if (player.getHealth() != player.prevHealth){
+ if (playerInfo.getFloat("WhiteHeart") > 0){
+ playerInfo.setFloat("WhiteHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0){
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlueHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlueHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }else if (playerInfo.getFloat("BlackHeart") > 0){
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
+ if (enemies != null && !enemies.isEmpty()){
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0){
+ playerInfo.setFloat("BlackHeart", damage);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(event.ammount);
+ }else{
+ playerInfo.setFloat("BlackHeart", 0f);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ player.heal(Math.abs(damage));
+ }
+ }
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }else if (event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (playerInfo.hasKey("ext" + i)){
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){
+ event.setCanceled(true);
+ break;
+ }
+ if (playerInfo.getBoolean("weakDamage")){
+ playerInfo.setBoolean("weakDamage", false);
+ event.setCanceled(true);
+ break;
+ }
+ ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount);
+ }
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")){
+ int points = playerInfo.getInteger("cursePoints");
+ for(int i = 1; i <= Variables.MAX_CURSES; i++)
+ if (points > (i - 1) * 1750) addCurse(player, playerInfo, i);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param player
+ * @param playerInfo
+ * @param curse
+ */
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo)
+ {
+ if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){
+ int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size());
+ Curse cur = Curse.availableCurses.get(no);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade)
+ {
+ Curse cur = Curse.getCurseList().get(curseID);
+ if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
+ playerInfo.setInteger(cur.getName(), grade);
+ Curse.availableCurses.remove(cur);
+ playerInfo.setBoolean("sendInfo", true);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
+ Iterator plrs = players.iterator();
+ while (plrs.hasNext())
+ ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!"));
+ event.setCanceled(true);
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ Random rand = new Random();
+ String[] types = {"Red", "Blue", "White", "Black"};
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){
+ EntityLiving live = (EntityLiving)entity;
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(6) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+ if (entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
+ for(Curse l: Curse.getCurseList()){
+ if (playerInfo.getInteger(l.getName()) == 1){
+ playerInfo.setInteger(l.getName(), 0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ playerInfo.setBoolean("sendInfo", true);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldLoad(WorldEvent.Load event)
+ {
+ if (!event.world.isRemote){
+ new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs();
+ JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg");
+ try{
+ if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onWorldSave(WorldEvent.Save event)
+ {
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{
+ if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf));
+ }
+ catch(EOFException e){
+ e.printStackTrace();
+ }
+ catch(IOException e){
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {}
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ @SideOnly (Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (persistTag.getBoolean("nearStartedRitual")){
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b8422
deleted file mode 100644
index c28968c..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b8422
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- *
- */
-package darkknight.jewelrycraft.item;
-
-import java.util.List;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.IIcon;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemGoldObj extends Item
-{
- public ItemGoldObj()
- {}
-
- public boolean requiresMultipleRenderPasses()
- {
- return true;
- }
-
- @SideOnly (Side.CLIENT)
- public int getColorFromItemStack(ItemStack stack, int pass)
- {
- return 0xffff00;
- }
-
- @Override
- public IIcon getIcon(ItemStack stack, int pass)
- {
- if (JewelryNBT.item(stack) != null){
- ItemStack item = JewelryNBT.item(stack);
- return item.getItem().getIconIndex(JewelryNBT.item(stack));
- }
- else return itemIcon;
- }
-
- public String getItemStackDisplayName(ItemStack stack)
- {
- return "Golden " + JewelryNBT.item(stack).getDisplayName();
- }
-
- public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
- {
- if (displayInfo){
- ItemStack item = JewelryNBT.item(stack);
- if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName());
- list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now");
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf
new file mode 100644
index 0000000..2efe23d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf
@@ -0,0 +1,63 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {
+ }
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(1F, 15F, 1F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 0;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d65935
new file mode 100644
index 0000000..6de6c3e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d65935
@@ -0,0 +1,24 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops)
+ target.entityDropItem(item.getEntityItem(), 0.5F);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56
deleted file mode 100644
index 8ecf8aa..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56
+++ /dev/null
@@ -1,454 +0,0 @@
-package darkknight.jewelrycraft.worldGen.village;
-
-import java.util.List;
-import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.structure.StructureBoundingBox;
-import net.minecraft.world.gen.structure.StructureComponent;
-import net.minecraft.world.gen.structure.StructureVillagePieces;
-import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class ComponentJewelry extends StructureVillagePieces.House1
-{
- private int averageGroundLevel = -1;
-
- /**
- *
- */
- public ComponentJewelry()
- {}
-
- /**
- * @param par1ComponentVillageStartPiece
- * @param par2
- * @param par3Random
- * @param par4StructureBoundingBox
- * @param par5
- */
- public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5)
- {
- super();
- coordBaseMode = par5;
- boundingBox = par4StructureBoundingBox;
- }
-
- /**
- * @param villagePiece
- * @param pieces
- * @param random
- * @param p1
- * @param p2
- * @param p3
- * @param p4
- * @param p5
- * @return
- */
- @SuppressWarnings ("rawtypes")
- public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
- {
- StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4);
- return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null;
- }
-
- /**
- * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences...
- *
- * @param world
- * @param random
- * @param sbb
- * @return
- */
- @Override
- public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb)
- {
- if (averageGroundLevel < 0){
- averageGroundLevel = getAverageGroundLevel(world, sbb);
- if (averageGroundLevel < 0) return true;
- boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0);
- }
- /**
- * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
- */
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false);
- fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false);
- // Pillars
- fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false);
- fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false);
- // Walls
- fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false);
- // Roof
- for(int i = 3; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb);
- for(int i = 3; i <= 7; i++)
- for(int j = 6; j <= 6; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb);
- for(int i = 1; i <= 9; i++)
- for(int j = 7; j <= 10; j++)
- placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb);
- for(int i = 2; i <= 8; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb);
- for(int i = 1; i <= 5; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb);
- }
- for(int i = 0; i <= 2; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb);
- }
- for(int i = 7; i <= 11; i++){
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb);
- }
- for(int i = 0; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb);
- // Base
- for(int i = 2; i <= 8; i++)
- for(int j = 0; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb);
- fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false);
- for(int i = 6; i <= 10; i++)
- placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb);
- for(int i = 7; i <= 10; i++){
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb);
- placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb);
- }
- // Decorations
- placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1));
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb);
- placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb);
- placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb);
- int bgCarpetColor = random.nextInt(16);
- for(int i = 4; i <= 7; i++)
- for(int j = 1; j <= 5; j++)
- placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb);
- generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX);
- generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb);
- generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb);
- generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX);
- generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS);
- generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean());
- generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean());
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK);
- for(int l = 0; l < 6; ++l)
- for(int i1 = 2; i1 < 9; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- for(int l = 6; l < 12; ++l)
- for(int i1 = 0; i1 < 11; ++i1){
- clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb);
- func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb);
- }
- spawnVillagers(world, sbb, 3, 1, 3, 1);
- return true;
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- */
- public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()));
- chest.func_145976_a("Jeweler's Chest");
- if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ingot Chest");
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param chestB
- * @param randomAmount
- */
- public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- int t = random.nextInt(max - min + 1) + min;
- placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb);
- TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1);
- while (chest != null && t > 0){
- chest.func_145976_a("Ores Chest");
- int oreID = random.nextInt(JewelrycraftUtil.ores.size());
- ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy();
- ores.stackSize = 2 + random.nextInt(randomAmount);
- if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores);
- t--;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- */
- public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb);
- TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1);
- if (displayer != null){
- Item[] jewels = {ItemList.ring, ItemList.necklace};
- ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]);
- JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
- JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4)));
- JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())));
- displayer.object = jewel;
- displayer.quantity = 1;
- displayer.hasObject = true;
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param isEmpty
- */
- public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb);
- TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1);
- if (smelter != null && !isEmpty){
- int metal = random.nextInt(JewelrycraftUtil.metal.size());
- smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy();
- smelter.hasMoltenMetal = true;
- int quantity = random.nextInt(9);
- switch(quantity)
- {
- case 0:
- smelter.quantity = 0.1f;
- case 1:
- smelter.quantity = 0.2f;
- case 2:
- smelter.quantity = 0.3f;
- case 3:
- smelter.quantity = 0.4f;
- case 4:
- smelter.quantity = 0.5f;
- case 5:
- smelter.quantity = 0.6f;
- case 6:
- smelter.quantity = 0.7f;
- case 7:
- smelter.quantity = 0.8f;
- case 8:
- smelter.quantity = 0.9f;
- default:
- smelter.quantity = 0.1f;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param hasMold
- * @param hasStuff
- */
- public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb);
- TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1);
- if (molder != null && !molder.hasMold) if (hasMold){
- int meta = random.nextInt(ItemMolds.moldsItemNames.length);
- molder.mold = new ItemStack(ItemList.molds, 1, meta);
- molder.hasMold = true;
- if (hasStuff){
- ItemStack ring = new ItemStack(ItemList.ring);
- JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack necklace = new ItemStack(ItemList.necklace);
- JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack bracelet = new ItemStack(ItemList.bracelet);
- JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- ItemStack earrings = new ItemStack(ItemList.earrings);
- JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy());
- if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
- else if (meta == 1) molder.jewelBase = ring;
- else if (meta == 2) molder.jewelBase = necklace;
- else if (meta == 3) molder.jewelBase = bracelet;
- else if (meta == 4) molder.jewelBase = earrings;
- molder.hasJewelBase = true;
- }
- }
- }
-
- /**
- * @param world
- * @param i
- * @param j
- * @param k
- * @param metadata
- * @param random
- * @param sbb
- * @param min
- * @param max
- * @param hasMetal
- */
- public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal)
- {
- int i1 = getXWithOffset(i, k);
- int j1 = getYWithOffset(j);
- int k1 = getZWithOffset(i, k);
- placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb);
- TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1);
- if (furnace != null){
- if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16)));
- if (hasMetal){
- int metalID = random.nextInt(JewelrycraftUtil.metal.size());
- ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy();
- metal.stackSize = random.nextInt(max - min + 1) + min;
- furnace.setInventorySlotContents(2, metal);
- }
- }
- }
-
- /**
- * Returns the villager type to spawn in this component, based on the number of villagers already spawned.
- *
- * @param par1
- * @return
- */
- @Override
- protected int getVillagerType(int par1)
- {
- return 3000;
- }
-} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666
deleted file mode 100644
index 61a221a..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666
+++ /dev/null
@@ -1,578 +0,0 @@
-package darkknight.jewelrycraft.item.render;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAnvil;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemTool;
-import net.minecraft.src.FMLRenderAccessLibrary;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.MinecraftForgeClient;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.util.JewelryNBT;
-
-public class ItemRender implements IItemRenderer
-{
- TileEntitySpecialRenderer render;
- public TileEntity entity;
- ModelBase model;
- private RenderBlocks renderBlocksIr = new RenderBlocks();
- private Minecraft mc = Minecraft.getMinecraft();
- private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
-
- /**
- * @param render
- * @param entity
- * @param model
- */
- public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
- {
- this.entity = entity;
- this.render = render;
- this.model = model;
- }
-
- public ItemRender()
- {}
-
- /**
- * @param item
- * @param type
- * @return
- */
- @Override
- public boolean handleRenderType(ItemStack item, ItemRenderType type)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param helper
- * @return
- */
- @Override
- public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- /**
- * @param type
- * @param item
- * @param data
- */
- @Override
- public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
- {
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
- }
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- }
- }
-
- public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
- {
- GL11.glPushMatrix();
- TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
- }else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
- }
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else{
- GL11.glTranslatef(0.3F, 0.3F, 0.3F);
- GL11.glRotatef(60f, 0f, 1f, 0f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
- }
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
- }
- GL11.glPopMatrix();
- }
-
- public void renderBlockAsItem(Block block, int damage, float luminacy)
- {
- Tessellator tessellator = Tessellator.instance;
- boolean flag = block == Blocks.grass;
- if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3;
- int j;
- float f1;
- float f2;
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- j = block.getRenderType();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- int k;
- if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- if (j == 1){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage);
- renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F);
- tessellator.draw();
- }else if (j == 19){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 23){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- block.setBlockBoundsForItemRender();
- tessellator.draw();
- }else if (j == 13){
- block.setBlockBoundsForItemRender();
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- f1 = 0.0625F;
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- tessellator.addTranslation(0.0F, 0.0F, f1);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addTranslation(0.0F, 0.0F, -f1);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.addTranslation(0.0F, 0.0F, f1);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- tessellator.addTranslation(-f1, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.addTranslation(f1, 0.0F, 0.0F);
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 22){
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }else if (j == 6){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D);
- tessellator.draw();
- }else if (j == 2){
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0);
- tessellator.draw();
- }else if (j == 10){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 27){
- k = 0;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- for(int l = 0; l < 8; ++l){
- byte b0 = 0;
- byte b1 = 1;
- if (l == 0){
- b0 = 2;
- }
- if (l == 1){
- b0 = 3;
- }
- if (l == 2){
- b0 = 4;
- }
- if (l == 3){
- b0 = 5;
- b1 = 2;
- }
- if (l == 4){
- b0 = 6;
- b1 = 3;
- }
- if (l == 5){
- b0 = 7;
- b1 = 5;
- }
- if (l == 6){
- b0 = 6;
- b1 = 2;
- }
- if (l == 7){
- b0 = 3;
- }
- float f5 = (float)b0 / 16.0F;
- float f6 = 1.0F - (float)k / 16.0F;
- float f7 = 1.0F - (float)(k + b1) / 16.0F;
- k += b1;
- renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- }
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 11){
- for(k = 0; k < 4; ++k){
- f2 = 0.125F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
- }
- if (k == 3){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 21){
- for(k = 0; k < 3; ++k){
- f2 = 0.0625F;
- if (k == 0){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
- }
- f2 = 0.0625F;
- if (k == 2){
- renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }else if (j == 32){
- for(k = 0; k < 2; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (k == 1){
- renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }else if (j == 35){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else if (j == 34){
- for(k = 0; k < 3; ++k){
- if (k == 0){
- renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
- }else if (k == 1){
- renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
- }else if (k == 2){
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
- }
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- renderBlocksIr.clearOverrideBlockTexture();
- }else if (j == 38){
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }else{
- FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
- }
- }else{
- if (j == 16){
- damage = 1;
- }
- block.setBlockBoundsForItemRender();
- renderBlocksIr.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
- tessellator.draw();
- GL11.glColor4f(1F, 1F, 0F, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- }
-}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb682437
new file mode 100644
index 0000000..155d17c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb682437
@@ -0,0 +1,78 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import io.netty.buffer.ByteBuf;
+import java.util.Iterator;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+{
+ public PacketSendCurseStats()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+// if (temp != "")
+// PlayerRenderHandler.infamyCache = temp.split(";");
+// else
+// PlayerRenderHandler.infamyCache = new String[] { };
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
+// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ }
+// ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index
index 9f5fdf0..bf2c649 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index
index 11ecbef..48569fa 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index
index f533f50..38c474c 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.index
new file mode 100644
index 0000000..728c0fd
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.index
new file mode 100644
index 0000000..985133f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.index
deleted file mode 100644
index d8318de..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.index
+++ /dev/null
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index
index ae7d2d3..000689c 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.index
deleted file mode 100644
index 0d91224..0000000
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.index
+++ /dev/null
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index
index 5fb7806..d4653cf 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index
index 7888105..eb2d439 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index
index 65a6207..4428198 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index
index 3e3fe94..3605671 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers
index d817830..1e6142a 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat
index ae1f231..f8b6680 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/61.tree b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/66.tree
index 11c91fb..b823a83 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/61.tree
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/66.tree
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
index e6a3868..8c181f8 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
index a471080..7463c40 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -1,6 +1,6 @@
command=C\:\\Program Files\\Java\\jdk1.7.0_71\\bin\\javadoc.exe
content_assist_disabled_computers=org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.recommenders.calls.rcp.proposalCategory.templates\u0000org.eclipse.mylyn.java.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000org.eclipse.recommenders.chain.rcp.proposalCategory.chain\u0000
-content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="net.minecraft.util.DamageSource"><rhs name\="net.minecraft.util.DamageSource"/></lhs><lhs name\="net.minecraft.potion.PotionEffect"><rhs name\="net.minecraft.potion.PotionEffect"/></lhs><lhs name\="net.minecraft.profiler.IPlayerUsage"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="net.minecraft.client.Minecraft"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="cpw.mods.fml.common.network.simpleimpl.IMessage"><rhs name\="darkknight.jewelrycraft.network.PacketKeyPressEvent"/><rhs name\="darkknight.jewelrycraft.network.PacketSendPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketSendCurseStats"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestSetSlot"/></lhs><lhs name\="java.lang.Enum"><rhs name\="net.minecraftforge.client.event.RenderGameOverlayEvent$ElementType"/><rhs name\="cpw.mods.fml.common.eventhandler.Event$Result"/><rhs name\="net.minecraft.client.settings.GameSettings$Options"/></lhs><lhs name\="net.minecraft.client.settings.GameSettings$Options"><rhs name\="net.minecraft.client.settings.GameSettings$Options"/></lhs><lhs name\="net.minecraft.inventory.Container"><rhs name\="darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier"/></lhs><lhs name\="net.minecraft.nbt.NBTBase"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.nbt.NBTTagCompound"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.block.material.Material"><rhs name\="net.minecraft.block.material.Material"/></lhs></history>
+content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="net.minecraft.util.DamageSource"><rhs name\="net.minecraft.util.DamageSource"/></lhs><lhs name\="net.minecraft.potion.PotionEffect"><rhs name\="net.minecraft.potion.PotionEffect"/></lhs><lhs name\="net.minecraft.profiler.IPlayerUsage"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="net.minecraft.client.Minecraft"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="cpw.mods.fml.common.network.simpleimpl.IMessage"><rhs name\="darkknight.jewelrycraft.network.PacketKeyPressEvent"/><rhs name\="darkknight.jewelrycraft.network.PacketSendPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketSendCurseStats"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestSetSlot"/></lhs><lhs name\="java.lang.Enum"><rhs name\="net.minecraftforge.client.event.RenderGameOverlayEvent$ElementType"/><rhs name\="cpw.mods.fml.common.eventhandler.Event$Result"/><rhs name\="net.minecraft.client.settings.GameSettings$Options"/><rhs name\="cpw.mods.fml.relauncher.Side"/><rhs name\="cpw.mods.fml.common.gameevent.TickEvent$Phase"/></lhs><lhs name\="net.minecraft.client.settings.GameSettings$Options"><rhs name\="net.minecraft.client.settings.GameSettings$Options"/></lhs><lhs name\="net.minecraft.inventory.Container"><rhs name\="darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier"/></lhs><lhs name\="net.minecraft.nbt.NBTBase"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.nbt.NBTTagCompound"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.block.material.Material"><rhs name\="net.minecraft.block.material.Material"/></lhs></history>
content_assist_number_of_computers=19
content_assist_proposals_background=255,255,255
content_assist_proposals_foreground=0,0,0
diff --git a/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
index 65fdafa..cf8ee5a 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
+++ b/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ASCII"?>
<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_Z50IkM9SEeSV1Mx9A3xekQ" elementId="org.eclipse.e4.legacy.ide.application" contributorURI="platform:/plugin/org.eclipse.ui.workbench" selectedElement="_Z50Ikc9SEeSV1Mx9A3xekQ" bindingContexts="_Z51X0s9SEeSV1Mx9A3xekQ">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;workbench>&#xD;&#xA;&lt;mruList>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;RenderManager.class&quot; tooltip=&quot;net.minecraft.client.renderer.entity.RenderManager&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.renderer.entity(RenderManager.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GuiGuide.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GuiTabGemsAndIngots.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GuiTab.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ItemRender.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;AbstractTab.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;InventoryTabVanilla.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/InventoryTabVanilla.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/InventoryTabVanilla.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;TabRegistry.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GuiJewelry.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;GuiScreen.class&quot; tooltip=&quot;net.minecraft.client.gui.GuiScreen&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.gui(GuiScreen.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;InventoryTabVanilla.java&quot; tooltip=&quot;Minecraft/dependencies/main/java/tconstruct/client/tabs/InventoryTabVanilla.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/dependencies/main/java/tconstruct/client/tabs/InventoryTabVanilla.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;AbstractTab.java&quot; tooltip=&quot;Minecraft/dependencies/main/java/tconstruct/client/tabs/AbstractTab.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/dependencies/main/java/tconstruct/client/tabs/AbstractTab.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;TabJewelry.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ClientProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CommonProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/proxy/CommonProxy.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/CommonProxy.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;/mruList>&#xD;&#xA;&lt;/workbench>"/>
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;workbench>&#xD;&#xA;&lt;mruList>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;ItemRenderer.class&quot; tooltip=&quot;net.minecraft.client.renderer.ItemRenderer&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.renderer(ItemRenderer.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ClientProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;Gui.class&quot; tooltip=&quot;net.minecraft.client.gui.Gui&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.gui(Gui.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ScreenHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;NBTBase.class&quot; tooltip=&quot;net.minecraft.nbt.NBTBase&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.nbt(NBTBase.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;NBTTagCompound.class&quot; tooltip=&quot;net.minecraft.nbt.NBTTagCompound&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.nbt(NBTTagCompound.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ItemGoldObj.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;JewelryNBT.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ItemRender.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;BlockAir.class&quot; tooltip=&quot;net.minecraft.block.BlockAir&quot;>&#xD;&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.block(BlockAir.class&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CursePentagram.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CurseInfamy.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;JewelrycraftMod.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;PacketKeyPressEvent.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;KeyBindings.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;/mruList>&#xD;&#xA;&lt;/workbench>"/>
<tags>activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration</tags>
<tags>ModelMigrationProcessor.001</tags>
<children xsi:type="basic:TrimmedWindow" xmi:id="_Z50Ikc9SEeSV1Mx9A3xekQ" elementId="IDEWindow" contributorURI="platform:/plugin/org.eclipse.ui.workbench" selectedElement="_Z50Iks9SEeSV1Mx9A3xekQ" x="0" y="0" width="697" height="735">
@@ -209,7 +209,7 @@
</children>
</children>
<children xsi:type="basic:PartSashContainer" xmi:id="_Z50Iu89SEeSV1Mx9A3xekQ" containerData="8255" selectedElement="_Z50IvM9SEeSV1Mx9A3xekQ" horizontal="true">
- <children xsi:type="basic:PartSashContainer" xmi:id="_Z50IvM9SEeSV1Mx9A3xekQ" containerData="7500" selectedElement="_Z50Ivs9SEeSV1Mx9A3xekQ">
+ <children xsi:type="basic:PartSashContainer" xmi:id="_Z50IvM9SEeSV1Mx9A3xekQ" containerData="7500" selectedElement="_Z50Ivc9SEeSV1Mx9A3xekQ">
<children xsi:type="advanced:Placeholder" xmi:id="_Z50Ivc9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.editorss" containerData="7966" ref="_Z50J5s9SEeSV1Mx9A3xekQ"/>
<children xsi:type="basic:PartStack" xmi:id="_Z50Ivs9SEeSV1Mx9A3xekQ" elementId="bottom" containerData="2034" selectedElement="_Z50Iw89SEeSV1Mx9A3xekQ">
<tags>newtablook</tags>
@@ -263,79 +263,97 @@
<tags>categoryTag:Help</tags>
</sharedElements>
<sharedElements xsi:type="advanced:Area" xmi:id="_Z50J5s9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.editorss" selectedElement="_Z50J589SEeSV1Mx9A3xekQ">
- <children xsi:type="basic:PartStack" xmi:id="_Z50J589SEeSV1Mx9A3xekQ" elementId="org.eclipse.e4.primaryDataStack" selectedElement="_YhC7QOT9EeSp2--h7CW18g">
+ <children xsi:type="basic:PartStack" xmi:id="_Z50J589SEeSV1Mx9A3xekQ" elementId="org.eclipse.e4.primaryDataStack" selectedElement="_ZTOnIOdjEeSw1PatLR9qrg">
<tags>newtablook</tags>
<tags>org.eclipse.e4.primaryDataStack</tags>
<tags>EditorStack</tags>
<tags>active</tags>
- <children xsi:type="basic:Part" xmi:id="_G8o4MONvEeSo5ZkZK2zDJg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CurseMidasTouch.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CurseMidasTouch.java&quot; partName=&quot;CurseMidasTouch.java&quot; title=&quot;CurseMidasTouch.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;2796&quot; selectionTopPixel=&quot;420&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_Fft3UOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="JewelrycraftMod.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;JewelrycraftMod.java&quot; partName=&quot;JewelrycraftMod.java&quot; title=&quot;JewelrycraftMod.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;15&quot; selectionOffset=&quot;3360&quot; selectionTopPixel=&quot;85&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_YhC7QOT9EeSp2--h7CW18g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ItemRender.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ItemRender.java&quot; partName=&quot;ItemRender.java&quot; title=&quot;ItemRender.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;4267&quot; selectionTopPixel=&quot;1222&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_z-OVQObCEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CurseList.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CurseList.java&quot; partName=&quot;CurseList.java&quot; title=&quot;CurseList.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseList.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseList.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1393&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
- <tags>active</tags>
- <tags>activeOnClose</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_QOOnQOX_EeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="RenderItem.class" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/classf_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;RenderItem.class&quot; partName=&quot;RenderItem.class&quot; title=&quot;RenderItem.class&quot; tooltip=&quot;net.minecraft.client.renderer.entity.RenderItem&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.renderer.entity(RenderItem.class&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;26473&quot; selectionTopPixel=&quot;10440&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_TAhvsObDEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CurseRabbitsPaw.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CurseRabbitsPaw.java&quot; partName=&quot;CurseRabbitsPaw.java&quot; title=&quot;CurseRabbitsPaw.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;2337&quot; selectionTopPixel=&quot;168&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
- <tags>org.eclipse.jdt.ui.ClassFileEditor</tags>
+ <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_Fft3UOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="JewelrycraftMod.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;JewelrycraftMod.java&quot; partName=&quot;JewelrycraftMod.java&quot; title=&quot;JewelrycraftMod.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;8953&quot; selectionTopPixel=&quot;1596&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_WPTY0ObDEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="Curse.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;Curse.java&quot; partName=&quot;Curse.java&quot; title=&quot;Curse.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/Curse.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/Curse.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;2723&quot; selectionTopPixel=&quot;1324&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <tags>Editor</tags>
+ <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+ <tags>removeOnHide</tags>
+ </children>
+ <children xsi:type="basic:Part" xmi:id="_g4gzMObDEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="EntityEventHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;EntityEventHandler.java&quot; partName=&quot;EntityEventHandler.java&quot; title=&quot;EntityEventHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;7535&quot; selectionTopPixel=&quot;1023&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_fIscoOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="EventCommonHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;EventCommonHandler.java&quot; partName=&quot;EventCommonHandler.java&quot; title=&quot;EventCommonHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;405&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_o4tKoObIEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="BlockEventHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;BlockEventHandler.java&quot; partName=&quot;BlockEventHandler.java&quot; title=&quot;BlockEventHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;635&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_f77QYOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="BlockEventHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;BlockEventHandler.java&quot; partName=&quot;BlockEventHandler.java&quot; title=&quot;BlockEventHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;715&quot; selectionOffset=&quot;542&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_VshKgOc0EeSTmKvBaHO00w" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="PlayerRenderHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;PlayerRenderHandler.java&quot; partName=&quot;PlayerRenderHandler.java&quot; title=&quot;PlayerRenderHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;2073&quot; selectionTopPixel=&quot;115&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_hho0gOYaEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ClientProxy.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ClientProxy.java&quot; partName=&quot;ClientProxy.java&quot; title=&quot;ClientProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;6335&quot; selectionTopPixel=&quot;969&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_agJRkOc0EeSTmKvBaHO00w" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="PacketSendServerPlayersInfo.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;PacketSendServerPlayersInfo.java&quot; partName=&quot;PacketSendServerPlayersInfo.java&quot; title=&quot;PacketSendServerPlayersInfo.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1945&quot; selectionTopPixel=&quot;287&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_k9i6sOYaEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="TabRegistry.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;TabRegistry.java&quot; partName=&quot;TabRegistry.java&quot; title=&quot;TabRegistry.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;2039&quot; selectionTopPixel=&quot;423&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_ZTOnIOdjEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CursePentagram.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;CursePentagram.java&quot; partName=&quot;CursePentagram.java&quot; title=&quot;CursePentagram.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1464&quot; selectionTopPixel=&quot;219&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
+ <tags>active</tags>
+ <tags>activeOnClose</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_05kSgOYaEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="AbstractTab.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;AbstractTab.java&quot; partName=&quot;AbstractTab.java&quot; title=&quot;AbstractTab.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1022&quot; selectionTopPixel=&quot;423&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_UJR1UOdkEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ItemRender.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ItemRender.java&quot; partName=&quot;ItemRender.java&quot; title=&quot;ItemRender.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;8009&quot; selectionTopPixel=&quot;2057&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_rtp1MOYdEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GuiJewelry.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GuiJewelry.java&quot; partName=&quot;GuiJewelry.java&quot; title=&quot;GuiJewelry.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1919&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_G0wnEOdrEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ScreenHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ScreenHandler.java&quot; partName=&quot;ScreenHandler.java&quot; title=&quot;ScreenHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;55&quot; selectionOffset=&quot;2094&quot; selectionTopPixel=&quot;51&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
- <children xsi:type="basic:Part" xmi:id="_lYnsIOYlEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GuiGuide.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GuiGuide.java&quot; partName=&quot;GuiGuide.java&quot; title=&quot;GuiGuide.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;7417&quot; selectionTopPixel=&quot;2482&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <children xsi:type="basic:Part" xmi:id="_IF0mUOdrEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="Gui.class" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/classf_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;Gui.class&quot; partName=&quot;Gui.class&quot; title=&quot;Gui.class&quot; tooltip=&quot;net.minecraft.client.gui.Gui&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.gui(Gui.class&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;5664&quot; selectionTopPixel=&quot;1834&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <tags>Editor</tags>
+ <tags>org.eclipse.jdt.ui.ClassFileEditor</tags>
+ <tags>removeOnHide</tags>
+ </children>
+ <children xsi:type="basic:Part" xmi:id="_QEmawOdrEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ClientProxy.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ClientProxy.java&quot; partName=&quot;ClientProxy.java&quot; title=&quot;ClientProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;110&quot; selectionOffset=&quot;6572&quot; selectionTopPixel=&quot;185&quot;/>&#xD;&#xA;&lt;/editor>"/>
<tags>Editor</tags>
<tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
<tags>removeOnHide</tags>
</children>
+ <children xsi:type="basic:Part" xmi:id="_ByB3kOdsEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ItemRenderer.class" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/classf_obj.gif" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;ItemRenderer.class&quot; partName=&quot;ItemRenderer.class&quot; title=&quot;ItemRenderer.class&quot; tooltip=&quot;net.minecraft.client.renderer.ItemRenderer&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&amp;lt;net.minecraft.client.renderer(ItemRenderer.class&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;11681&quot; selectionTopPixel=&quot;2924&quot;/>&#xD;&#xA;&lt;/editor>"/>
+ <tags>Editor</tags>
+ <tags>org.eclipse.jdt.ui.ClassFileEditor</tags>
+ <tags>removeOnHide</tags>
+ </children>
</children>
</sharedElements>
<sharedElements xsi:type="basic:Part" xmi:id="_Z50KAM9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.navigator.ProjectExplorer" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Project Explorer" iconURI="platform:/plugin/org.eclipse.ui.navigator.resources//icons/full/eview16/resource_persp.gif" tooltip="Workspace" closeable="true">
@@ -399,7 +417,7 @@
<tags>categoryTag:General</tags>
</sharedElements>
<sharedElements xsi:type="basic:Part" xmi:id="_Z50KEc9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.views.ProblemView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Problems" iconURI="platform:/plugin/org.eclipse.ui.ide//icons/full/eview16/problems_view.gif" closeable="true">
- <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view PRIMARY_SORT_FIELD=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot; categoryGroup=&quot;org.eclipse.ui.ide.severity&quot; markerContentGenerator=&quot;org.eclipse.ui.ide.problemsGenerator&quot; partName=&quot;Problems&quot;>&#xD;&#xA;&lt;expanded>&#xD;&#xA;&lt;category IMemento.internal.id=&quot;Errors (16 items)&quot;/>&#xD;&#xA;&lt;/expanded>&#xD;&#xA;&lt;columnWidths org.eclipse.ui.ide.locationField=&quot;90&quot; org.eclipse.ui.ide.markerType=&quot;90&quot; org.eclipse.ui.ide.pathField=&quot;120&quot; org.eclipse.ui.ide.resourceField=&quot;90&quot; org.eclipse.ui.ide.severityAndDescriptionField=&quot;300&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.resourceField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.pathField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.locationField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.markerType&quot;/>&#xD;&#xA;&lt;/view>"/>
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view PRIMARY_SORT_FIELD=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot; categoryGroup=&quot;org.eclipse.ui.ide.severity&quot; markerContentGenerator=&quot;org.eclipse.ui.ide.problemsGenerator&quot; partName=&quot;Problems&quot;>&#xD;&#xA;&lt;columnWidths org.eclipse.ui.ide.locationField=&quot;90&quot; org.eclipse.ui.ide.markerType=&quot;90&quot; org.eclipse.ui.ide.pathField=&quot;120&quot; org.eclipse.ui.ide.resourceField=&quot;90&quot; org.eclipse.ui.ide.severityAndDescriptionField=&quot;461&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.resourceField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.pathField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.locationField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.markerType&quot;/>&#xD;&#xA;&lt;/view>"/>
<tags>View</tags>
<tags>categoryTag:General</tags>
<menus xmi:id="_Z50KEs9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.views.ProblemView">
@@ -919,7 +937,7 @@
</children>
<children xsi:type="menu:ToolBar" xmi:id="_Z50wWs9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.workbench.file">
<tags>Draggable</tags>
- <children xsi:type="menu:HandledToolItem" xmi:id="_Qa_HUOXzEeSzLJaotmh6og" elementId="print" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/print_edit.png" tooltip="Print" command="_Z53Mr89SEeSV1Mx9A3xekQ"/>
+ <children xsi:type="menu:HandledToolItem" xmi:id="_kahF8OhmEeSxcNmyBARhQw" elementId="print" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/print_edit.png" tooltip="Print" command="_Z53Mr89SEeSV1Mx9A3xekQ"/>
</children>
<children xsi:type="menu:ToolBar" xmi:id="_Z50waM9SEeSV1Mx9A3xekQ" elementId="additions" toBeRendered="false">
<tags>toolbarSeparator</tags>
@@ -958,7 +976,7 @@
</children>
<children xsi:type="menu:ToolBar" xmi:id="_Z50wr89SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.workbench.navigate">
<tags>Draggable</tags>
- <children xsi:type="menu:HandledToolItem" xmi:id="_QbMiseXzEeSzLJaotmh6og" elementId="org.eclipse.ui.window.pinEditor" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/pin_editor.png" tooltip="Pin Editor" type="Check" command="_Z52mOc9SEeSV1Mx9A3xekQ"/>
+ <children xsi:type="menu:HandledToolItem" xmi:id="_ka0A4OhmEeSxcNmyBARhQw" elementId="org.eclipse.ui.window.pinEditor" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/pin_editor.png" tooltip="Pin Editor" type="Check" command="_Z52mOc9SEeSV1Mx9A3xekQ"/>
</children>
<children xsi:type="menu:ToolBar" xmi:id="_Z50wus9SEeSV1Mx9A3xekQ" elementId="group.editor" toBeRendered="false">
<tags>toolbarSeparator</tags>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index
index 22a9e0f..fa755f1 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
index bdab874..09db74d 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
index c11066e..d05fd88 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<qualifiedTypeNameHistroy>
-<fullyQualifiedTypeName name="java.util.ArrayList"/>
-<fullyQualifiedTypeName name="darkknight.jewelrycraft.network.PacketSendPlayerInfo"/>
-<fullyQualifiedTypeName name="net.minecraft.server.MinecraftServer"/>
-<fullyQualifiedTypeName name="java.util.List"/>
-<fullyQualifiedTypeName name="java.util.Iterator"/>
<fullyQualifiedTypeName name="net.minecraft.entity.player.EntityPlayer"/>
<fullyQualifiedTypeName name="darkknight.jewelrycraft.network.PacketSendCurseStats"/>
<fullyQualifiedTypeName name="darkknight.jewelrycraft.events.PlayerRenderHandler"/>
@@ -46,11 +41,7 @@
<fullyQualifiedTypeName name="net.minecraft.block.material.Material"/>
<fullyQualifiedTypeName name="darkknight.jewelrycraft.util.JewelryNBT"/>
<fullyQualifiedTypeName name="darkknight.jewelrycraft.item.ItemList"/>
-<fullyQualifiedTypeName name="net.minecraft.client.Minecraft"/>
-<fullyQualifiedTypeName name="net.minecraft.client.renderer.ItemRenderer"/>
-<fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderItem"/>
<fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderManager"/>
-<fullyQualifiedTypeName name="net.minecraft.init.Items"/>
<fullyQualifiedTypeName name="net.minecraft.block.Block"/>
<fullyQualifiedTypeName name="net.minecraft.init.Blocks"/>
<fullyQualifiedTypeName name="darkknight.jewelrycraft.util.JewelrycraftUtil"/>
@@ -60,4 +51,13 @@
<fullyQualifiedTypeName name="net.minecraftforge.event.entity.player.PlayerEvent"/>
<fullyQualifiedTypeName name="cpw.mods.fml.common.gameevent.PlayerEvent"/>
<fullyQualifiedTypeName name="cpw.mods.fml.common.Loader"/>
+<fullyQualifiedTypeName name="net.minecraft.world.World"/>
+<fullyQualifiedTypeName name="darkknight.jewelrycraft.curses.CurseList"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.relauncher.Side"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.gameevent.TickEvent.Phase"/>
+<fullyQualifiedTypeName name="net.minecraft.block.BlockAir"/>
+<fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderItem"/>
+<fullyQualifiedTypeName name="net.minecraft.client.renderer.ItemRenderer"/>
+<fullyQualifiedTypeName name="net.minecraft.init.Items"/>
+<fullyQualifiedTypeName name="net.minecraft.client.Minecraft"/>
</qualifiedTypeNameHistroy>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history
new file mode 100644
index 0000000..c194bf5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Rename type &apos;darkknight.jewelrycraft.network.PacketSendPlayerInfo&apos; to &apos;PacketSendClientPlayerInfo&apos;&#x0D;&#x0A;- Original project: &apos;Minecraft&apos;&#x0D;&#x0A;- Original element: &apos;darkknight.jewelrycraft.network.PacketSendPlayerInfo&apos;&#x0D;&#x0A;- Renamed element: &apos;darkknight.jewelrycraft.network.PacketSendClientPlayerInfo&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;PacketSendPlayerInfo&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src\/main\/java&lt;darkknight.jewelrycraft.network{PacketSendPlayerInfo.java[PacketSendPlayerInfo" matchStrategy="1" name="PacketSendClientPlayerInfo" qualified="false" references="true" similarDeclarations="false" stamp="1429540707783" textual="false" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;darkknight.jewelrycraft.network.PacketSendCurseStats&apos; to &apos;PacketSendServerPlayersInfo&apos;&#x0D;&#x0A;- Original project: &apos;Minecraft&apos;&#x0D;&#x0A;- Original element: &apos;darkknight.jewelrycraft.network.PacketSendCurseStats&apos;&#x0D;&#x0A;- Renamed element: &apos;darkknight.jewelrycraft.network.PacketSendServerPlayersInfo&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;PacketSendCurseStats&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src\/main\/java&lt;darkknight.jewelrycraft.network{PacketSendCurseStats.java[PacketSendCurseStats" matchStrategy="1" name="PacketSendServerPlayersInfo" qualified="false" references="true" similarDeclarations="false" stamp="1429540733478" textual="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.index
new file mode 100644
index 0000000..7ab238b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.index
@@ -0,0 +1,2 @@
+1429540707783 Rename type 'PacketSendPlayerInfo'
+1429540733478 Rename type 'PacketSendCurseStats'
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
index 0086a4c..ee8674e 100644
--- a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
+++ b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
@@ -2,30 +2,30 @@
<section name="Workbench">
<section name="org.eclipse.ui.texteditor.FindReplaceDialog">
<item value="false" key="isRegEx"/>
- <item value="fishin" key="selection"/>
+ <item value="v" key="selection"/>
<item value="false" key="casesensitive"/>
<item value="false" key="incremental"/>
<item value="false" key="wrap"/>
<item value="false" key="wholeword"/>
<list key="findhistory">
- <item value="fishin"/>
- <item value="harvest"/>
- <item value="Harvest"/>
- <item value="onBlockHarvest"/>
- <item value="goldColor"/>
- <item value="break"/>
- <item value="color"/>
- <item value="pressure"/>
+ <item value="p_73729_4_"/>
+ <item value="p_73729_3_"/>
+ <item value="p_73729_6_"/>
+ <item value="p_73729_2_"/>
+ <item value="p_73729_5_"/>
+ <item value="p_73729_1_"/>
+ <item value="update"/>
+ <item value="playerInfo.setBoolean(&quot;sendInfo&quot;, true);"/>
</list>
<list key="replacehistory">
- <item value="renderBlocksIr"/>
- <item value="nbt"/>
+ <item value="v"/>
+ <item value="u"/>
+ <item value="z"/>
+ <item value="height"/>
+ <item value="y"/>
+ <item value="width"/>
+ <item value="x"/>
<item value=""/>
- <item value="categories[1]"/>
- <item value="boolean exists"/>
- <item value="exists"/>
- <item value="new PacketRequestPlayerInfo(player)"/>
- <item value="getModPlayerPersistTag(player, Variables.MODID)"/>
</list>
</section>
<section name="org.eclipse.ui.texteditor.FindReplaceDialog_dialogBounds">
diff --git a/eclipse/.metadata/version.ini b/eclipse/.metadata/version.ini
index 26cf69b..c87724b 100644
--- a/eclipse/.metadata/version.ini
+++ b/eclipse/.metadata/version.ini
@@ -1,3 +1,3 @@
-#Sat Apr 18 19:49:10 BST 2015
+#Tue Apr 21 22:39:48 BST 2015
org.eclipse.core.runtime=2
org.eclipse.platform=4.4.0.v20140925-0400