8 Commits

Author SHA1 Message Date
Mohammad-Ali Minaie
e2b5427783 fixed mod loading 2018-10-26 13:43:28 -04:00
Mohammad-Ali Minaie
fda85a3218 doesn't seem like the mod is actually loading 2018-10-26 13:38:24 -04:00
Mohammad-Ali Minaie
62c61a5702 created resources directories 2018-10-07 14:12:33 -04:00
Mohammad-Ali Minaie
2d37944afe something weird happened with my gradle 2018-10-07 13:43:07 -04:00
Mohammad-Ali Minaie
84f291ca7b removing .idea files from git 2018-10-07 10:38:06 -04:00
Mohammad-Ali Minaie
01ac5179a9 hopefully ignore file picked up right 2018-10-07 10:36:49 -04:00
Mohammad-Ali Minaie
eef5bd1d7b gradlew being stupid 2018-10-06 22:56:29 -04:00
Mohammad-Ali Minaie
3e66b75b46 starting with blank mod for 1.12 2018-10-06 22:51:32 -04:00
107 changed files with 537 additions and 20377 deletions

52
.gitignore vendored
View File

@@ -16,4 +16,54 @@ server.properties
crash-reports
saves
usernamecache.json
options.txt
options.txt
README.txt
1.11/saves*
1.11/MinecraftForge-*
1.11/Paulscode*
1.11/logs*
forge-*-changelog.txt
*-fml.txt
.gradle
1.11/build/
1.11/run/
1.11/out/
1.11/tmp/
1.11/bin/
1.11/crash-reports
1.11/config/
1.11/saves/
1.11/logs
1.11/usercache.json
1.11/usernamecache.json
1.11/options.txt
*.DS_Store
*.iml
*.ipr
*.iws
1.11/eula.txt
1.11/server.properties
# eclipse
bin
*.launch
.settings
.metadata
.classpath
.project
# idea
out
*.ipr
*.iws
*.iml
.idea
# gradle
build
.gradle
# other
eclipse
run

Binary file not shown.

View File

@@ -1,104 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: 'Crank.blend'
# www.blender.org
mtllib Crank.mtl
o Cube
v 0.100000 0.264795 -0.100000
v 0.100000 0.264795 0.100000
v -0.100000 0.264795 0.100000
v -0.100000 0.264795 -0.100000
v 0.100000 0.464795 -0.100000
v 0.100000 0.464795 0.100000
v -0.100000 0.464795 0.100000
v -0.100000 0.464795 -0.100000
v 0.100000 0.264795 -0.600000
v -0.100000 0.264795 -0.600000
v 0.100000 0.464795 -0.600000
v -0.100000 0.464795 -0.600000
v 0.100000 -0.485205 -0.100000
v 0.100000 -0.485205 0.100000
v -0.100000 -0.485205 0.100000
v -0.100000 -0.485205 -0.100000
vt 0.500580 0.555234
vt 0.446843 0.555234
vt 0.446843 0.337432
vt 0.776634 0.644650
vt 0.722897 0.644650
vt 0.776634 0.590913
vt 0.778006 0.501058
vt 0.831743 0.501058
vt 0.778006 0.554795
vt 0.607812 0.777694
vt 0.607812 0.831431
vt 0.554076 0.777694
vt 0.499924 0.556928
vt 0.499924 0.610665
vt 0.446187 0.610665
vt 0.724218 0.669231
vt 0.776419 0.669231
vt 0.776419 0.776629
vt 0.334729 0.778768
vt 0.388466 0.778768
vt 0.388466 0.832505
vt 0.443683 0.559544
vt 0.443683 0.609220
vt 0.334581 0.609220
vt 0.831853 0.498644
vt 0.779864 0.498644
vt 0.779864 0.390775
vt 0.444856 0.642828
vt 0.498592 0.642828
vt 0.444856 0.777170
vt 0.498796 0.778935
vt 0.498796 0.832671
vt 0.445059 0.832671
vt 0.554076 0.576181
vt 0.666923 0.777694
vt 0.613186 0.777694
vt 0.613186 0.576181
vt 0.776472 0.501058
vt 0.776472 0.554795
vt 0.612790 0.554795
vt 0.500580 0.337432
vt 0.554076 0.831431
vt 0.722897 0.590913
vt 0.498592 0.777170
vt 0.446187 0.556928
vt 0.724218 0.776629
vt 0.334729 0.832505
vt 0.334581 0.559544
vt 0.831853 0.390775
vt 0.445059 0.778935
vt 0.607812 0.576181
vt 0.666923 0.576181
vt 0.612790 0.501058
vt 0.831743 0.554795
usemtl Material
s off
f 3/1 4/2 16/3
f 5/4 8/5 6/6
f 1/7 5/8 2/9
f 2/10 6/11 3/12
f 3/13 7/14 8/15
f 8/16 5/17 11/18
f 11/19 9/20 10/21
f 4/22 8/23 12/24
f 5/25 1/26 9/27
f 1/28 4/29 9/30
f 13/31 14/32 15/33
f 2/10 3/12 15/34
f 4/35 1/36 13/37
f 1/38 2/39 14/40
f 15/41 3/1 16/3
f 6/11 7/42 3/12
f 8/5 7/43 6/6
f 4/29 10/44 9/30
f 4/45 3/13 8/15
f 12/46 8/16 11/18
f 12/47 11/19 10/21
f 10/48 4/22 12/24
f 11/49 5/25 9/27
f 16/50 13/31 15/33
f 14/51 2/10 15/34
f 16/52 4/35 13/37
f 13/53 1/38 14/40
f 5/8 6/54 2/9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 714 B

Binary file not shown.

View File

@@ -1,854 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: 'CrankGrinder.blend'
# www.blender.org
mtllib CrankGrinder.mtl
o Cube
v 0.000000 -0.000300 0.000000
v 0.000000 -0.000300 1.000000
v -1.000000 -0.000300 1.000000
v -1.000000 -0.000300 -0.000000
v 0.000000 0.500000 0.000000
v -0.000000 0.500000 1.000000
v -1.000000 0.500000 1.000000
v -1.000000 0.500000 0.000000
v -0.189614 -0.500000 0.190119
v -0.189614 -0.500000 0.000000
v 0.000000 -0.500000 0.000000
v 0.000000 -0.500000 0.190119
v -0.189614 0.000000 0.190119
v -0.189614 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.000000 0.000000 0.190119
v -0.189614 -0.500000 1.000000
v -0.189614 -0.500000 0.809960
v 0.000000 -0.500000 0.809960
v 0.000000 -0.500000 1.000000
v -0.189614 0.000000 1.000000
v -0.189614 0.000000 0.809960
v 0.000000 0.000000 0.809960
v 0.000000 0.000000 1.000000
v -1.000000 -0.500000 1.000000
v -1.000000 -0.500000 0.809960
v -0.810000 -0.500000 0.809960
v -0.810000 -0.500000 1.000000
v -1.000000 0.000000 1.000000
v -1.000000 0.000000 0.809960
v -0.810000 0.000000 0.809960
v -0.810000 0.000000 1.000000
v -1.000000 -0.500000 0.190119
v -1.000000 -0.500000 0.000000
v -0.810000 -0.500000 0.000000
v -0.810000 -0.500000 0.190119
v -1.000000 0.000000 0.190119
v -1.000000 0.000000 0.000000
v -0.810000 0.000000 0.000000
v -0.810000 0.000000 0.190119
v -0.747491 0.500000 0.252513
v -0.722040 0.500000 0.229446
v -0.694453 0.500000 0.208984
v -0.664990 0.500000 0.191328
v -0.633941 0.500000 0.176643
v -0.601606 0.500000 0.165067
v -0.568282 0.500000 0.156725
v -0.534308 0.500000 0.151684
v -0.500001 0.500000 0.150000
v -0.465693 0.500000 0.151686
v -0.431719 0.500000 0.156724
v -0.398400 0.500000 0.165072
v -0.366064 0.500000 0.176639
v -0.335012 0.500000 0.191327
v -0.305550 0.500000 0.208986
v -0.282476 0.500000 0.222816
v -0.252511 0.500000 0.252514
v -0.229447 0.500000 0.277962
v -0.208986 0.500000 0.305551
v -0.191329 0.500000 0.335010
v -0.176642 0.500000 0.366061
v -0.165072 0.500000 0.398401
v -0.156726 0.500000 0.431719
v -0.151686 0.500000 0.465694
v -0.150000 0.500000 0.500000
v -0.151687 0.500000 0.534306
v -0.156726 0.500000 0.568282
v -0.165072 0.500000 0.601600
v -0.176643 0.500000 0.633940
v -0.191328 0.500000 0.664989
v -0.208987 0.500000 0.694450
v -0.229446 0.500000 0.722038
v -0.252512 0.500000 0.747488
v -0.277961 0.500000 0.770555
v -0.305551 0.500000 0.791014
v -0.335012 0.500000 0.808672
v -0.366061 0.500000 0.823359
v -0.398401 0.500000 0.834930
v -0.431718 0.500000 0.843276
v -0.465696 0.500000 0.848315
v -0.500002 0.500000 0.850001
v -0.534306 0.500000 0.848316
v -0.568283 0.500000 0.843276
v -0.594674 0.500000 0.839363
v -0.633941 0.500000 0.823359
v -0.664989 0.500000 0.808674
v -0.694455 0.500000 0.791015
v -0.722043 0.500000 0.770554
v -0.747487 0.500000 0.747489
v -0.770554 0.500000 0.722040
v -0.791016 0.500000 0.694450
v -0.808674 0.500000 0.664990
v -0.823362 0.500000 0.633939
v -0.834931 0.500000 0.601601
v -0.843276 0.500000 0.568282
v -0.848319 0.500000 0.534307
v -0.850002 0.500000 0.499999
v -0.848319 0.500000 0.465693
v -0.843278 0.500000 0.431718
v -0.834932 0.500000 0.398399
v -0.823362 0.500000 0.366060
v -0.808681 0.500000 0.335007
v -0.791020 0.500000 0.305549
v -0.770554 0.500000 0.277963
v -0.747493 -0.000300 0.252563
v -0.722048 -0.000300 0.229500
v -0.694465 -0.000300 0.209044
v -0.665011 -0.000300 0.191390
v -0.633968 -0.000300 0.176707
v -0.601635 -0.000300 0.165139
v -0.568324 -0.000300 0.156794
v -0.534355 -0.000300 0.151756
v -0.500056 -0.000300 0.150070
v -0.465756 -0.000300 0.151755
v -0.431788 -0.000300 0.156794
v -0.398477 -0.000300 0.165139
v -0.366144 -0.000300 0.176707
v -0.335101 -0.000300 0.191390
v -0.305647 -0.000300 0.209044
v -0.278065 -0.000300 0.229501
v -0.252620 -0.000300 0.252563
v -0.229558 -0.000300 0.278007
v -0.209102 -0.000300 0.305589
v -0.191448 -0.000300 0.335044
v -0.176766 -0.000300 0.366087
v -0.165197 -0.000300 0.398420
v -0.156854 -0.000300 0.431731
v -0.151815 -0.000300 0.465699
v -0.150130 -0.000300 0.499998
v -0.151815 -0.000300 0.534297
v -0.156854 -0.000300 0.568266
v -0.165197 -0.000300 0.601576
v -0.176766 -0.000300 0.633909
v -0.191449 -0.000300 0.664953
v -0.209103 -0.000300 0.694407
v -0.229558 -0.000300 0.721990
v -0.252620 -0.000300 0.747434
v -0.278065 -0.000300 0.770495
v -0.305647 -0.000300 0.790952
v -0.335102 -0.000300 0.808607
v -0.366146 -0.000300 0.823289
v -0.398478 -0.000300 0.834857
v -0.431789 -0.000300 0.843201
v -0.465758 -0.000300 0.848241
v -0.500056 -0.000300 0.849925
v -0.534355 -0.000300 0.848241
v -0.568324 -0.000300 0.843202
v -0.601635 -0.000300 0.834858
v -0.633968 -0.000300 0.823289
v -0.665011 -0.000300 0.808606
v -0.694466 -0.000300 0.790952
v -0.722048 -0.000300 0.770496
v -0.747492 -0.000300 0.747434
v -0.770554 -0.000300 0.721989
v -0.791010 -0.000300 0.694408
v -0.808665 -0.000300 0.664953
v -0.823347 -0.000300 0.633909
v -0.834916 -0.000300 0.601577
v -0.843261 -0.000300 0.568265
v -0.848299 -0.000300 0.534297
v -0.849985 -0.000300 0.499998
v -0.848299 -0.000300 0.465699
v -0.843261 -0.000300 0.431731
v -0.834916 -0.000300 0.398420
v -0.823347 -0.000300 0.366087
v -0.808664 -0.000300 0.335044
v -0.791011 -0.000300 0.305589
v -0.770553 -0.000300 0.278006
vt 0.940031 0.055688
vt 0.717099 0.278667
vt 0.694640 0.258312
vt 0.497508 0.058465
vt 0.939107 0.058465
vt 0.497508 0.941133
vt 0.500869 0.055688
vt 0.942468 0.055688
vt 0.500869 0.938356
vt 0.496080 0.055688
vt 0.937679 0.055688
vt 0.937679 0.938356
vt 0.938019 0.941132
vt 0.496420 0.941132
vt 0.938019 0.058465
vt 0.392247 0.172892
vt 0.497155 0.172892
vt 0.497155 0.605592
vt 0.331629 0.609419
vt 0.224036 0.609419
vt 0.224036 0.176718
vt 0.399788 0.883741
vt 0.399788 0.787752
vt 0.836455 0.787752
vt 0.163410 0.604376
vt 0.061174 0.604376
vt 0.061174 0.171676
vt 0.219623 0.775419
vt 0.113793 0.775419
vt 0.113793 0.669971
vt 0.399672 0.883772
vt 0.399672 0.787838
vt 0.836339 0.787838
vt 0.331677 0.609611
vt 0.224085 0.609611
vt 0.224085 0.176911
vt 0.392259 0.172990
vt 0.497108 0.172990
vt 0.497108 0.605691
vt 0.162384 0.605836
vt 0.060148 0.605836
vt 0.060148 0.173135
vt 0.219442 0.669825
vt 0.219442 0.775594
vt 0.113995 0.775594
vt 0.836123 0.788016
vt 0.836123 0.883951
vt 0.399457 0.883951
vt 0.331800 0.609783
vt 0.223909 0.609784
vt 0.223909 0.177083
vt 0.162410 0.606003
vt 0.059863 0.606003
vt 0.059863 0.173302
vt 0.497126 0.605505
vt 0.392307 0.605505
vt 0.392307 0.172805
vt 0.113843 0.775597
vt 0.113843 0.669827
vt 0.219583 0.669827
vt 0.836111 0.787797
vt 0.836111 0.883786
vt 0.399444 0.883786
vt 0.162557 0.605756
vt 0.060038 0.605756
vt 0.060038 0.173055
vt 0.331880 0.609442
vt 0.223897 0.609442
vt 0.223897 0.176741
vt 0.392316 0.173059
vt 0.497136 0.173059
vt 0.497136 0.605759
vt 0.113840 0.775623
vt 0.113840 0.669793
vt 0.219579 0.669794
vt 0.940033 0.938365
vt 0.717148 0.715482
vt 0.737508 0.693018
vt 0.259888 0.301043
vt 0.057365 0.055697
vt 0.280249 0.278580
vt 0.609582 0.066441
vt 0.636315 0.066441
vt 0.609647 0.480055
vt 0.302750 0.735831
vt 0.057363 0.938356
vt 0.280292 0.715476
vt 0.663862 0.066440
vt 0.636378 0.480054
vt 0.583911 0.066442
vt 0.583982 0.480056
vt 0.559554 0.066444
vt 0.559631 0.480057
vt 0.691948 0.066440
vt 0.663917 0.480053
vt 0.720312 0.066439
vt 0.691999 0.480053
vt 0.748675 0.066440
vt 0.720357 0.480053
vt 0.776763 0.066440
vt 0.748713 0.480053
vt 0.804313 0.066441
vt 0.776795 0.480053
vt 0.831043 0.066442
vt 0.804334 0.480054
vt 0.856714 0.066443
vt 0.831065 0.480055
vt 0.881071 0.066445
vt 0.856730 0.480057
vt 0.903878 0.066447
vt 0.881079 0.480058
vt 0.924918 0.066449
vt 0.903884 0.480060
vt 0.929426 0.070900
vt 0.929426 0.091940
vt 0.515814 0.070940
vt 0.929428 0.114746
vt 0.515814 0.091976
vt 0.929428 0.139100
vt 0.515816 0.114779
vt 0.929428 0.164773
vt 0.515816 0.139130
vt 0.929428 0.191509
vt 0.515816 0.164795
vt 0.929428 0.219054
vt 0.515816 0.191525
vt 0.929428 0.247142
vt 0.515816 0.219064
vt 0.929428 0.275504
vt 0.515816 0.247147
vt 0.929428 0.303867
vt 0.515816 0.303859
vt 0.929428 0.331955
vt 0.515816 0.331941
vt 0.929428 0.359502
vt 0.515816 0.359481
vt 0.929428 0.386235
vt 0.515816 0.386211
vt 0.929428 0.411907
vt 0.515816 0.411876
vt 0.929428 0.436262
vt 0.515816 0.436227
vt 0.929426 0.459071
vt 0.515814 0.459030
vt 0.929426 0.480111
vt 0.515814 0.480066
vt 0.925039 0.480067
vt 0.904025 0.480074
vt 0.904025 0.066461
vt 0.881238 0.480081
vt 0.881243 0.066468
vt 0.856896 0.480086
vt 0.856908 0.066474
vt 0.831242 0.480091
vt 0.831259 0.066479
vt 0.798794 0.480097
vt 0.804540 0.066483
vt 0.776979 0.480098
vt 0.777009 0.066486
vt 0.748895 0.480100
vt 0.748931 0.066488
vt 0.720536 0.480101
vt 0.720577 0.066489
vt 0.692172 0.480101
vt 0.692219 0.066489
vt 0.664078 0.480099
vt 0.664131 0.066487
vt 0.636525 0.480097
vt 0.636584 0.066485
vt 0.609778 0.480094
vt 0.609843 0.066481
vt 0.584093 0.480089
vt 0.584165 0.066477
vt 0.559721 0.480084
vt 0.559796 0.066471
vt 0.536889 0.480078
vt 0.536973 0.066465
vt 0.515828 0.480071
vt 0.515915 0.066457
vt 0.515824 0.480059
vt 0.515820 0.459019
vt 0.929432 0.458979
vt 0.515816 0.436210
vt 0.929428 0.436175
vt 0.515814 0.411855
vt 0.929426 0.411825
vt 0.515812 0.386185
vt 0.929424 0.386160
vt 0.515810 0.359448
vt 0.929422 0.359429
vt 0.515808 0.331904
vt 0.929422 0.331890
vt 0.515808 0.303815
vt 0.929420 0.303808
vt 0.515808 0.275453
vt 0.929420 0.275452
vt 0.515808 0.247091
vt 0.515808 0.219002
vt 0.929420 0.247095
vt 0.515810 0.191458
vt 0.929422 0.219013
vt 0.515812 0.164721
vt 0.929422 0.191474
vt 0.515814 0.139051
vt 0.929424 0.164743
vt 0.515818 0.114697
vt 0.929426 0.139079
vt 0.515820 0.091888
vt 0.929428 0.114728
vt 0.515824 0.070848
vt 0.929432 0.091925
vt 0.515705 0.066448
vt 0.540478 0.066445
vt 0.536830 0.480059
vt 0.670294 0.240256
vt 0.644296 0.224674
vt 0.616894 0.211714
vt 0.588355 0.201502
vt 0.807633 0.497031
vt 0.940033 0.055696
vt 0.409035 0.792642
vt 0.438438 0.800007
vt 0.558953 0.194137
vt 0.528970 0.189690
vt 0.498696 0.188203
vt 0.057363 0.055688
vt 0.468421 0.189690
vt 0.438438 0.194138
vt 0.409035 0.201502
vt 0.380496 0.211713
vt 0.353096 0.224673
vt 0.327097 0.240256
vt 0.259935 0.693016
vt 0.241880 0.668670
vt 0.302751 0.258311
vt 0.280292 0.278667
vt 0.259936 0.301127
vt 0.241880 0.325473
vt 0.226297 0.351471
vt 0.213337 0.378871
vt 0.203126 0.407411
vt 0.807565 0.497072
vt 0.940031 0.938356
vt 0.226296 0.642672
vt 0.189825 0.497071
vt 0.213337 0.615271
vt 0.195760 0.436814
vt 0.191313 0.466796
vt 0.203126 0.586732
vt 0.195760 0.557329
vt 0.191313 0.527346
vt 0.942468 0.938356
vt 0.496420 0.058465
vt 0.496080 0.938356
vt 0.515816 0.275503
vt 0.392247 0.605592
vt 0.331629 0.176718
vt 0.836455 0.883741
vt 0.163410 0.171676
vt 0.219623 0.669971
vt 0.836339 0.883772
vt 0.331677 0.176911
vt 0.392259 0.605691
vt 0.162384 0.173135
vt 0.113995 0.669825
vt 0.399457 0.788016
vt 0.331800 0.177083
vt 0.162410 0.173303
vt 0.497126 0.172805
vt 0.219583 0.775597
vt 0.399444 0.787797
vt 0.162557 0.173055
vt 0.331880 0.176741
vt 0.392316 0.605759
vt 0.219579 0.775623
vt 0.755569 0.668668
vt 0.771153 0.642662
vt 0.784116 0.615256
vt 0.794334 0.586715
vt 0.498699 0.188097
vt 0.801697 0.557301
vt 0.806146 0.527313
vt 0.806144 0.466748
vt 0.801697 0.436761
vt 0.794329 0.407351
vt 0.784119 0.378809
vt 0.771154 0.351401
vt 0.302713 0.258221
vt 0.755567 0.325396
vt 0.743361 0.305029
vt 0.717147 0.278580
vt 0.694684 0.258222
vt 0.670333 0.240161
vt 0.327064 0.240162
vt 0.644331 0.224577
vt 0.616922 0.211613
vt 0.588377 0.201400
vt 0.189764 0.497032
vt 0.057365 0.938365
vt 0.353068 0.224576
vt 0.409019 0.792663
vt 0.438428 0.800029
vt 0.380475 0.211613
vt 0.558969 0.194033
vt 0.528980 0.189585
vt 0.409020 0.201400
vt 0.438429 0.194033
vt 0.468418 0.189586
vt 0.241830 0.325397
vt 0.226244 0.351400
vt 0.213280 0.378807
vt 0.203067 0.407352
vt 0.195700 0.436760
vt 0.191252 0.466751
vt 0.191251 0.527311
vt 0.195700 0.557302
vt 0.199154 0.580596
vt 0.213280 0.615256
vt 0.226242 0.642661
vt 0.241829 0.668669
vt 0.694684 0.735840
vt 0.670334 0.753904
vt 0.259889 0.693020
vt 0.280248 0.715479
vt 0.302711 0.735839
vt 0.327064 0.753901
vt 0.353067 0.769487
vt 0.380475 0.782451
vt 0.498700 0.805966
vt 0.644333 0.769493
vt 0.616923 0.782451
vt 0.468417 0.804480
vt 0.588378 0.792664
vt 0.558969 0.800031
vt 0.528980 0.804480
vt 0.327096 0.753888
vt 0.353095 0.769470
vt 0.380496 0.782430
vt 0.939107 0.941133
vt 0.468421 0.804455
vt 0.498695 0.805942
vt 0.528970 0.804455
vt 0.558953 0.800007
vt 0.588356 0.792642
vt 0.616894 0.782430
vt 0.644296 0.769471
vt 0.670294 0.753887
vt 0.737454 0.301127
vt 0.694640 0.735831
vt 0.717100 0.715475
vt 0.737455 0.693016
vt 0.755511 0.668671
vt 0.755511 0.325472
vt 0.771094 0.642671
vt 0.784053 0.615271
vt 0.794266 0.586732
vt 0.771094 0.351471
vt 0.784053 0.378873
vt 0.801630 0.557329
vt 0.806078 0.527346
vt 0.794265 0.407411
vt 0.801630 0.436814
vt 0.806078 0.466797
vt 0.924918 0.480062
vt 0.925039 0.066453
vt 0.929436 0.480014
vt 0.929436 0.070889
vt 0.515794 0.480061
usemtl Material
s off
f 2/1 137/2 136/3
f 1/4 5/5 2/6
f 2/7 6/8 3/9
f 3/10 7/11 8/12
f 5/13 1/14 8/15
f 13/16 14/17 10/18
f 14/19 15/20 11/21
f 15/22 16/23 12/24
f 16/25 13/26 9/27
f 9/28 10/29 11/30
f 21/31 22/32 18/33
f 22/34 23/35 19/36
f 23/37 24/38 20/39
f 24/40 21/41 17/42
f 17/43 18/44 19/45
f 29/46 30/47 26/48
f 30/49 31/50 27/51
f 31/52 32/53 28/54
f 32/55 29/56 25/57
f 25/58 26/59 27/60
f 37/61 38/62 34/63
f 38/64 39/65 35/66
f 39/67 40/68 36/69
f 40/70 37/71 33/72
f 33/73 34/74 35/75
f 8/76 41/77 42/78
f 74/79 6/80 73/81
f 53/82 52/83 117/84
f 168/85 4/86 105/87
f 52/83 51/88 116/89
f 54/90 53/82 118/91
f 55/92 54/90 119/93
f 51/88 50/94 115/95
f 50/94 49/96 114/97
f 49/96 48/98 113/99
f 48/98 47/100 112/101
f 47/100 46/102 111/103
f 46/102 45/104 110/105
f 45/104 44/106 109/107
f 44/106 43/108 108/109
f 43/108 42/110 107/111
f 42/110 41/112 106/113
f 41/114 104/115 105/116
f 104/115 103/117 168/118
f 103/117 102/119 167/120
f 102/119 101/121 166/122
f 101/121 100/123 165/124
f 100/123 99/125 164/126
f 99/125 98/127 163/128
f 98/127 97/129 162/130
f 97/129 96/131 160/132
f 96/131 95/133 159/134
f 95/133 94/135 158/136
f 94/135 93/137 157/138
f 93/137 92/139 156/140
f 92/139 91/141 155/142
f 91/141 90/143 154/144
f 90/143 89/145 153/146
f 89/147 88/148 152/149
f 88/148 87/150 151/151
f 87/150 86/152 150/153
f 86/152 85/154 149/155
f 85/154 84/156 148/157
f 84/156 83/158 147/159
f 83/158 82/160 146/161
f 82/160 81/162 145/163
f 81/162 80/164 144/165
f 80/164 79/166 143/167
f 79/166 78/168 142/169
f 78/168 77/170 141/171
f 77/170 76/172 140/173
f 76/172 75/174 139/175
f 75/174 74/176 138/177
f 74/176 73/178 137/179
f 73/180 72/181 136/182
f 72/181 71/183 135/184
f 71/183 70/185 134/186
f 70/185 69/187 133/188
f 69/187 68/189 132/190
f 68/189 67/191 131/192
f 67/191 66/193 130/194
f 66/193 65/195 129/196
f 65/195 64/197 129/196
f 64/197 63/198 128/199
f 63/198 62/200 127/201
f 62/200 61/202 126/203
f 61/202 60/204 125/205
f 60/204 59/206 124/207
f 59/206 58/208 123/209
f 58/208 57/210 122/211
f 57/212 56/213 120/214
f 56/213 55/92 119/93
f 2/1 136/3 135/215
f 2/1 135/215 134/216
f 2/1 134/216 133/217
f 2/1 133/217 132/218
f 49/219 5/220 8/76
f 4/86 164/221 163/222
f 131/223 130/224 2/1
f 130/224 129/225 2/1
f 1/226 129/225 128/227
f 1/226 128/227 127/228
f 1/226 127/228 126/229
f 1/226 126/229 125/230
f 1/226 125/230 124/231
f 1/226 124/231 123/232
f 105/87 4/86 106/233
f 106/233 4/86 107/234
f 1/226 123/232 122/235
f 1/226 122/235 121/236
f 1/226 121/236 120/237
f 1/226 120/237 119/238
f 1/226 119/238 118/239
f 1/226 118/239 117/240
f 1/226 117/240 116/241
f 145/242 2/1 3/243
f 107/234 4/86 108/244
f 113/245 4/86 1/226
f 108/244 4/86 109/246
f 115/247 114/248 1/226
f 109/246 4/86 110/249
f 114/248 113/245 1/226
f 110/249 4/86 111/250
f 4/86 113/245 112/251
f 111/250 4/86 112/251
f 6/8 7/252 3/9
f 1/14 4/253 8/15
f 4/254 3/10 8/12
f 97/129 161/255 162/130
f 9/256 13/16 10/18
f 10/257 14/19 11/21
f 11/258 15/22 12/24
f 12/259 16/25 9/27
f 12/260 9/28 11/30
f 17/261 21/31 18/33
f 18/262 22/34 19/36
f 19/263 23/37 20/39
f 20/264 24/40 17/42
f 20/265 17/43 19/45
f 25/266 29/46 26/48
f 26/267 30/49 27/51
f 27/268 31/52 28/54
f 28/269 32/55 25/57
f 28/270 25/58 27/60
f 33/271 37/61 34/63
f 34/272 38/64 35/66
f 35/273 39/67 36/69
f 36/274 40/70 33/72
f 36/275 33/73 35/75
f 8/76 42/78 43/276
f 8/76 43/276 44/277
f 8/76 44/277 45/278
f 8/76 45/278 46/279
f 65/280 6/80 5/220
f 1/226 116/241 115/247
f 47/281 48/282 8/76
f 48/282 49/219 8/76
f 5/220 49/219 50/283
f 5/220 50/283 51/284
f 5/220 51/284 52/285
f 5/220 52/285 53/286
f 5/220 53/286 54/287
f 73/81 6/80 72/288
f 5/220 54/287 55/289
f 5/220 55/289 56/290
f 5/220 56/290 57/291
f 5/220 57/291 58/292
f 5/220 58/292 59/293
f 72/288 6/80 71/294
f 5/220 59/293 60/295
f 5/220 60/295 61/296
f 5/220 61/296 62/297
f 81/298 7/299 6/80
f 71/294 6/80 70/300
f 7/299 94/301 95/302
f 70/300 6/80 69/303
f 63/304 64/305 5/220
f 69/303 6/80 68/306
f 64/305 65/280 5/220
f 68/306 6/80 67/307
f 6/80 65/280 66/308
f 67/307 6/80 66/308
f 75/309 6/80 74/79
f 76/310 6/80 75/309
f 77/311 6/80 76/310
f 78/312 6/80 77/311
f 129/225 1/226 2/1
f 2/1 132/218 131/223
f 79/313 80/314 6/80
f 80/314 81/298 6/80
f 7/299 81/298 82/315
f 7/299 82/315 83/316
f 7/299 83/316 84/317
f 7/299 84/317 85/318
f 7/299 85/318 86/319
f 7/299 86/319 87/320
f 41/77 8/76 104/321
f 104/321 8/76 103/322
f 7/299 87/320 88/323
f 7/299 88/323 89/324
f 7/299 89/324 90/325
f 7/299 90/325 91/326
f 7/299 91/326 92/327
f 7/299 92/327 93/328
f 7/299 93/328 94/301
f 97/329 8/76 7/299
f 103/322 8/76 102/330
f 6/80 78/312 79/313
f 102/330 8/76 101/331
f 95/302 96/332 7/299
f 101/331 8/76 100/333
f 96/332 97/329 7/299
f 100/333 8/76 99/334
f 8/76 97/329 98/335
f 99/334 8/76 98/335
f 52/83 116/89 117/84
f 167/336 4/86 168/85
f 166/337 4/86 167/336
f 165/338 4/86 166/337
f 164/221 4/86 165/338
f 5/5 6/339 2/6
f 8/76 46/279 47/281
f 163/222 162/340 4/86
f 162/340 161/341 4/86
f 3/243 161/341 160/342
f 3/243 160/342 159/343
f 3/243 159/343 158/344
f 3/243 158/344 157/345
f 3/243 157/345 156/346
f 3/243 156/346 155/347
f 137/2 2/1 138/348
f 3/243 155/347 154/349
f 3/243 154/349 153/350
f 3/243 153/350 152/351
f 3/243 152/351 151/352
f 138/348 2/1 139/353
f 3/243 151/352 150/354
f 3/243 150/354 149/355
f 3/243 149/355 148/356
f 161/341 3/243 4/86
f 139/353 2/1 140/357
f 5/220 62/297 63/304
f 140/357 2/1 141/358
f 147/359 146/360 3/243
f 141/358 2/1 142/361
f 146/360 145/242 3/243
f 142/361 2/1 143/362
f 2/1 145/242 144/363
f 143/362 2/1 144/363
f 51/88 115/95 116/89
f 53/82 117/84 118/91
f 54/90 118/91 119/93
f 50/94 114/97 115/95
f 49/96 113/99 114/97
f 48/98 112/101 113/99
f 47/100 111/103 112/101
f 46/102 110/105 111/103
f 45/104 109/107 110/105
f 44/106 108/109 109/107
f 43/108 107/111 108/109
f 42/110 106/113 107/111
f 41/112 105/364 106/113
f 104/115 168/118 105/116
f 103/117 167/120 168/118
f 102/119 166/122 167/120
f 101/121 165/124 166/122
f 100/123 164/126 165/124
f 99/125 163/128 164/126
f 98/127 162/130 163/128
f 161/255 97/129 160/132
f 160/132 96/131 159/134
f 159/134 95/133 158/136
f 158/136 94/135 157/138
f 157/138 93/137 156/140
f 156/140 92/139 155/142
f 155/142 91/141 154/144
f 154/144 90/143 153/146
f 153/365 89/147 152/149
f 152/149 88/148 151/151
f 151/151 87/150 150/153
f 150/153 86/152 149/155
f 149/155 85/154 148/157
f 148/157 84/156 147/159
f 147/159 83/158 146/161
f 146/161 82/160 145/163
f 145/163 81/162 144/165
f 144/165 80/164 143/167
f 143/167 79/166 142/169
f 142/169 78/168 141/171
f 141/171 77/170 140/173
f 140/173 76/172 139/175
f 139/175 75/174 138/177
f 138/177 74/176 137/179
f 137/366 73/180 136/182
f 136/182 72/181 135/184
f 135/184 71/183 134/186
f 134/186 70/185 133/188
f 133/188 69/187 132/190
f 132/190 68/189 131/192
f 131/192 67/191 130/194
f 130/194 66/193 129/196
f 64/197 128/199 129/196
f 63/198 127/201 128/199
f 62/200 126/203 127/201
f 61/202 125/205 126/203
f 60/204 124/207 125/205
f 59/206 123/209 124/207
f 58/208 122/211 123/209
f 57/210 121/367 122/211
f 121/368 57/212 120/214
f 120/214 56/213 119/93
f 3/243 148/356 147/359

