Fix buckets, add crafting and wool slabs
No files matched your search
@@ -98,6 +98,23 @@
|
||||
<entry key="block.fancybrick.stone.road.name">Stone Road</entry>
|
||||
<entry key="block.fancybrick.stone.name">Fancy Stone Brick</entry>
|
||||
|
||||
<entry key="tile.cloth.white.slab.name">Wool Slab</entry>
|
||||
<entry key="tile.cloth.orange.slab.name">Orange Wool Slab</entry>
|
||||
<entry key="tile.cloth.magenta.slab.name">Magenta Wool Slab</entry>
|
||||
<entry key="tile.cloth.lightBlue.slab.name">Light Blue Wool Slab</entry>
|
||||
<entry key="tile.cloth.yellow.slab.name">Yellow Wool Slab</entry>
|
||||
<entry key="tile.cloth.lime.slab.name">Lime Wool Slab</entry>
|
||||
<entry key="tile.cloth.pink.slab.name">Pink Wool Slab</entry>
|
||||
<entry key="tile.cloth.gray.slab.name">Gray Wool Slab</entry>
|
||||
<entry key="tile.cloth.silver.slab.name">Light Gray Wool Slab</entry>
|
||||
<entry key="tile.cloth.cyan.slab.name">Cyan Wool Slab</entry>
|
||||
<entry key="tile.cloth.purple.slab.name">Purple Wool Slab</entry>
|
||||
<entry key="tile.cloth.blue.slab.name">Blue Wool Slab</entry>
|
||||
<entry key="tile.cloth.brown.slab.name">Brown Wool Slab</entry>
|
||||
<entry key="tile.cloth.green.slab.name">Green Wool Slab</entry>
|
||||
<entry key="tile.cloth.red.slab.name">Red Wool Slab</entry>
|
||||
<entry key="tile.cloth.black.slab.name">Black Wool Slab</entry>
|
||||
|
||||
<entry key="item.oreberry.iron.name">Iron Oreberry</entry>
|
||||
<entry key="item.oreberry.gold.name">Gold Oreberry</entry>
|
||||
<entry key="item.oreberry.copper.name">Copper Oreberry</entry>
|
||||
@@ -293,6 +310,7 @@
|
||||
<entry key="item.tconstruct.bucket.Invar.name">Molten Invar Bucket</entry>
|
||||
<entry key="item.tconstruct.bucket.Electrum.name">Molten Electrum Bucket</entry>
|
||||
<entry key="item.tconstruct.bucket.Ender.name">Liquified Ender Bucket</entry>
|
||||
<entry key="item.tconstruct.bucket.Slime.name">Liquid Slime Bucket</entry>
|
||||
|
||||
<entry key="item.tconstruct.bowstring.string.name">Bowstring</entry>
|
||||
<entry key="item.tconstruct.bowstring.enchantedfabriI donc.name">Enchanted Bowstring</entry>
|
||||
|
||||
|
After Width: | Height: | Size: 405 B |
|
After Width: | Height: | Size: 807 B |
|
After Width: | Height: | Size: 795 B |
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,32 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
20*2
|
||||
21*2
|
||||
22*2
|
||||
23*2
|
||||
24*2
|
||||
25*2
|
||||
26*2
|
||||
27*2
|
||||
28*2
|
||||
29*2
|
||||
30*2
|
||||
31*2
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,32 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
20*2
|
||||
21*2
|
||||
22*2
|
||||
23*2
|
||||
24*2
|
||||
25*2
|
||||
26*2
|
||||
27*2
|
||||
28*2
|
||||
29*2
|
||||
30*2
|
||||
31*2
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,32 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
20*2
|
||||
21*2
|
||||
22*2
|
||||
23*2
|
||||
24*2
|
||||
25*2
|
||||
26*2
|
||||
27*2
|
||||
28*2
|
||||
29*2
|
||||
30*2
|
||||
31*2
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,32 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
20*2
|
||||
21*2
|
||||
22*2
|
||||
23*2
|
||||
24*2
|
||||
25*2
|
||||
26*2
|
||||
27*2
|
||||
28*2
|
||||
29*2
|
||||
30*2
|
||||
31*2
|
||||
@@ -0,0 +1,38 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
18*2
|
||||
17*2
|
||||
16*2
|
||||
15*2
|
||||
14*2
|
||||
13*2
|
||||
12*2
|
||||
11*2
|
||||
10*2
|
||||
9*2
|
||||
8*2
|
||||
7*2
|
||||
6*2
|
||||
5*2
|
||||
4*2
|
||||
3*2
|
||||
2*2
|
||||
1*2
|
||||
@@ -0,0 +1,16 @@
|
||||
0*3
|
||||
1*3
|
||||
2*3
|
||||
3*3
|
||||
4*3
|
||||
5*3
|
||||
6*3
|
||||
7*3
|
||||
8*3
|
||||
9*3
|
||||
10*3
|
||||
11*3
|
||||
12*3
|
||||
13*3
|
||||
14*3
|
||||
15*3
|
||||
@@ -0,0 +1,32 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
20*2
|
||||
21*2
|
||||
22*2
|
||||
23*2
|
||||
24*2
|
||||
25*2
|
||||
26*2
|
||||
27*2
|
||||
28*2
|
||||
29*2
|
||||
30*2
|
||||
31*2
|
||||
|
After Width: | Height: | Size: 357 B |
|
After Width: | Height: | Size: 421 B |
@@ -0,0 +1,32 @@
|
||||
0*2
|
||||
1*2
|
||||
2*2
|
||||
3*2
|
||||
4*2
|
||||
5*2
|
||||
6*2
|
||||
7*2
|
||||
8*2
|
||||
9*2
|
||||
10*2
|
||||
11*2
|
||||
12*2
|
||||
13*2
|
||||
14*2
|
||||
15*2
|
||||
16*2
|
||||
17*2
|
||||
18*2
|
||||
19*2
|
||||
20*2
|
||||
21*2
|
||||
22*2
|
||||
23*2
|
||||
24*2
|
||||
25*2
|
||||
26*2
|
||||
27*2
|
||||
28*2
|
||||
29*2
|
||||
30*2
|
||||
31*2
|
||||
|
After Width: | Height: | Size: 357 B |
|
After Width: | Height: | Size: 423 B |
|
After Width: | Height: | Size: 357 B |
|
After Width: | Height: | Size: 547 B |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
@@ -42,7 +42,7 @@ import cpw.mods.fml.common.registry.VillagerRegistry;
|
||||
* @dependencies: IC2 API, MFR API
|
||||
*/
|
||||
|
||||
@Mod(modid = "TConstruct", name = "TConstruct", version = "1.6.2_1.4.dev.27", dependencies = "required-after:Forge@[7.7.1.687,)")
|
||||
@Mod(modid = "TConstruct", name = "TConstruct", version = "1.6.2_1.4.dev.28", dependencies = "required-after:Forge@[7.7.1.687,)")
|
||||
@NetworkMod(serverSideRequired = false, clientSideRequired = true, channels = { "TConstruct" }, packetHandler = tconstruct.util.network.TPacketHandler.class)
|
||||
public class TConstruct
|
||||
{
|
||||
|
||||
@@ -0,0 +1,206 @@
|
||||
package tconstruct.blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import tconstruct.TConstruct;
|
||||
import tconstruct.blocks.logic.CraftingStationLogic;
|
||||
import tconstruct.blocks.logic.PartBuilderLogic;
|
||||
import tconstruct.blocks.logic.PatternChestLogic;
|
||||
import tconstruct.blocks.logic.StencilTableLogic;
|
||||
import tconstruct.blocks.logic.ToolForgeLogic;
|
||||
import tconstruct.blocks.logic.ToolStationLogic;
|
||||
import tconstruct.common.TContent;
|
||||
import tconstruct.common.TProxyCommon;
|
||||
import tconstruct.library.TConstructRegistry;
|
||||
import tconstruct.library.blocks.InventoryBlock;
|
||||
import tconstruct.util.PHConstruct;
|
||||
|
||||
public class CraftingSlab extends InventoryBlock
|
||||
{
|
||||
public CraftingSlab(int id, Material material)
|
||||
{
|
||||
super(id, material);
|
||||
this.setCreativeTab(TConstructRegistry.blockTab);
|
||||
this.setHardness(2f);
|
||||
this.setStepSound(Block.soundWoodFootstep);
|
||||
}
|
||||
|
||||
/* Rendering */
|
||||
@Override
|
||||
public String[] getTextureNames ()
|
||||
{
|
||||
String[] textureNames = {
|
||||
"craftingstation_top", "craftingstation_slab_side", "craftingstation_bottom",
|
||||
"toolstation_top", "toolstation_slab_side", "toolstation_bottom",
|
||||
"partbuilder_oak_top", "partbuilder_slab_side", "partbuilder_oak_bottom",
|
||||
"stenciltable_oak_top", "stenciltable_slab_side", "stenciltable_oak_bottom",
|
||||
"patternchest_top", "patternchest_slab_side", "patternchest_bottom",
|
||||
"toolforge_top", "toolforge_slab_side", "toolforge_top" };
|
||||
|
||||
return textureNames;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
return icons[(meta % 8) * 3 + getTextureIndex(side)];
|
||||
}
|
||||
|
||||
public int getTextureIndex (int side)
|
||||
{
|
||||
if (side == 0)
|
||||
return 2;
|
||||
if (side == 1)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getSelectedBoundingBoxFromPool (World world, int x, int y, int z)
|
||||
{
|
||||
int metadata = world.getBlockMetadata(x, y, z);
|
||||
if (metadata == 5)
|
||||
return AxisAlignedBB.getAABBPool().getAABB((double) x + this.minX, (double) y + this.minY, (double) z + this.minZ, (double) x + this.maxX, (double) y + this.maxY - 0.125,
|
||||
(double) z + this.maxZ);
|
||||
return AxisAlignedBB.getAABBPool().getAABB((double) x + this.minX, (double) y + this.minY, (double) z + this.minZ, (double) x + this.maxX, (double) y + this.maxY, (double) z + this.maxZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity (World world, int metadata)
|
||||
{
|
||||
switch (metadata % 8)
|
||||
{
|
||||
case 0:
|
||||
return new CraftingStationLogic();
|
||||
case 1:
|
||||
return new ToolStationLogic();
|
||||
case 2:
|
||||
return new PartBuilderLogic();
|
||||
case 3:
|
||||
return new StencilTableLogic();
|
||||
case 4:
|
||||
return new PatternChestLogic();
|
||||
case 5:
|
||||
return new ToolForgeLogic();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
|
||||
{
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
switch (meta)
|
||||
{
|
||||
case 0:
|
||||
return TProxyCommon.craftingStationID;
|
||||
case 1:
|
||||
return TProxyCommon.toolStationID;
|
||||
case 2:
|
||||
return TProxyCommon.partBuilderID;
|
||||
case 3:
|
||||
return TProxyCommon.stencilTableID;
|
||||
case 4:
|
||||
return TProxyCommon.patternChestID;
|
||||
case 5:
|
||||
return TProxyCommon.toolForgeID;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getModInstance ()
|
||||
{
|
||||
return TConstruct.instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks (int id, CreativeTabs tab, List list)
|
||||
{
|
||||
for (int iter = 0; iter < 6; iter++)
|
||||
{
|
||||
list.add(new ItemStack(id, 1, iter));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack stack)
|
||||
{
|
||||
if (PHConstruct.freePatterns)
|
||||
{
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if (meta == 4)
|
||||
{
|
||||
PatternChestLogic logic = (PatternChestLogic) world.getBlockTileEntity(x, y, z);
|
||||
for (int i = 1; i <= 13; i++)
|
||||
{
|
||||
logic.setInventorySlotContents(i - 1, new ItemStack(TContent.woodPattern, 1, i));
|
||||
}
|
||||
logic.setInventorySlotContents(13, new ItemStack(TContent.woodPattern, 1, 22));
|
||||
}
|
||||
}
|
||||
super.onBlockPlacedBy(world, x, y, z, entityliving, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCollisionBoxesToList (World world, int x, int y, int z, AxisAlignedBB axisalignedbb, List arraylist, Entity entity)
|
||||
{
|
||||
setBlockBoundsBasedOnState(world, x, y, z);
|
||||
super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
|
||||
}
|
||||
|
||||
public void setBlockBoundsForItemRender ()
|
||||
{
|
||||
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
|
||||
{
|
||||
int meta = world.getBlockMetadata(x, y, z) / 8;
|
||||
float minY = meta == 1 ? 0.5F : 0.0F;
|
||||
float maxY = meta == 1 ? 1.0F : 0.5F;
|
||||
setBlockBounds(0.0F, minY, 0F, 1.0F, maxY, 1.0F);
|
||||
}
|
||||
|
||||
public int onBlockPlaced (World par1World, int blockX, int blockY, int blockZ, int side, float clickX, float clickY, float clickZ, int metadata)
|
||||
{
|
||||
if (side == 1)
|
||||
return metadata;
|
||||
if (side == 0 || clickY >= 0.5F)
|
||||
return metadata | 8;
|
||||
|
||||
return metadata;
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,7 @@ public class GlassBlockConnected extends Block
|
||||
this.setStepSound(soundGlassFootstep);
|
||||
folder = location;
|
||||
renderPass = hasAlpha ? 1 : 0;
|
||||
setHardness(0.3F);
|
||||
this.setCreativeTab(TConstructRegistry.blockTab);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,4 +31,10 @@ public class GlassPaneStained extends PaneBase
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageDropped (int par1)
|
||||
{
|
||||
return par1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
package tconstruct.blocks;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.world.World;
|
||||
import tconstruct.library.TConstructRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class MeatBlock extends Block
|
||||
{
|
||||
public Icon[] icons;
|
||||
public String[] textureNames = new String[] { "ham_skin", "ham_bone" };
|
||||
|
||||
public MeatBlock(int id)
|
||||
{
|
||||
super(id, Material.wood);
|
||||
this.setHardness(1.0F);
|
||||
this.setStepSound(Block.soundWoodFootstep);
|
||||
//setBurnProperties(this.blockID, 5, 20);
|
||||
this.setCreativeTab(TConstructRegistry.blockTab);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Icon getIcon (int side, int metadata)
|
||||
{
|
||||
int tex = (metadata % 4) * 2;
|
||||
int orientation = metadata / 4;
|
||||
|
||||
switch (orientation)
|
||||
//Ends of logs
|
||||
{
|
||||
case 0:
|
||||
if (side == 0 || side == 1)
|
||||
return icons[tex + 1];
|
||||
break;
|
||||
case 1:
|
||||
if (side == 4 || side == 5)
|
||||
return icons[tex + 1];
|
||||
break;
|
||||
case 2:
|
||||
if (side == 2 || side == 3)
|
||||
return icons[tex + 1];
|
||||
break;
|
||||
}
|
||||
|
||||
return icons[tex];
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons (IconRegister iconRegister)
|
||||
{
|
||||
this.icons = new Icon[textureNames.length];
|
||||
|
||||
for (int i = 0; i < this.icons.length; ++i)
|
||||
{
|
||||
this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped (int par1, Random par2Random, int par3)
|
||||
{
|
||||
return this.blockID;
|
||||
}
|
||||
|
||||
/**
|
||||
* ejects contained items into the world, and notifies neighbours of an update, as appropriate
|
||||
*/
|
||||
public void breakBlock (World par1World, int par2, int par3, int par4, int par5, int par6)
|
||||
{
|
||||
byte b0 = 4;
|
||||
int j1 = b0 + 1;
|
||||
|
||||
if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1))
|
||||
{
|
||||
for (int k1 = -b0; k1 <= b0; ++k1)
|
||||
{
|
||||
for (int l1 = -b0; l1 <= b0; ++l1)
|
||||
{
|
||||
for (int i2 = -b0; i2 <= b0; ++i2)
|
||||
{
|
||||
int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2);
|
||||
|
||||
if (Block.blocksList[j2] != null)
|
||||
{
|
||||
Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
|
||||
*/
|
||||
public int onBlockPlaced (World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9)
|
||||
{
|
||||
int j1 = par9 & 3;
|
||||
byte b0 = 0;
|
||||
|
||||
switch (par5)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
b0 = 0;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
b0 = 8;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
b0 = 4;
|
||||
}
|
||||
|
||||
return j1 | b0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines the damage on the item the block drops. Used in cloth and wood.
|
||||
*/
|
||||
public int damageDropped (int par1)
|
||||
{
|
||||
return par1 & 3;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a number between 0 and 3
|
||||
*/
|
||||
public static int limitToValidMetadata (int par0)
|
||||
{
|
||||
return par0 & 3;
|
||||
}
|
||||
|
||||
protected ItemStack createStackedBlock (int par1)
|
||||
{
|
||||
return new ItemStack(this.blockID, 1, limitToValidMetadata(par1));
|
||||
}
|
||||
|
||||
public boolean isBlockReplaceable (World world, int x, int y, int z)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/*public void onBlockHarvested (World world, int x, int y, int z, int meta, EntityPlayer player)
|
||||
{
|
||||
if (meta % 4 == 1)
|
||||
{
|
||||
if (world.difficultySetting > 2)
|
||||
world.createExplosion(null, x, y, z, 1.75f, false);
|
||||
else
|
||||
world.createExplosion(null, x, y, z, 2f, false);
|
||||
}
|
||||
}*/
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
|
||||
{
|
||||
for (int i = 0; i < icons.length / 2; i++)
|
||||
par3List.add(new ItemStack(par1, 1, i));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSustainLeaves (World world, int x, int y, int z)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWood (World world, int x, int y, int z)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -4,16 +4,37 @@ import java.util.List;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import tconstruct.library.TConstructRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class SlabBase extends Block
|
||||
{
|
||||
Block modelBlock;
|
||||
int startingMeta;
|
||||
int totalSize;
|
||||
|
||||
public SlabBase(int id, Material material)
|
||||
{
|
||||
super(id, material);
|
||||
this.setCreativeTab(TConstructRegistry.blockTab);
|
||||
}
|
||||
|
||||
public SlabBase(int id, Material material, Block model, int meta, int totalSize)
|
||||
{
|
||||
super(id, material);
|
||||
this.setCreativeTab(TConstructRegistry.blockTab);
|
||||
this.modelBlock = model;
|
||||
this.startingMeta = meta;
|
||||
this.totalSize = totalSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,4 +76,27 @@ public class SlabBase extends Block
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons (IconRegister iconRegister)
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Icon getIcon (int side, int meta)
|
||||
{
|
||||
meta = meta % 8 + startingMeta;
|
||||
return modelBlock.getIcon(side, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks (int id, CreativeTabs tab, List list)
|
||||
{
|
||||
for (int iter = 0; iter < totalSize; iter++)
|
||||
{
|
||||
list.add(new ItemStack(id, 1, iter));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,7 +128,7 @@ public class ToolForgeBlock extends InventoryBlock
|
||||
public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
|
||||
{
|
||||
int md = world.getBlockMetadata(x, y, z);
|
||||
return TProxyCommon.toolForge;
|
||||
return TProxyCommon.toolForgeID;
|
||||
//return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package tconstruct.blocks;
|
||||
import java.util.List;
|
||||
|
||||
import tconstruct.TConstruct;
|
||||
import tconstruct.blocks.logic.PartCrafterLogic;
|
||||
import tconstruct.blocks.logic.PartBuilderLogic;
|
||||
import tconstruct.blocks.logic.PatternChestLogic;
|
||||
import tconstruct.blocks.logic.StencilTableLogic;
|
||||
import tconstruct.blocks.logic.ToolStationLogic;
|
||||
@@ -124,13 +124,13 @@ public class ToolStationBlock extends InventoryBlock
|
||||
case 0:
|
||||
return new ToolStationLogic();
|
||||
case 1:
|
||||
return new PartCrafterLogic();
|
||||
return new PartBuilderLogic();
|
||||
case 2:
|
||||
return new PartCrafterLogic();
|
||||
return new PartBuilderLogic();
|
||||
case 3:
|
||||
return new PartCrafterLogic();
|
||||
return new PartBuilderLogic();
|
||||
case 4:
|
||||
return new PartCrafterLogic();
|
||||
return new PartBuilderLogic();
|
||||
case 5:
|
||||
return new PatternChestLogic();
|
||||
case 6:
|
||||
|
||||
@@ -13,12 +13,12 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class PartCrafterLogic extends InventoryLogic implements ISidedInventory
|
||||
public class PartBuilderLogic extends InventoryLogic implements ISidedInventory
|
||||
{
|
||||
boolean craftedTop;
|
||||
boolean craftedBottom;
|
||||
|
||||
public PartCrafterLogic()
|
||||
public PartBuilderLogic()
|
||||
{
|
||||
super(10);
|
||||
craftedTop = false;
|
||||
@@ -44,7 +44,7 @@ public class SlimeFluid extends BlockFluidClassic
|
||||
public void updateTick(World world, int x, int y, int z, Random rand)
|
||||
{
|
||||
super.updateTick(world, x, y, z, rand);
|
||||
if (rand.nextInt(100) == 0 && world.checkNoEntityCollision(AxisAlignedBB.getBoundingBox(x - 1, y - 1, z - 1, x + 2, y + 2, z + 2)) )
|
||||
if (rand.nextInt(100) == 0 && world.getBlockMetadata(x, y, z) == 0 && world.checkNoEntityCollision(AxisAlignedBB.getBoundingBox(x - 1, y - 1, z - 1, x + 2, y + 2, z + 2)) )
|
||||
{
|
||||
BlueSlime entityslime = new BlueSlime(world);
|
||||
entityslime.setPosition((double)x + 0.5D, (double)y + 1.5D, (double)z + 0.5D);
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
package tconstruct.blocks.traps;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
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.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@@ -57,19 +57,19 @@ public class TProxyClient extends TProxyCommon {
|
||||
|
||||
@Override
|
||||
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
if (ID == stationGuiID)
|
||||
if (ID == toolStationID)
|
||||
return new ToolStationGui(player.inventory, (ToolStationLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == partGuiID)
|
||||
return new PartCrafterGui(player.inventory, (PartCrafterLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == pchestGuiID)
|
||||
if (ID == partBuilderID)
|
||||
return new PartCrafterGui(player.inventory, (PartBuilderLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == patternChestID)
|
||||
return new PatternChestGui(player.inventory, (PatternChestLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == frypanGuiID)
|
||||
return new FrypanGui(player.inventory, (FrypanLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == smelteryGuiID)
|
||||
return new SmelteryGui(player.inventory, (SmelteryLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == pshaperGuiID)
|
||||
if (ID == stencilTableID)
|
||||
return new StencilTableGui(player.inventory, (StencilTableLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == toolForge)
|
||||
if (ID == toolForgeID)
|
||||
return new ToolForgeGui(player.inventory, (ToolForgeLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
if (ID == glowstoneAggregatorGui)
|
||||
return new GlowstoneAggregatorGui(player.inventory, (GlowstoneAggregator) world.getBlockTileEntity(x, y, z), world, x, y, z);
|
||||
@@ -484,7 +484,7 @@ public class TProxyClient extends TProxyCommon {
|
||||
TConstructClientRegistry.registerManualModifier("tier2free", ironpick.copy(), new ItemStack(Item.netherStar));
|
||||
|
||||
TConstructClientRegistry.registerManualSmeltery("brownstone", new ItemStack(TContent.speedBlock), new ItemStack(TContent.moltenTin, 1), new ItemStack(Block.gravel));
|
||||
TConstructClientRegistry.registerManualSmeltery("clearglass", new ItemStack(TContent.glass), new ItemStack(TContent.moltenGlass, 1), null);
|
||||
TConstructClientRegistry.registerManualSmeltery("clearglass", new ItemStack(TContent.clearGlass), new ItemStack(TContent.moltenGlass, 1), null);
|
||||
TConstructClientRegistry.registerManualSmeltery("searedstone", new ItemStack(TContent.smeltery, 1, 4), new ItemStack(TContent.moltenStone, 1), null);
|
||||
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ public class ToolCoreRenderer implements IItemRenderer
|
||||
for (int i = 0; i < iconParts; ++i)
|
||||
{
|
||||
Icon part = tempParts[i];
|
||||
if (part == null || part == ToolCore.blankSprite | part == ToolCore.emptyIcon)
|
||||
if (part == null)// || part == ToolCore.blankSprite | part == ToolCore.emptyIcon)
|
||||
++count;
|
||||
else
|
||||
parts[i - count] = part;
|
||||
|
||||
@@ -12,7 +12,7 @@ import net.minecraft.world.World;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import tconstruct.blocks.logic.PartCrafterLogic;
|
||||
import tconstruct.blocks.logic.PartBuilderLogic;
|
||||
import tconstruct.inventory.ActiveContainer;
|
||||
import tconstruct.inventory.PartCrafterChestContainer;
|
||||
import tconstruct.library.TConstructRegistry;
|
||||
@@ -21,14 +21,14 @@ import tconstruct.library.tools.ToolMaterial;
|
||||
|
||||
public class PartCrafterGui extends NewContainerGui
|
||||
{
|
||||
PartCrafterLogic logic;
|
||||
PartBuilderLogic logic;
|
||||
String title, otherTitle = "";
|
||||
boolean drawChestPart;
|
||||
boolean hasTop, hasBottom;
|
||||
ItemStack topMaterial, bottomMaterial;
|
||||
ToolMaterial topEnum, bottomEnum;
|
||||
|
||||
public PartCrafterGui(InventoryPlayer inventoryplayer, PartCrafterLogic partlogic, World world, int x, int y, int z)
|
||||
public PartCrafterGui(InventoryPlayer inventoryplayer, PartBuilderLogic partlogic, World world, int x, int y, int z)
|
||||
{
|
||||
super((ActiveContainer) partlogic.getGuiContainer(inventoryplayer, world, x, y, z));
|
||||
logic = partlogic;
|
||||
|
||||
@@ -2,7 +2,6 @@ package tconstruct.common;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -13,7 +12,6 @@ import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.MaterialLiquid;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||
@@ -35,6 +33,7 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||
import tconstruct.TConstruct;
|
||||
import tconstruct.blocks.Aggregator;
|
||||
import tconstruct.blocks.CraftingSlab;
|
||||
import tconstruct.blocks.CraftingStationBlock;
|
||||
import tconstruct.blocks.DryingRack;
|
||||
import tconstruct.blocks.EquipBlock;
|
||||
@@ -47,6 +46,7 @@ import tconstruct.blocks.GravelOre;
|
||||
import tconstruct.blocks.LavaTankBlock;
|
||||
import tconstruct.blocks.LightCrystalBase;
|
||||
import tconstruct.blocks.LiquidMetalFinite;
|
||||
import tconstruct.blocks.MeatBlock;
|
||||
import tconstruct.blocks.MetalOre;
|
||||
import tconstruct.blocks.MultiBrick;
|
||||
import tconstruct.blocks.MultiBrickFancy;
|
||||
@@ -55,6 +55,7 @@ import tconstruct.blocks.OreberryBushEssence;
|
||||
import tconstruct.blocks.RedstoneMachine;
|
||||
import tconstruct.blocks.SearedBlock;
|
||||
import tconstruct.blocks.SearedSlab;
|
||||
import tconstruct.blocks.SlabBase;
|
||||
import tconstruct.blocks.SmelteryBlock;
|
||||
import tconstruct.blocks.SoilBlock;
|
||||
import tconstruct.blocks.SpeedBlock;
|
||||
@@ -75,7 +76,7 @@ import tconstruct.blocks.logic.FrypanLogic;
|
||||
import tconstruct.blocks.logic.GlowstoneAggregator;
|
||||
import tconstruct.blocks.logic.LavaTankLogic;
|
||||
import tconstruct.blocks.logic.MultiServantLogic;
|
||||
import tconstruct.blocks.logic.PartCrafterLogic;
|
||||
import tconstruct.blocks.logic.PartBuilderLogic;
|
||||
import tconstruct.blocks.logic.PatternChestLogic;
|
||||
import tconstruct.blocks.logic.SmelteryDrainLogic;
|
||||
import tconstruct.blocks.logic.SmelteryLogic;
|
||||
@@ -123,6 +124,7 @@ import tconstruct.items.armor.Knapsack;
|
||||
import tconstruct.items.armor.TArmorBase;
|
||||
import tconstruct.items.blocks.BarricadeItem;
|
||||
import tconstruct.items.blocks.CraftedSoilItemBlock;
|
||||
import tconstruct.items.blocks.CraftingSlabItemBlock;
|
||||
import tconstruct.items.blocks.GlassBlockItem;
|
||||
import tconstruct.items.blocks.GlassPaneItem;
|
||||
import tconstruct.items.blocks.GravelOreItem;
|
||||
@@ -149,6 +151,8 @@ import tconstruct.items.blocks.StainedGlassClearItem;
|
||||
import tconstruct.items.blocks.StainedGlassClearPaneItem;
|
||||
import tconstruct.items.blocks.ToolForgeItemBlock;
|
||||
import tconstruct.items.blocks.ToolStationItemBlock;
|
||||
import tconstruct.items.blocks.WoolSlab1Item;
|
||||
import tconstruct.items.blocks.WoolSlab2Item;
|
||||
import tconstruct.items.tools.Arrow;
|
||||
import tconstruct.items.tools.BattleSign;
|
||||
import tconstruct.items.tools.Battleaxe;
|
||||
@@ -206,7 +210,7 @@ import cpw.mods.fml.common.IFuelHandler;
|
||||
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import extrabiomes.api.BiomeManager;
|
||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
|
||||
public class TContent implements IFuelHandler
|
||||
{
|
||||
@@ -289,6 +293,7 @@ public class TContent implements IFuelHandler
|
||||
public static Block toolStationStone;
|
||||
public static Block toolForge;
|
||||
public static Block craftingStationWood;
|
||||
public static Block craftingSlabWood;
|
||||
|
||||
public static Block heldItemBlock;
|
||||
public static Block craftedSoil;
|
||||
@@ -309,6 +314,10 @@ public class TContent implements IFuelHandler
|
||||
public static Block searedSlab;
|
||||
public static Block speedSlab;
|
||||
|
||||
public static Block meatBlock;
|
||||
public static Block woolSlab1;
|
||||
public static Block woolSlab2;
|
||||
|
||||
//Traps
|
||||
public static Block landmine;
|
||||
public static Block punji;
|
||||
@@ -319,7 +328,7 @@ public class TContent implements IFuelHandler
|
||||
|
||||
//InfiBlocks
|
||||
public static Block speedBlock;
|
||||
public static Block glass;
|
||||
public static Block clearGlass;
|
||||
//public static Block stainedGlass;
|
||||
public static Block stainedGlassClear;
|
||||
public static Block glassPane;
|
||||
@@ -509,7 +518,7 @@ public class TContent implements IFuelHandler
|
||||
toolStationWood = new ToolStationBlock(PHConstruct.woodStation, Material.wood).setUnlocalizedName("ToolStation");
|
||||
GameRegistry.registerBlock(toolStationWood, ToolStationItemBlock.class, "ToolStationBlock");
|
||||
GameRegistry.registerTileEntity(ToolStationLogic.class, "ToolStation");
|
||||
GameRegistry.registerTileEntity(PartCrafterLogic.class, "PartCrafter");
|
||||
GameRegistry.registerTileEntity(PartBuilderLogic.class, "PartCrafter");
|
||||
GameRegistry.registerTileEntity(PatternChestLogic.class, "PatternHolder");
|
||||
GameRegistry.registerTileEntity(StencilTableLogic.class, "PatternShaper");
|
||||
|
||||
@@ -520,6 +529,9 @@ public class TContent implements IFuelHandler
|
||||
craftingStationWood = new CraftingStationBlock(PHConstruct.woodCrafter, Material.wood).setUnlocalizedName("CraftingStation");
|
||||
GameRegistry.registerBlock(craftingStationWood, "CraftingStation");
|
||||
GameRegistry.registerTileEntity(CraftingStationLogic.class, "CraftingStation");
|
||||
|
||||
craftingSlabWood = new CraftingSlab(PHConstruct.woodCrafterSlab, Material.wood).setUnlocalizedName("CraftingSlab");
|
||||
GameRegistry.registerBlock(craftingSlabWood, CraftingSlabItemBlock.class, "CraftingSlab");
|
||||
|
||||
heldItemBlock = new EquipBlock(PHConstruct.heldItemBlock, Material.wood).setUnlocalizedName("Frypan");
|
||||
GameRegistry.registerBlock(heldItemBlock, "HeldItemBlock");
|
||||
@@ -541,6 +553,19 @@ public class TContent implements IFuelHandler
|
||||
metalBlock.stepSound = Block.soundMetalFootstep;
|
||||
GameRegistry.registerBlock(metalBlock, MetalItemBlock.class, "MetalBlock");
|
||||
|
||||
meatBlock = new MeatBlock(PHConstruct.meatBlock).setUnlocalizedName("tconstruct.meatblock");
|
||||
GameRegistry.registerBlock(meatBlock, "MeatBlock");
|
||||
OreDictionary.registerOre("hambone", new ItemStack(meatBlock));
|
||||
LanguageRegistry.addName(meatBlock, "Hambone");
|
||||
GameRegistry.addRecipe(new ItemStack(meatBlock), "mmm", "mbm", "mmm", 'b', new ItemStack(Item.bone), 'm', new ItemStack(Item.porkRaw));
|
||||
|
||||
woolSlab1 = new SlabBase(PHConstruct.woolSlab1, Material.cloth, Block.cloth, 0, 8).setUnlocalizedName("cloth");
|
||||
woolSlab1.setStepSound(Block.soundClothFootstep).setCreativeTab(CreativeTabs.tabDecorations);
|
||||
GameRegistry.registerBlock(woolSlab1, WoolSlab1Item.class, "WoolSlab1");
|
||||
woolSlab2 = new SlabBase(PHConstruct.woolSlab2, Material.cloth, Block.cloth, 8, 8).setUnlocalizedName("cloth");
|
||||
woolSlab2.setStepSound(Block.soundClothFootstep).setCreativeTab(CreativeTabs.tabDecorations);
|
||||
GameRegistry.registerBlock(woolSlab2, WoolSlab2Item.class, "WoolSlab2");
|
||||
|
||||
//Smeltery
|
||||
smeltery = new SmelteryBlock(PHConstruct.smeltery).setUnlocalizedName("Smeltery");
|
||||
GameRegistry.registerBlock(smeltery, SmelteryItemBlock.class, "Smeltery");
|
||||
@@ -823,7 +848,7 @@ public class TContent implements IFuelHandler
|
||||
blueSlimeFluid.setBlockID(slimePool);
|
||||
fluids[24] = blueSlimeFluid;
|
||||
fluidBlocks[24] = slimePool;
|
||||
//FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(blueSlimeFluid, 1), new ItemStack(buckets, 1, 24), new ItemStack(Item.bucketEmpty)));
|
||||
FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(blueSlimeFluid, 1), new ItemStack(buckets, 1, 24), new ItemStack(Item.bucketEmpty)));
|
||||
|
||||
slimeGel = new SlimeGel(PHConstruct.slimeGel).setStepSound(slimeStep).setUnlocalizedName("slime.gel");
|
||||
GameRegistry.registerBlock(slimeGel, SlimeGelItemBlock.class, "slime.gel");
|
||||
@@ -880,15 +905,15 @@ public class TContent implements IFuelHandler
|
||||
GameRegistry.registerBlock(speedBlock, SpeedBlockItem.class, "SpeedBlock");
|
||||
|
||||
//Glass
|
||||
glass = new GlassBlockConnected(PHConstruct.glass, "clear", false).setUnlocalizedName("GlassBlock");
|
||||
glass.stepSound = Block.soundGlassFootstep;
|
||||
GameRegistry.registerBlock(glass, GlassBlockItem.class, "GlassBlock");
|
||||
clearGlass = new GlassBlockConnected(PHConstruct.glass, "clear", false).setUnlocalizedName("GlassBlock");
|
||||
clearGlass.stepSound = Block.soundGlassFootstep;
|
||||
GameRegistry.registerBlock(clearGlass, GlassBlockItem.class, "GlassBlock");
|
||||
|
||||
glassPane = new GlassPane(PHConstruct.glassPane);
|
||||
GameRegistry.registerBlock(glassPane, GlassPaneItem.class, "GlassPane");
|
||||
|
||||
stainedGlassClear = new GlassBlockConnectedMeta(PHConstruct.stainedGlassClear, "stained", true, "white", "orange", "magenta", "light_blue", "yellow", "lime", "pink", "gray", "light_gray",
|
||||
"cyan", "purple", "blue", "brown", "green", "red", "black").setUnlocalizedName("GlassBlock.StainedClear");//new GlassBlockStained(PHConstruct.stainedGlassClear, "stainedglass_").setUnlocalizedName("GlassBlock.StainedClear");
|
||||
"cyan", "purple", "blue", "brown", "green", "red", "black").setUnlocalizedName("GlassBlock.StainedClear");
|
||||
stainedGlassClear.stepSound = Block.soundGlassFootstep;
|
||||
GameRegistry.registerBlock(stainedGlassClear, StainedGlassClearItem.class, "GlassBlock.StainedClear");
|
||||
|
||||
@@ -1397,7 +1422,7 @@ public class TContent implements IFuelHandler
|
||||
basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 8), new FluidStack(moltenAlumiteFluid, TConstruct.ingotLiquidValue * 9), null, true, 100); //alumite
|
||||
basinCasting.addCastingRecipe(new ItemStack(Block.obsidian), new FluidStack(moltenObsidianFluid, TConstruct.ingotLiquidValue * 2), null, true, 100);// obsidian
|
||||
basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 9), new FluidStack(moltenSteelFluid, TConstruct.ingotLiquidValue * 9), null, true, 100); //steel
|
||||
basinCasting.addCastingRecipe(new ItemStack(glass, 1, 0), new FluidStack(moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME), null, true, 100); //glass
|
||||
basinCasting.addCastingRecipe(new ItemStack(clearGlass, 1, 0), new FluidStack(moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME), null, true, 100); //glass
|
||||
basinCasting.addCastingRecipe(new ItemStack(smeltery, 1, 4), new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue), null, true, 100); //seared stone
|
||||
|
||||
basinCasting.addCastingRecipe(new ItemStack(speedBlock, 1, 0), new FluidStack(moltenTinFluid, TConstruct.ingotLiquidValue / 9), new ItemStack(Block.gravel), true, 100); //brownstone
|
||||
@@ -1432,7 +1457,7 @@ public class TContent implements IFuelHandler
|
||||
Smeltery.addMelting(Block.stone, 0, 800, new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue / 18));
|
||||
Smeltery.addMelting(Block.cobblestone, 0, 800, new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue / 18));
|
||||
|
||||
Smeltery.addMelting(glass, 0, 500, new FluidStack(moltenGlassFluid, 1000));
|
||||
Smeltery.addMelting(clearGlass, 0, 500, new FluidStack(moltenGlassFluid, 1000));
|
||||
Smeltery.addMelting(glassPane, 0, 350, new FluidStack(moltenGlassFluid, 250));
|
||||
|
||||
for (int i = 0; i < 16; i++)
|
||||
@@ -1707,8 +1732,8 @@ public class TContent implements IFuelHandler
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Block.cloth, 8, i), pattern, 'm', dyeTypes[15 - i], '#', new ItemStack(Block.cloth, 1, Short.MAX_VALUE)));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClear, 8, i), pattern, 'm', dyeTypes[15 - i], '#', glass));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClear, 1, i), dyeTypes[15 - i], glass));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClear, 8, i), pattern, 'm', dyeTypes[15 - i], '#', clearGlass));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClear, 1, i), dyeTypes[15 - i], clearGlass));
|
||||
}
|
||||
|
||||
//Smeltery
|
||||
@@ -1793,6 +1818,20 @@ public class TContent implements IFuelHandler
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(craftingStationWood, 1, 0), "b", 'b', new ItemStack(Block.workbench));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(craftingStationWood, 1, 0), "b", 'b', "crafterWood"));
|
||||
|
||||
//Slab crafters
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 6, 0), "bbb", 'b', new ItemStack(Block.workbench));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 1), "b", 'b', new ItemStack(toolStationWood, 1, 0));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 1));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 2));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 3));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 4));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 4), "b", 'b', new ItemStack(toolStationWood, 1, 5));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 10));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 11));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 12));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 13));
|
||||
GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 5), "b", 'b', new ItemStack(toolForge, 1, Short.MAX_VALUE));
|
||||
}
|
||||
|
||||
void setupToolTabs ()
|
||||
|
||||
@@ -22,12 +22,12 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
|
||||
public class TProxyCommon implements IGuiHandler
|
||||
{
|
||||
public static int stationGuiID = 0;
|
||||
public static int partGuiID = 1;
|
||||
public static int pchestGuiID = 2;
|
||||
public static int pshaperGuiID = 3;
|
||||
public static int toolStationID = 0;
|
||||
public static int partBuilderID = 1;
|
||||
public static int patternChestID = 2;
|
||||
public static int stencilTableID = 3;
|
||||
public static int frypanGuiID = 4;
|
||||
public static int toolForge = 5;
|
||||
public static int toolForgeID = 5;
|
||||
public static int smelteryGuiID = 7;
|
||||
public static int glowstoneAggregatorGui = 8;
|
||||
public static int drawbridgeGui = 9;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package tconstruct.inventory;
|
||||
|
||||
import tconstruct.blocks.logic.PartCrafterLogic;
|
||||
import tconstruct.blocks.logic.PartBuilderLogic;
|
||||
import tconstruct.blocks.logic.PatternChestLogic;
|
||||
import tconstruct.library.util.IPattern;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -12,12 +12,12 @@ public class PartCrafterChestContainer extends ActiveContainer
|
||||
{
|
||||
protected PatternChestLogic patternLogic;
|
||||
protected InventoryPlayer invPlayer;
|
||||
protected PartCrafterLogic logic;
|
||||
protected PartBuilderLogic logic;
|
||||
protected Slot[] input;
|
||||
protected Slot[] inventory;
|
||||
public boolean largeInventory;
|
||||
|
||||
public PartCrafterChestContainer(InventoryPlayer inventoryplayer, PartCrafterLogic partLogic, PatternChestLogic pLogic)
|
||||
public PartCrafterChestContainer(InventoryPlayer inventoryplayer, PartBuilderLogic partLogic, PatternChestLogic pLogic)
|
||||
{
|
||||
logic = partLogic;
|
||||
patternLogic = pLogic;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package tconstruct.inventory;
|
||||
|
||||
import tconstruct.blocks.logic.PartCrafterLogic;
|
||||
import tconstruct.blocks.logic.PartBuilderLogic;
|
||||
import tconstruct.library.util.IPattern;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
@@ -10,12 +10,12 @@ import net.minecraft.item.ItemStack;
|
||||
public class PartCrafterContainer extends ActiveContainer
|
||||
{
|
||||
protected InventoryPlayer invPlayer;
|
||||
protected PartCrafterLogic logic;
|
||||
protected PartBuilderLogic logic;
|
||||
protected Slot[] input;
|
||||
protected Slot[] inventory;
|
||||
public boolean largeInventory;
|
||||
|
||||
public PartCrafterContainer(InventoryPlayer inventoryplayer, PartCrafterLogic partLogic)
|
||||
public PartCrafterContainer(InventoryPlayer inventoryplayer, PartBuilderLogic partLogic)
|
||||
{
|
||||
invPlayer = inventoryplayer;
|
||||
logic = partLogic;
|
||||
|
||||
@@ -2,6 +2,7 @@ package tconstruct.inventory;
|
||||
|
||||
import tconstruct.blocks.logic.ToolForgeLogic;
|
||||
import tconstruct.blocks.logic.ToolStationLogic;
|
||||
import tconstruct.library.tools.ToolCore;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -75,8 +76,10 @@ public class ToolForgeContainer extends ToolStationContainer
|
||||
if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
|
||||
{
|
||||
tags.getCompoundTag("InfiTool").setBoolean("Built", true);
|
||||
for (int i = 1; i <= 4; i++)
|
||||
for (int i = 2; i <= 4; i++)
|
||||
logic.decrStackSize(i, 1);
|
||||
int amount = logic.getStackInSlot(1).getItem() instanceof ToolCore ? stack.stackSize : 1;
|
||||
logic.decrStackSize(1, amount);
|
||||
if (!logic.worldObj.isRemote)
|
||||
logic.worldObj.playAuxSFX(1021, (int) logic.xCoord, (int) logic.yCoord, (int) logic.zCoord, 0);
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ public class FilledBucket extends ItemBucket
|
||||
}
|
||||
}
|
||||
|
||||
public boolean tryPlaceContainedLiquid (World world, int clickX, int clickY, int clickZ, int meta)
|
||||
public boolean tryPlaceContainedLiquid (World world, int clickX, int clickY, int clickZ, int type)
|
||||
{
|
||||
if (!world.isAirBlock(clickX, clickY, clickZ) && world.getBlockMaterial(clickX, clickY, clickZ).isSolid())
|
||||
{
|
||||
@@ -138,7 +138,10 @@ public class FilledBucket extends ItemBucket
|
||||
else
|
||||
{
|
||||
int id = 0;
|
||||
world.setBlock(clickX, clickY, clickZ, TContent.fluidBlocks[meta].blockID, 7, 3); //TODO: Merge liquids
|
||||
int metadata = 7;
|
||||
if (type == 24)
|
||||
metadata = 0;
|
||||
world.setBlock(clickX, clickY, clickZ, TContent.fluidBlocks[type].blockID, metadata, 3); //TODO: Merge liquids
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -177,8 +180,8 @@ public class FilledBucket extends ItemBucket
|
||||
}
|
||||
|
||||
public static final String[] materialNames = new String[] { "Iron", "Gold", "Copper", "Tin", "Aluminum", "Cobalt", "Ardite", "Bronze", "AluBrass", "Manyullyn", "Alumite", "Obsidian", "Steel",
|
||||
"Glass", "Stone", "Villager", "Cow", "Nickel", "Lead", "Silver", "Shiny", "Invar", "Electrum", "Ender" };
|
||||
"Glass", "Stone", "Villager", "Cow", "Nickel", "Lead", "Silver", "Shiny", "Invar", "Electrum", "Ender", "Slime" };
|
||||
|
||||
public static final String[] textureNames = new String[] { "iron", "gold", "copper", "tin", "aluminum", "cobalt", "ardite", "bronze", "alubrass", "manyullyn", "alumite", "obsidian", "steel",
|
||||
"glass", "stone", "emerald", "blood", "nickel", "lead", "silver", "shiny", "invar", "electrum", "ender" };
|
||||
"glass", "stone", "emerald", "blood", "nickel", "lead", "silver", "shiny", "invar", "electrum", "ender", "slime" };
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package tconstruct.items.blocks;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
||||
public class CraftingSlabItemBlock extends ItemBlock
|
||||
{
|
||||
public static final String blockType[] = { "tile.CraftingStation", "Crafter", "Parts", "PatternShaper", "PatternChest", "tile.ToolForge" };
|
||||
|
||||
public CraftingSlabItemBlock(int id)
|
||||
{
|
||||
super(id);
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
public int getMetadata (int meta)
|
||||
{
|
||||
return meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName (ItemStack itemstack)
|
||||
{
|
||||
int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
|
||||
if (pos == 0 || pos == 5)
|
||||
{
|
||||
return blockType[pos];
|
||||
}
|
||||
return (new StringBuilder()).append("ToolStation.").append(blockType[pos]).toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package tconstruct.items.blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemDye;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class WoolSlab1Item extends ItemBlock
|
||||
{
|
||||
int blockID;
|
||||
Block block;
|
||||
|
||||
public WoolSlab1Item(int id)
|
||||
{
|
||||
super(id);
|
||||
this.blockID = id + 256;
|
||||
this.block = Block.blocksList[id + 256];
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
public int getMetadata (int meta)
|
||||
{
|
||||
return meta;
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack par1ItemStack)
|
||||
{
|
||||
int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, 7);
|
||||
return super.getUnlocalizedName() + "." + ItemDye.dyeColorNames[15 - i] + ".slab";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
int id = world.getBlockId(x, y, z);
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
int trueMeta = meta % 8;
|
||||
boolean flag = (id & 8) != 0;
|
||||
|
||||
if ((side == 1 && flag || side == 0 && !flag) && id == this.blockID && trueMeta == stack.getItemDamage())
|
||||
{
|
||||
if (world.setBlock(x, y, z, Block.cloth.blockID, trueMeta, 3))
|
||||
{
|
||||
world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this.block.stepSound.getPlaceSound(),
|
||||
(this.block.stepSound.getVolume() + 1.0F) / 2.0F, this.block.stepSound.getPitch() * 0.8F);
|
||||
--stack.stackSize;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onItemUse(stack, player, world, x, y, z, side, hitX, hitY, hitZ);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package tconstruct.items.blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import mods.natura.common.NContent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemDye;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class WoolSlab2Item extends ItemBlock
|
||||
{
|
||||
int blockID;
|
||||
Block block;
|
||||
|
||||
public WoolSlab2Item(int id)
|
||||
{
|
||||
super(id);
|
||||
this.blockID = id + 256;
|
||||
this.block = Block.blocksList[id + 256];
|
||||
setMaxDamage(0);
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
public int getMetadata (int meta)
|
||||
{
|
||||
return meta;
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack par1ItemStack)
|
||||
{
|
||||
int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, 7);
|
||||
return super.getUnlocalizedName() + "." + ItemDye.dyeColorNames[7 - i] + ".slab";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
int id = world.getBlockId(x, y, z);
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
int trueMeta = meta % 8;
|
||||
boolean flag = (id & 8) != 0;
|
||||
|
||||
if ((side == 1 && flag || side == 0 && !flag) && id == this.blockID && trueMeta == stack.getItemDamage())
|
||||
{
|
||||
if (world.setBlock(x, y, z, Block.cloth.blockID, trueMeta + 8, 3))
|
||||
{
|
||||
world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this.block.stepSound.getPlaceSound(),
|
||||
(this.block.stepSound.getVolume() + 1.0F) / 2.0F, this.block.stepSound.getPitch() * 0.8F);
|
||||
--stack.stackSize;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onItemUse(stack, player, world, x, y, z, side, hitX, hitY, hitZ);
|
||||
}
|
||||
}
|
||||
@@ -87,6 +87,12 @@ public class Arrow extends ToolCore
|
||||
return new String[] { "ammo" };
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDamageModifier ()
|
||||
{
|
||||
return 0.5f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubItems (int id, CreativeTabs tab, List list)
|
||||
{
|
||||
@@ -201,11 +207,6 @@ public class Arrow extends ToolCore
|
||||
if (!handleName.equals("") && handle != head)
|
||||
list.add(getStyleForType(handle) + handleName);
|
||||
|
||||
int unbreaking = tags.getCompoundTag("InfiTool").getInteger("Unbreaking");
|
||||
String reinforced = getReinforcedName(head, handle, 0, 0, unbreaking);
|
||||
if (!reinforced.equals(""))
|
||||
list.add(reinforced);
|
||||
|
||||
boolean displayToolTips = true;
|
||||
int tipNum = 0;
|
||||
while (displayToolTips)
|
||||
|
||||
@@ -63,9 +63,4 @@ public class Cutlass extends Weapon
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
public void getSubItems (int id, CreativeTabs tab, List list)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -155,6 +155,12 @@ public class PHConstruct
|
||||
slimeTallGrass = config.getBlock("Slime Tall Grass", 3239).getInt(3239);
|
||||
slimeLeaves = config.getBlock("Slime Grass Leaves", 3240).getInt(3240);
|
||||
slimeSapling = config.getBlock("Slime Tree Sapling", 3241).getInt(3241);
|
||||
|
||||
meatBlock = config.getBlock("Meat Block", 3242).getInt(3242);
|
||||
woodCrafterSlab = config.getBlock("Crafting Slab", 3243).getInt(3243);
|
||||
woolSlab1 = config.getBlock("Wool Slab 1", 3244).getInt(3244);
|
||||
woolSlab2 = config.getBlock("Wool Slab 2", 3245).getInt(3245);
|
||||
castingChannel = config.getBlock("Casting Channel", 3249).getInt(3249);
|
||||
|
||||
/*golemCore = config.getBlock("Golem Core", 1481).getInt(1481);
|
||||
golemHead = config.getBlock("Golem Head", 1482).getInt(1482);*/
|
||||
@@ -352,11 +358,13 @@ public class PHConstruct
|
||||
public static int toolForge;
|
||||
public static int heldItemBlock;
|
||||
public static int woodCrafter;
|
||||
public static int woodCrafterSlab;
|
||||
|
||||
public static int ores;
|
||||
public static int lavaTank;
|
||||
public static int smeltery;
|
||||
public static int searedTable;
|
||||
public static int castingChannel;
|
||||
public static int craftedSoil;
|
||||
public static int oreSlag;
|
||||
public static int oreGravel;
|
||||
@@ -440,6 +448,9 @@ public class PHConstruct
|
||||
public static int redstoneBallRepeater;
|
||||
public static int searedSlab;
|
||||
public static int speedSlab;
|
||||
public static int meatBlock;
|
||||
public static int woolSlab1;
|
||||
public static int woolSlab2;
|
||||
|
||||
//Patterns and misc
|
||||
public static int blankPattern;
|
||||
|
||||
@@ -19,6 +19,8 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.EnumMovingObjectType;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
@@ -26,6 +28,7 @@ import net.minecraftforge.event.Event.Result;
|
||||
import net.minecraftforge.event.ForgeSubscribe;
|
||||
import net.minecraftforge.event.entity.living.LivingDeathEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingDropsEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingHurtEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingSpawnEvent;
|
||||
import net.minecraftforge.event.entity.player.FillBucketEvent;
|
||||
import net.minecraftforge.event.world.ChunkDataEvent;
|
||||
@@ -33,6 +36,7 @@ import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.minecraftforge.oredict.OreDictionary.OreRegisterEvent;
|
||||
import tconstruct.TConstruct;
|
||||
import tconstruct.blocks.LiquidMetalFinite;
|
||||
import tconstruct.common.TContent;
|
||||
import tconstruct.crystal.TheftValueTracker;
|
||||
import tconstruct.library.TConstructRegistry;
|
||||
@@ -208,6 +212,9 @@ public class TEventHandler
|
||||
|
||||
public static boolean matchesLeaves (ItemStack stack)
|
||||
{
|
||||
if (stack.itemID >= 4096)
|
||||
return false;
|
||||
|
||||
Block block = Block.blocksList[stack.itemID];
|
||||
if (block != null)
|
||||
{
|
||||
@@ -216,6 +223,22 @@ public class TEventHandler
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Damage */
|
||||
@ForgeSubscribe
|
||||
public void onHurt (LivingHurtEvent event)
|
||||
{
|
||||
if (event.entityLiving instanceof EntityPlayer)
|
||||
{
|
||||
EntityPlayer player = (EntityPlayer) event.entityLiving;
|
||||
//Cutlass
|
||||
ItemStack stack = player.getCurrentEquippedItem();
|
||||
if (stack != null && stack.getItem() == TContent.cutlass && player.isUsingItem())
|
||||
{
|
||||
player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 3 * 20, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Drops */
|
||||
@ForgeSubscribe
|
||||
@@ -742,109 +765,109 @@ public class TEventHandler
|
||||
}
|
||||
|
||||
//Dust
|
||||
else if (evt.Name == "dustIron")
|
||||
else if (evt.Name == "dustIron" || evt.Name == "crystallineIron")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new FluidStack(TContent.moltenIronFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustGold")
|
||||
else if (evt.Name == "dustGold" || evt.Name == "crystallineGold")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new FluidStack(TContent.moltenGoldFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustCopper")
|
||||
else if (evt.Name == "dustCopper" || evt.Name == "crystallineCopper")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new FluidStack(TContent.moltenCopperFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustTin")
|
||||
else if (evt.Name == "dustTin" || evt.Name == "crystallineTin")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new FluidStack(TContent.moltenTinFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustBronze")
|
||||
else if (evt.Name == "dustBronze" || evt.Name == "crystallineBronze")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 4, 500, new FluidStack(TContent.moltenBronzeFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustCobalt")
|
||||
else if (evt.Name == "dustCobalt" || evt.Name == "crystallineCobalt")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 0, 650, new FluidStack(TContent.moltenCobaltFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustArdite")
|
||||
else if (evt.Name == "dustArdite" || evt.Name == "crystallineArdite")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 1, 650, new FluidStack(TContent.moltenArditeFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustManyullyn")
|
||||
else if (evt.Name == "dustManyullyn" || evt.Name == "crystallineManyullyn")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 2, 750, new FluidStack(TContent.moltenManyullynFluid,
|
||||
TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustAluminum")
|
||||
/*else if (evt.Name == "dustAluminum")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new FluidStack(TContent.moltenAluminumFluid,
|
||||
TConstruct.ingotLiquidValue));
|
||||
}*/
|
||||
|
||||
else if (evt.Name == "dustNaturalAluminum" || evt.Name == "crystallineNaturalAluminum")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new FluidStack(TContent.moltenAluminumFluid,
|
||||
TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustNaturalAluminum")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new FluidStack(TContent.moltenAluminumFluid,
|
||||
TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustAluminumBrass")
|
||||
else if (evt.Name == "dustAluminumBrass" || evt.Name == "crystallineAluminumBrass")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 7, 350, new FluidStack(TContent.moltenAlubrassFluid,
|
||||
TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustAlumite")
|
||||
else if (evt.Name == "dustAlumite" || evt.Name == "crystallineAlumite")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 8, 500,
|
||||
new FluidStack(TContent.moltenAlumiteFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustSteel")
|
||||
else if (evt.Name == "dustSteel" || evt.Name == "crystallineSteel")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenSteelFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustNickel")
|
||||
else if (evt.Name == "dustNickel" || evt.Name == "crystallineNickel")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenNickelFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustLead")
|
||||
else if (evt.Name == "dustLead" || evt.Name == "crystallineLead")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenLeadFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustSilver")
|
||||
else if (evt.Name == "dustSilver" || evt.Name == "crystallineSilver")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenSilverFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustPlatinum")
|
||||
else if (evt.Name == "dustPlatinum" || evt.Name == "crystallinePlatinum")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenShinyFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustInvar")
|
||||
else if (evt.Name == "dustInvar" || evt.Name == "crystallineInvar")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenInvarFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
else if (evt.Name == "dustElectrum")
|
||||
else if (evt.Name == "dustElectrum" || evt.Name == "crystallineElectrum")
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenElectrumFluid,
|
||||
TConstruct.ingotLiquidValue));
|
||||
}
|
||||
}
|
||||
|
||||
public void unfuxOreDictionary () //TODO: This isn't the best
|
||||
public void unfuxOreDictionary ()
|
||||
{
|
||||
ArrayList<ItemStack> ores = OreDictionary.getOres("ingotCopper");
|
||||
for (ItemStack ore : ores)
|
||||
@@ -1213,6 +1236,102 @@ public class TEventHandler
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 400, new FluidStack(TContent.moltenShinyFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineIron");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new FluidStack(TContent.moltenIronFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineGold");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new FluidStack(TContent.moltenGoldFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineCopper");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new FluidStack(TContent.moltenCopperFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineTin");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new FluidStack(TContent.moltenTinFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineBronze");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 4, 500, new FluidStack(TContent.moltenBronzeFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineCobalt");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 650, new FluidStack(TContent.moltenCobaltFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineArdite");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 1, 650, new FluidStack(TContent.moltenArditeFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineManyullyn");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 2, 750, new FluidStack(TContent.moltenManyullynFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineNaturalAluminum");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new FluidStack(TContent.moltenAluminumFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineAluminumBrass");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 7, 350, new FluidStack(TContent.moltenAlubrassFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineAlumite");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 8, 500, new FluidStack(TContent.moltenAlumiteFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineSteel");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new FluidStack(TContent.moltenSteelFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineNickel");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 400, new FluidStack(TContent.moltenNickelFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineLead");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 400, new FluidStack(TContent.moltenLeadFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallineSilver");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 400, new FluidStack(TContent.moltenSilverFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("crystallinePlatinum");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 400, new FluidStack(TContent.moltenShinyFluid, TConstruct.ingotLiquidValue));
|
||||
}
|
||||
|
||||
ores = OreDictionary.getOres("dustInvar");
|
||||
for (ItemStack ore : ores)
|
||||
{
|
||||
@@ -1311,40 +1430,51 @@ public class TEventHandler
|
||||
}
|
||||
else
|
||||
{
|
||||
int quanta = 0;
|
||||
for (int posX = -1; posX <= 1; posX++)
|
||||
if (TContent.fluidBlocks[id] instanceof LiquidMetalFinite)
|
||||
{
|
||||
for (int posZ = -1; posZ <= 1; posZ++)
|
||||
int quanta = 0;
|
||||
for (int posX = -1; posX <= 1; posX++)
|
||||
{
|
||||
int localID = evt.world.getBlockId(hitX + posX, hitY, hitZ + posZ);
|
||||
if (localID == bID)
|
||||
for (int posZ = -1; posZ <= 1; posZ++)
|
||||
{
|
||||
quanta += evt.world.getBlockMetadata(hitX + posX, hitY, hitZ + posZ) + 1;
|
||||
int localID = evt.world.getBlockId(hitX + posX, hitY, hitZ + posZ);
|
||||
if (localID == bID)
|
||||
{
|
||||
quanta += evt.world.getBlockMetadata(hitX + posX, hitY, hitZ + posZ) + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (quanta >= 8)
|
||||
while (quanta > 0)
|
||||
if (quanta >= 8)
|
||||
{
|
||||
for (int posX = -1; posX <= 1; posX++)
|
||||
while (quanta > 0)
|
||||
{
|
||||
for (int posZ = -1; posZ <= 1; posZ++)
|
||||
for (int posX = -1; posX <= 1; posX++)
|
||||
{
|
||||
int localID = evt.world.getBlockId(hitX + posX, hitY, hitZ + posZ);
|
||||
if (localID == bID)
|
||||
for (int posZ = -1; posZ <= 1; posZ++)
|
||||
{
|
||||
quanta -= 1;
|
||||
int meta = evt.world.getBlockMetadata(hitX + posX, hitY, hitZ + posZ);
|
||||
if (meta > 0)
|
||||
evt.world.setBlockMetadataWithNotify(hitX + posX, hitY, hitZ + posZ, meta - 1, 3);
|
||||
else
|
||||
evt.world.setBlockToAir(hitX + posX, hitY, hitZ + posZ);
|
||||
int localID = evt.world.getBlockId(hitX + posX, hitY, hitZ + posZ);
|
||||
if (localID == bID)
|
||||
{
|
||||
quanta -= 1;
|
||||
int meta = evt.world.getBlockMetadata(hitX + posX, hitY, hitZ + posZ);
|
||||
if (meta > 0)
|
||||
evt.world.setBlockMetadataWithNotify(hitX + posX, hitY, hitZ + posZ, meta - 1, 3);
|
||||
else
|
||||
evt.world.setBlockToAir(hitX + posX, hitY, hitZ + posZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
evt.world.setBlockToAir(hitX, hitY, hitZ);
|
||||
}
|
||||
|
||||
evt.setResult(Result.ALLOW);
|
||||
evt.result = new ItemStack(TContent.buckets, 1, id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||