Binary file not shown.

Before

Width:  |  Height:  |  Size: 758 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,454 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: 'Lathe.blend'
# www.blender.org
mtllib Lathe.mtl
o Cube
v 0.300000 -0.500000 -0.500000
v 0.300000 -0.500000 0.500000
v -0.300000 -0.500000 0.500000
v -0.300000 -0.500000 -0.500000
v 0.300000 -0.350000 -0.500000
v 0.300008 -0.349810 0.500000
v -0.300000 -0.349810 0.500000
v -0.300000 -0.350000 -0.500000
v -0.100000 -0.350000 0.500000
v -0.100000 -0.350000 0.400000
v 0.100000 -0.350000 0.400000
v 0.100000 -0.350000 0.500000
v -0.100026 0.099832 0.500000
v -0.100026 0.099832 0.400000
v 0.100021 0.099916 0.400000
v 0.100021 0.099916 0.500000
v -0.300000 -0.349620 0.400000
v -0.200000 -0.349620 0.400000
v -0.200000 -0.349620 0.500000
v 0.300016 -0.349810 0.400000
v -0.099943 -0.093830 0.400000
v -0.099943 -0.093830 0.500000
v 0.200015 -0.349620 0.500000
v 0.200015 -0.349620 0.400000
v 0.099958 -0.094206 0.500000
v 0.099959 -0.094206 0.400000
v 0.300008 -0.349810 -0.400000
v -0.300000 -0.349810 -0.400000
v -0.100000 -0.350000 -0.400000
v -0.100000 -0.350000 -0.500000
v 0.100000 -0.350000 -0.500000
v 0.100000 -0.350000 -0.400000
v -0.100026 0.099832 -0.400000
v -0.100026 0.099832 -0.500000
v 0.100021 0.099916 -0.500000
v 0.100021 0.099916 -0.400000
v -0.300000 -0.349620 -0.500000
v -0.200000 -0.349620 -0.500000
v -0.200000 -0.349620 -0.400000
v 0.300016 -0.349810 -0.500000
v -0.099943 -0.093830 -0.500000
v -0.099943 -0.093830 -0.400000
v 0.200015 -0.349620 -0.400000
v 0.200015 -0.349620 -0.500000
v 0.099958 -0.094206 -0.400000
v 0.099959 -0.094206 -0.500000
v 0.000000 0.025030 -0.401515
v 0.000000 0.000030 -0.351515
v 0.004877 0.024550 -0.401515
v 0.009567 0.023127 -0.401515
v 0.013889 0.020817 -0.401515
v 0.017678 0.017708 -0.401515
v 0.020787 0.013920 -0.401515
v 0.023097 0.009597 -0.401515
v 0.024520 0.004908 -0.401515
v 0.025000 0.000030 -0.401515
v 0.024520 -0.004847 -0.401515
v 0.023097 -0.009537 -0.401515
v 0.020787 -0.013859 -0.401515
v 0.017678 -0.017647 -0.401515
v 0.013889 -0.020756 -0.401515
v 0.009567 -0.023067 -0.401515
v 0.004877 -0.024489 -0.401515
v -0.000000 -0.024970 -0.401515
v -0.004877 -0.024489 -0.401515
v -0.009567 -0.023067 -0.401515
v -0.013889 -0.020756 -0.401515
v -0.017678 -0.017647 -0.401515
v -0.020787 -0.013859 -0.401515
v -0.023097 -0.009537 -0.401515
v -0.024520 -0.004847 -0.401515
v -0.025000 0.000030 -0.401515
v -0.024520 0.004908 -0.401515
v -0.023097 0.009597 -0.401515
v -0.020787 0.013920 -0.401515
v -0.017678 0.017708 -0.401515
v -0.013889 0.020817 -0.401515
v -0.009567 0.023127 -0.401515
v -0.004877 0.024550 -0.401515
v 0.000000 -0.024970 0.399906
v 0.000000 0.000030 0.349906
v 0.004877 -0.024489 0.399906
v 0.009567 -0.023067 0.399906
v 0.013889 -0.020756 0.399906
v 0.017678 -0.017647 0.399906
v 0.020787 -0.013859 0.399906
v 0.023097 -0.009537 0.399906
v 0.024520 -0.004847 0.399906
v 0.025000 0.000030 0.399906
v 0.024520 0.004908 0.399906
v 0.023097 0.009597 0.399906
v 0.020787 0.013920 0.399906
v 0.017678 0.017708 0.399906
v 0.013889 0.020817 0.399906
v 0.009567 0.023127 0.399906
v 0.004877 0.024550 0.399906
v -0.000000 0.025030 0.399906
v -0.004877 0.024550 0.399906
v -0.009567 0.023127 0.399906
v -0.013889 0.020817 0.399906
v -0.017678 0.017708 0.399906
v -0.020787 0.013920 0.399906
v -0.023097 0.009597 0.399906
v -0.024520 0.004908 0.399906
v -0.025000 0.000030 0.399906
v -0.024520 -0.004847 0.399906
v -0.023097 -0.009537 0.399906
v -0.020787 -0.013859 0.399906
v -0.017678 -0.017647 0.399906
v -0.013889 -0.020756 0.399906
v -0.009567 -0.023067 0.399906
v -0.004877 -0.024489 0.399906
vt 0.055676 0.714997
vt 0.461276 0.714997
vt 0.461276 0.958356
vt 0.055692 0.552489
vt 0.299052 0.552489
vt 0.299052 0.958088
vt 0.114060 0.957260
vt 0.053221 0.957260
vt 0.114060 0.551660
vt 0.115416 0.959064
vt 0.054499 0.959067
vt 0.054499 0.715705
vt 0.460836 0.895972
vt 0.460836 0.956888
vt 0.055236 0.956811
vt 0.052378 0.551511
vt 0.113217 0.551511
vt 0.113217 0.794871
vt 0.859339 0.585140
vt 0.899899 0.585141
vt 0.899895 0.767589
vt 0.661978 0.664887
vt 0.661944 0.583749
vt 0.844429 0.583757
vt 0.845026 0.774095
vt 0.845026 0.814655
vt 0.662544 0.814655
vt 0.486804 0.726795
vt 0.486838 0.645656
vt 0.669290 0.726787
vt 0.909665 0.581237
vt 0.950225 0.581237
vt 0.950225 0.662375
vt 0.548284 0.492713
vt 0.507724 0.492713
vt 0.507724 0.389216
vt 0.473298 0.563268
vt 0.441283 0.491336
vt 0.473298 0.363638
vt 0.564494 0.312835
vt 0.605054 0.312836
vt 0.605054 0.495623
vt 0.718010 0.499445
vt 0.686049 0.427693
vt 0.718010 0.299918
vt 0.320646 0.359541
vt 0.361206 0.359540
vt 0.361206 0.462887
vt 0.626018 0.370422
vt 0.657969 0.298664
vt 0.657969 0.498262
vt 0.499580 0.305284
vt 0.499580 0.345843
vt 0.316677 0.345843
vt 0.383314 0.431490
vt 0.415330 0.359557
vt 0.415330 0.559189
vt 0.578705 0.620028
vt 0.619265 0.620029
vt 0.619260 0.802477
vt 0.567186 0.726456
vt 0.486047 0.726485
vt 0.486066 0.544000
vt 0.661298 0.919778
vt 0.661298 0.960338
vt 0.478816 0.960338
vt 0.471966 0.904627
vt 0.472000 0.823488
vt 0.654451 0.904618
vt 0.663484 0.824164
vt 0.704044 0.824164
vt 0.704044 0.905303
vt 0.776204 0.408123
vt 0.735644 0.408123
vt 0.735644 0.304626
vt 0.268701 0.584065
vt 0.236686 0.512132
vt 0.268701 0.384434
vt 0.786585 0.300233
vt 0.827145 0.300234
vt 0.827145 0.483021
vt 0.877302 0.507559
vt 0.845340 0.435807
vt 0.877302 0.308032
vt 0.112333 0.367587
vt 0.152893 0.367586
vt 0.152893 0.470932
vt 0.904211 0.384370
vt 0.936161 0.312612
vt 0.936161 0.512210
vt 0.297240 0.314405
vt 0.297240 0.354964
vt 0.114337 0.354964
vt 0.175259 0.446991
vt 0.207276 0.375058
vt 0.207276 0.574690
vt 0.156980 0.160958
vt 0.167397 0.143132
vt 0.158773 0.161592
vt 0.160638 0.162252
vt 0.162503 0.162912
vt 0.155327 0.160374
vt 0.153878 0.159862
vt 0.195957 0.092430
vt 0.208013 0.109667
vt 0.194503 0.092948
vt 0.197614 0.091841
vt 0.199410 0.091202
vt 0.201275 0.090539
vt 0.203137 0.089876
vt 0.204926 0.089240
vt 0.206573 0.088655
vt 0.208013 0.088142
vt 0.165949 0.102060
vt 0.167397 0.081062
vt 0.167397 0.102572
vt 0.164296 0.101476
vt 0.162503 0.100841
vt 0.160637 0.100182
vt 0.158772 0.099523
vt 0.156979 0.098889
vt 0.155326 0.098304
vt 0.153878 0.097792
vt 0.119347 0.144805
vt 0.131433 0.162054
vt 0.117905 0.145312
vt 0.120995 0.144226
vt 0.122787 0.143597
vt 0.124652 0.142941
vt 0.126519 0.142285
vt 0.128317 0.141653
vt 0.129977 0.141070
vt 0.131434 0.140558
vt 0.165949 0.164130
vt 0.167397 0.164642
vt 0.164296 0.163546
vt 0.121015 0.096315
vt 0.131434 0.078488
vt 0.122808 0.096949
vt 0.124674 0.097608
vt 0.126539 0.098268
vt 0.119362 0.095730
vt 0.117914 0.095218
vt 0.091519 0.113912
vt 0.103606 0.131160
vt 0.090077 0.114419
vt 0.093168 0.113333
vt 0.094959 0.112703
vt 0.096824 0.112048
vt 0.098692 0.111392
vt 0.100490 0.110760
vt 0.102149 0.110177
vt 0.103606 0.109665
vt 0.181574 0.134317
vt 0.183023 0.113319
vt 0.183023 0.134829
vt 0.179921 0.133732
vt 0.178127 0.133098
vt 0.176262 0.132439
vt 0.174397 0.131780
vt 0.172604 0.131146
vt 0.170951 0.130561
vt 0.169503 0.130049
vt 0.195957 0.154516
vt 0.208013 0.171752
vt 0.194503 0.155033
vt 0.197615 0.153926
vt 0.199410 0.153288
vt 0.201275 0.152624
vt 0.203138 0.151962
vt 0.204926 0.151325
vt 0.206573 0.150740
vt 0.208013 0.150227
vt 0.129985 0.099486
vt 0.131434 0.099998
vt 0.128332 0.098902
vt 0.055676 0.958356
vt 0.055689 0.958088
vt 0.053144 0.551660
vt 0.115416 0.715705
vt 0.055236 0.895972
vt 0.052378 0.794871
vt 0.859335 0.767588
vt 0.844429 0.664877
vt 0.662544 0.774095
vt 0.669290 0.645667
vt 0.909665 0.662375
vt 0.548284 0.389216
vt 0.436271 0.380188
vt 0.564494 0.495699
vt 0.680953 0.316406
vt 0.320646 0.462888
vt 0.620940 0.481709
vt 0.316677 0.305283
vt 0.378301 0.542638
vt 0.578701 0.802476
vt 0.567186 0.544004
vt 0.478816 0.919778
vt 0.654451 0.823498
vt 0.663484 0.905303
vt 0.776204 0.304626
vt 0.231675 0.400984
vt 0.786585 0.483098
vt 0.840244 0.324520
vt 0.112333 0.470933
vt 0.899132 0.495657
vt 0.114337 0.314404
vt 0.170246 0.558139
usemtl Material
s off
f 1/1 2/2 3/3
f 5/4 8/5 7/6
f 1/7 5/8 2/9
f 2/10 6/11 7/12
f 3/13 7/14 8/15
f 5/16 1/17 4/18
f 13/19 14/20 10/21
f 14/22 15/23 11/24
f 15/25 16/26 12/27
f 16/28 13/29 12/30
f 16/31 15/32 14/33
f 21/34 22/35 19/36
f 16/37 25/38 6/39
f 13/40 14/41 17/42
f 14/43 21/44 17/45
f 25/46 26/47 24/48
f 22/49 13/50 7/51
f 15/52 16/53 6/54
f 26/55 15/56 20/57
f 33/58 34/59 30/60
f 34/61 35/62 31/63
f 35/64 36/65 32/66
f 36/67 33/68 32/69
f 36/70 35/71 34/72
f 41/73 42/74 39/75
f 36/76 45/77 27/78
f 33/79 34/80 37/81
f 34/82 41/83 37/84
f 45/85 46/86 44/87
f 42/88 33/89 28/90
f 35/91 36/92 27/93
f 46/94 35/95 40/96
f 78/97 48/98 79/99
f 47/100 48/98 49/101
f 77/102 48/98 78/97
f 76/103 48/98 77/102
f 75/104 48/105 76/106
f 74/107 48/105 75/104
f 73/108 48/105 74/107
f 72/109 48/105 73/108
f 71/110 48/105 72/109
f 70/111 48/105 71/110
f 69/112 48/105 70/111
f 68/113 48/105 69/112
f 67/114 48/115 68/116
f 66/117 48/115 67/114
f 65/118 48/115 66/117
f 64/119 48/115 65/118
f 63/120 48/115 64/119
f 62/121 48/115 63/120
f 61/122 48/115 62/121
f 60/123 48/115 61/122
f 59/124 48/125 60/126
f 58/127 48/125 59/124
f 57/128 48/125 58/127
f 56/129 48/125 57/128
f 55/130 48/125 56/129
f 54/131 48/125 55/130
f 53/132 48/125 54/131
f 52/133 48/125 53/132
f 51/134 48/98 52/135
f 50/136 48/98 51/134
f 79/99 48/98 47/100
f 49/101 48/98 50/136
f 111/137 81/138 112/139
f 80/140 81/138 82/141
f 110/142 81/138 111/137
f 109/143 81/138 110/142
f 108/144 81/145 109/146
f 107/147 81/145 108/144
f 106/148 81/145 107/147
f 105/149 81/145 106/148
f 104/150 81/145 105/149
f 103/151 81/145 104/150
f 102/152 81/145 103/151
f 101/153 81/145 102/152
f 100/154 81/155 101/156
f 99/157 81/155 100/154
f 98/158 81/155 99/157
f 97/159 81/155 98/158
f 96/160 81/155 97/159
f 95/161 81/155 96/160
f 94/162 81/155 95/161
f 93/163 81/155 94/162
f 92/164 81/165 93/166
f 91/167 81/165 92/164
f 90/168 81/165 91/167
f 89/169 81/165 90/168
f 88/170 81/165 89/169
f 87/171 81/165 88/170
f 86/172 81/165 87/171
f 85/173 81/165 86/172
f 84/174 81/138 85/175
f 83/176 81/138 84/174
f 112/139 81/138 80/140
f 82/141 81/138 83/176
f 4/177 1/1 3/3
f 6/178 5/4 7/6
f 5/8 6/179 2/9
f 3/180 2/10 7/12
f 4/181 3/13 8/15
f 8/182 5/16 4/18
f 9/183 13/19 10/21
f 10/184 14/22 11/24
f 11/185 15/25 12/27
f 13/29 9/186 12/30
f 13/187 16/31 14/33
f 18/188 21/34 19/36
f 25/38 23/189 6/39
f 7/190 13/40 17/42
f 21/44 18/191 17/45
f 23/192 25/46 24/48
f 19/193 22/49 7/51
f 20/194 15/52 6/54
f 24/195 26/55 20/57
f 29/196 33/58 30/60
f 30/197 34/61 31/63
f 31/198 35/64 32/66
f 33/68 29/199 32/69
f 33/200 36/70 34/72
f 38/201 41/73 39/75
f 45/77 43/202 27/78
f 28/203 33/79 37/81
f 41/83 38/204 37/84
f 43/205 45/85 44/87
f 39/206 42/88 28/90
f 40/207 35/91 27/93
f 44/208 46/94 40/96

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,28 +0,0 @@
This is Forge Mod Loader.
You can find the source code at all times at https://github.com/MinecraftForge/FML
This minecraft mod is a clean open source implementation of a mod loader for minecraft servers
and minecraft clients.
The code is authored by cpw.
It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
http://www.minecraftforum.net/topic/75440-
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.
It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
http://www.minecraftforge.net/
Additionally, it contains an implementation of topological sort based on that
published at http://keithschwarz.com/interesting/code/?dir=topological-sort
It also contains code from the Maven project for performing versioned dependency
resolution. http://maven.apache.org/
It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/
with credit to it's authors.
Forge Mod Loader downloads components from the Minecraft Coder Pack
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team.

View File

@@ -1,491 +0,0 @@
This minecraft mod, Forge Mod Loader, including all parts herein except as noted below,
is licensed under the GNU LGPL v2.1 or later.
Homepage: https://github.com/MinecraftForge/FML
This software includes portions from the Apache Maven project at
http://maven.apache.org/ specifically the ComparableVersion.java code. It is
included based on guidelines at
http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
with notices intact. The only change is a non-functional change of package name.
This software contains a partial repackaging of javaxdelta, a BSD licensed program for generating
binary differences and applying them, sourced from the subversion at http://sourceforge.net/projects/javaxdelta/
authored by genman, heikok, pivot.
The only changes are to replace some Trove collection types with standard Java collections, and repackaged.
=== MCP Data ===
This software includes data from the Minecraft Coder Pack (MCP), with kind permission
from them. The license to MCP data is not transitive - distribution of this data by
third parties requires independent licensing from the MCP team. This data is not
redistributable without permission from the MCP team.
=== Sharing ===
I grant permission for some parts of FML to be redistributed outside the terms of the LGPL, for the benefit of
the minecraft modding community. All contributions to these parts should be licensed under the same additional grant.
-- Runtime patcher --
License is granted to redistribute the runtime patcher code (common/cpw/mods/fml/patcher and subdirectories) under
any alternative open source license as classified by the OSI (http://opensource.org/licenses)
-- ASM transformers --
License is granted to redistribute the ASM transformer code (common/cpw/mods/fml/common/asm/ and subdirectories)
under any alternative open source license as classified by the OSI (http://opensource.org/licenses)
========
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS

View File

@@ -1,26 +0,0 @@
* Eloraam *
* FlowerChild *
* Hawkye *
* MALfunction84 *
Submitted the sleep handler code for his mod (Somnia) and others to use.
* Scokeev9 *
Gave permission for ScotTools API to be integrated into MCF, and also supported the Forge by converting his mods to use it.
ScotTools Background: ScotTools was an API that enabled modders to add blocks to harvesting levels (and many other ease-of-use features to create new tools), and the first tool API that used block material for block breaking efficiency which allowed blocks from mods that didn't use ScotTools API to break with the correct speed.
* SpaceToad *
* LexManos *
* cpw *
* Minecraft Coder Pack (MCP) *
Forge Mod Loader and Minecraft Forge have permission to distribute and automatically download components of MCP and distribute MCP data files.
This permission is not transitive and others wishing to redistribute the Minecraft Forge source independently should seek permission of MCP or
remove the MCP data files and request their users to download MCP separately.

View File

@@ -1,70 +0,0 @@
Minecraft Forge Public Licence
==============================
Version 1.0
0. Definitions
--------------
Minecraft: Denotes a copy of the Minecraft game licensed by Mojang AB
User: Anybody that interract with the software in one of the following ways:
- play
- decompile
- recompile or compile
- modify
Minecraft Forge: The Minecraft Forge code, in source form, class file form, as
obtained in a standalone fashion or as part of a wider distribution.
Dependency: Code required to have Minecraft Forge working properly. That can
include dependencies required to compile the code as well as modifications in
the Minecraft sources that are required to have Minecraft Forge working.
1. Scope
--------
The present license is granted to any user of Minecraft Forge, for all files included
unless stated otherwise in the file itself. As a prerequisite, a user of Minecraft
Forge must own a legally aquired copy of Minecraft.
2. Play rights
--------------
The user of Minecraft Forge is allowed to install the software on a client or
a server and to play it without restriction.
3. Modification rights
----------------------
The user has the right to decompile the source code, look at either the
decompiled version or the original source code, and to modify it.
4. Derivation rights
--------------------
The user has the rights to derive code from Minecraft Forge, that is to say to
write code that either extends Minecraft Forge class and interfaces,
instantiate the objects declared or calls the functions. This code is known as
"derived" code, and can be licensed with conditions different from Minecraft
Forge.
5. Distribution rights
----------------------
The user of Minecraft Forge is allowed to redistribute Minecraft Forge in
partially, in totallity, or included in a distribution. When distributing
binaries or class files, the user must provide means to obtain the sources of
the distributed version of Minecraft Forge at no costs. This includes the
files as well as any dependency that the code may rely on, including patches to
minecraft original sources.
Modification of Minecraft Forge as well as dependencies, including patches to
minecraft original sources, has to remain under the terms of the present
license.
The right to distribute Minecraft Forge does not extend to the right to distribute
MCP data files included within Minecraft Forge. These are the property of the MCP
project and should be removed from any customized distribution of Minecraft Forge
or permission sought separately from the MCP team.

13
PrimalEnergy.iml Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="PrimalEnergy" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="nmd.primal.energy" external.system.module.version="0.0.1" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/out" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# Primal-Submod
Sample Primal Child Mod

View File

@@ -1,37 +0,0 @@
-------------------------------------------
Source installation information for modders
-------------------------------------------
This code follows the Minecraft Forge installation methodology. It will apply
some small patches to the vanilla MCP source code, giving you and it access
to some of the data and functions you need to build a successful mod.
Note also that the patches are built against "unrenamed" MCP source code (aka
srgnames) - this means that you will not be able to read them directly against
normal code.
Source pack installation information:
Standalone source installation
==============================
To install this source code for development purposes, extract this zip file.
It ships with a demonstration mod. Run 'gradlew setupDevWorkspace' to create
a gradle environment primed with FML. Run 'gradlew eclipse' or 'gradlew idea' to
create an IDE workspace of your choice.
Refer to ForgeGradle for more information about the gradle environment
Note: On macs or linux you run the './gradlew.sh' instead of 'gradlew'
Forge source installation
=========================
MinecraftForge ships with this code and installs it as part of the forge
installation process, no further action is required on your part.
For reference this is version @MAJOR@.@MINOR@.@REV@.@BUILD@ of FML
for Minecraft version @MCVERSION@.
LexManos' Install Video
=======================
https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be
For more details update more often refer to the Forge Forums:
http://www.minecraftforge.net/forum/index.php/topic,14048.0.html

View File

@@ -1,63 +1,87 @@
buildscript {
repositories {
mavenCentral()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}
apply plugin: 'forge'
version = "1.0"
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"
minecraft {
version = "1.7.10-10.13.4.1448-1.7.10"
runDir = "eclipse"
}
dependencies {
// you may put jars on which you depend on in ./libs
// or you may define them like so..
//compile "some.group:artifact:version:classifier"
//compile "some.group:artifact:version"
// real examples
//compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
//compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// for more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
processResources
{
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
buildscript {
repositories {
jcenter()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
repositories {
maven {
name = "primal"
url "https://maven.nmd.so"
}
maven {
name = "jei"
url "http://dvs1.progwml6.com/files/maven"
}
maven {
name "CraftTweaker"
url "http://maven.blamejared.com/"
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'java'
compileJava {
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
}
group = "${mod_group}"
version = "${mod_version}"
archivesBaseName = "${mod_name}"
idea { module { inheritOutputDirs = true } }
minecraft {
version = "${mc_version}" + "-" + "${forge_version}"
runDir = "run"
mappings = "${mcp_mappings}"
// JEI
useDepAts = true
// Replace
replace "@VERSION@", project.mod_version
}
dependencies {
// PrimalCore
deobfCompile "nmd.primal.core:PrimalCore:${mc_version}-${primal_version}:dev"
// JEI
//runtime "mezz.jei:jei_${mc_version}:${jei_version}"
deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}:api"
// CraftTweaker
//compile "CraftTweaker2:CraftTweaker2-MC1120-Main:${craftweaker_version}"
//compile "CraftTweaker2:CraftTweaker2-API:${craftweaker_version}"
}
processResources {
// this will ensure that this task is redone when the versions change.
inputs.property "version", "${mod_version}"
inputs.property "mcversion", "${mc_version}"
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version':"${mod_version}", 'mcversion':"${mc_version}"
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
// end //

View File

@@ -0,0 +1,16 @@
[
{
"modid": "examplemod",
"name": "Example PrimalCore Sub-Mod",
"description": "Example placeholder mod.",
"version": "${version}",
"mcversion": "${mcversion}",
"url": "",
"updateUrl": "",
"authorList": ["ExampleDude"],
"credits": "The Forge and FML guys, for making this example",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]

View File

@@ -0,0 +1,7 @@
{
"pack": {
"description": "examplemod resources",
"pack_format": 3,
"_comment": "A pack_format of 3 should be used starting with Minecraft 1.11. All resources, including language files, should be lowercase (eg: en_us.assets.sample.lang). A pack_format of 2 will load your mod resources with LegacyV2Adapter, which requires language files to have uppercase letters (eg: en_US.assets.sample.lang)."
}
}

File diff suppressed because it is too large Load Diff

19
gradle.properties Normal file
View File

@@ -0,0 +1,19 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
#org.gradle.daemon=true
org.gradle.jvmargs=-Xmx3G
mod_group=nmd.primal.energy
mod_name=Primal Energy
mod_version=0.0.1
mod_build=1
forge_version=14.23.4.2744
mcp_mappings=snapshot_20171003
mc_version=1.12.2
primal_version=0.6+
jei_version=4.12+
waila_version=1.7.0-B3
apple_version=2.1+
craftweaker_version=4.1.6.465

View File

@@ -1,96 +0,0 @@
invertYMouse:false
mouseSensitivity:0.5
fov:0.0
gamma:0.0
saturation:0.0
renderDistance:12
guiScale:0
particles:0
bobView:true
anaglyph3d:false
advancedOpengl:false
maxFps:120
fboEnable:true
difficulty:2
fancyGraphics:true
ao:2
clouds:true
resourcePacks:[]
lastServer:
lang:en_US
chatVisibility:0
chatColors:true
chatLinks:true
chatLinksPrompt:true
chatOpacity:1.0
snooperEnabled:true
fullscreen:false
enableVsync:true
hideServerAddress:false
advancedItemTooltips:false
pauseOnLostFocus:true
showCape:true
touchscreen:false
overrideWidth:0
overrideHeight:0
heldItemTooltips:true
chatHeightFocused:1.0
chatHeightUnfocused:0.44366196
chatScale:1.0
chatWidth:1.0
showInventoryAchievementHint:false
mipmapLevels:4
anisotropicFiltering:1
streamBytesPerPixel:0.5
streamMicVolume:1.0
streamSystemVolume:1.0
streamKbps:0.5412844
streamFps:0.31690142
streamCompression:1
streamSendMetadata:true
streamPreferredServer:
streamChatEnabled:0
streamChatUserFilter:0
streamMicToggleBehavior:0
forceUnicodeFont:false
key_key.attack:-100
key_key.use:-99
key_key.forward:17
key_key.left:30
key_key.back:31
key_key.right:32
key_key.jump:57
key_key.sneak:42
key_key.drop:16
key_key.inventory:18
key_key.chat:20
key_key.playerlist:15
key_key.pickItem:-98
key_key.command:53
key_key.screenshot:60
key_key.togglePerspective:63
key_key.smoothCamera:0
key_key.sprint:29
key_key.streamStartStop:64
key_key.streamPauseUnpause:65
key_key.streamCommercial:0
key_key.streamToggleMic:0
key_key.fullscreen:87
key_key.hotbar.1:2
key_key.hotbar.2:3
key_key.hotbar.3:4
key_key.hotbar.4:5
key_key.hotbar.5:6
key_key.hotbar.6:7
key_key.hotbar.7:8
key_key.hotbar.8:9
key_key.hotbar.9:10
soundCategory_master:1.0
soundCategory_music:1.0
soundCategory_record:1.0
soundCategory_weather:1.0
soundCategory_block:1.0
soundCategory_hostile:1.0
soundCategory_neutral:1.0
soundCategory_player:1.0
soundCategory_ambient:1.0

View File

@@ -1,52 +0,0 @@
package nmd.primal.energy;
import nmd.primal.energy.common.CommonProxy;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.crafting.CraftingHandler;
import nmd.primal.energy.item.ModItems;
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.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = ModInfo.MOD_ID, name = ModInfo.MOD_NAME, version = ModInfo.MOD_VERSION)
public class Energy {
@SidedProxy(clientSide = ModInfo.CLIENT_PROXY, serverSide = ModInfo.COMMON_PROXY)
public static CommonProxy proxy;
@Instance
public static Energy instance = new Energy();
@EventHandler
public void preinit(FMLPreInitializationEvent event) {
Energy.proxy.preInit(event);
ModItems.registerItems();
// some example code
// System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
}
@EventHandler
public void init(FMLInitializationEvent event) {
Energy.proxy.init(event);
FMLCommonHandler.instance().bus().register(new CraftingHandler());
// some example code
// System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
Energy.proxy.postInit(event);
System.out.println("U want some Body Massage?");
// RenderingRegistry.registerEntityRenderingHandler(EntityShit.class,
// new RenderSnowball(ModItems.itemShit));
}
}

View File

@@ -0,0 +1,74 @@
package nmd.primal.energy.api;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
public class PrimalEnergyAPI {
// ***************************************************************************** //
// Blocks
// ***************************************************************************** //
public static class Blocks
{
public static Block TEST_BLOCK;
}
// ***************************************************************************** //
// Items
// ***************************************************************************** //
public static class Items
{
public static Item TEST_ITEM;
}
public static class Fluids
{
//public static Fluid ANOINTING_OIL;
}
public static class ToolMaterials
{
//public static Item.ToolMaterial TOOL_QUARTZ_IGNIS = EnumHelper.addToolMaterial("quartz_ignis", 2, 900, 6.0F, 6.0F, 20);
}
// ***************************************************************************** //
// Potions
// ***************************************************************************** //
public static class Potions
{
//public static PrimalPotion PORPHYRIA;
}
// ***************************************************************************** //
// Sounds
// ***************************************************************************** //
public static class Sounds
{
//public static SoundType CRYSTAL;
}
// ***************************************************************************** //
// Particles
// ***************************************************************************** //
public enum Particles
{
//MOON_PEARL
}
// ***************************************************************************** //
// Registries
// ***************************************************************************** //
public static class Registries
{
//public static final IForgeRegistry<GallagherRecipe> GALLAGHER_RECIPES = GameRegistry.findRegistry(GallagherRecipe.class);
}
// ***************************************************************************** //
// ..
// ***************************************************************************** //
}

View File

@@ -1,158 +0,0 @@
package nmd.primal.energy.block;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
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.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import nmd.primal.energy.block.grinder.CrankGrinder;
import nmd.primal.energy.block.lathe.LatheBase;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.render.RenderID;
import nmd.primal.energy.tileents.TileEntCrank;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
import nmd.primal.energy.util.CustomTab;
import nmd.primal.energy.util.EnergyUtil;
public class CrankBlock extends Block implements ITileEntityProvider{
protected CrankBlock(String unlocalizedName, Material mat) {
super(mat);
this.setBlockName(unlocalizedName);
this.setBlockTextureName(ModInfo.MOD_ID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.NMDEnergyTab);
this.setHardness(1.0F);
this.setResistance(6.0F);
this.setStepSound(soundTypeStone);
}
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
if(!world.isRemote){
//System.out.println(world.getBlockMetadata(x, y, z));
TileEntCrank tile = (TileEntCrank) world.getTileEntity(x, y, z);
if(tile.isPowered == false){
tile.isPowered = true;
/*if(tile.getBlockMetadata()==0){
if(world.getBlock(x, y+1, z) instanceof LatheBase){
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x, y+1, z);
tileLathe.isPowered=true;
tileLathe.power+=100;
tileLathe.markDirty();
tileLathe.markForUpdate();
}
}*/
if(tile.getBlockMetadata()==1){
if(world.getBlock(x, y-1, z) instanceof CrankGrinder){
TileEntCrankGrinder tileGrinder = (TileEntCrankGrinder) world.getTileEntity(x, y-1, z);
if(tileGrinder.getStackInSlot(1)!=null){
tileGrinder.isPowered=true;
tileGrinder.power+=15;
tileGrinder.workCount+=20;
tileGrinder.getStackInSlot(1).setItemDamage(tileGrinder.getStackInSlot(1).getItemDamage()+1);
}
tileGrinder.markDirty();
tileGrinder.markForUpdate();
}
}
if(tile.getBlockMetadata()==2){
if(world.getBlock(x, y, z+1) instanceof LatheBase){
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x, y, z+1);
tileLathe.isPowered=true;
tileLathe.power+=20;
tileLathe.markDirty();
tileLathe.markForUpdate();
}
}
/*if(tile.getBlockMetadata()==3){
if(world.getBlock(x, y, z-1) instanceof LatheBase){
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x, y, z-1);
tileLathe.isPowered=true;
tileLathe.power+=100;
tileLathe.markDirty();
tileLathe.markForUpdate();
}
}*/
if(tile.getBlockMetadata()==4){
if(world.getBlock(x+1, y, z) instanceof LatheBase){
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x+1, y, z);
tileLathe.isPowered=true;
tileLathe.power+=20;
tileLathe.markDirty();
tileLathe.markForUpdate();
}
}
/*if(tile.getBlockMetadata()==5){
if(world.getBlock(x-1, y, z) instanceof LatheBase){
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x-1, y, z);
tileLathe.isPowered=true;
tileLathe.power+=100;
tileLathe.markDirty();
tileLathe.markForUpdate();
}
}*/
tile.markDirty();
tile.markForUpdate();
return true;
}
}
return false;
}
@Override
public TileEntity createNewTileEntity(World world, int i) {
return new TileEntCrank("tileEntCrack");
}
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack)
{
int l = EnergyUtil.determineOrientationComplex(world, x, y, z, player);
//System.out.println(l);
world.setBlockMetadataWithNotify(x, y, z, l, 2);
//}
}
public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z){
int p = access.getBlockMetadata(x, y, z);
if(p==0){
this.setBlockBounds(0.2F, 0.5F, 0.2F, 0.8F, 1.0F, 0.8F);
}
if(p==1){
this.setBlockBounds(0.2F, 0.0F, 0.2F, 0.8F, 0.5F, 0.8F);
}
if(p==2){
this.setBlockBounds(0.2F, 0.2F, 0.5F, 0.8F, 0.8F, 1.0F);
}
if(p==3){
this.setBlockBounds(0.2F, 0.2F, 0.0F, 0.8F, 0.8F, 0.5F);
}
if(p==4){
this.setBlockBounds(0.5F, 0.2F, 0.2F, 1.0F, 0.8F, 0.8F);
}
if(p==5){
this.setBlockBounds(0.0F, 0.2F, 0.2F, 0.5F, 0.8F, 0.8F);
}
}
@Override
public int getRenderType() {
return RenderID.crankID;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean isOpaqueCube() {
return false;
}
}

View File

@@ -1,25 +0,0 @@
package nmd.primal.energy.block;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import nmd.primal.energy.block.grinder.CrankGrinder;
import nmd.primal.energy.block.lathe.FlintLathe;
import nmd.primal.energy.block.misc.SMBBlock;
public class ModBlocks {
public static Block SMBBlock;
public static Block crankBlock;
public static Block flintLathe;
public static Block crankGrinder;
public static final void init() {
GameRegistry.registerBlock(SMBBlock = new SMBBlock("SMBBlock", Material.wood), "SMBBlock");
GameRegistry.registerBlock(crankBlock = new CrankBlock("CrankBlock", Material.wood), "CrankBlock");
GameRegistry.registerBlock(flintLathe = new FlintLathe("FlintLathe", Material.wood), "FlintLathe");
GameRegistry.registerBlock(crankGrinder = new CrankGrinder("CrankGrinder", Material.wood), "CrankGrinder");
//GameRegistry.registerBlock(mineralBlock = new MineralBlock("mineralBlock", Material.rock), "mineralBlock");
}
}

View File

@@ -1,183 +0,0 @@
package nmd.primal.energy.block.grinder;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.render.RenderID;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
import nmd.primal.energy.util.CustomTab;
import nmd.primal.energy.util.LatheRecipes;
public class CrankGrinder extends BlockContainer{
private final Random random = new Random();
public CrankGrinder(String name, Material mat) {
super(mat);
this.setBlockName(name);
this.setBlockTextureName(ModInfo.MOD_ID + ":" + name);
this.setCreativeTab(CustomTab.NMDEnergyTab);
this.setHardness(1.0F);
this.setResistance(6.0F);
this.setStepSound(soundTypeStone);
this.setBlockBounds(0.0F, 0.5F, 0.0F,
1.0F, 1.0F, 1.0F);
}
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
if(!world.isRemote){
TileEntCrankGrinder tileEnt = (TileEntCrankGrinder) world.getTileEntity(x, y, z);
//System.out.println("Slot 0:"+tileEnt.getStackInSlot(0) +" Slot 1:"+ tileEnt.getStackInSlot(1));
if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()!=ModItems.stoneGrinder){
//System.out.println(player.inventory.getCurrentItem());
if (tileEnt.getStackInSlot(0)==null){
tileEnt.setInventorySlotContents(0, player.inventory.getCurrentItem());
player.inventory.setInventorySlotContents(player.inventory.currentItem, null);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
if (tileEnt.getStackInSlot(0)!=null){
if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()!=ModItems.stoneGrinder){
ItemStack pStack = player.inventory.getCurrentItem().copy();
ItemStack sStack = tileEnt.getStackInSlot(0).copy();
ItemStack sStackTemp = tileEnt.getStackInSlot(0).copy();
if(tileEnt.getStackInSlot(0).stackSize < 64){
sStackTemp.stackSize++;
if ((sStack.getItem().equals(pStack.getItem())) && (sStack.getItemDamage() == pStack.getItemDamage()) ){
tileEnt.setInventorySlotContents(0, sStackTemp);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
}
}
}
}
}
if (player.isSneaking() && player.inventory.getCurrentItem()==null) {
if(tileEnt.getStackInSlot(0)!=null){
player.inventory.setInventorySlotContents(player.inventory.currentItem, tileEnt.getStackInSlot(0));
tileEnt.setInventorySlotContents(0, null);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
if (!player.isSneaking()) {
if((player.inventory.getCurrentItem()==null)){
if(tileEnt.getStackInSlot(0)==null && tileEnt.getStackInSlot(1)!=null){
ItemStack pStack = tileEnt.getStackInSlot(1).copy();
pStack.stackSize = 1;
EntityItem eItem = new EntityItem(world, player.posX, player.posY, player.posZ, pStack);
if (pStack.hasTagCompound()) {
eItem.getEntityItem().setTagCompound(((NBTTagCompound) pStack.getTagCompound().copy()));
}
world.spawnEntityInWorld(eItem);
tileEnt.decrStackSize(1, 1);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
if(tileEnt.getStackInSlot(0)!=null){
ItemStack pStack = tileEnt.getStackInSlot(0).copy();
pStack.stackSize = 1;
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, pStack));
tileEnt.decrStackSize(0, 1);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
}
if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()==ModItems.stoneGrinder){
if (tileEnt.getStackInSlot(1)==null){
tileEnt.setInventorySlotContents(1, player.inventory.getCurrentItem());
player.inventory.setInventorySlotContents(player.inventory.currentItem, null);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
}
}
return true;
}
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
TileEntCrankGrinder tileEnt = (TileEntCrankGrinder) world.getTileEntity(x, y, z);
if (tileEnt != null) {
for (int i = 0; i < tileEnt.getSizeInventory(); ++i) {
ItemStack itemstack = tileEnt.getStackInSlot(i);
if (itemstack != null) {
float f = this.random.nextFloat() * 0.6F + 0.1F;
float f1 = this.random.nextFloat() * 0.6F + 0.1F;
float f2 = this.random.nextFloat() * 0.6F + 0.1F;
while (itemstack.stackSize > 0) {
int j = this.random.nextInt(21) + 10;
if (j > itemstack.stackSize) {
j = itemstack.stackSize;
}
itemstack.stackSize -= j;
EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j, itemstack.getItemDamage()));
if (itemstack.hasTagCompound()) {
entityitem.getEntityItem().setTagCompound(((NBTTagCompound) itemstack.getTagCompound().copy()));
}
float f3 = 0.025F;
entityitem.motionX = (float) this.random.nextGaussian() * f3;
entityitem.motionY = (float) this.random.nextGaussian() * f3 + 0.1F;
entityitem.motionZ = (float) this.random.nextGaussian() * f3;
world.spawnEntityInWorld(entityitem);
}
}
}
world.func_147453_f(x, y, z, block);
}
super.breakBlock(world, x, y, z, block, meta);
}
@Override
public TileEntity createNewTileEntity(World world, int i) {
return new TileEntCrankGrinder();
}
@Override
public int getRenderType() {
return RenderID.crankGrinderID;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean isOpaqueCube() {
return false;
}
}

View File

@@ -1,22 +0,0 @@
package nmd.primal.energy.block.lathe;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import nmd.primal.energy.tileents.TileEntLatheBase;
public class FlintLathe extends LatheBase{
public FlintLathe(String unlocalizedName, Material material) {
super(unlocalizedName, material);
}
@Override
public TileEntity createNewTileEntity(World world, int i) {
return new TileEntLatheBase();
}
}

View File

@@ -1,195 +0,0 @@
package nmd.primal.energy.block.lathe;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
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.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.render.RenderID;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.util.CustomTab;
import nmd.primal.energy.util.EnergyUtil;
import nmd.primal.energy.util.LatheRecipes;
public abstract class LatheBase extends BlockContainer implements ITileEntityProvider{
private final Random random = new Random();
protected LatheBase(String unlocalizedName, Material material) {
super(material);
this.setBlockName(unlocalizedName);
this.setBlockTextureName(ModInfo.MOD_ID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.NMDEnergyTab);
this.setHardness(1.0F);
this.setResistance(6.0F);
this.setStepSound(soundTypeStone);
//this.setBlockBounds(0.1F, 0.0F, 0.1F,
// 0.9F, 0.75F, 0.9F);
}
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
if(!world.isRemote){
TileEntLatheBase tileEnt = (TileEntLatheBase) world.getTileEntity(x, y, z);
if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()!=ModItems.schiselItem){
if (tileEnt.getStackInSlot(0)==null){
tileEnt.setInventorySlotContents(0, player.inventory.getCurrentItem());
player.inventory.setInventorySlotContents(player.inventory.currentItem, null);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
if (tileEnt.getStackInSlot(0)!=null){
if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()!=ModItems.schiselItem){
ItemStack pStack = player.inventory.getCurrentItem().copy();
ItemStack sStack = tileEnt.getStackInSlot(0).copy();
ItemStack sStackTemp = tileEnt.getStackInSlot(0).copy();
if(tileEnt.getStackInSlot(0).stackSize < 64){
sStackTemp.stackSize++;
if ((sStack.getItem().equals(pStack.getItem())) && (sStack.getItemDamage() == pStack.getItemDamage()) ){
tileEnt.setInventorySlotContents(0, sStackTemp);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
}
}
}
}
}
if (player.isSneaking() && player.inventory.getCurrentItem()==null) {
if(tileEnt.getStackInSlot(0)!=null){
player.inventory.setInventorySlotContents(player.inventory.currentItem, tileEnt.getStackInSlot(0));
tileEnt.setInventorySlotContents(0, null);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
if (!player.isSneaking()) {
if((player.inventory.getCurrentItem()==null)){
if(tileEnt.getStackInSlot(0)!=null){
ItemStack pStack = tileEnt.getStackInSlot(0).copy();
pStack.stackSize = 1;
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, pStack));
tileEnt.decrStackSize(0, 1);
tileEnt.markForUpdate();
tileEnt.markDirty();
return true;
}
}
}
if(player.inventory.getCurrentItem()!=null){
if(player.inventory.getCurrentItem().getItem()==ModItems.schiselItem){
if(tileEnt.getStackInSlot(0)!=null){
if(LatheRecipes.latheCheck.contains(tileEnt.getStackInSlot(0).getItem())){
tileEnt.workCount++;
if(tileEnt.workCount>=20){
tileEnt.setInventorySlotContents(0, LatheRecipes.lathe.get(tileEnt.getStackInSlot(0).getItem()));
tileEnt.workCount=0;
tileEnt.markForUpdate();
tileEnt.markDirty();
}
}
}
}
}
}
return false;
}
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
TileEntLatheBase tileEnt = (TileEntLatheBase) world.getTileEntity(x, y, z);
if (tileEnt != null) {
for (int i = 0; i < tileEnt.getSizeInventory(); ++i) {
ItemStack itemstack = tileEnt.getStackInSlot(i);
if (itemstack != null) {
float f = this.random.nextFloat() * 0.6F + 0.1F;
float f1 = this.random.nextFloat() * 0.6F + 0.1F;
float f2 = this.random.nextFloat() * 0.6F + 0.1F;
while (itemstack.stackSize > 0) {
int j = this.random.nextInt(21) + 10;
if (j > itemstack.stackSize) {
j = itemstack.stackSize;
}
itemstack.stackSize -= j;
EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j, itemstack.getItemDamage()));
if (itemstack.hasTagCompound()) {
entityitem.getEntityItem().setTagCompound(((NBTTagCompound) itemstack.getTagCompound().copy()));
}
float f3 = 0.025F;
entityitem.motionX = (float) this.random.nextGaussian() * f3;
entityitem.motionY = (float) this.random.nextGaussian() * f3 + 0.1F;
entityitem.motionZ = (float) this.random.nextGaussian() * f3;
world.spawnEntityInWorld(entityitem);
}
}
}
world.func_147453_f(x, y, z, block);
}
super.breakBlock(world, x, y, z, block, meta);
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack p_149689_6_) {
int l = EnergyUtil.determineOrientationSimple(player);
world.setBlockMetadataWithNotify(x, y, z, l, 2);
//System.out.println(l);
world.markBlockForUpdate(x, y, z);
}
public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z)
{
int orient = access.getBlockMetadata(x, y, z);
if(orient==1 || orient == 3){
this.setBlockBounds(0.2F, 0F, 0F, 0.8F, 0.61F, 1.0F);
}
if(orient==0 || orient == 2){
this.setBlockBounds(0.0F, 0F, 0.2F, 1.0F, 0.61F, 0.8F);
}
}
@Override
public int getRenderType() {
return RenderID.latheID;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean isOpaqueCube() {
return false;
}
}

View File

@@ -1,19 +0,0 @@
package nmd.primal.energy.block.misc;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.util.CustomTab;
public class SMBBlock extends Block{
public SMBBlock(String unlocalizedName, Material material) {
super(material);
this.setBlockName(unlocalizedName);
this.setBlockTextureName(ModInfo.MOD_ID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.NMDEnergyTab);
this.setHardness(1.0F);
this.setResistance(6.0F);
this.setStepSound(soundTypeStone);
}
}

View File

@@ -1,31 +1,33 @@
package nmd.primal.energy.client;
import net.minecraft.client.Minecraft;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.energy.common.CommonProxy;
import nmd.primal.energy.render.RenderRegistry;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
public class ClientProxy extends CommonProxy{
@Override
public void preInit(FMLPreInitializationEvent event)
{
super.preInit(event);
}
@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
{
public static Minecraft minecraft = Minecraft.getMinecraft();
@Override
public void init(FMLInitializationEvent event)
{
super.init(event);
}
// ***************************************************************************** //
// Proxy Stages
// ***************************************************************************** //
@Override
public void preInit()
{
@Override
public void postInit(FMLPostInitializationEvent event)
{
super.postInit(event);
RenderRegistry.init();
}
}
@Override
public void init()
{
}
@Override
public void postInit()
{
}
}

View File

@@ -1,37 +1,22 @@
package nmd.primal.energy.common;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.crafting.ModCrafting;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.render.RenderID;
import nmd.primal.energy.tileents.TileRegistry;
import nmd.primal.energy.util.CustomTab;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
public class CommonProxy
{
// ***************************************************************************** //
// Proxy Stages
// ***************************************************************************** //
public void preInit()
{
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event)
{
CustomTab.NMDEnergyTab();
}
public void init()
{
}
public void init(FMLInitializationEvent event)
{
ModBlocks.init();
ModCrafting.init();
RenderID.init();
TileRegistry.init();
}
public void postInit(FMLPostInitializationEvent event)
{
}
}
public void postInit()
{
}
}

View File

@@ -1,15 +0,0 @@
package nmd.primal.energy.common;
public class ModInfo {
public static final String MOD_ID = "energy";
public static final String MOD_NAME = "NMD Energy";
public static final String MOD_PREFIX = "nmd";
public static final String MOD_CHANNEL = "nmd-energy";
public static final String MOD_VERSION = "0.0";
public static final String COMMON_PROXY = "nmd.primal.energy.common.CommonProxy";
public static final String CLIENT_PROXY = "nmd.primal.energy.client.ClientProxy";
public static final int SMBBlock_ID = 201;
}

View File

@@ -0,0 +1,95 @@
package nmd.primal.energy.common;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.NonNullList;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import nmd.primal.energy.common.init.ModBlocks;
import nmd.primal.energy.common.init.ModInfo;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Locale;
@Mod( modid = ModInfo.MOD_ID,
name = ModInfo.MOD_ID,
version = ModInfo.MOD_VERSION,
acceptedMinecraftVersions = ModInfo.MC_VERSIONS,
dependencies = ModInfo.DEPENDENCIES,
updateJSON = ModInfo.UPDATE_JSON
)
public class PrimalEnergy
{
@Instance(ModInfo.MOD_ID)
public static PrimalEnergy INSTANCE;
@SidedProxy(clientSide = ModInfo.CLIENT_PROXY, serverSide = ModInfo.COMMON_PROXY)
private static CommonProxy PROXY;
private static SimpleNetworkWrapper NETWORK = NetworkRegistry.INSTANCE.newSimpleChannel(ModInfo.MOD_ID);
private static Logger LOGGER = LogManager.getLogger(ModInfo.MOD_ID);
public static final NonNullList<Block> BLOCKS = NonNullList.create();
public static final NonNullList<Item> ITEMS = NonNullList.create();
public static final NonNullList<ItemBlock> ITEM_BLOCKS = NonNullList.create();
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
Locale.setDefault(Locale.ENGLISH);
LOGGER.info("Pre-Init");
PROXY.preInit();
ModBlocks.addBlocks();
// pre init stuff
}
@EventHandler
public void init(FMLInitializationEvent event)
{
LOGGER.info("Init");
PROXY.init();
// init stuff
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
LOGGER.info("Post-Init");
PROXY.postInit();
// post init stuff
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
// custom commands
}
// ***************************************************************************** //
// helper methods
// ***************************************************************************** //
public static SimpleNetworkWrapper getNetwork() {
return NETWORK;
}
public static CommonProxy getProxy() {
return PROXY;
}
public static Logger getLogger() {
return LOGGER;
}
}

View File

@@ -0,0 +1,73 @@
package nmd.primal.energy.common.init;
import com.google.common.base.Preconditions;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.registries.IForgeRegistry;
import nmd.primal.core.api.interfaces.crafting.IDictionaryName;
import nmd.primal.core.common.helper.RegistryHelper;
import nmd.primal.energy.common.PrimalEnergy;
import static nmd.primal.energy.api.PrimalEnergyAPI.Blocks.*;
public class ModBlocks {
// ***************************************************************************** //
// Blocks
// ***************************************************************************** //
public static void addBlocks()
{
TEST_BLOCK = RegistryHelper.addBlock("void_block", new Block(Material.GROUND));
}
// ***************************************************************************** //
// Tile Entities
// ***************************************************************************** //
public static void registerTiles()
{
//registerTileEntity(TileVoid.class, "void_block");
}
// ***************************************************************************** //
// Registration
// ***************************************************************************** //
@Mod.EventBusSubscriber(modid=ModInfo.MOD_ID)
public static class RegistrationHandler
{
@SubscribeEvent
public static void registerBlocks(RegistryEvent.Register<Block> event)
{
PrimalEnergy.getLogger().info("Registering " + PrimalEnergy.BLOCKS.size() + " Blocks");
final IForgeRegistry<Block> registry = event.getRegistry();
for (Block block : PrimalEnergy.BLOCKS) {
registry.register(block);
}
}
@SubscribeEvent
public static void registerItemBlocks(final RegistryEvent.Register<Item> event)
{
PrimalEnergy.getLogger().info("Registering " + PrimalEnergy.ITEM_BLOCKS.size() + " Item Blocks");
final IForgeRegistry<Item> items = event.getRegistry();
for (ItemBlock item : PrimalEnergy.ITEM_BLOCKS)
{
final Block block = item.getBlock();
final ResourceLocation registryName = Preconditions.checkNotNull(block.getRegistryName(), "Block %s has null registry REGISTRY_NAME", block);
items.register(item.setRegistryName(registryName));
if (block instanceof IDictionaryName)
((IDictionaryName) block).registerDictionaryNames();
}
}
}
}

View File

@@ -0,0 +1,48 @@
package nmd.primal.energy.common.init;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ModInfo
{
// ***************************************************************************** //
// Mod Details
// ***************************************************************************** //
public static final String MOD_ID = "primalenergy";
public static final String MOD_CONFIG = "primal/" + MOD_ID;
public static final String MOD_VERSION = "@MOD_VERSION@";
public static final String MC_VERSIONS = "[1.12.0, 1.13.0)";
public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);"
+ "required-after:primal@[0.6.69,);";
public static final String MOD_CHANNEL = MOD_ID;
// ***************************************************************************** //
// Paths
// ***************************************************************************** //
//public static final Marker MOD_MARKER = MarkerManager.getMarker(MOD_ID);
//public static final String GUI_FACTORY = "nmd.primal.sample.client.gui.GuiFactory";
public static final String COMMON_PROXY = "nmd.primal.energy.common.CommonProxy";
public static final String CLIENT_PROXY = "nmd.primal.energy.client.ClientProxy";
public static final String UPDATE_JSON = "http://insecure.www.nmd.so/update-sample.json";
// ***************************************************************************** //
// IDs
// ***************************************************************************** //
public static final int POTION_BASE_ID = 0;
public static final int WORKTABLE_BASIC = 0;
// ***************************************************************************** //
// Creative Tabs
// ***************************************************************************** //
public static CreativeTabs TAB_ENERGY = new CreativeTabs(MOD_ID)
{
@Override
@SideOnly(Side.CLIENT)
public ItemStack getTabIconItem() {
return new ItemStack(Items.FLINT);
}
};
}

View File

@@ -1,62 +0,0 @@
package nmd.primal.energy.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
public class ContainerCrankGrinder extends Container{
protected TileEntCrankGrinder tile;
public boolean canInteractWith(EntityPlayer player) {
return tile.isUseableByPlayer(player);
}
public ContainerCrankGrinder (InventoryPlayer inventoryPlayer, TileEntCrankGrinder te){
tile = te;
addSlotToContainer(new Slot(tile, 0, 80, 34));
addSlotToContainer(new Slot(tile, 1, 80, 34));
bindPlayerInventory(inventoryPlayer);
}
protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 9; j++) {
addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9,
8 + j * 18, 84 + i * 18));
}
}
for (int i = 0; i < 9; i++) {
addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slot) {
ItemStack stack = null;
Slot slotObject = (Slot) inventorySlots.get(slot);
if (slotObject != null && slotObject.getHasStack()) {
ItemStack stackInSlot = slotObject.getStack();
stack = stackInSlot.copy();
if (slot < 9) {
if (!this.mergeItemStack(stackInSlot, 9, this.inventorySlots.size(), true)) {
return null;
}
}
else if (!this.mergeItemStack(stackInSlot, 0, 9, false)) {
return null;
}
if (stackInSlot.stackSize == 0) {
slotObject.putStack((ItemStack)null);
} else {
slotObject.onSlotChanged();
}
}
return stack;
}
}

View File

@@ -1,62 +0,0 @@
package nmd.primal.energy.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import nmd.primal.energy.tileents.TileEntLatheBase;
public class ContainerLathe extends Container{
protected TileEntLatheBase tile;
public boolean canInteractWith(EntityPlayer player) {
return tile.isUseableByPlayer(player);
}
public ContainerLathe (InventoryPlayer inventoryPlayer, TileEntLatheBase te){
tile = te;
addSlotToContainer(new Slot(tile, 0, 80, 34));
//addSlotToContainer(new Slot(tile, 1, 80, 34));
bindPlayerInventory(inventoryPlayer);
}
protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 9; j++) {
addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9,
8 + j * 18, 84 + i * 18));
}
}
for (int i = 0; i < 9; i++) {
addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slot) {
ItemStack stack = null;
Slot slotObject = (Slot) inventorySlots.get(slot);
if (slotObject != null && slotObject.getHasStack()) {
ItemStack stackInSlot = slotObject.getStack();
stack = stackInSlot.copy();
if (slot < 9) {
if (!this.mergeItemStack(stackInSlot, 9, this.inventorySlots.size(), true)) {
return null;
}
}
else if (!this.mergeItemStack(stackInSlot, 0, 9, false)) {
return null;
}
if (stackInSlot.stackSize == 0) {
slotObject.putStack((ItemStack)null);
} else {
slotObject.onSlotChanged();
}
}
return stack;
}
}

View File

@@ -1,28 +0,0 @@
package nmd.primal.energy.crafting;
import net.minecraft.item.ItemStack;
import nmd.primal.energy.item.ModItems;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
public class CraftingHandler {
@SubscribeEvent
public void onItemCrafting(PlayerEvent.ItemCraftedEvent event){
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
if (event.craftMatrix.getStackInSlot(i) != null) {
ItemStack j = event.craftMatrix.getStackInSlot(i);
if (j.getItem() != null && j.getItem() == ModItems.schiselItem) {
ItemStack k = new ItemStack(ModItems.schiselItem, 2, (j.getItemDamage() + 1));
if (k.getItemDamage() >= k.getMaxDamage()) {
k.stackSize--;
}
event.craftMatrix.setInventorySlotContents(i, k);
}
}
}
}
}

View File

@@ -1,49 +0,0 @@
package nmd.primal.energy.crafting;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.item.ModItems;
import cpw.mods.fml.common.registry.GameRegistry;
public class ModCrafting {
public static final void init()
{
//GameRegistry.addRecipe(new ItemStack(ModBlocks.mineralBlock), new Object[] {"aa", "aa" , 'a', ModItems.mineraldustItem});
GameRegistry.addRecipe(
new ItemStack(ModItems.schiselItem), new Object[]{
" f",
" t ",
"s ",
'f', Items.flint, 't', Items.string, 's', Items.stick});
GameRegistry.addRecipe(
new ItemStack(ModItems.sgearItem), new Object[]{
"x",
"y",
'x', new ItemStack(ModItems.schiselItem, 1, OreDictionary.WILDCARD_VALUE), 'y', ModItems.swheelItem});
GameRegistry.addRecipe(
new ItemStack(ModBlocks.SMBBlock), new Object[]{
"sss",
"s s",
"sss",
's', Blocks.wooden_slab});
GameRegistry.addRecipe(
new ItemStack(ModBlocks.crankBlock), new Object[]{
" fs",
" s ",
" s ",
'f', Items.string, 's', Items.stick});
GameRegistry.addSmelting(ModItems.coarseironItem, new ItemStack(Items.iron_ingot), 1.0F);
GameRegistry.addSmelting(ModItems.coarsegoldItem, new ItemStack(Items.gold_ingot), 1.0F);
}
}

View File

@@ -1,43 +0,0 @@
package nmd.primal.energy.item;
import net.minecraft.item.Item;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.item.grinderWheels.StoneGrindWheel;
import nmd.primal.energy.item.tools.SChiselItem;
import nmd.primal.energy.util.CustomTab;
import cpw.mods.fml.common.registry.GameRegistry;
public class ModItems {
public static Item schiselItem;
public static Item swheelItem;
public static Item sgearItem;
public static Item saxleItem;
public static Item stoneGrinder;
public static Item coarseironItem;
public static Item coarsegoldItem;
public static void registerItems(){
schiselItem = new SChiselItem();
stoneGrinder = new StoneGrindWheel();
swheelItem = new Item().setUnlocalizedName("swheelItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":swheelItem");
GameRegistry.registerItem(swheelItem, "swheelItem");
sgearItem = new Item().setUnlocalizedName("sgearItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":sgearItem");
GameRegistry.registerItem(sgearItem, "sgearItem");
saxleItem = new Item().setUnlocalizedName("saxleItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":saxleItem");
GameRegistry.registerItem(saxleItem, "saxleItem");
coarseironItem = new Item().setUnlocalizedName("coarseironItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":coarseironItem");
GameRegistry.registerItem(coarseironItem, "coarseironItem");
coarsegoldItem = new Item().setUnlocalizedName("coarsegoldItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":coarsegoldItem");
GameRegistry.registerItem(coarsegoldItem, "coarsegoldItem");
}
}

View File

@@ -1,40 +0,0 @@
package nmd.primal.energy.item.grinderWheels;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.util.CustomTab;
public class StoneGrindWheel extends Item{
private String name = "stoneGrindWheel";
private Item item;
public StoneGrindWheel(){
setMaxStackSize(1);
setUnlocalizedName(name);
setTextureName(ModInfo.MOD_ID + ":" + name);
setMaxDamage(1500);
setNoRepair();
setCreativeTab(CustomTab.NMDEnergyTab);
item = this;
GameRegistry.registerItem(this, name);
}
@Override
public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemstack) {
return false;
}
/*@Override
public Item getContainerItem()
{
item.setDamage(new ItemStack(item), +1);
return item;
}*/
}

View File

@@ -1,50 +0,0 @@
package nmd.primal.energy.item.tools;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.common.ModInfo;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.util.CustomTab;
import cpw.mods.fml.common.registry.GameRegistry;
public class SChiselItem extends Item{
private String name = "schiselItem";
private Item item;
public SChiselItem(){
setMaxStackSize(1);
setUnlocalizedName(name);
setTextureName(ModInfo.MOD_ID + ":" + name);
setMaxDamage(500);
setNoRepair();
setCreativeTab(CustomTab.NMDEnergyTab);
item = this;
GameRegistry.registerItem(this, name);
}
@Override
public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemstack) {
return false;
}
@Override
public Item getContainerItem()
{
item.setDamage(new ItemStack(item), +1);
return item;
}
}

View File

@@ -1,23 +0,0 @@
package nmd.primal.energy.render;
import java.awt.List;
import java.util.Vector;
import cpw.mods.fml.client.registry.RenderingRegistry;
public class RenderID {
public static int crankID;
public static int latheID;
public static int crankGrinderID;
public static void init(){
latheID = RenderingRegistry.getNextAvailableRenderId();
crankID = RenderingRegistry.getNextAvailableRenderId();
crankGrinderID = RenderingRegistry.getNextAvailableRenderId();
}
}

View File

@@ -1,34 +0,0 @@
package nmd.primal.energy.render;
import cpw.mods.fml.client.registry.ClientRegistry;
import net.minecraft.item.Item;
import net.minecraftforge.client.MinecraftForgeClient;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.render.block.RenderCrank;
import nmd.primal.energy.render.block.RenderCrankGrinder;
import nmd.primal.energy.render.block.RenderLathe;
import nmd.primal.energy.render.item.IRStoneGrindWheel;
import nmd.primal.energy.render.item.blockToItem.IRCrank;
import nmd.primal.energy.render.item.blockToItem.IRCrankGrinder;
import nmd.primal.energy.render.item.blockToItem.IRLathe;
import nmd.primal.energy.tileents.TileEntCrank;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
public class RenderRegistry {
public static final void init() {
//MinecraftForgeClient.registerItemRenderer(ModItems.woodenShield, new ItemRenderWoodenShield());
//MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.emptySoftCrucible), new ItemRendererSECrucible());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrank.class, new RenderCrank());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntLatheBase.class, new RenderLathe());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrankGrinder.class, new RenderCrankGrinder());
MinecraftForgeClient.registerItemRenderer(ModItems.stoneGrinder, new IRStoneGrindWheel());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.crankBlock), new IRCrank());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.crankGrinder), new IRCrankGrinder());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.flintLathe), new IRLathe());
}
}

View File

@@ -1,94 +0,0 @@
package nmd.primal.energy.render.block;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import org.lwjgl.opengl.GL13;
import cpw.mods.fml.client.FMLClientHandler;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.tileents.TileEntCrank;
public class RenderCrank extends TileEntitySpecialRenderer {
private int i = 0;
private int a = 0;
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/Crank.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/Crank.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
@Override
public void renderTileEntityAt(TileEntity tileEnt, double x, double y, double z, float scale) {
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
TileEntCrank tile = (TileEntCrank) tileEnt;
if(tile.getBlockMetadata()==0){
GL11.glRotatef(180, 0.0f, 0.0f, 1.0f);
GL11.glTranslatef(-1.0f, -1.0f, -0.0f);
}
if(tile.getBlockMetadata()==2){
GL11.glRotatef(-90, 1.0f, 0.0f, 0.0f);
GL11.glTranslatef(0.0f, -1.0f, 0.0f);
}
if(tile.getBlockMetadata()==3){
GL11.glRotatef(90, 1.0f, 0.0f, 0.0f);
GL11.glTranslatef(0.0f, 0.0f, -1.0f);
}
if(tile.getBlockMetadata()==4){
GL11.glRotatef(90, 0.0f, 0.0f, 1.0f);
GL11.glTranslatef(0.0f, -1.0f, 0.0f);
}
if(tile.getBlockMetadata()==5){
GL11.glRotatef(90, 0.0f, 0.0f, -1.0f);
GL11.glTranslatef(-1.0f, 0.0f, 0.0f);
}
tile.markForUpdate();
tile.markDirty();
renderBlock(tile, tileEnt.getWorldObj(), tileEnt.xCoord,tileEnt.yCoord, tileEnt.zCoord, ModBlocks.crankBlock);
GL11.glPopMatrix();
}
public void renderBlock(TileEntCrank tl, World world, int x, int y,int z, Block block) {
GL11.glPushMatrix();
float scale = 0.5F;
GL11.glScalef(scale, scale, scale);
GL11.glTranslatef(1.0F, 0.48F, 1.0F);
if(tl.isPowered == true){
GL11.glRotatef(i, 0.0F, 1.0F, 0.0F);
a++;
if(a==1){
i=i+14;
a=0;
}
if(i==360){
i=0;
}
}
tl.markForUpdate();
tl.markDirty();
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
this.model.renderAll();
GL11.glPopMatrix();
}
}

View File

@@ -1,77 +0,0 @@
package nmd.primal.energy.render.block;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
public class RenderCrankGrinder extends TileEntitySpecialRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/CrankGrinder.obj");
public static final ResourceLocation MODELGRINDER = new ResourceLocation("energy:models/GrinderWheel3.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/CrankGrinder.png");
public static final ResourceLocation TEXTUREWHEEL = new ResourceLocation("energy:models/StoneGrindWheel.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
private IModelCustom modelGrinder = AdvancedModelLoader.loadModel(MODELGRINDER);
EntityItem entItem = null;
@Override
public void renderTileEntityAt(TileEntity tileEnt, double x, double y, double z, float scale) {
TileEntCrankGrinder tile = (TileEntCrankGrinder) tileEnt;
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
tile.markForUpdate();
tile.markDirty();
renderBlock(tile, tileEnt.getWorldObj(), tileEnt.xCoord,tileEnt.yCoord, tileEnt.zCoord, ModBlocks.crankGrinder);
GL11.glPopMatrix();
}
public void renderBlock(TileEntCrankGrinder tile, World world, int x, int y,int z, Block block) {
GL11.glPushMatrix();
float scale = 1.0F;
GL11.glScalef(scale, scale, scale);
if(tile.getStackInSlot(1)!=null){
GL11.glPushMatrix();
if(tile.isPowered == true){
GL11.glTranslatef(0.5f, 0.0f, 0.5f);
GL11.glRotatef(tile.rot*-1, 0.0F, 1.0F, 0.0F);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTUREWHEEL);
this.modelGrinder.renderAll();
}
if(tile.isPowered==false){
GL11.glTranslatef(0.5f, 0.0f, 0.5f);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTUREWHEEL);
this.modelGrinder.renderAll();
}
GL11.glPopMatrix();
}
GL11.glTranslatef(1.0F, 0.5F, 0.0F);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
this.model.renderAll();
GL11.glPopMatrix();
}
}

View File

@@ -1,96 +0,0 @@
package nmd.primal.energy.render.block;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.tileents.TileEntLatheBase;
public class RenderLathe extends TileEntitySpecialRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/Lathe.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/FlintLathe.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
EntityItem entItem = null;
@Override
public void renderTileEntityAt(TileEntity tileEnt, double x, double y, double z, float scale) {
TileEntLatheBase tile = (TileEntLatheBase) tileEnt;
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
tile.markForUpdate();
tile.markDirty();
renderBlock(tile, tileEnt.getWorldObj(), tileEnt.xCoord,tileEnt.yCoord, tileEnt.zCoord, ModBlocks.flintLathe);
GL11.glPopMatrix();
}
public void renderBlock(TileEntLatheBase tile, World world, int x, int y,int z, Block block) {
GL11.glPushMatrix();
float scale = 1.0F;
GL11.glScalef(scale, scale, scale);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
if(tile.getBlockMetadata()==0||tile.getBlockMetadata()==2){
GL11.glRotatef(90, 0.0f, 1.0f, 0.0f);
}
if(tile.getStackInSlot(0) != null){
entItem = new EntityItem(tile.getWorldObj(), x, y, z, tile.getStackInSlot(0));
GL11.glPushMatrix();
this.entItem.hoverStart = 0.0F;
RenderItem.renderInFrame = true;
GL11.glScalef(1.0f, 1.0f, 1.0f);
if(tile.getStackInSlot(0).getItem().equals(Item.getItemFromBlock(Blocks.wooden_slab))
||tile.getStackInSlot(0).getItem().equals(ModItems.saxleItem)){
GL11.glRotatef(90f, 1.0F, 0.0F, 0.0F);
}
if(tile.isPowered == true){
if(tile.getStackInSlot(0).getItem().equals(Item.getItemFromBlock(Blocks.wooden_slab))
||tile.getStackInSlot(0).getItem().equals(ModItems.saxleItem)){
GL11.glRotatef(tile.rot, 0.0F, 1.0F, 0.0F);
}else{
GL11.glRotatef(tile.rot, 0.0F, 0.0F, 1.0F);
}
RenderManager.instance.renderEntityWithPosYaw(entItem, 0.0D, -0.223D, 0.0D, 0.0F, 0.0F);
}
if(tile.isPowered==false){
RenderManager.instance.renderEntityWithPosYaw(entItem, 0.0D, -0.223D, 0.0D, 0.0F, 0.0F);
}
RenderItem.renderInFrame = false;
GL11.glPopMatrix();
tile.markForUpdate();
tile.markDirty();
}
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
this.model.renderAll();
GL11.glPopMatrix();
}
}

View File

@@ -1,146 +0,0 @@
package nmd.primal.energy.render.item;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class IRStoneGrindWheel implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/GrinderWheel3.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/StoneGrindWheel.png");
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
return false;
}
case EQUIPPED_FIRST_PERSON: {
return false;
}
case INVENTORY: {
return false;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F);
float scale = 1.0F;
GL11.glScalef(scale, scale, scale);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
GL11.glTranslatef(0.5F, -0.7F, 0.25F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F);
GL11.glScalef(0.8F, 0.8F, 0.8F);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotated(180, 0.0, 0.0, 1.0);
//GL11.glRotated(180, 0.0F, 1.0F, 0.0F);
//GL11.glRotated(180, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(0.0F, -0.45F, -0.75F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
//GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glScalef(15.0F, 15.0F, 15.0F);
GL11.glTranslatef(0.55F, 1.075F, 0.0F);
GL11.glRotatef(180, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-45, 1.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//GL11.glScalef(0.2F, 0.2F, 0.2F);
GL11.glTranslatef(0.0F, 0.0F, 0.0F);
//GL11.glRotatef(180, 0.0F, 0.0F, 1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -1,105 +0,0 @@
package nmd.primal.energy.render.item.blockToItem;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class IRCrank implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/Crank.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/Crank.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
return helper == ItemRendererHelper.BLOCK_3D;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glTranslatef(0.8F, 0.25F, 0.0F);
GL11.glRotated(-75, 1, 0, 0);
GL11.glRotated(-20, 0, 1.0, 0);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glTranslatef(1.0F, 0.5F, 0.8F);
GL11.glRotated(-45, 0.0f, 1.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -1,113 +0,0 @@
package nmd.primal.energy.render.item.blockToItem;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class IRCrankGrinder implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/CrankGrinder.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/CrankGrinder.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
//return helper == ItemRendererHelper.BLOCK_3D;
return false;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotatef(20, 0.0f, 1.0f, 0.0f);
//GL11.glRotatef(-45, 1.0f, 0.0f, 0.0f);
GL11.glTranslatef(0.75F, 0.0F, 0.05F);
//GL11.glRotated(-75f, 1.0f, 0.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glTranslatef(1.0F, 0.5F, 0.8F);
GL11.glRotated(-45, 0.0f, 1.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glTranslatef(1.0F, 0.40F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
GL11.glScalef(1.5f, 1.5f, 1.5f);
GL11.glTranslatef(0.5F, 0.25F, -0.5F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -1,113 +0,0 @@
package nmd.primal.energy.render.item.blockToItem;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class IRLathe implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/Lathe.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/FlintLathe.png");
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
//return helper == ItemRendererHelper.BLOCK_3D;
return false;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotatef(110, 0.0f, 1.0f, 0.0f);
//GL11.glRotatef(-45, 1.0f, 0.0f, 0.0f);
GL11.glTranslatef(-0.4F, 0.4F, 0.3F);
//GL11.glRotated(-75f, 1.0f, 0.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glTranslatef(1.0F, 0.5F, 0.5F);
GL11.glRotated(-45, 0.0f, 1.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glTranslatef(0.0F, 0.1F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
GL11.glScalef(1.5f, 1.5f, 1.5f);
GL11.glTranslatef(0.0F, 0.25F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -1,23 +0,0 @@
package nmd.primal.energy.tileents;
import net.minecraft.block.ITileEntityProvider;
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 net.minecraft.world.World;
public abstract class TileBase extends TileEntity{
protected String specName;
public TileBase(String name){
specName = name;
}
public void markForUpdate(){
worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
}
}

View File

@@ -1,65 +0,0 @@
package nmd.primal.energy.tileents;
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 net.minecraft.world.World;
public class TileEntCrank extends TileBase {
private int i;
public boolean isPowered;
public TileEntCrank(String name) {
super(name);
}
@Override
public void updateEntity() {
World world = this.getWorldObj();
int x = this.xCoord;
int y = this.yCoord;
int z = this.zCoord;
if(this.isPowered==true){
i++;
if(i>16){
this.isPowered=false;
i=0;
this.markDirty();
this.markForUpdate();
}
}
if (worldObj.isRemote) return;
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
this.isPowered = tagCompound.getBoolean("ISPOWERED");
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
tagCompound.setBoolean("ISPOWERED", this.isPowered);
}
@Override
public Packet getDescriptionPacket() {
NBTTagCompound nbt = new NBTTagCompound();
writeToNBT(nbt);
return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, -998, nbt);
}
@Override
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
readFromNBT(pkt.func_148857_g());
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
}

View File

@@ -1,220 +0,0 @@
package nmd.primal.energy.tileents;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.IExtendedEntityProperties;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.util.LatheRecipes;
public class TileEntLatheBase extends TileEntity implements IInventory {
private ItemStack[] inv;
private int i;
public boolean isPowered = true;
public int power, workCount;
protected String specName = "TileEntLatheBase";
public float rot = 0;
public TileEntLatheBase() {
this.inv = new ItemStack[1];
}
@Override
public int getSizeInventory() {
return this.inv.length;
}
@Override
public ItemStack getStackInSlot(int slot) {
return this.inv[slot];
}
public void markForUpdate(){
worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
}
@Override
public Packet getDescriptionPacket() {
NBTTagCompound nbt = new NBTTagCompound();
writeToNBT(nbt);
return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, -998, nbt);
}
@Override
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
readFromNBT(pkt.func_148857_g());
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
@Override
public void updateEntity() {
World world = this.getWorldObj();
int x = this.xCoord;
int y = this.yCoord;
int z = this.zCoord;
if(!world.isRemote){
if(this.isPowered==true){
this.power--;
rot-=45;
System.out.println(rot);
if(rot>=360||rot<=-360){
rot=0;
}
if(power<=0){
this.isPowered=false;
this.power=0;
}
this.markForUpdate();
this.markDirty();
}
}
if (worldObj.isRemote) return;
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
if (this.inv[slot] != null)
{
ItemStack itemstack;
if (this.inv[slot].stackSize <= amount)
{
itemstack = this.inv[slot];
this.inv[slot] = null;
this.markForUpdate();
this.markDirty();
return itemstack;
}
itemstack = this.inv[slot].splitStack(amount);
if (this.inv[slot].stackSize == 0)
{
this.inv[slot] = null;
}
this.markForUpdate();
this.markDirty();
return itemstack;
}
this.markForUpdate();
this.markDirty();
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
if (this.inv[slot] != null)
{
ItemStack itemstack = this.inv[slot];
this.inv[slot] = null;
this.markForUpdate();
this.markDirty();
return itemstack;
}
else
{
this.markForUpdate();
this.markDirty();
return null;
}
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
this.inv[slot] = stack;
if (stack != null && stack.stackSize > this.getInventoryStackLimit())
{
stack.stackSize = this.getInventoryStackLimit();
}
this.markForUpdate();
this.markDirty();
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.specName : this.specName;
}
@Override
public boolean hasCustomInventoryName() {
return this.specName != null && this.specName.length() > 0;
}
@Override
public int getInventoryStackLimit() {
return 1;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : player.getDistanceSq(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D) <= 64.0D;
}
@Override
public void openInventory() {}
@Override
public void closeInventory() {}
/*NEEDS TO CHECK AGAINST A SET OF DATA HOLDING LATHE TOOLS AND LATHE INPUTS
* */
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
return false;
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
NBTTagList tagList = tagCompound.getTagList("Inventory", 10);
this.inv = new ItemStack[this.getSizeInventory()];
for (int i = 0; i < tagList.tagCount(); i++) {
NBTTagCompound tag = tagList.getCompoundTagAt(i);
byte slot = tag.getByte("Slot");
if (slot >= 0 && slot < this.inv.length) {
this.inv[slot] = ItemStack.loadItemStackFromNBT(tag);
}
}
if (tagCompound.hasKey("CustomName", 8)) {
this.specName = tagCompound.getString("CustomName");
}
this.isPowered = tagCompound.getBoolean("ISPOWERED");
this.power = tagCompound.getInteger("POWER");
this.workCount = tagCompound.getInteger("WORKCOUNT");
this.rot = tagCompound.getFloat("ROT");
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
NBTTagList itemList = new NBTTagList();
for (int i = 0; i < inv.length; i++) {
if (inv[i] != null) {
NBTTagCompound tag = new NBTTagCompound();
tag.setByte("Slot", (byte) i);
this.inv[i].writeToNBT(tag);
itemList.appendTag(tag);
}
}
tagCompound.setTag("Inventory", itemList);
tagCompound.setBoolean("ISPOWERED", this.isPowered);
tagCompound.setInteger("POWER", this.power);
tagCompound.setInteger("WORKCOUNT", this.workCount);
tagCompound.setFloat("ROT", this.rot);
}
}

View File

@@ -1,14 +0,0 @@
package nmd.primal.energy.tileents;
import cpw.mods.fml.common.registry.GameRegistry;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
public class TileRegistry {
public static final void init() {
GameRegistry.registerTileEntity(TileEntCrank.class, "TileEntCrank");
GameRegistry.registerTileEntity(TileEntLatheBase.class, "TileEntLatheBase");
GameRegistry.registerTileEntity(TileEntCrankGrinder.class, "TileEntCrankGrinder");
}
}

View File

@@ -1,261 +0,0 @@
package nmd.primal.energy.tileents.grinder;
import java.util.Random;
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.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import nmd.primal.energy.util.GrinderRecipes;
public class TileEntCrankGrinder extends TileEntity implements IInventory, GrinderRecipes {
private ItemStack[] inv;
private int i;
public boolean isPowered = true;
public int power, workCount;
protected String specName = "TileEntCrankGrinder";
public float rot = 0;
private final Random random = new Random();
@Override
public void updateEntity() {
World world = this.getWorldObj();
int x = this.xCoord;
int y = this.yCoord;
int z = this.zCoord;
if(!world.isRemote){
doRotation();
doWork(world, x,y,z);
}
if (worldObj.isRemote) return;
}
private void doRotation(){
if(this.isPowered==true){
this.power--;
rot-=45;
//System.out.println(rot);
if(rot>=360||rot<=-360){
rot=0;
}
if(power<=0){
this.isPowered=false;
this.power=0;
}
this.markForUpdate();
this.markDirty();
}
}
private void doWork(World world, int x, int y, int z){
if(workCount>=100){
if(this.getStackInSlot(0)!=null){
if(GrinderRecipes.grinderCheck.contains(this.getStackInSlot(0).getItem())){
this.decrStackSize(0, 1);
ItemStack stack = GrinderRecipes.grinderIn.get(this.getStackInSlot(0).getItem());
stack.stackSize=GrinderRecipes.grinderSize.get(stack.getItem());
if(stack.getItem()==Items.redstone){
stack.stackSize+=random.nextInt(6);
}
EntityItem eItem=new EntityItem(world, x+0.5f, y+0.35f, z+0.5f, stack);
world.spawnEntityInWorld(eItem);
workCount=0;
this.markForUpdate();
this.markDirty();
}
if(this.getStackInSlot(0).getItem().equals(Item.getItemFromBlock(Blocks.lapis_ore))){
this.decrStackSize(0, 1);
ItemStack stack = new ItemStack(Items.dye, (4+random.nextInt(6)), 4);
EntityItem eItem=new EntityItem(world, x+0.5f, y+0.35f, z+0.5f, stack);
world.spawnEntityInWorld(eItem);
workCount=0;
this.markForUpdate();
this.markDirty();
}
}
workCount=0;
this.markForUpdate();
this.markDirty();
}
}
public TileEntCrankGrinder() {
this.inv = new ItemStack[2];
}
@Override
public int getSizeInventory() {
return this.inv.length;
}
@Override
public ItemStack getStackInSlot(int slot) {
return this.inv[slot];
}
public void markForUpdate(){
worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
}
@Override
public Packet getDescriptionPacket() {
NBTTagCompound nbt = new NBTTagCompound();
writeToNBT(nbt);
return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, -998, nbt);
}
@Override
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
readFromNBT(pkt.func_148857_g());
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
if (this.inv[slot] != null)
{
ItemStack itemstack;
if (this.inv[slot].stackSize <= amount)
{
itemstack = this.inv[slot];
this.inv[slot] = null;
this.markForUpdate();
this.markDirty();
return itemstack;
}
itemstack = this.inv[slot].splitStack(amount);
if (this.inv[slot].stackSize == 0)
{
this.inv[slot] = null;
}
this.markForUpdate();
this.markDirty();
return itemstack;
}
this.markForUpdate();
this.markDirty();
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
if (this.inv[slot] != null)
{
ItemStack itemstack = this.inv[slot];
this.inv[slot] = null;
this.markForUpdate();
this.markDirty();
return itemstack;
}
else
{
this.markForUpdate();
this.markDirty();
return null;
}
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
this.inv[slot] = stack;
if (stack != null && stack.stackSize > this.getInventoryStackLimit())
{
stack.stackSize = this.getInventoryStackLimit();
}
this.markForUpdate();
this.markDirty();
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.specName : this.specName;
}
@Override
public boolean hasCustomInventoryName() {
return this.specName != null && this.specName.length() > 0;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : player.getDistanceSq(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D) <= 64.0D;
}
@Override
public void openInventory() {}
@Override
public void closeInventory() {}
/*NEEDS TO CHECK AGAINST A SET OF DATA HOLDING LATHE TOOLS AND LATHE INPUTS
* */
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
return false;
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
NBTTagList tagList = tagCompound.getTagList("Inventory", 10);
this.inv = new ItemStack[this.getSizeInventory()];
for (int i = 0; i < tagList.tagCount(); i++) {
NBTTagCompound tag = tagList.getCompoundTagAt(i);
byte slot = tag.getByte("Slot");
if (slot >= 0 && slot < this.inv.length) {
this.inv[slot] = ItemStack.loadItemStackFromNBT(tag);
}
}
if (tagCompound.hasKey("CustomName", 8)) {
this.specName = tagCompound.getString("CustomName");
}
this.isPowered = tagCompound.getBoolean("ISPOWERED");
this.power = tagCompound.getInteger("POWER");
this.workCount = tagCompound.getInteger("WORKCOUNT");
this.rot = tagCompound.getFloat("ROT");
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
NBTTagList itemList = new NBTTagList();
for (int i = 0; i < inv.length; i++) {
if (inv[i] != null) {
NBTTagCompound tag = new NBTTagCompound();
tag.setByte("Slot", (byte) i);
this.inv[i].writeToNBT(tag);
itemList.appendTag(tag);
}
}
tagCompound.setTag("Inventory", itemList);
tagCompound.setBoolean("ISPOWERED", this.isPowered);
tagCompound.setInteger("POWER", this.power);
tagCompound.setInteger("WORKCOUNT", this.workCount);
tagCompound.setFloat("ROT", this.rot);
}
}

View File

@@ -1,19 +0,0 @@
package nmd.primal.energy.util;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
public class CustomTab {
public static CreativeTabs NMDEnergyTab = new CreativeTabs("NMDEnergyTab") {
@Override
public Item getTabIconItem() {
return Items.blaze_powder;
}
};
public static void NMDEnergyTab() {
}
}

View File

@@ -1,26 +0,0 @@
package nmd.primal.energy.util;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class EnergyUtil {
public static int determineOrientationComplex(World world, int x, int y, int z, EntityLivingBase player)
{
if (MathHelper.abs((float)player.posX - (float)x) < 2.0F && MathHelper.abs((float)player.posZ - (float)z) < 2.0F)
{
double d0 = player.posY + 1.82D - (double)player.yOffset;
if (d0 - (double)y > 2.0D){return 1;}
if ((double)y - d0 > 0.0D) {return 0;}
}
int l = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
return l == 0 ? 2 : (l == 1 ? 5 : (l == 2 ? 3 : (l == 3 ? 4 : 0)));
}
public static int determineOrientationSimple(EntityLivingBase player){
int l = (MathHelper.floor_double((player.rotationYaw * 4F) / 360F + 0.5D) & 3);
return l;
}
}

View File

@@ -1,41 +0,0 @@
package nmd.primal.energy.util;
import java.util.Hashtable;
import java.util.Random;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import nmd.primal.energy.item.ModItems;
public interface GrinderRecipes {
static final Hashtable<Item, ItemStack> grinderIn = new Hashtable <Item, ItemStack>(){{
put(Item.getItemFromBlock(Blocks.iron_ore), (new ItemStack(ModItems.coarseironItem)));
put(Item.getItemFromBlock(Blocks.gold_ore), (new ItemStack(ModItems.coarsegoldItem)));
put(Item.getItemFromBlock(Blocks.redstone_ore), (new ItemStack(Items.redstone)));
//put(Item.getItemFromBlock(Blocks.lapis_ore), (new ItemStack(Items.dye)));
}};
static final Hashtable<Item, Item> grinderCheck = new Hashtable <Item, Item>(){{
put(Item.getItemFromBlock(Blocks.iron_ore), Item.getItemFromBlock(Blocks.iron_ore));
put(Item.getItemFromBlock(Blocks.gold_ore), Item.getItemFromBlock(Blocks.gold_ore));
put(Item.getItemFromBlock(Blocks.redstone_ore), Item.getItemFromBlock(Blocks.redstone_ore));
//put(Item.getItemFromBlock(Blocks.lapis_ore), Item.getItemFromBlock(Blocks.lapis_ore));
}};
static final Hashtable<Item, Integer> grinderSize = new Hashtable <Item, Integer>(){{
put(ModItems.coarseironItem, 2);
put(ModItems.coarsegoldItem, 2);
put(Items.redstone, 4);
//put(Items.dye, 4);
}};
}

View File

@@ -1,28 +0,0 @@
package nmd.primal.energy.util;
import java.util.Hashtable;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import nmd.primal.energy.item.ModItems;
public interface LatheRecipes {
static final Hashtable<Item, ItemStack> lathe = new Hashtable <Item, ItemStack>(){{
//put(ModItems.ironAxeForm, new ItemStack(ModItems.ironaxeHead, 1));
put(Item.getItemFromBlock(Blocks.wooden_slab), new ItemStack(ModItems.swheelItem));
put(Item.getItemFromBlock(Blocks.planks), new ItemStack(ModItems.saxleItem));
}};
static final Hashtable<Item, Item> latheCheck = new Hashtable <Item, Item>(){{
//put(ModItems.ironAxeForm, new ItemStack(ModItems.ironaxeHead, 1));
put(ModItems.swheelItem, Item.getItemFromBlock(Blocks.wooden_slab));
put(ModItems.saxleItem, Item.getItemFromBlock(Blocks.planks));
}};
}

View File

@@ -1,15 +0,0 @@
itemGroup.NMDEnergyTab=NMD Energy
item.schiselItem.name=Standard Chisel
item.swheelItem.name=Standard Wheel
item.sgearItem.name=Standard Gear
item.saxleItem.name=Standard Axle
item.stoneGrindWheel.name=Stone Grind Wheel
item.coarseironItem.name=Coarse Iron Dust
item.coarsegoldItem.name=Coarse Gold Dust
tile.SMBBlock.name=Standard Machine Box
tile.CrankBlock.name=Crank
tile.FlintLathe.name=Flint Lathe
tile.CrankGrinder.name=Crank Grinder

View File

@@ -1,104 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: 'Crank.blend'
# www.blender.org
mtllib Crank.mtl
o Cube
v 0.100000 0.264795 -0.100000
v 0.100000 0.264795 0.100000
v -0.100000 0.264795 0.100000
v -0.100000 0.264795 -0.100000
v 0.100000 0.464795 -0.100000
v 0.100000 0.464795 0.100000
v -0.100000 0.464795 0.100000
v -0.100000 0.464795 -0.100000
v 0.100000 0.264795 -0.600000
v -0.100000 0.264795 -0.600000
v 0.100000 0.464795 -0.600000
v -0.100000 0.464795 -0.600000
v 0.100000 -0.485205 -0.100000
v 0.100000 -0.485205 0.100000
v -0.100000 -0.485205 0.100000
v -0.100000 -0.485205 -0.100000
vt 0.500580 0.555234
vt 0.446843 0.555234
vt 0.446843 0.337432
vt 0.776634 0.644650
vt 0.722897 0.644650
vt 0.776634 0.590913
vt 0.778006 0.501058
vt 0.831743 0.501058
vt 0.778006 0.554795
vt 0.607812 0.777694
vt 0.607812 0.831431
vt 0.554076 0.777694
vt 0.499924 0.556928
vt 0.499924 0.610665
vt 0.446187 0.610665
vt 0.724218 0.669231
vt 0.776419 0.669231
vt 0.776419 0.776629
vt 0.334729 0.778768
vt 0.388466 0.778768
vt 0.388466 0.832505
vt 0.443683 0.559544
vt 0.443683 0.609220
vt 0.334581 0.609220
vt 0.831853 0.498644
vt 0.779864 0.498644
vt 0.779864 0.390775
vt 0.444856 0.642828
vt 0.498592 0.642828
vt 0.444856 0.777170
vt 0.498796 0.778935
vt 0.498796 0.832671
vt 0.445059 0.832671
vt 0.554076 0.576181
vt 0.666923 0.777694
vt 0.613186 0.777694
vt 0.613186 0.576181
vt 0.776472 0.501058
vt 0.776472 0.554795
vt 0.612790 0.554795
vt 0.500580 0.337432
vt 0.554076 0.831431
vt 0.722897 0.590913
vt 0.498592 0.777170
vt 0.446187 0.556928
vt 0.724218 0.776629
vt 0.334729 0.832505
vt 0.334581 0.559544
vt 0.831853 0.390775
vt 0.445059 0.778935
vt 0.607812 0.576181
vt 0.666923 0.576181
vt 0.612790 0.501058
vt 0.831743 0.554795
usemtl Material
s off
f 3/1 4/2 16/3
f 5/4 8/5 6/6
f 1/7 5/8 2/9
f 2/10 6/11 3/12
f 3/13 7/14 8/15
f 8/16 5/17 11/18
f 11/19 9/20 10/21
f 4/22 8/23 12/24
f 5/25 1/26 9/27
f 1/28 4/29 9/30
f 13/31 14/32 15/33
f 2/10 3/12 15/34
f 4/35 1/36 13/37
f 1/38 2/39 14/40
f 15/41 3/1 16/3
f 6/11 7/42 3/12
f 8/5 7/43 6/6
f 4/29 10/44 9/30
f 4/45 3/13 8/15
f 12/46 8/16 11/18
f 12/47 11/19 10/21
f 10/48 4/22 12/24
f 11/49 5/25 9/27
f 16/50 13/31 15/33
f 14/51 2/10 15/34
f 16/52 4/35 13/37
f 13/53 1/38 14/40
f 5/8 6/54 2/9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 714 B

View File

@@ -1,854 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: 'CrankGrinder.blend'
# www.blender.org
mtllib CrankGrinder.mtl
o Cube
v 0.000000 -0.000300 0.000000
v 0.000000 -0.000300 1.000000
v -1.000000 -0.000300 1.000000
v -1.000000 -0.000300 -0.000000
v 0.000000 0.500000 0.000000
v -0.000000 0.500000 1.000000
v -1.000000 0.500000 1.000000
v -1.000000 0.500000 0.000000
v -0.189614 -0.500000 0.190119
v -0.189614 -0.500000 0.000000
v 0.000000 -0.500000 0.000000
v 0.000000 -0.500000 0.190119
v -0.189614 0.000000 0.190119
v -0.189614 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.000000 0.000000 0.190119
v -0.189614 -0.500000 1.000000
v -0.189614 -0.500000 0.809960
v 0.000000 -0.500000 0.809960
v 0.000000 -0.500000 1.000000
v -0.189614 0.000000 1.000000
v -0.189614 0.000000 0.809960
v 0.000000 0.000000 0.809960
v 0.000000 0.000000 1.000000
v -1.000000 -0.500000 1.000000
v -1.000000 -0.500000 0.809960
v -0.810000 -0.500000 0.809960
v -0.810000 -0.500000 1.000000
v -1.000000 0.000000 1.000000
v -1.000000 0.000000 0.809960
v -0.810000 0.000000 0.809960
v -0.810000 0.000000 1.000000
v -1.000000 -0.500000 0.190119
v -1.000000 -0.500000 0.000000
v -0.810000 -0.500000 0.000000
v -0.810000 -0.500000 0.190119
v -1.000000 0.000000 0.190119
v -1.000000 0.000000 0.000000
v -0.810000 0.000000 0.000000
v -0.810000 0.000000 0.190119
v -0.747491 0.500000 0.252513
v -0.722040 0.500000 0.229446
v -0.694453 0.500000 0.208984
v -0.664990 0.500000 0.191328
v -0.633941 0.500000 0.176643
v -0.601606 0.500000 0.165067
v -0.568282 0.500000 0.156725
v -0.534308 0.500000 0.151684
v -0.500001 0.500000 0.150000
v -0.465693 0.500000 0.151686
v -0.431719 0.500000 0.156724
v -0.398400 0.500000 0.165072
v -0.366064 0.500000 0.176639
v -0.335012 0.500000 0.191327
v -0.305550 0.500000 0.208986
v -0.282476 0.500000 0.222816
v -0.252511 0.500000 0.252514
v -0.229447 0.500000 0.277962
v -0.208986 0.500000 0.305551
v -0.191329 0.500000 0.335010
v -0.176642 0.500000 0.366061
v -0.165072 0.500000 0.398401
v -0.156726 0.500000 0.431719
v -0.151686 0.500000 0.465694
v -0.150000 0.500000 0.500000
v -0.151687 0.500000 0.534306
v -0.156726 0.500000 0.568282
v -0.165072 0.500000 0.601600
v -0.176643 0.500000 0.633940
v -0.191328 0.500000 0.664989
v -0.208987 0.500000 0.694450
v -0.229446 0.500000 0.722038
v -0.252512 0.500000 0.747488
v -0.277961 0.500000 0.770555
v -0.305551 0.500000 0.791014
v -0.335012 0.500000 0.808672
v -0.366061 0.500000 0.823359
v -0.398401 0.500000 0.834930
v -0.431718 0.500000 0.843276
v -0.465696 0.500000 0.848315
v -0.500002 0.500000 0.850001
v -0.534306 0.500000 0.848316
v -0.568283 0.500000 0.843276
v -0.594674 0.500000 0.839363
v -0.633941 0.500000 0.823359
v -0.664989 0.500000 0.808674
v -0.694455 0.500000 0.791015
v -0.722043 0.500000 0.770554
v -0.747487 0.500000 0.747489
v -0.770554 0.500000 0.722040
v -0.791016 0.500000 0.694450
v -0.808674 0.500000 0.664990
v -0.823362 0.500000 0.633939
v -0.834931 0.500000 0.601601
v -0.843276 0.500000 0.568282
v -0.848319 0.500000 0.534307
v -0.850002 0.500000 0.499999
v -0.848319 0.500000 0.465693
v -0.843278 0.500000 0.431718
v -0.834932 0.500000 0.398399
v -0.823362 0.500000 0.366060
v -0.808681 0.500000 0.335007
v -0.791020 0.500000 0.305549
v -0.770554 0.500000 0.277963
v -0.747493 -0.000300 0.252563
v -0.722048 -0.000300 0.229500
v -0.694465 -0.000300 0.209044
v -0.665011 -0.000300 0.191390
v -0.633968 -0.000300 0.176707
v -0.601635 -0.000300 0.165139
v -0.568324 -0.000300 0.156794
v -0.534355 -0.000300 0.151756
v -0.500056 -0.000300 0.150070
v -0.465756 -0.000300 0.151755
v -0.431788 -0.000300 0.156794
v -0.398477 -0.000300 0.165139
v -0.366144 -0.000300 0.176707
v -0.335101 -0.000300 0.191390
v -0.305647 -0.000300 0.209044
v -0.278065 -0.000300 0.229501
v -0.252620 -0.000300 0.252563
v -0.229558 -0.000300 0.278007
v -0.209102 -0.000300 0.305589
v -0.191448 -0.000300 0.335044
v -0.176766 -0.000300 0.366087
v -0.165197 -0.000300 0.398420
v -0.156854 -0.000300 0.431731
v -0.151815 -0.000300 0.465699
v -0.150130 -0.000300 0.499998
v -0.151815 -0.000300 0.534297
v -0.156854 -0.000300 0.568266
v -0.165197 -0.000300 0.601576
v -0.176766 -0.000300 0.633909
v -0.191449 -0.000300 0.664953
v -0.209103 -0.000300 0.694407
v -0.229558 -0.000300 0.721990
v -0.252620 -0.000300 0.747434
v -0.278065 -0.000300 0.770495
v -0.305647 -0.000300 0.790952
v -0.335102 -0.000300 0.808607
v -0.366146 -0.000300 0.823289
v -0.398478 -0.000300 0.834857
v -0.431789 -0.000300 0.843201
v -0.465758 -0.000300 0.848241
v -0.500056 -0.000300 0.849925
v -0.534355 -0.000300 0.848241
v -0.568324 -0.000300 0.843202
v -0.601635 -0.000300 0.834858
v -0.633968 -0.000300 0.823289
v -0.665011 -0.000300 0.808606
v -0.694466 -0.000300 0.790952
v -0.722048 -0.000300 0.770496
v -0.747492 -0.000300 0.747434
v -0.770554 -0.000300 0.721989
v -0.791010 -0.000300 0.694408
v -0.808665 -0.000300 0.664953
v -0.823347 -0.000300 0.633909
v -0.834916 -0.000300 0.601577
v -0.843261 -0.000300 0.568265
v -0.848299 -0.000300 0.534297
v -0.849985 -0.000300 0.499998
v -0.848299 -0.000300 0.465699
v -0.843261 -0.000300 0.431731
v -0.834916 -0.000300 0.398420
v -0.823347 -0.000300 0.366087
v -0.808664 -0.000300 0.335044
v -0.791011 -0.000300 0.305589
v -0.770553 -0.000300 0.278006
vt 0.940031 0.055688
vt 0.717099 0.278667
vt 0.694640 0.258312
vt 0.497508 0.058465
vt 0.939107 0.058465
vt 0.497508 0.941133
vt 0.500869 0.055688
vt 0.942468 0.055688
vt 0.500869 0.938356
vt 0.496080 0.055688
vt 0.937679 0.055688
vt 0.937679 0.938356
vt 0.938019 0.941132
vt 0.496420 0.941132
vt 0.938019 0.058465
vt 0.392247 0.172892
vt 0.497155 0.172892
vt 0.497155 0.605592
vt 0.331629 0.609419
vt 0.224036 0.609419
vt 0.224036 0.176718
vt 0.399788 0.883741
vt 0.399788 0.787752
vt 0.836455 0.787752
vt 0.163410 0.604376
vt 0.061174 0.604376
vt 0.061174 0.171676
vt 0.219623 0.775419
vt 0.113793 0.775419
vt 0.113793 0.669971
vt 0.399672 0.883772
vt 0.399672 0.787838
vt 0.836339 0.787838
vt 0.331677 0.609611
vt 0.224085 0.609611
vt 0.224085 0.176911
vt 0.392259 0.172990
vt 0.497108 0.172990
vt 0.497108 0.605691
vt 0.162384 0.605836
vt 0.060148 0.605836
vt 0.060148 0.173135
vt 0.219442 0.669825
vt 0.219442 0.775594
vt 0.113995 0.775594
vt 0.836123 0.788016
vt 0.836123 0.883951
vt 0.399457 0.883951
vt 0.331800 0.609783
vt 0.223909 0.609784
vt 0.223909 0.177083
vt 0.162410 0.606003
vt 0.059863 0.606003
vt 0.059863 0.173302
vt 0.497126 0.605505
vt 0.392307 0.605505
vt 0.392307 0.172805
vt 0.113843 0.775597
vt 0.113843 0.669827
vt 0.219583 0.669827
vt 0.836111 0.787797
vt 0.836111 0.883786
vt 0.399444 0.883786
vt 0.162557 0.605756
vt 0.060038 0.605756
vt 0.060038 0.173055
vt 0.331880 0.609442
vt 0.223897 0.609442
vt 0.223897 0.176741
vt 0.392316 0.173059
vt 0.497136 0.173059
vt 0.497136 0.605759
vt 0.113840 0.775623
vt 0.113840 0.669793
vt 0.219579 0.669794
vt 0.940033 0.938365
vt 0.717148 0.715482
vt 0.737508 0.693018
vt 0.259888 0.301043
vt 0.057365 0.055697
vt 0.280249 0.278580
vt 0.609582 0.066441
vt 0.636315 0.066441
vt 0.609647 0.480055
vt 0.302750 0.735831
vt 0.057363 0.938356
vt 0.280292 0.715476
vt 0.663862 0.066440
vt 0.636378 0.480054
vt 0.583911 0.066442
vt 0.583982 0.480056
vt 0.559554 0.066444
vt 0.559631 0.480057
vt 0.691948 0.066440
vt 0.663917 0.480053
vt 0.720312 0.066439
vt 0.691999 0.480053
vt 0.748675 0.066440
vt 0.720357 0.480053
vt 0.776763 0.066440
vt 0.748713 0.480053
vt 0.804313 0.066441
vt 0.776795 0.480053
vt 0.831043 0.066442
vt 0.804334 0.480054
vt 0.856714 0.066443
vt 0.831065 0.480055
vt 0.881071 0.066445
vt 0.856730 0.480057
vt 0.903878 0.066447
vt 0.881079 0.480058
vt 0.924918 0.066449
vt 0.903884 0.480060
vt 0.929426 0.070900
vt 0.929426 0.091940
vt 0.515814 0.070940
vt 0.929428 0.114746
vt 0.515814 0.091976
vt 0.929428 0.139100
vt 0.515816 0.114779
vt 0.929428 0.164773
vt 0.515816 0.139130
vt 0.929428 0.191509
vt 0.515816 0.164795
vt 0.929428 0.219054
vt 0.515816 0.191525
vt 0.929428 0.247142
vt 0.515816 0.219064
vt 0.929428 0.275504
vt 0.515816 0.247147
vt 0.929428 0.303867
vt 0.515816 0.303859
vt 0.929428 0.331955
vt 0.515816 0.331941
vt 0.929428 0.359502
vt 0.515816 0.359481
vt 0.929428 0.386235
vt 0.515816 0.386211
vt 0.929428 0.411907
vt 0.515816 0.411876
vt 0.929428 0.436262
vt 0.515816 0.436227
vt 0.929426 0.459071
vt 0.515814 0.459030
vt 0.929426 0.480111
vt 0.515814 0.480066
vt 0.925039 0.480067
vt 0.904025 0.480074
vt 0.904025 0.066461
vt 0.881238 0.480081
vt 0.881243 0.066468
vt 0.856896 0.480086
vt 0.856908 0.066474
vt 0.831242 0.480091
vt 0.831259 0.066479
vt 0.798794 0.480097
vt 0.804540 0.066483
vt 0.776979 0.480098
vt 0.777009 0.066486
vt 0.748895 0.480100
vt 0.748931 0.066488
vt 0.720536 0.480101
vt 0.720577 0.066489
vt 0.692172 0.480101
vt 0.692219 0.066489
vt 0.664078 0.480099
vt 0.664131 0.066487
vt 0.636525 0.480097
vt 0.636584 0.066485
vt 0.609778 0.480094
vt 0.609843 0.066481
vt 0.584093 0.480089
vt 0.584165 0.066477
vt 0.559721 0.480084
vt 0.559796 0.066471
vt 0.536889 0.480078
vt 0.536973 0.066465
vt 0.515828 0.480071
vt 0.515915 0.066457
vt 0.515824 0.480059
vt 0.515820 0.459019
vt 0.929432 0.458979
vt 0.515816 0.436210
vt 0.929428 0.436175
vt 0.515814 0.411855
vt 0.929426 0.411825
vt 0.515812 0.386185
vt 0.929424 0.386160
vt 0.515810 0.359448
vt 0.929422 0.359429
vt 0.515808 0.331904
vt 0.929422 0.331890
vt 0.515808 0.303815
vt 0.929420 0.303808
vt 0.515808 0.275453
vt 0.929420 0.275452
vt 0.515808 0.247091
vt 0.515808 0.219002
vt 0.929420 0.247095
vt 0.515810 0.191458
vt 0.929422 0.219013
vt 0.515812 0.164721
vt 0.929422 0.191474
vt 0.515814 0.139051
vt 0.929424 0.164743
vt 0.515818 0.114697
vt 0.929426 0.139079
vt 0.515820 0.091888
vt 0.929428 0.114728
vt 0.515824 0.070848
vt 0.929432 0.091925
vt 0.515705 0.066448
vt 0.540478 0.066445
vt 0.536830 0.480059
vt 0.670294 0.240256
vt 0.644296 0.224674
vt 0.616894 0.211714
vt 0.588355 0.201502
vt 0.807633 0.497031
vt 0.940033 0.055696
vt 0.409035 0.792642
vt 0.438438 0.800007
vt 0.558953 0.194137
vt 0.528970 0.189690
vt 0.498696 0.188203
vt 0.057363 0.055688
vt 0.468421 0.189690
vt 0.438438 0.194138
vt 0.409035 0.201502
vt 0.380496 0.211713
vt 0.353096 0.224673
vt 0.327097 0.240256
vt 0.259935 0.693016
vt 0.241880 0.668670
vt 0.302751 0.258311
vt 0.280292 0.278667
vt 0.259936 0.301127
vt 0.241880 0.325473
vt 0.226297 0.351471
vt 0.213337 0.378871
vt 0.203126 0.407411
vt 0.807565 0.497072
vt 0.940031 0.938356
vt 0.226296 0.642672
vt 0.189825 0.497071
vt 0.213337 0.615271
vt 0.195760 0.436814
vt 0.191313 0.466796
vt 0.203126 0.586732
vt 0.195760 0.557329
vt 0.191313 0.527346
vt 0.942468 0.938356
vt 0.496420 0.058465
vt 0.496080 0.938356
vt 0.515816 0.275503
vt 0.392247 0.605592
vt 0.331629 0.176718
vt 0.836455 0.883741
vt 0.163410 0.171676
vt 0.219623 0.669971
vt 0.836339 0.883772
vt 0.331677 0.176911
vt 0.392259 0.605691
vt 0.162384 0.173135
vt 0.113995 0.669825
vt 0.399457 0.788016
vt 0.331800 0.177083
vt 0.162410 0.173303
vt 0.497126 0.172805
vt 0.219583 0.775597
vt 0.399444 0.787797
vt 0.162557 0.173055
vt 0.331880 0.176741
vt 0.392316 0.605759
vt 0.219579 0.775623
vt 0.755569 0.668668
vt 0.771153 0.642662
vt 0.784116 0.615256
vt 0.794334 0.586715
vt 0.498699 0.188097
vt 0.801697 0.557301
vt 0.806146 0.527313
vt 0.806144 0.466748
vt 0.801697 0.436761
vt 0.794329 0.407351
vt 0.784119 0.378809
vt 0.771154 0.351401
vt 0.302713 0.258221
vt 0.755567 0.325396
vt 0.743361 0.305029
vt 0.717147 0.278580
vt 0.694684 0.258222
vt 0.670333 0.240161
vt 0.327064 0.240162
vt 0.644331 0.224577
vt 0.616922 0.211613
vt 0.588377 0.201400
vt 0.189764 0.497032
vt 0.057365 0.938365
vt 0.353068 0.224576
vt 0.409019 0.792663
vt 0.438428 0.800029
vt 0.380475 0.211613
vt 0.558969 0.194033
vt 0.528980 0.189585
vt 0.409020 0.201400
vt 0.438429 0.194033
vt 0.468418 0.189586
vt 0.241830 0.325397
vt 0.226244 0.351400
vt 0.213280 0.378807
vt 0.203067 0.407352
vt 0.195700 0.436760
vt 0.191252 0.466751
vt 0.191251 0.527311
vt 0.195700 0.557302
vt 0.199154 0.580596
vt 0.213280 0.615256
vt 0.226242 0.642661
vt 0.241829 0.668669
vt 0.694684 0.735840
vt 0.670334 0.753904
vt 0.259889 0.693020
vt 0.280248 0.715479
vt 0.302711 0.735839
vt 0.327064 0.753901
vt 0.353067 0.769487
vt 0.380475 0.782451
vt 0.498700 0.805966
vt 0.644333 0.769493
vt 0.616923 0.782451
vt 0.468417 0.804480
vt 0.588378 0.792664
vt 0.558969 0.800031
vt 0.528980 0.804480
vt 0.327096 0.753888
vt 0.353095 0.769470
vt 0.380496 0.782430
vt 0.939107 0.941133
vt 0.468421 0.804455
vt 0.498695 0.805942
vt 0.528970 0.804455
vt 0.558953 0.800007
vt 0.588356 0.792642
vt 0.616894 0.782430
vt 0.644296 0.769471
vt 0.670294 0.753887
vt 0.737454 0.301127
vt 0.694640 0.735831
vt 0.717100 0.715475
vt 0.737455 0.693016
vt 0.755511 0.668671
vt 0.755511 0.325472
vt 0.771094 0.642671
vt 0.784053 0.615271
vt 0.794266 0.586732
vt 0.771094 0.351471
vt 0.784053 0.378873
vt 0.801630 0.557329
vt 0.806078 0.527346
vt 0.794265 0.407411
vt 0.801630 0.436814
vt 0.806078 0.466797
vt 0.924918 0.480062
vt 0.925039 0.066453
vt 0.929436 0.480014
vt 0.929436 0.070889
vt 0.515794 0.480061
usemtl Material
s off
f 2/1 137/2 136/3
f 1/4 5/5 2/6
f 2/7 6/8 3/9
f 3/10 7/11 8/12
f 5/13 1/14 8/15
f 13/16 14/17 10/18
f 14/19 15/20 11/21
f 15/22 16/23 12/24
f 16/25 13/26 9/27
f 9/28 10/29 11/30
f 21/31 22/32 18/33
f 22/34 23/35 19/36
f 23/37 24/38 20/39
f 24/40 21/41 17/42
f 17/43 18/44 19/45
f 29/46 30/47 26/48
f 30/49 31/50 27/51
f 31/52 32/53 28/54
f 32/55 29/56 25/57
f 25/58 26/59 27/60
f 37/61 38/62 34/63
f 38/64 39/65 35/66
f 39/67 40/68 36/69
f 40/70 37/71 33/72
f 33/73 34/74 35/75
f 8/76 41/77 42/78
f 74/79 6/80 73/81
f 53/82 52/83 117/84
f 168/85 4/86 105/87
f 52/83 51/88 116/89
f 54/90 53/82 118/91
f 55/92 54/90 119/93
f 51/88 50/94 115/95
f 50/94 49/96 114/97
f 49/96 48/98 113/99
f 48/98 47/100 112/101
f 47/100 46/102 111/103
f 46/102 45/104 110/105
f 45/104 44/106 109/107
f 44/106 43/108 108/109
f 43/108 42/110 107/111
f 42/110 41/112 106/113
f 41/114 104/115 105/116
f 104/115 103/117 168/118
f 103/117 102/119 167/120
f 102/119 101/121 166/122
f 101/121 100/123 165/124
f 100/123 99/125 164/126
f 99/125 98/127 163/128
f 98/127 97/129 162/130
f 97/129 96/131 160/132
f 96/131 95/133 159/134
f 95/133 94/135 158/136
f 94/135 93/137 157/138
f 93/137 92/139 156/140
f 92/139 91/141 155/142
f 91/141 90/143 154/144
f 90/143 89/145 153/146
f 89/147 88/148 152/149
f 88/148 87/150 151/151
f 87/150 86/152 150/153
f 86/152 85/154 149/155
f 85/154 84/156 148/157
f 84/156 83/158 147/159
f 83/158 82/160 146/161
f 82/160 81/162 145/163
f 81/162 80/164 144/165
f 80/164 79/166 143/167
f 79/166 78/168 142/169
f 78/168 77/170 141/171
f 77/170 76/172 140/173
f 76/172 75/174 139/175
f 75/174 74/176 138/177
f 74/176 73/178 137/179
f 73/180 72/181 136/182
f 72/181 71/183 135/184
f 71/183 70/185 134/186
f 70/185 69/187 133/188
f 69/187 68/189 132/190
f 68/189 67/191 131/192
f 67/191 66/193 130/194
f 66/193 65/195 129/196
f 65/195 64/197 129/196
f 64/197 63/198 128/199
f 63/198 62/200 127/201
f 62/200 61/202 126/203
f 61/202 60/204 125/205
f 60/204 59/206 124/207
f 59/206 58/208 123/209
f 58/208 57/210 122/211
f 57/212 56/213 120/214
f 56/213 55/92 119/93
f 2/1 136/3 135/215
f 2/1 135/215 134/216
f 2/1 134/216 133/217
f 2/1 133/217 132/218
f 49/219 5/220 8/76
f 4/86 164/221 163/222
f 131/223 130/224 2/1
f 130/224 129/225 2/1
f 1/226 129/225 128/227
f 1/226 128/227 127/228
f 1/226 127/228 126/229
f 1/226 126/229 125/230
f 1/226 125/230 124/231
f 1/226 124/231 123/232
f 105/87 4/86 106/233
f 106/233 4/86 107/234
f 1/226 123/232 122/235
f 1/226 122/235 121/236
f 1/226 121/236 120/237
f 1/226 120/237 119/238
f 1/226 119/238 118/239
f 1/226 118/239 117/240
f 1/226 117/240 116/241
f 145/242 2/1 3/243
f 107/234 4/86 108/244
f 113/245 4/86 1/226
f 108/244 4/86 109/246
f 115/247 114/248 1/226
f 109/246 4/86 110/249
f 114/248 113/245 1/226
f 110/249 4/86 111/250
f 4/86 113/245 112/251
f 111/250 4/86 112/251
f 6/8 7/252 3/9
f 1/14 4/253 8/15
f 4/254 3/10 8/12
f 97/129 161/255 162/130
f 9/256 13/16 10/18
f 10/257 14/19 11/21
f 11/258 15/22 12/24
f 12/259 16/25 9/27
f 12/260 9/28 11/30
f 17/261 21/31 18/33
f 18/262 22/34 19/36
f 19/263 23/37 20/39
f 20/264 24/40 17/42
f 20/265 17/43 19/45
f 25/266 29/46 26/48
f 26/267 30/49 27/51
f 27/268 31/52 28/54
f 28/269 32/55 25/57
f 28/270 25/58 27/60
f 33/271 37/61 34/63
f 34/272 38/64 35/66
f 35/273 39/67 36/69
f 36/274 40/70 33/72
f 36/275 33/73 35/75
f 8/76 42/78 43/276
f 8/76 43/276 44/277
f 8/76 44/277 45/278
f 8/76 45/278 46/279
f 65/280 6/80 5/220
f 1/226 116/241 115/247
f 47/281 48/282 8/76
f 48/282 49/219 8/76
f 5/220 49/219 50/283
f 5/220 50/283 51/284
f 5/220 51/284 52/285
f 5/220 52/285 53/286
f 5/220 53/286 54/287
f 73/81 6/80 72/288
f 5/220 54/287 55/289
f 5/220 55/289 56/290
f 5/220 56/290 57/291
f 5/220 57/291 58/292
f 5/220 58/292 59/293
f 72/288 6/80 71/294
f 5/220 59/293 60/295
f 5/220 60/295 61/296
f 5/220 61/296 62/297
f 81/298 7/299 6/80
f 71/294 6/80 70/300
f 7/299 94/301 95/302
f 70/300 6/80 69/303
f 63/304 64/305 5/220
f 69/303 6/80 68/306
f 64/305 65/280 5/220
f 68/306 6/80 67/307
f 6/80 65/280 66/308
f 67/307 6/80 66/308
f 75/309 6/80 74/79
f 76/310 6/80 75/309
f 77/311 6/80 76/310
f 78/312 6/80 77/311
f 129/225 1/226 2/1
f 2/1 132/218 131/223
f 79/313 80/314 6/80
f 80/314 81/298 6/80
f 7/299 81/298 82/315
f 7/299 82/315 83/316
f 7/299 83/316 84/317
f 7/299 84/317 85/318
f 7/299 85/318 86/319
f 7/299 86/319 87/320
f 41/77 8/76 104/321
f 104/321 8/76 103/322
f 7/299 87/320 88/323
f 7/299 88/323 89/324
f 7/299 89/324 90/325
f 7/299 90/325 91/326
f 7/299 91/326 92/327
f 7/299 92/327 93/328
f 7/299 93/328 94/301
f 97/329 8/76 7/299
f 103/322 8/76 102/330
f 6/80 78/312 79/313
f 102/330 8/76 101/331
f 95/302 96/332 7/299
f 101/331 8/76 100/333
f 96/332 97/329 7/299
f 100/333 8/76 99/334
f 8/76 97/329 98/335
f 99/334 8/76 98/335
f 52/83 116/89 117/84
f 167/336 4/86 168/85
f 166/337 4/86 167/336
f 165/338 4/86 166/337
f 164/221 4/86 165/338
f 5/5 6/339 2/6
f 8/76 46/279 47/281
f 163/222 162/340 4/86
f 162/340 161/341 4/86
f 3/243 161/341 160/342
f 3/243 160/342 159/343
f 3/243 159/343 158/344
f 3/243 158/344 157/345
f 3/243 157/345 156/346
f 3/243 156/346 155/347
f 137/2 2/1 138/348
f 3/243 155/347 154/349
f 3/243 154/349 153/350
f 3/243 153/350 152/351
f 3/243 152/351 151/352
f 138/348 2/1 139/353
f 3/243 151/352 150/354
f 3/243 150/354 149/355
f 3/243 149/355 148/356
f 161/341 3/243 4/86
f 139/353 2/1 140/357
f 5/220 62/297 63/304
f 140/357 2/1 141/358
f 147/359 146/360 3/243
f 141/358 2/1 142/361
f 146/360 145/242 3/243
f 142/361 2/1 143/362
f 2/1 145/242 144/363
f 143/362 2/1 144/363
f 51/88 115/95 116/89
f 53/82 117/84 118/91
f 54/90 118/91 119/93
f 50/94 114/97 115/95
f 49/96 113/99 114/97
f 48/98 112/101 113/99
f 47/100 111/103 112/101
f 46/102 110/105 111/103
f 45/104 109/107 110/105
f 44/106 108/109 109/107
f 43/108 107/111 108/109
f 42/110 106/113 107/111
f 41/112 105/364 106/113
f 104/115 168/118 105/116
f 103/117 167/120 168/118
f 102/119 166/122 167/120
f 101/121 165/124 166/122
f 100/123 164/126 165/124
f 99/125 163/128 164/126
f 98/127 162/130 163/128
f 161/255 97/129 160/132
f 160/132 96/131 159/134
f 159/134 95/133 158/136
f 158/136 94/135 157/138
f 157/138 93/137 156/140
f 156/140 92/139 155/142
f 155/142 91/141 154/144
f 154/144 90/143 153/146
f 153/365 89/147 152/149
f 152/149 88/148 151/151
f 151/151 87/150 150/153
f 150/153 86/152 149/155
f 149/155 85/154 148/157
f 148/157 84/156 147/159
f 147/159 83/158 146/161
f 146/161 82/160 145/163
f 145/163 81/162 144/165
f 144/165 80/164 143/167
f 143/167 79/166 142/169
f 142/169 78/168 141/171
f 141/171 77/170 140/173
f 140/173 76/172 139/175
f 139/175 75/174 138/177
f 138/177 74/176 137/179
f 137/366 73/180 136/182
f 136/182 72/181 135/184
f 135/184 71/183 134/186
f 134/186 70/185 133/188
f 133/188 69/187 132/190
f 132/190 68/189 131/192
f 131/192 67/191 130/194
f 130/194 66/193 129/196
f 64/197 128/199 129/196
f 63/198 127/201 128/199
f 62/200 126/203 127/201
f 61/202 125/205 126/203
f 60/204 124/207 125/205
f 59/206 123/209 124/207
f 58/208 122/211 123/209
f 57/210 121/367 122/211
f 121/368 57/212 120/214
f 120/214 56/213 119/93
f 3/243 148/356 147/359

Binary file not shown.

Before

Width:  |  Height:  |  Size: 758 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 906 B

File diff suppressed because it is too large Load Diff

View File

@@ -1,454 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: 'Lathe.blend'
# www.blender.org
mtllib Lathe.mtl
o Cube
v 0.300000 -0.500000 -0.500000
v 0.300000 -0.500000 0.500000
v -0.300000 -0.500000 0.500000
v -0.300000 -0.500000 -0.500000
v 0.300000 -0.350000 -0.500000
v 0.300008 -0.349810 0.500000
v -0.300000 -0.349810 0.500000
v -0.300000 -0.350000 -0.500000
v -0.100000 -0.350000 0.500000
v -0.100000 -0.350000 0.400000
v 0.100000 -0.350000 0.400000
v 0.100000 -0.350000 0.500000
v -0.100026 0.099832 0.500000
v -0.100026 0.099832 0.400000
v 0.100021 0.099916 0.400000
v 0.100021 0.099916 0.500000
v -0.300000 -0.349620 0.400000
v -0.200000 -0.349620 0.400000
v -0.200000 -0.349620 0.500000
v 0.300016 -0.349810 0.400000
v -0.099943 -0.093830 0.400000
v -0.099943 -0.093830 0.500000
v 0.200015 -0.349620 0.500000
v 0.200015 -0.349620 0.400000
v 0.099958 -0.094206 0.500000
v 0.099959 -0.094206 0.400000
v 0.300008 -0.349810 -0.400000
v -0.300000 -0.349810 -0.400000
v -0.100000 -0.350000 -0.400000
v -0.100000 -0.350000 -0.500000
v 0.100000 -0.350000 -0.500000
v 0.100000 -0.350000 -0.400000
v -0.100026 0.099832 -0.400000
v -0.100026 0.099832 -0.500000
v 0.100021 0.099916 -0.500000
v 0.100021 0.099916 -0.400000
v -0.300000 -0.349620 -0.500000
v -0.200000 -0.349620 -0.500000
v -0.200000 -0.349620 -0.400000
v 0.300016 -0.349810 -0.500000
v -0.099943 -0.093830 -0.500000
v -0.099943 -0.093830 -0.400000
v 0.200015 -0.349620 -0.400000
v 0.200015 -0.349620 -0.500000
v 0.099958 -0.094206 -0.400000
v 0.099959 -0.094206 -0.500000
v 0.000000 0.025030 -0.401515
v 0.000000 0.000030 -0.351515
v 0.004877 0.024550 -0.401515
v 0.009567 0.023127 -0.401515
v 0.013889 0.020817 -0.401515
v 0.017678 0.017708 -0.401515
v 0.020787 0.013920 -0.401515
v 0.023097 0.009597 -0.401515
v 0.024520 0.004908 -0.401515
v 0.025000 0.000030 -0.401515
v 0.024520 -0.004847 -0.401515
v 0.023097 -0.009537 -0.401515
v 0.020787 -0.013859 -0.401515
v 0.017678 -0.017647 -0.401515
v 0.013889 -0.020756 -0.401515
v 0.009567 -0.023067 -0.401515
v 0.004877 -0.024489 -0.401515
v -0.000000 -0.024970 -0.401515
v -0.004877 -0.024489 -0.401515
v -0.009567 -0.023067 -0.401515
v -0.013889 -0.020756 -0.401515
v -0.017678 -0.017647 -0.401515
v -0.020787 -0.013859 -0.401515
v -0.023097 -0.009537 -0.401515
v -0.024520 -0.004847 -0.401515
v -0.025000 0.000030 -0.401515
v -0.024520 0.004908 -0.401515
v -0.023097 0.009597 -0.401515
v -0.020787 0.013920 -0.401515
v -0.017678 0.017708 -0.401515
v -0.013889 0.020817 -0.401515
v -0.009567 0.023127 -0.401515
v -0.004877 0.024550 -0.401515
v 0.000000 -0.024970 0.399906
v 0.000000 0.000030 0.349906
v 0.004877 -0.024489 0.399906
v 0.009567 -0.023067 0.399906
v 0.013889 -0.020756 0.399906
v 0.017678 -0.017647 0.399906
v 0.020787 -0.013859 0.399906
v 0.023097 -0.009537 0.399906
v 0.024520 -0.004847 0.399906
v 0.025000 0.000030 0.399906
v 0.024520 0.004908 0.399906
v 0.023097 0.009597 0.399906
v 0.020787 0.013920 0.399906
v 0.017678 0.017708 0.399906
v 0.013889 0.020817 0.399906
v 0.009567 0.023127 0.399906
v 0.004877 0.024550 0.399906
v -0.000000 0.025030 0.399906
v -0.004877 0.024550 0.399906
v -0.009567 0.023127 0.399906
v -0.013889 0.020817 0.399906
v -0.017678 0.017708 0.399906
v -0.020787 0.013920 0.399906
v -0.023097 0.009597 0.399906
v -0.024520 0.004908 0.399906
v -0.025000 0.000030 0.399906
v -0.024520 -0.004847 0.399906
v -0.023097 -0.009537 0.399906
v -0.020787 -0.013859 0.399906
v -0.017678 -0.017647 0.399906
v -0.013889 -0.020756 0.399906
v -0.009567 -0.023067 0.399906
v -0.004877 -0.024489 0.399906
vt 0.055676 0.714997
vt 0.461276 0.714997
vt 0.461276 0.958356
vt 0.055692 0.552489
vt 0.299052 0.552489
vt 0.299052 0.958088
vt 0.114060 0.957260
vt 0.053221 0.957260
vt 0.114060 0.551660
vt 0.115416 0.959064
vt 0.054499 0.959067
vt 0.054499 0.715705
vt 0.460836 0.895972
vt 0.460836 0.956888
vt 0.055236 0.956811
vt 0.052378 0.551511
vt 0.113217 0.551511
vt 0.113217 0.794871
vt 0.859339 0.585140
vt 0.899899 0.585141
vt 0.899895 0.767589
vt 0.661978 0.664887
vt 0.661944 0.583749
vt 0.844429 0.583757
vt 0.845026 0.774095
vt 0.845026 0.814655
vt 0.662544 0.814655
vt 0.486804 0.726795
vt 0.486838 0.645656
vt 0.669290 0.726787
vt 0.909665 0.581237
vt 0.950225 0.581237
vt 0.950225 0.662375
vt 0.548284 0.492713
vt 0.507724 0.492713
vt 0.507724 0.389216
vt 0.473298 0.563268
vt 0.441283 0.491336
vt 0.473298 0.363638
vt 0.564494 0.312835
vt 0.605054 0.312836
vt 0.605054 0.495623
vt 0.718010 0.499445
vt 0.686049 0.427693
vt 0.718010 0.299918
vt 0.320646 0.359541
vt 0.361206 0.359540
vt 0.361206 0.462887
vt 0.626018 0.370422
vt 0.657969 0.298664
vt 0.657969 0.498262
vt 0.499580 0.305284
vt 0.499580 0.345843
vt 0.316677 0.345843
vt 0.383314 0.431490
vt 0.415330 0.359557
vt 0.415330 0.559189
vt 0.578705 0.620028
vt 0.619265 0.620029
vt 0.619260 0.802477
vt 0.567186 0.726456
vt 0.486047 0.726485
vt 0.486066 0.544000
vt 0.661298 0.919778
vt 0.661298 0.960338
vt 0.478816 0.960338
vt 0.471966 0.904627
vt 0.472000 0.823488
vt 0.654451 0.904618
vt 0.663484 0.824164
vt 0.704044 0.824164
vt 0.704044 0.905303
vt 0.776204 0.408123
vt 0.735644 0.408123
vt 0.735644 0.304626
vt 0.268701 0.584065
vt 0.236686 0.512132
vt 0.268701 0.384434
vt 0.786585 0.300233
vt 0.827145 0.300234
vt 0.827145 0.483021
vt 0.877302 0.507559
vt 0.845340 0.435807
vt 0.877302 0.308032
vt 0.112333 0.367587
vt 0.152893 0.367586
vt 0.152893 0.470932
vt 0.904211 0.384370
vt 0.936161 0.312612
vt 0.936161 0.512210
vt 0.297240 0.314405
vt 0.297240 0.354964
vt 0.114337 0.354964
vt 0.175259 0.446991
vt 0.207276 0.375058
vt 0.207276 0.574690
vt 0.156980 0.160958
vt 0.167397 0.143132
vt 0.158773 0.161592
vt 0.160638 0.162252
vt 0.162503 0.162912
vt 0.155327 0.160374
vt 0.153878 0.159862
vt 0.195957 0.092430
vt 0.208013 0.109667
vt 0.194503 0.092948
vt 0.197614 0.091841
vt 0.199410 0.091202
vt 0.201275 0.090539
vt 0.203137 0.089876
vt 0.204926 0.089240
vt 0.206573 0.088655
vt 0.208013 0.088142
vt 0.165949 0.102060
vt 0.167397 0.081062
vt 0.167397 0.102572
vt 0.164296 0.101476
vt 0.162503 0.100841
vt 0.160637 0.100182
vt 0.158772 0.099523
vt 0.156979 0.098889
vt 0.155326 0.098304
vt 0.153878 0.097792
vt 0.119347 0.144805
vt 0.131433 0.162054
vt 0.117905 0.145312
vt 0.120995 0.144226
vt 0.122787 0.143597
vt 0.124652 0.142941
vt 0.126519 0.142285
vt 0.128317 0.141653
vt 0.129977 0.141070
vt 0.131434 0.140558
vt 0.165949 0.164130
vt 0.167397 0.164642
vt 0.164296 0.163546
vt 0.121015 0.096315
vt 0.131434 0.078488
vt 0.122808 0.096949
vt 0.124674 0.097608
vt 0.126539 0.098268
vt 0.119362 0.095730
vt 0.117914 0.095218
vt 0.091519 0.113912
vt 0.103606 0.131160
vt 0.090077 0.114419
vt 0.093168 0.113333
vt 0.094959 0.112703
vt 0.096824 0.112048
vt 0.098692 0.111392
vt 0.100490 0.110760
vt 0.102149 0.110177
vt 0.103606 0.109665
vt 0.181574 0.134317
vt 0.183023 0.113319
vt 0.183023 0.134829
vt 0.179921 0.133732
vt 0.178127 0.133098
vt 0.176262 0.132439
vt 0.174397 0.131780
vt 0.172604 0.131146
vt 0.170951 0.130561
vt 0.169503 0.130049
vt 0.195957 0.154516
vt 0.208013 0.171752
vt 0.194503 0.155033
vt 0.197615 0.153926
vt 0.199410 0.153288
vt 0.201275 0.152624
vt 0.203138 0.151962
vt 0.204926 0.151325
vt 0.206573 0.150740
vt 0.208013 0.150227
vt 0.129985 0.099486
vt 0.131434 0.099998
vt 0.128332 0.098902
vt 0.055676 0.958356
vt 0.055689 0.958088
vt 0.053144 0.551660
vt 0.115416 0.715705
vt 0.055236 0.895972
vt 0.052378 0.794871
vt 0.859335 0.767588
vt 0.844429 0.664877
vt 0.662544 0.774095
vt 0.669290 0.645667
vt 0.909665 0.662375
vt 0.548284 0.389216
vt 0.436271 0.380188
vt 0.564494 0.495699
vt 0.680953 0.316406
vt 0.320646 0.462888
vt 0.620940 0.481709
vt 0.316677 0.305283
vt 0.378301 0.542638
vt 0.578701 0.802476
vt 0.567186 0.544004
vt 0.478816 0.919778
vt 0.654451 0.823498
vt 0.663484 0.905303
vt 0.776204 0.304626
vt 0.231675 0.400984
vt 0.786585 0.483098
vt 0.840244 0.324520
vt 0.112333 0.470933
vt 0.899132 0.495657
vt 0.114337 0.314404
vt 0.170246 0.558139
usemtl Material
s off
f 1/1 2/2 3/3
f 5/4 8/5 7/6
f 1/7 5/8 2/9
f 2/10 6/11 7/12
f 3/13 7/14 8/15
f 5/16 1/17 4/18
f 13/19 14/20 10/21
f 14/22 15/23 11/24
f 15/25 16/26 12/27
f 16/28 13/29 12/30
f 16/31 15/32 14/33
f 21/34 22/35 19/36
f 16/37 25/38 6/39
f 13/40 14/41 17/42
f 14/43 21/44 17/45
f 25/46 26/47 24/48
f 22/49 13/50 7/51
f 15/52 16/53 6/54
f 26/55 15/56 20/57
f 33/58 34/59 30/60
f 34/61 35/62 31/63
f 35/64 36/65 32/66
f 36/67 33/68 32/69
f 36/70 35/71 34/72
f 41/73 42/74 39/75
f 36/76 45/77 27/78
f 33/79 34/80 37/81
f 34/82 41/83 37/84
f 45/85 46/86 44/87
f 42/88 33/89 28/90
f 35/91 36/92 27/93
f 46/94 35/95 40/96
f 78/97 48/98 79/99
f 47/100 48/98 49/101
f 77/102 48/98 78/97
f 76/103 48/98 77/102
f 75/104 48/105 76/106
f 74/107 48/105 75/104
f 73/108 48/105 74/107
f 72/109 48/105 73/108
f 71/110 48/105 72/109
f 70/111 48/105 71/110
f 69/112 48/105 70/111
f 68/113 48/105 69/112
f 67/114 48/115 68/116
f 66/117 48/115 67/114
f 65/118 48/115 66/117
f 64/119 48/115 65/118
f 63/120 48/115 64/119
f 62/121 48/115 63/120
f 61/122 48/115 62/121
f 60/123 48/115 61/122
f 59/124 48/125 60/126
f 58/127 48/125 59/124
f 57/128 48/125 58/127
f 56/129 48/125 57/128
f 55/130 48/125 56/129
f 54/131 48/125 55/130
f 53/132 48/125 54/131
f 52/133 48/125 53/132
f 51/134 48/98 52/135
f 50/136 48/98 51/134
f 79/99 48/98 47/100
f 49/101 48/98 50/136
f 111/137 81/138 112/139
f 80/140 81/138 82/141
f 110/142 81/138 111/137
f 109/143 81/138 110/142
f 108/144 81/145 109/146
f 107/147 81/145 108/144
f 106/148 81/145 107/147
f 105/149 81/145 106/148
f 104/150 81/145 105/149
f 103/151 81/145 104/150
f 102/152 81/145 103/151
f 101/153 81/145 102/152
f 100/154 81/155 101/156
f 99/157 81/155 100/154
f 98/158 81/155 99/157
f 97/159 81/155 98/158
f 96/160 81/155 97/159
f 95/161 81/155 96/160
f 94/162 81/155 95/161
f 93/163 81/155 94/162
f 92/164 81/165 93/166
f 91/167 81/165 92/164
f 90/168 81/165 91/167
f 89/169 81/165 90/168
f 88/170 81/165 89/169
f 87/171 81/165 88/170
f 86/172 81/165 87/171
f 85/173 81/165 86/172
f 84/174 81/138 85/175
f 83/176 81/138 84/174
f 112/139 81/138 80/140
f 82/141 81/138 83/176
f 4/177 1/1 3/3
f 6/178 5/4 7/6
f 5/8 6/179 2/9
f 3/180 2/10 7/12
f 4/181 3/13 8/15
f 8/182 5/16 4/18
f 9/183 13/19 10/21
f 10/184 14/22 11/24
f 11/185 15/25 12/27
f 13/29 9/186 12/30
f 13/187 16/31 14/33
f 18/188 21/34 19/36
f 25/38 23/189 6/39
f 7/190 13/40 17/42
f 21/44 18/191 17/45
f 23/192 25/46 24/48
f 19/193 22/49 7/51
f 20/194 15/52 6/54
f 24/195 26/55 20/57
f 29/196 33/58 30/60
f 30/197 34/61 31/63
f 31/198 35/64 32/66
f 33/68 29/199 32/69
f 33/200 36/70 34/72
f 38/201 41/73 39/75
f 45/77 43/202 27/78
f 28/203 33/79 37/81
f 41/83 38/204 37/84
f 43/205 45/85 44/87
f 39/206 42/88 28/90
f 40/207 35/91 27/93
f 44/208 46/94 40/96

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Some files were not shown because too many files have changed in this diff Show More