mirror of
https://github.com/GTNewHorizons/ThaumicHorizons.git
synced 2026-10-26 14:33:47 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e985a0c763 | ||
|
|
d9867a343e | ||
|
|
ec0a44d6dd | ||
|
|
b2186e92f9 | ||
|
|
f619f97928 | ||
|
|
f542637140 | ||
|
|
23469f5e5b | ||
|
|
c1730a50d9 | ||
|
|
1ef8e16e9c | ||
|
|
a084621884 | ||
|
|
f4f7e27bca | ||
|
|
db3f4e0cba | ||
|
|
2768e1b1eb | ||
|
|
0a54bd5465 | ||
|
|
892f8941e2 | ||
|
|
5b04ae1082 | ||
|
|
1dc5f139e5 | ||
|
|
ad2c1bcc5f | ||
|
|
8546cab959 | ||
|
|
f69e39227e | ||
|
|
06def1b332 | ||
|
|
a351ef46b4 | ||
|
|
33cc4943a7 | ||
|
|
5f37e3aa3d | ||
|
|
7eb409820b | ||
|
|
ce27ffd52d | ||
|
|
551cdf4a93 | ||
|
|
5a14114583 | ||
|
|
fc0cc6a074 | ||
|
|
47c06267c1 | ||
|
|
76258cd038 | ||
|
|
2ee312ccd1 | ||
|
|
5c7028c645 | ||
|
|
e94bc0d510 | ||
|
|
8a84cfcd4d | ||
|
|
52bd07d4c4 | ||
|
|
b75095d013 | ||
|
|
0c4a02cd0e | ||
|
|
b7b9c9a9b5 | ||
|
|
c9db9f26d1 | ||
|
|
15532b7fd0 | ||
|
|
e510cd9915 | ||
|
|
531fedbe37 | ||
|
|
6f9e5faafe | ||
|
|
43e607e578 | ||
|
|
4db45f94b6 | ||
|
|
2d57926762 | ||
|
|
7f42969bb8 | ||
|
|
b290dba600 | ||
|
|
ec59afb3a8 | ||
|
|
8026516a3b | ||
|
|
6676a54693 | ||
|
|
a63c0ab6ed | ||
|
|
73e77b70db | ||
|
|
ca1827a47b | ||
|
|
b2377724f4 | ||
|
|
7a22b94592 | ||
|
|
382234cc72 | ||
|
|
975c987d81 | ||
|
|
b574a509b2 | ||
|
|
c83c5795fd | ||
|
|
68f767e728 | ||
|
|
1e1aab9c7d | ||
|
|
7c697bbcb1 | ||
|
|
618164a27e | ||
|
|
48c8e68417 | ||
|
|
900cfe249b | ||
|
|
8a482aeaff | ||
|
|
6517272910 | ||
|
|
b4b80bd72c | ||
|
|
2ecc5e7c35 | ||
|
|
801a7f78a3 | ||
|
|
71df83d933 | ||
|
|
fc923e182c | ||
|
|
6984aaead7 | ||
|
|
df47180317 | ||
|
|
325fa23585 | ||
|
|
785bb27638 | ||
|
|
08fe020650 | ||
|
|
9f769476a6 | ||
|
|
d3fd6376dc | ||
|
|
f16650e95a | ||
|
|
3215c7c47a | ||
|
|
7112eb8f41 | ||
|
|
17e20e08fc | ||
|
|
9fb1d4b332 | ||
|
|
e6f2db0139 | ||
|
|
7d0738de7a | ||
|
|
39a295f3e5 | ||
|
|
d8fbdd145d | ||
|
|
87baa5963f | ||
|
|
673f37a1ec | ||
|
|
75a5c8be44 | ||
|
|
6be38cc693 | ||
|
|
f0dfce4c27 | ||
|
|
25de863764 | ||
|
|
29d3d2d25a | ||
|
|
26debe826f | ||
|
|
1e8cc79148 | ||
|
|
2012f27d74 | ||
|
|
ed7913739a | ||
|
|
ff212745a3 | ||
|
|
43d5d94c92 | ||
|
|
a21d447ed0 | ||
|
|
3f84e365e3 | ||
|
|
f9c2aa5c10 | ||
|
|
d7c261316f | ||
|
|
0bdbbb0d11 | ||
|
|
8323771c10 | ||
|
|
db13268550 | ||
|
|
e8e8ae934f | ||
|
|
33402b81ae | ||
|
|
9a0b266519 | ||
|
|
d3ecb3eab6 | ||
|
|
6a6952cb29 | ||
|
|
0cd8f3ecc2 | ||
|
|
8634f9e288 | ||
|
|
d01fd12b68 | ||
|
|
932c06c396 | ||
|
|
8b23575edb | ||
|
|
69d63f22b5 | ||
|
|
cbf90c89d3 | ||
|
|
ec3d51f69a | ||
|
|
69c22b51bc | ||
|
|
90bb0b6621 | ||
|
|
3ff1e2ae3d | ||
|
|
f768215031 | ||
|
|
c4ec1dadd3 | ||
|
|
3444b1132f | ||
|
|
9e7cfebeca | ||
|
|
89dd677196 | ||
|
|
e3945f8e84 | ||
|
|
cda63c4433 | ||
|
|
38c7e8d005 | ||
|
|
65d603bf6f | ||
|
|
4cf447e0a0 | ||
|
|
f629ad06b7 | ||
|
|
5032732d9a | ||
|
|
2505febd51 | ||
|
|
e229b31ef9 | ||
|
|
e7c5c19bb3 | ||
|
|
1225c68a9e | ||
|
|
fbe0a42337 | ||
|
|
10a2ef93a5 | ||
|
|
4af8524aea | ||
|
|
7bcac7294d | ||
|
|
932ee6e9f5 | ||
|
|
925f0a7bdd | ||
|
|
42223cb063 | ||
|
|
9dbf0b01a8 | ||
|
|
f4ea02919a | ||
|
|
8d6fc24926 | ||
|
|
84dc4a5460 | ||
|
|
9440ad7740 | ||
|
|
4217002a50 | ||
|
|
6bc61c3a9c | ||
|
|
1f7eb8e3a1 | ||
|
|
dff17c8bf8 | ||
|
|
8851295180 | ||
|
|
39ad037d16 | ||
|
|
aa1aa0359c | ||
|
|
755f2bb17a | ||
|
|
d9597ddd0f | ||
|
|
1a63684bbd | ||
|
|
db842d3ffa | ||
|
|
15e170a428 | ||
|
|
6bf31c6be3 | ||
|
|
19b7503018 | ||
|
|
10424ef688 | ||
|
|
687e15968e | ||
|
|
d77f960cd8 | ||
|
|
ae5790d836 | ||
|
|
3e27a6ecca | ||
|
|
ebe4279799 | ||
|
|
aa7e3736a0 | ||
|
|
1f61ef15e3 | ||
|
|
943ae13bc0 | ||
|
|
48d1b9f0c6 | ||
|
|
e89a4a53ba | ||
|
|
5d777104d5 | ||
|
|
2cf251b539 | ||
|
|
84d7860d3c | ||
|
|
9838790974 | ||
|
|
6161f3a1c4 | ||
|
|
1173060c64 | ||
|
|
b48ae835bd | ||
|
|
7f874b0646 | ||
|
|
32efd39fee | ||
|
|
0ecb1d2c51 | ||
|
|
d16d00d911 | ||
|
|
92a0865a4d | ||
|
|
e609874d2d | ||
|
|
4bf23df25b | ||
|
|
f0adb5d09a | ||
|
|
35182626f7 | ||
|
|
8c9d1ece5d | ||
|
|
206f8a33f5 | ||
|
|
5d7edb5d5c | ||
|
|
0f8a7f0be3 | ||
|
|
41855e0c7a | ||
|
|
a62e675bc5 | ||
|
|
f306f4b23f | ||
|
|
275789f75e | ||
|
|
c403d90a1f | ||
|
|
203f19f1d6 | ||
|
|
62db3abe63 | ||
|
|
ea9a5fa857 | ||
|
|
8d122d3ba8 | ||
|
|
1600812b71 | ||
|
|
c0717e993d | ||
|
|
0806af3ad0 | ||
|
|
df54e81c14 | ||
|
|
d981421721 | ||
|
|
f6e2abcc8e | ||
|
|
972fd950c0 | ||
|
|
3f54a201c7 | ||
|
|
59479ad703 | ||
|
|
f20371ba3d | ||
|
|
cbf51834e2 | ||
|
|
2dcd2f9877 | ||
|
|
46fdf7f730 | ||
|
|
9adc79358b | ||
|
|
10626ce52b | ||
|
|
e18f6433ef | ||
|
|
4019d6e24f | ||
|
|
c1a1fddba3 | ||
|
|
3134edcc72 | ||
|
|
d6c5dd93f3 | ||
|
|
0755e67053 | ||
|
|
14f0bf4dd4 | ||
|
|
4e515ff6a2 | ||
|
|
5bbdb325c1 | ||
|
|
dbd14c0859 | ||
|
|
cc8e0291c4 | ||
|
|
db9016aa4b | ||
|
|
14806fba4e | ||
|
|
c44f5e36f8 | ||
|
|
8868440769 | ||
|
|
6935b8cdfc | ||
|
|
9e43dc7ffc | ||
|
|
ae9b960420 | ||
|
|
b9b3de0836 | ||
|
|
be1b40d4e3 | ||
|
|
97c59ab777 | ||
|
|
00a6ff30b8 | ||
|
|
a21235ba0f | ||
|
|
42ce6d3844 | ||
|
|
f635840e6b |
No files matched your search
@@ -0,0 +1,2 @@
|
||||
# Ignore spotlessApply reformat
|
||||
f4ea02919a0ba18e9f2a83ed96068c7116e56ac3
|
||||
@@ -0,0 +1,44 @@
|
||||
* text eol=lf
|
||||
|
||||
*.[jJ][aA][rR] binary
|
||||
|
||||
*.[pP][nN][gG] binary
|
||||
*.[jJ][pP][gG] binary
|
||||
*.[jJ][pP][eE][gG] binary
|
||||
*.[gG][iI][fF] binary
|
||||
*.[tT][iI][fF] binary
|
||||
*.[tT][iI][fF][fF] binary
|
||||
*.[iI][cC][oO] binary
|
||||
*.[sS][vV][gG] text
|
||||
*.[eE][pP][sS] binary
|
||||
*.[xX][cC][fF] binary
|
||||
|
||||
*.[kK][aA][rR] binary
|
||||
*.[mM]4[aA] binary
|
||||
*.[mM][iI][dD] binary
|
||||
*.[mM][iI][dD][iI] binary
|
||||
*.[mM][pP]3 binary
|
||||
*.[oO][gG][gG] binary
|
||||
*.[rR][aA] binary
|
||||
|
||||
*.7[zZ] binary
|
||||
*.[gG][zZ] binary
|
||||
*.[tT][aA][rR] binary
|
||||
*.[tT][gG][zZ] binary
|
||||
*.[zZ][iI][pP] binary
|
||||
|
||||
*.[tT][cC][nN] binary
|
||||
*.[sS][oO] binary
|
||||
*.[dD][lL][lL] binary
|
||||
*.[dD][yY][lL][iI][bB] binary
|
||||
*.[pP][sS][dD] binary
|
||||
*.[tT][tT][fF] binary
|
||||
*.[oO][tT][fF] binary
|
||||
|
||||
*.[pP][aA][tT][cC][hH] -text
|
||||
|
||||
*.[bB][aA][tT] text eol=crlf
|
||||
*.[cC][mM][dD] text eol=crlf
|
||||
*.[pP][sS]1 text eol=crlf
|
||||
|
||||
*[aA][uU][tT][oO][gG][eE][nN][eE][rR][aA][tT][eE][dD]* binary
|
||||
@@ -0,0 +1,62 @@
|
||||
name: Report Bug
|
||||
description: "Report a bug."
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "A bug/crash report with sufficient information and logs to reproduce and track down."
|
||||
- type: input
|
||||
id: discord
|
||||
attributes:
|
||||
label: Your GTNH Discord Username
|
||||
description: Leave empty if you don't have one, but this will make it harder to contact you if we need additional info.
|
||||
placeholder: "Example: Fake#1234"
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Mod Version
|
||||
description: "What version of the Mod are you using?"
|
||||
placeholder: "Example: 1.0.0"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: report
|
||||
attributes:
|
||||
label: Bug Report
|
||||
description: "Relevant information, as well as relevant logs attached such as `logs/fml-client-latest.log."
|
||||
placeholder: "Example: https://mclo.gs/ OR submit the file to github by dragging it to this textbox."
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: java
|
||||
attributes:
|
||||
label: Java Version
|
||||
description: What Java version are you using? It's worth mentioning that if you play on Java9+ you should try update to latest minor release (e.g. prefer Java 17.0.6 over 17.0.2) of that version.
|
||||
options:
|
||||
- Java 8
|
||||
- Java 9
|
||||
- Java 11
|
||||
- Java 17
|
||||
- Java 19
|
||||
- Java 20
|
||||
- Java 21
|
||||
- Other (Please Specify)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: modlist
|
||||
attributes:
|
||||
label: Mod List or GTNH Pack Version
|
||||
description: "List of mods, ideally a minimal reproducible set (can be retrieved from latest.log). If using GTNH please indicate pack version and any changed mods, not the entire modlist."
|
||||
placeholder: "List of mods or GTNH Pack version goes here"
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: final
|
||||
attributes:
|
||||
label: Final Checklist
|
||||
description: Certify that you read things
|
||||
options:
|
||||
- label: "I have searched the issues and haven't found a similar issue."
|
||||
required: true
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Feature Request
|
||||
description: "Request a feature."
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "Please use this form to request features. We ask you check if it was already requested though"
|
||||
- type: input
|
||||
id: discord
|
||||
attributes:
|
||||
label: Your GTNH Discord Username
|
||||
description: Leave empty if you don't have one, but this will make it harder to contact you if we need additional info.
|
||||
placeholder: "Example: Wumpus#1234"
|
||||
- type: textarea
|
||||
id: request
|
||||
attributes:
|
||||
label: Feature Request
|
||||
description: "Relevant information, as well as relevant images"
|
||||
placeholder: "Example: https://mclo.gs/ OR submit the file to github by dragging it to this textbox."
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: final
|
||||
attributes:
|
||||
label: Final Checklist
|
||||
description: Certify that you read things
|
||||
options:
|
||||
- label: "I have searched the issues and haven't found a similar issue."
|
||||
required: true
|
||||
@@ -0,0 +1,27 @@
|
||||
if [[ -d "run/crash-reports" ]]; then
|
||||
echo "Crash reports detected:"
|
||||
cat $directory/*
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if grep --quiet "Fatal errors were detected" server.log; then
|
||||
echo "Fatal errors detected:"
|
||||
cat server.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if grep --quiet "The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED" server.log; then
|
||||
echo "Server force stopped:"
|
||||
cat server.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if grep --quiet 'Done .+ For help, type "help" or "?"' server.log; then
|
||||
echo "Server didn't finish startup:"
|
||||
cat server.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "No crash reports detected"
|
||||
exit 0
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
name: Build and test
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master, main ]
|
||||
push:
|
||||
branches: [ master, main ]
|
||||
|
||||
jobs:
|
||||
build-and-test:
|
||||
uses: GTNewHorizons/GTNH-Actions-Workflows/.github/workflows/build-and-test.yml@master
|
||||
secrets: inherit
|
||||
@@ -0,0 +1,17 @@
|
||||
name: Optimize images
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master, main, release/** ]
|
||||
paths:
|
||||
- "**/*.png"
|
||||
|
||||
push:
|
||||
branches: [ master, main, release/** ]
|
||||
paths:
|
||||
- "**/*.png"
|
||||
|
||||
jobs:
|
||||
optimize-images:
|
||||
uses: GTNewHorizons/GTNH-Actions-Workflows/.github/workflows/optimize-images.yml@master
|
||||
secrets: inherit
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
name: Release tagged build
|
||||
|
||||
on:
|
||||
push:
|
||||
tags: [ '*' ]
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
release-tags:
|
||||
uses: GTNewHorizons/GTNH-Actions-Workflows/.github/workflows/release-tags.yml@master
|
||||
secrets: inherit
|
||||
+30
-5
@@ -1,7 +1,32 @@
|
||||
.gradle/
|
||||
eclipse/
|
||||
out/
|
||||
*.iws
|
||||
*.ipr
|
||||
.gradle
|
||||
.settings
|
||||
/.idea/
|
||||
/run/
|
||||
/build/
|
||||
/eclipse/
|
||||
.classpath
|
||||
.project
|
||||
/bin/
|
||||
/config/
|
||||
/crash-reports/
|
||||
/logs/
|
||||
options.txt
|
||||
/saves/
|
||||
usernamecache.json
|
||||
banned-ips.json
|
||||
banned-players.json
|
||||
eula.txt
|
||||
ops.json
|
||||
server.properties
|
||||
servers.dat
|
||||
usercache.json
|
||||
whitelist.json
|
||||
/out/
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
src/main/resources/mixins.*.json
|
||||
*.bat
|
||||
*.DS_Store
|
||||
!gradlew.bat
|
||||
layout.json
|
||||
@@ -0,0 +1,3 @@
|
||||
# Any Github changes require admin approval
|
||||
/.github/** @GTNewHorizons/admin
|
||||
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
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 that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU 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 as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
@@ -1 +1,16 @@
|
||||
Thaumic Horizons Thaumcraft Addon
|
||||
# Thaumic Horizons: GregTech New Horizons Fork
|
||||
|
||||
Curseforge link: https://www.curseforge.com/minecraft/mc-mods/thaumic-horizons
|
||||
|
||||
GTNH Changes are dual-licensed:
|
||||
For Kentington - MIT
|
||||
For everyone else, this code is licensed LGPL v3.0 or later.
|
||||
|
||||
Original code Copyright (c) 2015 Kentington
|
||||
|
||||
Explict permission to modify given here:
|
||||
https://discord.com/channels/181078474394566657/1029918255932
|
||||

|
||||

|
||||

|
||||

|
||||
+4
-80
@@ -1,81 +1,5 @@
|
||||
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'
|
||||
}
|
||||
//version: 1707058017
|
||||
|
||||
plugins {
|
||||
id 'com.gtnewhorizons.gtnhconvention'
|
||||
}
|
||||
|
||||
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'forge'
|
||||
|
||||
group= "com.kentington.thaumichorizons" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
|
||||
targetCompatibility = "1.8"
|
||||
sourceCompatibility = "1.8"
|
||||
|
||||
version = "1.1.9.16"
|
||||
archivesBaseName = "ThaumicHorizons-1.7.10"
|
||||
|
||||
|
||||
minecraft {
|
||||
version = "1.7.10-10.13.4.1614-1.7.10"
|
||||
replace '${version}', project.version
|
||||
replaceIn "ThaumicHorizons.java"
|
||||
replace '@version@', project.version
|
||||
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'
|
||||
}
|
||||
}
|
||||
|
||||
jar {
|
||||
//rename the default output, for some better... sanity with scipts
|
||||
archiveName = "${baseName} ${version}.${extension}"
|
||||
}
|
||||
|
||||
defaultTasks 'build', 'sort' //remove clean if you want faster builds, this will stop rare inconsistancies.
|
||||
@@ -0,0 +1,10 @@
|
||||
// Add your dependencies here
|
||||
|
||||
dependencies {
|
||||
api('com.github.GTNewHorizons:Baubles-Expanded:2.2.22-GTNH:dev')
|
||||
api('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
|
||||
|
||||
compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.54.135:dev') {transitive = false}
|
||||
|
||||
runtimeOnlyNonPublishable('com.github.GTNewHorizons:AspectRecipeIndex:1.1.4:dev')
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
# ExampleMod tag to use as Blowdryer (Spotless, etc.) settings version, leave empty to disable.
|
||||
# LOCAL to test local config updates.
|
||||
gtnh.settings.blowdryerTag = 0.2.0
|
||||
|
||||
# Human-readable mod name, available for mcmod.info population.
|
||||
modName = ThaumicHorizons
|
||||
|
||||
# Case-sensitive identifier string, available for mcmod.info population and used for automatic mixin JSON generation.
|
||||
# Conventionally lowercase.
|
||||
modId = ThaumicHorizons
|
||||
|
||||
# Root package of the mod, used to find various classes in other properties,
|
||||
# mcmod.info substitution, enabling assertions in run tasks, etc.
|
||||
modGroup = com.kentington.thaumichorizons
|
||||
|
||||
# Whether to use modGroup as the maven publishing group.
|
||||
# When false, com.github.GTNewHorizons is used.
|
||||
useModGroupForPublishing = false
|
||||
|
||||
# Updates your build.gradle and settings.gradle automatically whenever an update is available.
|
||||
autoUpdateBuildScript = false
|
||||
|
||||
# Version of Minecraft to target
|
||||
minecraftVersion = 1.7.10
|
||||
|
||||
# Version of Minecraft Forge to target
|
||||
forgeVersion = 10.13.4.1614
|
||||
|
||||
# Specify an MCP channel for dependency deobfuscation and the deobfParams task.
|
||||
channel = stable
|
||||
|
||||
# Specify an MCP mappings version for dependency deobfuscation and the deobfParams task.
|
||||
mappingsVersion = 12
|
||||
|
||||
# Defines other MCP mappings for dependency deobfuscation.
|
||||
remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/
|
||||
|
||||
# Select a default username for testing your mod. You can always override this per-run by running
|
||||
# `./gradlew runClient --username=AnotherPlayer`, or configuring this command in your IDE.
|
||||
developmentEnvironmentUserName = Developer
|
||||
|
||||
# Enables modern Java syntax support. Valid values:
|
||||
# - false: No modern syntax, Java 8 only
|
||||
# - jabel: Jabel syntax-only support, compiles to J8 bytecode
|
||||
# - jvmDowngrader: Full modern Java via JVM Downgrader (syntax + stdlib APIs)
|
||||
# - modern: Native modern Java bytecode, no downgrading
|
||||
enableModernJavaSyntax = jabel
|
||||
|
||||
# If set, ignores the above setting and compiles with the given toolchain. This may cause unexpected issues,
|
||||
# and should *not* be used in most situations. -1 disables this.
|
||||
# forceToolchainVersion = -1
|
||||
|
||||
# Target JVM version for JVM Downgrader bytecode downgrading.
|
||||
# Only used when enableModernJavaSyntax = jvmDowngrader
|
||||
# downgradeTargetVersion = 8
|
||||
|
||||
# Comma-separated list of Java versions for multi-release jar support (JVM Downgrader only).
|
||||
# Classes will be available in META-INF/versions/N/ for each version N in this list.
|
||||
# Default: "21,25" (J25+ gets native classes, J21-24 gets partial downgrade, J8-20 gets full downgrade).
|
||||
# jvmDowngraderMultiReleaseVersions = 21,25
|
||||
|
||||
# Specifies how JVM Downgrader API stubs are provided. Options:
|
||||
# - shade: Shade minimized stubs into the jar
|
||||
# - gtnhlib: GTNHLib provides stubs at runtime (adds version constraint)
|
||||
# - external: Another dependency provides stubs (no constraint, no warning)
|
||||
# - (empty): Warning reminding you to configure stubs
|
||||
# Note: 'shade' option requires you to verify license compliance, see: https://github.com/unimined/JvmDowngrader/blob/main/LICENSE.md
|
||||
# jvmDowngraderStubsProvider =
|
||||
|
||||
# Enables injecting missing generics into the decompiled source code for a better coding experience.
|
||||
# Turns most publicly visible List, Map, etc. into proper List<E>, Map<K, V> types.
|
||||
enableGenericInjection = true
|
||||
|
||||
# Generate a class with a String field for the mod version named as defined below.
|
||||
# If generateGradleTokenClass is empty or not missing, no such class will be generated.
|
||||
# If gradleTokenVersion is empty or missing, the field will not be present in the class.
|
||||
generateGradleTokenClass =
|
||||
|
||||
# Name of the token containing the project's current version to generate/replace.
|
||||
gradleTokenVersion = GRADLETOKEN_VERSION
|
||||
|
||||
# [DEPRECATED] Mod ID replacement token.
|
||||
gradleTokenModId =
|
||||
|
||||
# [DEPRECATED] Mod name replacement token.
|
||||
gradleTokenModName =
|
||||
|
||||
# [DEPRECATED] Mod Group replacement token.
|
||||
gradleTokenGroupName =
|
||||
|
||||
# [DEPRECATED]
|
||||
# Multiple source files can be defined here by providing a comma-separated list: Class1.java,Class2.java,Class3.java
|
||||
# public static final String VERSION = "GRADLETOKEN_VERSION";
|
||||
# The string's content will be replaced with your mod's version when compiled. You should use this to specify your mod's
|
||||
# version in @Mod([...], version = VERSION, [...]).
|
||||
# Leave these properties empty to skip individual token replacements.
|
||||
replaceGradleTokenInFile = ThaumicHorizons.java
|
||||
|
||||
# In case your mod provides an API for other mods to implement you may declare its package here. Otherwise, you can
|
||||
# leave this property empty.
|
||||
# Example value: (apiPackage = api) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.api
|
||||
apiPackage =
|
||||
|
||||
# Specify the configuration file for Forge's access transformers here. It must be placed into /src/main/resources/META-INF/
|
||||
# There can be multiple files in a space-separated list.
|
||||
# Example value: mymodid_at.cfg nei_at.cfg
|
||||
accessTransformersFile =
|
||||
|
||||
# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
|
||||
usesMixins = false
|
||||
|
||||
# Set to a non-empty string to configure mixins in a separate source set under src/VALUE, instead of src/main.
|
||||
# This can speed up compile times thanks to not running the mixin annotation processor on all input sources.
|
||||
# Mixin classes will have access to "main" classes, but not the other way around.
|
||||
separateMixinSourceSet =
|
||||
|
||||
# Adds some debug arguments like verbose output and class export.
|
||||
usesMixinDebug = false
|
||||
|
||||
# Specify the location of your implementation of IMixinConfigPlugin. Leave it empty otherwise.
|
||||
mixinPlugin =
|
||||
|
||||
# Specify the package that contains all of your Mixins. The package must exist or
|
||||
# the build will fail. If you have a package property defined in your mixins.<modid>.json,
|
||||
# it must match with this or the build will fail.
|
||||
mixinsPackage =
|
||||
|
||||
# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
|
||||
# This parameter is for legacy compatibility only
|
||||
# Example value: (coreModClass = asm.FMLPlugin) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.asm.FMLPlugin
|
||||
coreModClass =
|
||||
|
||||
# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod ( = some class
|
||||
# that is annotated with @Mod) you want this to be true. When in doubt: leave it on false!
|
||||
containsMixinsAndOrCoreModOnly = false
|
||||
|
||||
# Enables Mixins even if this mod doesn't use them, useful if one of the dependencies uses mixins.
|
||||
forceEnableMixins = false
|
||||
|
||||
# If enabled, you may use 'shadowCompile' for dependencies. They will be integrated into your jar. It is your
|
||||
# responsibility to check the license and request permission for distribution if required.
|
||||
usesShadowedDependencies = false
|
||||
|
||||
# If disabled, won't remove unused classes from shadowed dependencies. Some libraries use reflection to access
|
||||
# their own classes, making the minimization unreliable.
|
||||
minimizeShadowedDependencies = true
|
||||
|
||||
# If disabled, won't rename the shadowed classes.
|
||||
relocateShadowedDependencies = true
|
||||
|
||||
# Adds CurseMaven, Modrinth, and some more well-known 1.7.10 repositories.
|
||||
includeWellKnownRepositories = true
|
||||
|
||||
# A list of repositories to exclude from the includeWellKnownRepositories setting. Should be a space separated
|
||||
# list of strings, with the acceptable keys being(case does not matter):
|
||||
# cursemaven
|
||||
# modrinth
|
||||
excludeWellKnownRepositories =
|
||||
|
||||
# Change these to your Maven coordinates if you want to publish to a custom Maven repository instead of the default GTNH Maven.
|
||||
# Authenticate with the MAVEN_USER and MAVEN_PASSWORD environment variables.
|
||||
# If you need a more complex setup disable maven publishing here and add a publishing repository to addon.gradle.
|
||||
usesMavenPublishing = true
|
||||
|
||||
# Maven repository to publish the mod to.
|
||||
# mavenPublishUrl = https\://nexus.gtnewhorizons.com/repository/releases/
|
||||
|
||||
# Publishing to Modrinth requires you to set the MODRINTH_TOKEN environment variable to your current Modrinth API token.
|
||||
#
|
||||
# The project's ID on Modrinth. Can be either the slug or the ID.
|
||||
# Leave this empty if you don't want to publish to Modrinth.
|
||||
modrinthProjectId = 1wDWP1tN
|
||||
|
||||
# The project's relations on Modrinth. You can use this to refer to other projects on Modrinth.
|
||||
# Syntax: scope1-type1:name1;scope2-type2:name2;...
|
||||
# Where scope can be one of [required, optional, incompatible, embedded],
|
||||
# type can be one of [project, version],
|
||||
# and the name is the Modrinth project or version slug/id of the other mod.
|
||||
# Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech
|
||||
# Note: UniMixins is automatically set as a required dependency if usesMixins = true.
|
||||
modrinthRelations =
|
||||
|
||||
# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.
|
||||
#
|
||||
# The project's numeric ID on CurseForge. You can find this in the About Project box.
|
||||
# Leave this empty if you don't want to publish on CurseForge.
|
||||
curseForgeProjectId = 227914
|
||||
|
||||
# The project's relations on CurseForge. You can use this to refer to other projects on CurseForge.
|
||||
# Syntax: type1:name1;type2:name2;...
|
||||
# Where type can be one of [requiredDependency, embeddedLibrary, optionalDependency, tool, incompatible],
|
||||
# and the name is the CurseForge project slug of the other mod.
|
||||
# Example: requiredDependency:railcraft;embeddedLibrary:cofhlib;incompatible:buildcraft
|
||||
# Note: UniMixins is automatically set as a required dependency if usesMixins = true.
|
||||
curseForgeRelations = requiredDependency\:thaumcraft
|
||||
|
||||
# Optional parameter to customize the produced artifacts. Use this to preserve artifact naming when migrating older
|
||||
# projects. New projects should not use this parameter.
|
||||
# customArchiveBaseName =
|
||||
|
||||
# Optional parameter to customize the default working directory used by the runClient* tasks. Relative to the project directory.
|
||||
# runClientWorkingDirectory = run/client
|
||||
|
||||
# Optional parameter to customize the default working directory used by the runServer* tasks. Relative to the project directory.
|
||||
# runServerWorkingDirectory = run/server
|
||||
|
||||
# Optional parameter to have the build automatically fail if an illegal version is used.
|
||||
# This can be useful if you e.g. only want to allow versions in the form of '1.1.xxx'.
|
||||
# The check is ONLY performed if the version is a git tag.
|
||||
# Note: the specified string must be escaped, so e.g. 1\\.1\\.\\d+ instead of 1\.1\.\d+
|
||||
# versionPattern =
|
||||
|
||||
# Uncomment to prevent the source code from being published.
|
||||
# noPublishedSources = true
|
||||
|
||||
# Uncomment this to disable Spotless checks.
|
||||
# This should only be uncommented to keep it easier to sync with upstream/other forks.
|
||||
# That is, if there is no other active fork/upstream, NEVER change this.
|
||||
# disableSpotless = true
|
||||
|
||||
# Uncomment this to disable Checkstyle checks (currently wildcard import check).
|
||||
# disableCheckstyle = true
|
||||
|
||||
# Override the IDEA build type. Valid values are: "" (leave blank, do not override), "idea" (force use native IDEA build), "gradle"
|
||||
# (force use delegated build).
|
||||
# This is meant to be set in $HOME/.gradle/gradle.properties.
|
||||
# e.g. add "systemProp.org.gradle.project.ideaOverrideBuildType=idea" will override the build type to be native build.
|
||||
# WARNING: If you do use this option, it will overwrite whatever you have in your existing projects. This might not be what you want!
|
||||
# Usually there is no need to uncomment this here as other developers do not necessarily use the same build type as you.
|
||||
# ideaOverrideBuildType = idea
|
||||
|
||||
# Whether IDEA should run spotless checks when pressing the Build button.
|
||||
# This is meant to be set in $HOME/.gradle/gradle.properties.
|
||||
# ideaCheckSpotlessOnBuild = true
|
||||
|
||||
# Non-GTNH properties
|
||||
org.gradle.configuration-cache = true
|
||||
org.gradle.parallel = true
|
||||
@@ -0,0 +1,12 @@
|
||||
#This file is generated by updateDaemonJvm
|
||||
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/539ea72837c6244075f8ee037babc29e/redirect
|
||||
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/876dbbf00bf4ef6190f7da074cee903a/redirect
|
||||
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/539ea72837c6244075f8ee037babc29e/redirect
|
||||
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/876dbbf00bf4ef6190f7da074cee903a/redirect
|
||||
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/9064f22734b42ac03e85df04b632e167/redirect
|
||||
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/4d0277c49991306ac78048580fe34bcf/redirect
|
||||
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/539ea72837c6244075f8ee037babc29e/redirect
|
||||
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/876dbbf00bf4ef6190f7da074cee903a/redirect
|
||||
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/a9fa3b809e484a1e1ac4308a5dda661a/redirect
|
||||
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/aa99913fa6d767d899ffc96082da01ca/redirect
|
||||
toolchainVersion=25
|
||||
Vendored
BIN
Binary file not shown.
+3
-1
@@ -1,5 +1,7 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip
|
||||
@@ -1,78 +1,128 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
MAX_FD=maximum
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
} >&2
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
@@ -81,92 +131,118 @@ Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
Vendored
+44
-35
@@ -1,4 +1,22 @@
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@@ -9,25 +27,29 @@
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
@@ -35,48 +57,35 @@ goto fail
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
before_install:
|
||||
- ./gradlew setupCIWorkspace
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
@@ -0,0 +1,4 @@
|
||||
// Add any additional repositories for your dependencies here
|
||||
|
||||
repositories {
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven {
|
||||
// RetroFuturaGradle
|
||||
name "GTNH Maven"
|
||||
url "https://nexus.gtnewhorizons.com/repository/public/"
|
||||
mavenContent {
|
||||
includeGroup("com.gtnewhorizons")
|
||||
includeGroupByRegex("com\\.gtnewhorizons\\..+")
|
||||
}
|
||||
}
|
||||
gradlePluginPortal()
|
||||
mavenCentral()
|
||||
mavenLocal()
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.29'
|
||||
}
|
||||
|
||||
|
||||
@@ -1,397 +1,441 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.block.Block;
|
||||
import thaumcraft.client.fx.ParticleEngine;
|
||||
import thaumcraft.client.fx.particles.FXWisp;
|
||||
import java.awt.Color;
|
||||
import thaumcraft.client.fx.particles.FXBurst;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.particle.EntitySpellParticleFX;
|
||||
import net.minecraft.client.particle.EntityFlameFX;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelChicken;
|
||||
import net.minecraft.client.model.ModelCow;
|
||||
import net.minecraft.client.model.ModelHorse;
|
||||
import net.minecraft.client.model.ModelOcelot;
|
||||
import net.minecraft.client.model.ModelPig;
|
||||
import net.minecraft.client.model.ModelSlime;
|
||||
import net.minecraft.client.model.ModelWolf;
|
||||
import net.minecraft.client.multiplayer.WorldClient;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import thaumcraft.client.fx.particles.FXSparkle;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSlotRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSpikeRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVortexStabilizerRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockRecombinatorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockTransductionAmplifierRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSoulBeaconRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockBloodInfuserRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatMatrixRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatInteriorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatSolidRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSoulforgeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockInspiratronRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSoulSieveRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockEssentiaDynamoRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVisDynamoRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockNodeMonitorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSyntheticNodeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileJarTHRenderer;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulJar;
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockJarTHRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.ItemJarTHRenderer;
|
||||
import net.minecraft.client.particle.EntityFlameFX;
|
||||
import net.minecraft.client.particle.EntitySpellParticleFX;
|
||||
import net.minecraft.client.resources.IReloadableResourceManager;
|
||||
import net.minecraft.client.resources.IResourceManager;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiFingers;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiCase;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiVat;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiInjector;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.world.WorldEvent;
|
||||
|
||||
import com.kentington.thaumichorizons.client.audio.VortexSound;
|
||||
import com.kentington.thaumichorizons.client.fx.FXSonic;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiBloodInfuser;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiSoulforge;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiCase;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiFingers;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiInjector;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiInspiratron;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiSoulExtractor;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiSoulforge;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiVat;
|
||||
import com.kentington.thaumichorizons.client.gui.GuiVisDynamo;
|
||||
import net.minecraft.client.multiplayer.WorldClient;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import thaumcraft.client.renderers.item.ItemWandRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.item.ItemInjectorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.item.ItemCorpseEffigyRender;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import com.kentington.thaumichorizons.client.renderer.item.ItemSyringeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderLightningBoltFinite;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLightningBoltFinite;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSoul;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySoul;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSheeder;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySheeder;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderMedSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityMedSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderVoltSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityVoltSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderMercurialSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityMercurialSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderMeatSlime;
|
||||
import net.minecraft.client.model.ModelSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityMeatSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderBoatThaumium;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatThaumium;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderBoatGreatwood;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatGreatwood;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderNightmare;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityNightmare;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderEndersteed;
|
||||
import net.minecraft.client.model.ModelHorse;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityEndersteed;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGolemTH;
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelGolemTH;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGolemTH;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderLunarWolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLunarWolf;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSeawolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySeawolf;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderNetherHound;
|
||||
import net.minecraft.client.model.ModelWolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityNetherHound;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderTaintfeeder;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityTaintPig;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderScholarChicken;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityScholarChicken;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGoldChicken;
|
||||
import net.minecraft.client.model.ModelChicken;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGoldChicken;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGravekeeper;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGravekeeper;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderFamiliar;
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelFamiliar;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityFamiliar;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGuardianPanther;
|
||||
import net.minecraft.client.model.ModelOcelot;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGuardianPanther;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderOreBoar;
|
||||
import net.minecraft.client.model.ModelPig;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityOrePig;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderChocolateCow;
|
||||
import net.minecraft.client.model.ModelCow;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityChocolateCow;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockBloodInfuserRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockEssentiaDynamoRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockInspiratronRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockJarTHRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockNodeMonitorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockRecombinatorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSlotRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSoulBeaconRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSoulSieveRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSoulforgeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSpikeRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockSyntheticNodeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockTransductionAmplifierRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatInteriorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatMatrixRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVatSolidRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVisDynamoRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.block.BlockVortexStabilizerRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.BlastPhialRender;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBlastPhial;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSyringe;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySyringe;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderAlchemitePrimed;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityAlchemitePrimed;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSlotRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSlot;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileCloudRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileCloud;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSpikeRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSpike;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVortexRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVortex;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVortexStabilizerRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVortexStabilizer;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileRecombinatorRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileRecombinator;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileTransductionAmplifierRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileTransductionAmplifier;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSoulBeaconRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulBeacon;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderBoatGreatwood;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderBoatThaumium;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderChocolateCow;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderEndersteed;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderFamiliar;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGoldChicken;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGolemTH;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGravekeeper;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderGuardianPanther;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderLightningBoltFinite;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderLunarWolf;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderMeatSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderMedSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderMercurialSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderNetherHound;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderNightmare;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderOreBoar;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderScholarChicken;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSeawolf;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSheeder;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSoul;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderSyringe;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderTaintfeeder;
|
||||
import com.kentington.thaumichorizons.client.renderer.entity.RenderVoltSlime;
|
||||
import com.kentington.thaumichorizons.client.renderer.item.ItemCorpseEffigyRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.item.ItemInjectorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.item.ItemSyringeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelFamiliar;
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelGolemTH;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.ItemJarTHRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileBloodInfuserRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileBloodInfuser;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVatMatrixRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatMatrix;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVatSlaveRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatSlave;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSoulforgeRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulforge;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileInspiratronRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileInspiratron;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSoulSieveRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulExtractor;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileCloudRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileEssentiaDynamoRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileEssentiaDynamo;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVisDynamoRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVisDynamo;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileEtherealShardRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSyntheticNode;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileInspiratronRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileJarTHRenderer;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileNodeMonitorRender;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileNodeMonitor;
|
||||
import com.kentington.thaumichorizons.common.lib.THKeyHandler;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import com.kentington.thaumichorizons.common.items.WandManagerTH;
|
||||
import thaumcraft.api.wands.IWandTriggerManager;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileRecombinatorRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSlotRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSoulBeaconRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSoulSieveRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSoulforgeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileSpikeRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileTransductionAmplifierRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVatMatrixRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVatSlaveRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVisDynamoRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVortexRender;
|
||||
import com.kentington.thaumichorizons.client.renderer.tile.TileVortexStabilizerRender;
|
||||
import com.kentington.thaumichorizons.common.CommonProxy;
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityAlchemitePrimed;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBlastPhial;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatGreatwood;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatThaumium;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityChocolateCow;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityEndersteed;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityFamiliar;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGoldChicken;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGolemTH;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGravekeeper;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGuardianPanther;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLightningBoltFinite;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLunarWolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityMeatSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityMedSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityMercurialSlime;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityNetherHound;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityNightmare;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityOrePig;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityScholarChicken;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySeawolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySheeder;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySoul;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySyringe;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityTaintPig;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityVoltSlime;
|
||||
import com.kentington.thaumichorizons.common.items.WandManagerTH;
|
||||
import com.kentington.thaumichorizons.common.lib.THKeyHandler;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileBloodInfuser;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileCloud;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileEssentiaDynamo;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileInspiratron;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileNodeMonitor;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileRecombinator;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSlot;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulBeacon;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulExtractor;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulJar;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulforge;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSpike;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSyntheticNode;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileTransductionAmplifier;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatMatrix;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatSlave;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVisDynamo;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVortex;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVortexStabilizer;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import thaumcraft.api.wands.IWandTriggerManager;
|
||||
import thaumcraft.client.fx.ParticleEngine;
|
||||
import thaumcraft.client.fx.particles.FXBurst;
|
||||
import thaumcraft.client.fx.particles.FXSparkle;
|
||||
import thaumcraft.client.fx.particles.FXWisp;
|
||||
import thaumcraft.client.renderers.item.ItemWandRenderer;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
|
||||
public class ClientProxy extends CommonProxy {
|
||||
|
||||
public class ClientProxy extends CommonProxy
|
||||
{
|
||||
public IWandTriggerManager wandManager;
|
||||
|
||||
|
||||
public ClientProxy() {
|
||||
this.wandManager = new WandManagerTH();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerHandlers() {
|
||||
MinecraftForge.EVENT_BUS.register((Object)ThaumicHorizons.instance.renderEventHandler);
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
MinecraftForge.EVENT_BUS.register(ThaumicHorizons.instance.renderEventHandler);
|
||||
final IResourceManager resourceManager = Minecraft.getMinecraft().getResourceManager();
|
||||
if (resourceManager instanceof IReloadableResourceManager) {
|
||||
((IReloadableResourceManager) resourceManager).registerReloadListener(ignored -> FXSonic.model = null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerKeyBindings() {
|
||||
FMLCommonHandler.instance().bus().register((Object)new THKeyHandler());
|
||||
FMLCommonHandler.instance().bus().register(new THKeyHandler());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerRenderers() {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileNodeMonitor.class, (TileEntitySpecialRenderer)new TileNodeMonitorRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSyntheticNode.class, (TileEntitySpecialRenderer)new TileEtherealShardRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileVisDynamo.class, (TileEntitySpecialRenderer)new TileVisDynamoRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileEssentiaDynamo.class, (TileEntitySpecialRenderer)new TileEssentiaDynamoRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSoulExtractor.class, (TileEntitySpecialRenderer)new TileSoulSieveRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileInspiratron.class, (TileEntitySpecialRenderer)new TileInspiratronRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSoulforge.class, (TileEntitySpecialRenderer)new TileSoulforgeRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileVatSlave.class, (TileEntitySpecialRenderer)new TileVatSlaveRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileVatMatrix.class, (TileEntitySpecialRenderer)new TileVatMatrixRender(0));
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileBloodInfuser.class, (TileEntitySpecialRenderer)new TileBloodInfuserRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSoulBeacon.class, (TileEntitySpecialRenderer)new TileSoulBeaconRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileTransductionAmplifier.class, (TileEntitySpecialRenderer)new TileTransductionAmplifierRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileRecombinator.class, (TileEntitySpecialRenderer)new TileRecombinatorRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileVortexStabilizer.class, (TileEntitySpecialRenderer)new TileVortexStabilizerRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileVortex.class, (TileEntitySpecialRenderer)new TileVortexRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSpike.class, (TileEntitySpecialRenderer)new TileSpikeRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileCloud.class, (TileEntitySpecialRenderer)new TileCloudRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSlot.class, (TileEntitySpecialRenderer)new TileSlotRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityAlchemitePrimed.class, (Render)new RenderAlchemitePrimed());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntitySyringe.class, (Render)new RenderSyringe());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityBlastPhial.class, (Render)new BlastPhialRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityChocolateCow.class, (Render)new RenderChocolateCow((ModelBase)new ModelCow(), 0.7f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityOrePig.class, (Render)new RenderOreBoar((ModelBase)new ModelPig(), (ModelBase)new ModelPig(0.5f), 0.7f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityGuardianPanther.class, (Render)new RenderGuardianPanther((ModelBase)new ModelOcelot(), 1.0f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityFamiliar.class, (Render)new RenderFamiliar(new ModelFamiliar(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityGravekeeper.class, (Render)new RenderGravekeeper((ModelBase)new ModelOcelot(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityGoldChicken.class, (Render)new RenderGoldChicken((ModelBase)new ModelChicken(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityScholarChicken.class, (Render)new RenderScholarChicken((ModelBase)new ModelChicken(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityTaintPig.class, (Render)new RenderTaintfeeder((ModelBase)new ModelPig(), (ModelBase)new ModelPig(0.5f), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityNetherHound.class, (Render)new RenderNetherHound((ModelBase)new ModelWolf(), (ModelBase)new ModelWolf(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntitySeawolf.class, (Render)new RenderSeawolf((ModelBase)new ModelWolf(), (ModelBase)new ModelWolf(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityLunarWolf.class, (Render)new RenderLunarWolf((ModelBase)new ModelWolf(), (ModelBase)new ModelWolf(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityGolemTH.class, (Render)new RenderGolemTH((ModelBase)new ModelGolemTH(false)));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityEndersteed.class, (Render)new RenderEndersteed((ModelBase)new ModelHorse(), 0.75f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityNightmare.class, (Render)new RenderNightmare((ModelBase)new ModelHorse(), 0.75f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityBoatGreatwood.class, (Render)new RenderBoatGreatwood());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityBoatThaumium.class, (Render)new RenderBoatThaumium());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityMeatSlime.class, (Render)new RenderMeatSlime((ModelBase)new ModelSlime(16), (ModelBase)new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityMercurialSlime.class, (Render)new RenderMercurialSlime((ModelBase)new ModelSlime(16), (ModelBase)new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityVoltSlime.class, (Render)new RenderVoltSlime((ModelBase)new ModelSlime(16), (ModelBase)new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityMedSlime.class, (Render)new RenderMedSlime((ModelBase)new ModelSlime(16), (ModelBase)new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntitySheeder.class, (Render)new RenderSheeder());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntitySoul.class, (Render)new RenderSoul());
|
||||
RenderingRegistry.registerEntityRenderingHandler((Class)EntityLightningBoltFinite.class, (Render)new RenderLightningBoltFinite());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeBloodSample, (IItemRenderer)new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeHuman, (IItemRenderer)new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeEmpty, (IItemRenderer)new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeInjection, (IItemRenderer)new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemCorpseEffigy, (IItemRenderer)new ItemCorpseEffigyRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemInjector, (IItemRenderer)new ItemInjectorRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemWandCastingDisposable, (IItemRenderer)new ItemWandRenderer());
|
||||
// spotless:off
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileNodeMonitor.class, new TileNodeMonitorRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSyntheticNode.class, new TileEtherealShardRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileVisDynamo.class, new TileVisDynamoRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEssentiaDynamo.class, new TileEssentiaDynamoRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSoulExtractor.class, new TileSoulSieveRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileInspiratron.class, new TileInspiratronRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSoulforge.class, new TileSoulforgeRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileVatSlave.class, new TileVatSlaveRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileVatMatrix.class, new TileVatMatrixRender(0));
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileBloodInfuser.class, new TileBloodInfuserRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSoulBeacon.class, new TileSoulBeaconRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileTransductionAmplifier.class, new TileTransductionAmplifierRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileRecombinator.class, new TileRecombinatorRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileVortexStabilizer.class, new TileVortexStabilizerRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileVortex.class, new TileVortexRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSpike.class, new TileSpikeRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileCloud.class, new TileCloudRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSlot.class, new TileSlotRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityAlchemitePrimed.class, new RenderAlchemitePrimed());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySyringe.class, new RenderSyringe());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBlastPhial.class, new BlastPhialRender());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityChocolateCow.class, new RenderChocolateCow(new ModelCow(), 0.7f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityOrePig.class, new RenderOreBoar(new ModelPig(), new ModelPig(0.5f), 0.7f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityGuardianPanther.class, new RenderGuardianPanther(new ModelOcelot(), 1.0f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityFamiliar.class, new RenderFamiliar(new ModelFamiliar(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityGravekeeper.class, new RenderGravekeeper(new ModelOcelot(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityGoldChicken.class, new RenderGoldChicken(new ModelChicken(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityScholarChicken.class, new RenderScholarChicken(new ModelChicken(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityTaintPig.class, new RenderTaintfeeder(new ModelPig(), new ModelPig(0.5f), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNetherHound.class, new RenderNetherHound(new ModelWolf(), new ModelWolf(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySeawolf.class, new RenderSeawolf(new ModelWolf(), new ModelWolf(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityLunarWolf.class, new RenderLunarWolf(new ModelWolf(), new ModelWolf(), 0.5f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityGolemTH.class, new RenderGolemTH(new ModelGolemTH(false)));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityEndersteed.class, new RenderEndersteed(new ModelHorse(), 0.75f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNightmare.class, new RenderNightmare(new ModelHorse(), 0.75f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBoatGreatwood.class, new RenderBoatGreatwood());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBoatThaumium.class, new RenderBoatThaumium());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMeatSlime.class, new RenderMeatSlime(new ModelSlime(16), new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMercurialSlime.class, new RenderMercurialSlime(new ModelSlime(16), new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityVoltSlime.class, new RenderVoltSlime(new ModelSlime(16), new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMedSlime.class, new RenderMedSlime(new ModelSlime(16), new ModelSlime(0), 0.25f));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySheeder.class, new RenderSheeder());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySoul.class, new RenderSoul());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityLightningBoltFinite.class, new RenderLightningBoltFinite());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeBloodSample, new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeHuman, new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeEmpty, new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemSyringeInjection, new ItemSyringeRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemCorpseEffigy, new ItemCorpseEffigyRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemInjector, new ItemInjectorRender());
|
||||
MinecraftForgeClient.registerItemRenderer(ThaumicHorizons.itemWandCastingDisposable, new ItemWandRenderer());
|
||||
// spotless:on
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Object getClientGuiElement(final int ID, final EntityPlayer player, final World world, final int x, final int y, final int z) {
|
||||
public Object getClientGuiElement(final int ID, final EntityPlayer player, final World world, final int x,
|
||||
final int y, final int z) {
|
||||
if (world instanceof WorldClient) {
|
||||
switch (ID) {
|
||||
case 1: {
|
||||
return new GuiVisDynamo(player, (TileVisDynamo)world.getTileEntity(x, y, z));
|
||||
case 1 -> {
|
||||
return new GuiVisDynamo(player, (TileVisDynamo) world.getTileEntity(x, y, z));
|
||||
}
|
||||
case 2: {
|
||||
return new GuiSoulExtractor(player.inventory, (TileSoulExtractor)world.getTileEntity(x, y, z));
|
||||
case 2 -> {
|
||||
return new GuiSoulExtractor(player.inventory, (TileSoulExtractor) world.getTileEntity(x, y, z));
|
||||
}
|
||||
case 3: {
|
||||
return new GuiInspiratron(player.inventory, (TileInspiratron)world.getTileEntity(x, y, z));
|
||||
case 3 -> {
|
||||
return new GuiInspiratron(player.inventory, (TileInspiratron) world.getTileEntity(x, y, z));
|
||||
}
|
||||
case 4: {
|
||||
return new GuiSoulforge(player, (TileSoulforge)world.getTileEntity(x, y, z));
|
||||
case 4 -> {
|
||||
return new GuiSoulforge(player, (TileSoulforge) world.getTileEntity(x, y, z));
|
||||
}
|
||||
case 5: {
|
||||
return new GuiBloodInfuser(player, (TileBloodInfuser)world.getTileEntity(x, y, z));
|
||||
case 5 -> {
|
||||
return new GuiBloodInfuser(player, (TileBloodInfuser) world.getTileEntity(x, y, z));
|
||||
}
|
||||
case 6: {
|
||||
case 6 -> {
|
||||
return new GuiInjector(player);
|
||||
}
|
||||
case 7: {
|
||||
return new GuiVat(player, (TileVat)world.getTileEntity(x, y, z));
|
||||
case 7 -> {
|
||||
return new GuiVat(player, (TileVat) world.getTileEntity(x, y, z));
|
||||
}
|
||||
case 8: {
|
||||
case 8 -> {
|
||||
return new GuiCase(player.inventory, world, x, y, z);
|
||||
}
|
||||
case 9: {
|
||||
case 9 -> {
|
||||
return new GuiFingers(player.inventory);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerDisplayInformation() {
|
||||
ThaumicHorizons.blockJarRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ThaumicHorizons.blockJar), (IItemRenderer)new ItemJarTHRenderer());
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockJarTHRenderer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer((Class)TileSoulJar.class, (TileEntitySpecialRenderer)new TileJarTHRenderer());
|
||||
MinecraftForgeClient
|
||||
.registerItemRenderer(Item.getItemFromBlock(ThaumicHorizons.blockJar), new ItemJarTHRenderer());
|
||||
RenderingRegistry.registerBlockHandler(new BlockJarTHRenderer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSoulJar.class, new TileJarTHRenderer());
|
||||
ThaumicHorizons.blockSyntheticNodeRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockSyntheticNodeRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockSyntheticNodeRender());
|
||||
ThaumicHorizons.blockNodeMonRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockNodeMonitorRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockNodeMonitorRender());
|
||||
ThaumicHorizons.blockVisDynamoRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockVisDynamoRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockVisDynamoRender());
|
||||
ThaumicHorizons.blockEssentiaDynamoRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockEssentiaDynamoRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockEssentiaDynamoRender());
|
||||
ThaumicHorizons.blockSoulSieveRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockSoulSieveRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockSoulSieveRender());
|
||||
ThaumicHorizons.blockInspiratronRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockInspiratronRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockInspiratronRender());
|
||||
ThaumicHorizons.blockSoulforgeRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockSoulforgeRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockSoulforgeRender());
|
||||
ThaumicHorizons.blockVatRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockVatRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockVatRender());
|
||||
ThaumicHorizons.blockVatSolidRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockVatSolidRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockVatSolidRender());
|
||||
ThaumicHorizons.blockVatInteriorRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockVatInteriorRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockVatInteriorRender());
|
||||
ThaumicHorizons.blockVatMatrixRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockVatMatrixRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockVatMatrixRender());
|
||||
ThaumicHorizons.blockBloodInfuserRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockBloodInfuserRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockBloodInfuserRender());
|
||||
ThaumicHorizons.blockSoulBeaconRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockSoulBeaconRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockSoulBeaconRender());
|
||||
ThaumicHorizons.blockTransducerRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockTransductionAmplifierRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockTransductionAmplifierRender());
|
||||
ThaumicHorizons.blockRecombinatorRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockRecombinatorRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockRecombinatorRender());
|
||||
ThaumicHorizons.blockVortexStabilizerRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockVortexStabilizerRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockVortexStabilizerRender());
|
||||
ThaumicHorizons.blockSpikeRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockSpikeRenderer());
|
||||
RenderingRegistry.registerBlockHandler(new BlockSpikeRenderer());
|
||||
ThaumicHorizons.blockSlotRI = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler)new BlockSlotRender());
|
||||
RenderingRegistry.registerBlockHandler(new BlockSlotRender());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void disintegrateFX(final double blockX, final double blockY, final double blockZ, final EntityPlayer p, final int howMany, final boolean enlarged) {
|
||||
public void disintegrateFX(final double blockX, final double blockY, final double blockZ, final EntityPlayer p,
|
||||
final int howMany, final boolean enlarged) {
|
||||
if (enlarged) {
|
||||
for (int x = -1; x < 2; ++x) {
|
||||
for (int y = -1; y < 2; ++y) {
|
||||
for (int z = -1; z < 2; ++z) {
|
||||
for (int i = 0; i < howMany; ++i) {
|
||||
final FXSparkle fx = new FXSparkle(p.worldObj, blockX + 0.5, blockY + 0.5, blockZ + 0.5, 1.0f, 0, 6);
|
||||
final FXSparkle fx = new FXSparkle(
|
||||
p.worldObj,
|
||||
blockX + 0.5,
|
||||
blockY + 0.5,
|
||||
blockZ + 0.5,
|
||||
1.0f,
|
||||
0,
|
||||
6);
|
||||
fx.motionX = (p.worldObj.rand.nextDouble() - 0.5) / 4.0;
|
||||
fx.motionY = (p.worldObj.rand.nextDouble() - 0.5) / 4.0;
|
||||
fx.motionZ = (p.worldObj.rand.nextDouble() - 0.5) / 4.0;
|
||||
fx.noClip = true;
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)fx);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
for (int j = 0; j < howMany; ++j) {
|
||||
final FXSparkle fx = new FXSparkle(p.worldObj, blockX + 0.5, blockY + 0.5, blockZ + 0.5, 1.0f, 0, 6);
|
||||
fx.motionX = (p.worldObj.rand.nextDouble() - 0.5) / 4.0;
|
||||
fx.motionY = (p.worldObj.rand.nextDouble() - 0.5) / 4.0;
|
||||
fx.motionZ = (p.worldObj.rand.nextDouble() - 0.5) / 4.0;
|
||||
fx.noClip = true;
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)fx);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void smeltFX(final double blockX, final double blockY, final double blockZ, final World w, final int howMany, final boolean enlarged) {
|
||||
public void smeltFX(final double blockX, final double blockY, final double blockZ, final World w, final int howMany,
|
||||
final boolean enlarged) {
|
||||
if (enlarged) {
|
||||
for (int x = -1; x < 2; ++x) {
|
||||
for (int y = -1; y < 2; ++y) {
|
||||
for (int z = -1; z < 2; ++z) {
|
||||
for (int i = 0; i < howMany; ++i) {
|
||||
final EntityFlameFX fx = new EntityFlameFX(w, blockX + 0.5 + x, blockY + 0.5 + y, blockZ + 0.5 + z, (w.rand.nextDouble() - 0.5) * 0.25, (w.rand.nextDouble() - 0.5) * 0.25, (w.rand.nextDouble() - 0.5) * 0.25);
|
||||
final EntityFlameFX fx = new EntityFlameFX(
|
||||
w,
|
||||
blockX + 0.5 + x,
|
||||
blockY + 0.5 + y,
|
||||
blockZ + 0.5 + z,
|
||||
(w.rand.nextDouble() - 0.5) * 0.25,
|
||||
(w.rand.nextDouble() - 0.5) * 0.25,
|
||||
(w.rand.nextDouble() - 0.5) * 0.25);
|
||||
fx.noClip = true;
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)fx);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
for (int j = 0; j < howMany; ++j) {
|
||||
final EntityFlameFX fx = new EntityFlameFX(w, blockX + 0.5, blockY + 0.5, blockZ + 0.5, (w.rand.nextDouble() - 0.5) * 0.25, (w.rand.nextDouble() - 0.5) * 0.25, (w.rand.nextDouble() - 0.5) * 0.25);
|
||||
final EntityFlameFX fx = new EntityFlameFX(
|
||||
w,
|
||||
blockX + 0.5,
|
||||
blockY + 0.5,
|
||||
blockZ + 0.5,
|
||||
(w.rand.nextDouble() - 0.5) * 0.25,
|
||||
(w.rand.nextDouble() - 0.5) * 0.25,
|
||||
(w.rand.nextDouble() - 0.5) * 0.25);
|
||||
fx.noClip = true;
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)fx);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void soulParticles(final int blockX, final int blockY, final int blockZ, final World world) {
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
final EntitySpellParticleFX fx = new EntitySpellParticleFX(world, blockX + 0.5 + (world.rand.nextDouble() - 0.5) * 0.8, blockY + 0.8, blockZ + 0.5 + (world.rand.nextDouble() - 0.5) * 0.8, 0.0, world.rand.nextDouble() * 0.25, 0.0);
|
||||
final EntitySpellParticleFX fx = new EntitySpellParticleFX(
|
||||
world,
|
||||
blockX + 0.5 + (world.rand.nextDouble() - 0.5) * 0.8,
|
||||
blockY + 0.8,
|
||||
blockZ + 0.5 + (world.rand.nextDouble() - 0.5) * 0.8,
|
||||
0.0,
|
||||
world.rand.nextDouble() * 0.25,
|
||||
0.0);
|
||||
fx.noClip = true;
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)fx);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void containmentFX(final double blockX, final double blockY, final double blockZ, final EntityPlayer p, final Entity ent, final int times) {
|
||||
public void containmentFX(final double blockX, final double blockY, final double blockZ, final EntityPlayer p,
|
||||
final Entity ent, final int times) {
|
||||
final double xSize = ent.boundingBox.maxX - ent.boundingBox.minX;
|
||||
final double ySize = ent.boundingBox.maxY - ent.boundingBox.minY;
|
||||
final double zSize = ent.boundingBox.maxZ - ent.boundingBox.minZ;
|
||||
final double radius = (xSize > ySize) ? ((xSize > zSize) ? xSize : zSize) : ((ySize > zSize) ? ySize : zSize);
|
||||
final double radius = (xSize > ySize) ? (Math.max(xSize, zSize)) : (Math.max(ySize, zSize));
|
||||
final double xCenter = (ent.boundingBox.maxX + ent.boundingBox.minX) / 2.0;
|
||||
final double yCenter = (ent.boundingBox.maxY + ent.boundingBox.minY) / 2.0;
|
||||
final double zCenter = (ent.boundingBox.maxZ + ent.boundingBox.minZ) / 2.0;
|
||||
@@ -406,52 +450,142 @@ public class ClientProxy extends CommonProxy
|
||||
final double z2 = zCenter + radius * Math.cos(phi);
|
||||
final double y2 = yCenter + radius * Math.sin(phi) * Math.sin(theta);
|
||||
final double x2 = xCenter + radius * Math.sin(phi) * Math.cos(theta);
|
||||
Thaumcraft.proxy.arcLightning(p.worldObj, x1, y1, z1, x2, y2, z2, p.worldObj.rand.nextFloat() * 0.1f, p.worldObj.rand.nextFloat() * 0.2f, p.worldObj.rand.nextFloat() * 0.8f, p.worldObj.rand.nextFloat());
|
||||
Thaumcraft.proxy.arcLightning(
|
||||
p.worldObj,
|
||||
x1,
|
||||
y1,
|
||||
z1,
|
||||
x2,
|
||||
y2,
|
||||
z2,
|
||||
p.worldObj.rand.nextFloat() * 0.1f,
|
||||
p.worldObj.rand.nextFloat() * 0.2f,
|
||||
p.worldObj.rand.nextFloat() * 0.8f,
|
||||
p.worldObj.rand.nextFloat());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void disintegrateExplodeFX(final World worldObj, final double posX, final double posY, final double posZ) {
|
||||
final FXBurst ef = new FXBurst(worldObj, posX, posY, posZ, 1.0f);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)ef);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(ef);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void illuminationFX(final World world, final int xCoord, final int yCoord, final int zCoord, final int md, final Color col) {
|
||||
public void illuminationFX(final World world, final int xCoord, final int yCoord, final int zCoord, final int md,
|
||||
final Color col) {
|
||||
if (world.rand.nextInt(9 - Thaumcraft.proxy.particleCount(2)) == 0) {
|
||||
final FXWisp ef = new FXWisp(world, (double)(xCoord + 0.55f), (double)(yCoord + 0.5f), (double)(zCoord + 0.55f), 0.5f, col.getRed() / 255.0f + 0.01f, col.getGreen() / 255.0f, col.getBlue() / 255.0f);
|
||||
final FXWisp ef = new FXWisp(
|
||||
world,
|
||||
xCoord + 0.55f,
|
||||
yCoord + 0.5f,
|
||||
zCoord + 0.55f,
|
||||
0.5f,
|
||||
col.getRed() / 255.0f + 0.01f,
|
||||
col.getGreen() / 255.0f,
|
||||
col.getBlue() / 255.0f);
|
||||
ef.setGravity(0.0f);
|
||||
ef.shrink = false;
|
||||
if (md == 0) {
|
||||
ef.blendmode = 0;
|
||||
}
|
||||
ParticleEngine.instance.addEffect(world, (EntityFX)ef);
|
||||
ParticleEngine.instance.addEffect(world, ef);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void blockSplosionFX(final int x, final int y, final int z, final Block block, final int md) {
|
||||
Minecraft.getMinecraft().effectRenderer.addBlockDestroyEffects(x, y, z, block, md);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void alchemiteFX(final World worldObj, final double x, final double y, final double z) {
|
||||
final FXBurst ef = new FXBurst(worldObj, x, y, z, 10.0f);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)ef);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect(ef);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean readyToRender() {
|
||||
return FMLClientHandler.instance().getClient().renderViewEntity != null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void addEffect(final Entity entity) {
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX)entity);
|
||||
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX) entity);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void lightningBolt(final World worldObj, final double x, final double y, final double z, final int boltLength) {
|
||||
Thaumcraft.proxy.arcLightning(worldObj, x + worldObj.rand.nextFloat() - 0.5, y + boltLength + 0.5, z + worldObj.rand.nextFloat() - 0.5, x + worldObj.rand.nextFloat() - 0.5, y + 1.0, z + worldObj.rand.nextFloat() - 0.5, 0.8f, 1.0f, 1.0f, 0.1f);
|
||||
public void lightningBolt(final World worldObj, final double x, final double y, final double z,
|
||||
final int boltLength) {
|
||||
Thaumcraft.proxy.arcLightning(
|
||||
worldObj,
|
||||
x + worldObj.rand.nextFloat() - 0.5,
|
||||
y + boltLength + 0.5,
|
||||
z + worldObj.rand.nextFloat() - 0.5,
|
||||
x + worldObj.rand.nextFloat() - 0.5,
|
||||
y + 1.0,
|
||||
z + worldObj.rand.nextFloat() - 0.5,
|
||||
0.8f,
|
||||
1.0f,
|
||||
1.0f,
|
||||
0.1f);
|
||||
}
|
||||
|
||||
private final Map<TileCoord, VortexSound> activeVortexSounds = new HashMap<>();
|
||||
|
||||
@SubscribeEvent
|
||||
public void onWorldUnload(WorldEvent.Unload event) {
|
||||
if (event.world.isRemote) {
|
||||
activeVortexSounds.clear();
|
||||
ThaumicHorizons.instance.renderEventHandler.thingsThatSparkle.clear();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playVortexSound(TileVortex tile) {
|
||||
if (tile == null || tile.isInvalid() || tile.getWorldObj() == null) return;
|
||||
|
||||
TileCoord pos = new TileCoord(tile.xCoord, tile.yCoord, tile.zCoord);
|
||||
if (activeVortexSounds.containsKey(pos)) return;
|
||||
|
||||
VortexSound sound = new VortexSound(tile);
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(sound);
|
||||
activeVortexSounds.put(pos, sound);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopVortexSound(TileVortex tile) {
|
||||
if (tile == null) return;
|
||||
|
||||
TileCoord pos = new TileCoord(tile.xCoord, tile.yCoord, tile.zCoord);
|
||||
VortexSound sound = activeVortexSounds.remove(pos);
|
||||
if (sound != null) {
|
||||
sound.markDone();
|
||||
}
|
||||
}
|
||||
|
||||
// Inner class to replace BlockPos for 1.7.10
|
||||
private static class TileCoord {
|
||||
|
||||
final int x, y, z;
|
||||
|
||||
TileCoord(int x, int y, int z) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (!(o instanceof TileCoord)) return false;
|
||||
TileCoord other = (TileCoord) o;
|
||||
return this.x == other.x && this.y == other.y && this.z == other.z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return x * 31 * 31 + y * 31 + z;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.kentington.thaumichorizons.client.audio;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.MovingSound;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class VortexSound extends MovingSound {
|
||||
|
||||
private final TileEntity tile;
|
||||
|
||||
public VortexSound(TileEntity tile) {
|
||||
super(new ResourceLocation("thaumichorizons:vortex"));
|
||||
this.tile = tile;
|
||||
this.repeat = true;
|
||||
this.field_147665_h = 0;
|
||||
this.volume = 1.0F;
|
||||
}
|
||||
|
||||
// Let me know if update needs to be cached or if that's a good idea or not for performance.
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
if (tile == null || tile.isInvalid() || tile.getWorldObj() == null) {
|
||||
this.donePlaying = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// follow tile
|
||||
this.xPosF = tile.xCoord + 0.5F;
|
||||
this.yPosF = tile.yCoord + 0.5F;
|
||||
this.zPosF = tile.zCoord + 0.5F;
|
||||
|
||||
// distance-based volume
|
||||
EntityPlayer p = Minecraft.getMinecraft().thePlayer;
|
||||
|
||||
if (p != null) {
|
||||
double dist = p.getDistance(this.xPosF, this.yPosF, this.zPosF);
|
||||
this.volume = Math.max(0.0F, 1.0F / (1.0F + (float) (dist / 8.0F)));
|
||||
}
|
||||
}
|
||||
|
||||
public void markDone() {
|
||||
this.donePlaying = true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,20 +1,23 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.fx;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class FXContainment extends EntityFX {
|
||||
|
||||
public class FXContainment extends EntityFX
|
||||
{
|
||||
public static final ResourceLocation portaltex;
|
||||
|
||||
|
||||
public FXContainment(final World par1World, final double par2, final double par4, final double par6) {
|
||||
super(par1World, par2, par4, par6, 0.0, 0.0, 0.0);
|
||||
final float particleRed = 0.6f;
|
||||
@@ -24,21 +27,22 @@ public class FXContainment extends EntityFX
|
||||
this.particleAlpha = 0.5f;
|
||||
this.particleScale = 1.0f;
|
||||
this.particleMaxAge = 40;
|
||||
final double motionX = 0.0;
|
||||
this.motionZ = motionX;
|
||||
this.motionY = motionX;
|
||||
this.motionX = motionX;
|
||||
this.motionZ = 0.0;
|
||||
this.motionY = 0.0;
|
||||
this.motionX = 0.0;
|
||||
this.particleRed = 1.0f;
|
||||
this.particleGreen = 1.0f;
|
||||
this.particleBlue = 1.0f;
|
||||
this.particleGravity = 0.0f;
|
||||
this.noClip = true;
|
||||
}
|
||||
|
||||
public void renderParticle(final Tessellator p_70539_1_, final float p_70539_2_, final float p_70539_3_, final float p_70539_4_, final float p_70539_5_, final float p_70539_6_, final float p_70539_7_) {
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float p_70539_2_, final float p_70539_3_,
|
||||
final float p_70539_4_, final float p_70539_5_, final float p_70539_6_, final float p_70539_7_) {
|
||||
tessellator.draw();
|
||||
final long nt = System.nanoTime();
|
||||
final long time = nt / 50000000L;
|
||||
final int frame = (int)time % 16;
|
||||
final int frame = (int) time % 16;
|
||||
final float f2 = frame / 16.0f;
|
||||
final float f3 = f2 + 0.0625f;
|
||||
final float f4 = 0.0f;
|
||||
@@ -46,26 +50,48 @@ public class FXContainment extends EntityFX
|
||||
UtilsFX.bindTexture(FXContainment.portaltex);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
final float f6 = 3.0f * this.particleScale;
|
||||
final float f7 = (float)(this.posX - FXContainment.interpPosX);
|
||||
final float f8 = (float)(this.posY - FXContainment.interpPosY);
|
||||
final float f9 = (float)(this.posZ - FXContainment.interpPosZ);
|
||||
p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, 0.1f);
|
||||
p_70539_1_.addVertexWithUV((double)(f7 - p_70539_3_ * f6 - p_70539_6_ * f6), (double)(f8 - p_70539_4_ * f6), (double)(f9 - p_70539_5_ * f6 - p_70539_7_ * f6), (double)f2, (double)f4);
|
||||
p_70539_1_.addVertexWithUV((double)(f7 - p_70539_3_ * f6 + p_70539_6_ * f6), (double)(f8 + p_70539_4_ * f6), (double)(f9 - p_70539_5_ * f6 + p_70539_7_ * f6), (double)f3, (double)f4);
|
||||
p_70539_1_.addVertexWithUV((double)(f7 + p_70539_3_ * f6 + p_70539_6_ * f6), (double)(f8 + p_70539_4_ * f6), (double)(f9 + p_70539_5_ * f6 + p_70539_7_ * f6), (double)f3, (double)f5);
|
||||
p_70539_1_.addVertexWithUV((double)(f7 + p_70539_3_ * f6 - p_70539_6_ * f6), (double)(f8 - p_70539_4_ * f6), (double)(f9 + p_70539_5_ * f6 - p_70539_7_ * f6), (double)f2, (double)f5);
|
||||
GL11.glDisable(3042);
|
||||
final float f7 = (float) (this.posX - FXContainment.interpPosX);
|
||||
final float f8 = (float) (this.posY - FXContainment.interpPosY);
|
||||
final float f9 = (float) (this.posZ - FXContainment.interpPosZ);
|
||||
tessellator.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, 0.1f);
|
||||
tessellator.addVertexWithUV(
|
||||
f7 - p_70539_3_ * f6 - p_70539_6_ * f6,
|
||||
f8 - p_70539_4_ * f6,
|
||||
f9 - p_70539_5_ * f6 - p_70539_7_ * f6,
|
||||
f2,
|
||||
f4);
|
||||
tessellator.addVertexWithUV(
|
||||
f7 - p_70539_3_ * f6 + p_70539_6_ * f6,
|
||||
f8 + p_70539_4_ * f6,
|
||||
f9 - p_70539_5_ * f6 + p_70539_7_ * f6,
|
||||
f3,
|
||||
f4);
|
||||
tessellator.addVertexWithUV(
|
||||
f7 + p_70539_3_ * f6 + p_70539_6_ * f6,
|
||||
f8 + p_70539_4_ * f6,
|
||||
f9 + p_70539_5_ * f6 + p_70539_7_ * f6,
|
||||
f3,
|
||||
f5);
|
||||
tessellator.addVertexWithUV(
|
||||
f7 + p_70539_3_ * f6 - p_70539_6_ * f6,
|
||||
f8 - p_70539_4_ * f6,
|
||||
f9 + p_70539_5_ * f6 - p_70539_7_ * f6,
|
||||
f2,
|
||||
f5);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glPopMatrix();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(UtilsFX.getParticleTexture());
|
||||
tessellator.startDrawingQuads();
|
||||
}
|
||||
|
||||
|
||||
public int getFXLayer() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
public void onUpdate() {
|
||||
if (this.particleAge++ >= this.particleMaxAge) {
|
||||
this.setDead();
|
||||
@@ -73,7 +99,7 @@ public class FXContainment extends EntityFX
|
||||
}
|
||||
this.particleScale /= 1.15f;
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
portaltex = new ResourceLocation("thaumcraft", "textures/misc/eldritch_portal.png");
|
||||
}
|
||||
|
||||
@@ -1,23 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.fx;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import java.awt.Color;
|
||||
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
|
||||
public class FXEssentiaBubble extends EntityFX
|
||||
{
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class FXEssentiaBubble extends EntityFX {
|
||||
|
||||
private int count;
|
||||
private int delay;
|
||||
public int particle;
|
||||
|
||||
public FXEssentiaBubble(final World par1World, final double par2, final double par4, final double par6, final int count, final int color, final float scale, final int delay) {
|
||||
|
||||
public FXEssentiaBubble(final World par1World, final double par2, final double par4, final double par6,
|
||||
final int count, final int color, final float scale, final int delay) {
|
||||
super(par1World, par2, par4, par6, 0.0, 0.0, 0.0);
|
||||
this.count = 0;
|
||||
this.delay = 0;
|
||||
@@ -44,8 +47,9 @@ public class FXEssentiaBubble extends EntityFX
|
||||
this.particleGravity = 0.2f;
|
||||
this.noClip = false;
|
||||
}
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float f, final float f1, final float f2, final float f3, final float f4, final float f5) {
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float f, final float f1, final float f2,
|
||||
final float f3, final float f4, final float f5) {
|
||||
if (this.delay > 0) {
|
||||
return;
|
||||
}
|
||||
@@ -57,22 +61,43 @@ public class FXEssentiaBubble extends EntityFX
|
||||
final int part = this.particle + this.particleAge % 16;
|
||||
final float s = MathHelper.sin((this.particleAge - this.count) / 5.0f) * 0.25f + 1.0f;
|
||||
final float var12 = 0.1f * this.particleScale * s;
|
||||
final float var13 = (float)(this.prevPosX + (this.posX - this.prevPosX) * f - FXEssentiaBubble.interpPosX);
|
||||
final float var14 = (float)(this.prevPosY + (this.posY - this.prevPosY) * f - FXEssentiaBubble.interpPosY);
|
||||
final float var15 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * f - FXEssentiaBubble.interpPosZ);
|
||||
final float var13 = (float) (this.prevPosX + (this.posX - this.prevPosX) * f - FXEssentiaBubble.interpPosX);
|
||||
final float var14 = (float) (this.prevPosY + (this.posY - this.prevPosY) * f - FXEssentiaBubble.interpPosY);
|
||||
final float var15 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * f - FXEssentiaBubble.interpPosZ);
|
||||
final float var16 = 1.0f;
|
||||
tessellator.setBrightness(240);
|
||||
tessellator.setColorRGBA_F(this.particleRed * var16, this.particleGreen * var16, this.particleBlue * var16, 0.5f);
|
||||
tessellator.addVertexWithUV((double)(var13 - f1 * var12 - f4 * var12), (double)(var14 - f2 * var12), (double)(var15 - f3 * var12 - f5 * var12), (double)t2, (double)t5);
|
||||
tessellator.addVertexWithUV((double)(var13 - f1 * var12 + f4 * var12), (double)(var14 + f2 * var12), (double)(var15 - f3 * var12 + f5 * var12), (double)t3, (double)t5);
|
||||
tessellator.addVertexWithUV((double)(var13 + f1 * var12 + f4 * var12), (double)(var14 + f2 * var12), (double)(var15 + f3 * var12 + f5 * var12), (double)t3, (double)t4);
|
||||
tessellator.addVertexWithUV((double)(var13 + f1 * var12 - f4 * var12), (double)(var14 - f2 * var12), (double)(var15 + f3 * var12 - f5 * var12), (double)t2, (double)t4);
|
||||
tessellator
|
||||
.setColorRGBA_F(this.particleRed * var16, this.particleGreen * var16, this.particleBlue * var16, 0.5f);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 - f1 * var12 - f4 * var12,
|
||||
var14 - f2 * var12,
|
||||
var15 - f3 * var12 - f5 * var12,
|
||||
t2,
|
||||
t5);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 - f1 * var12 + f4 * var12,
|
||||
var14 + f2 * var12,
|
||||
var15 - f3 * var12 + f5 * var12,
|
||||
t3,
|
||||
t5);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 + f1 * var12 + f4 * var12,
|
||||
var14 + f2 * var12,
|
||||
var15 + f3 * var12 + f5 * var12,
|
||||
t3,
|
||||
t4);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 + f1 * var12 - f4 * var12,
|
||||
var14 - f2 * var12,
|
||||
var15 + f3 * var12 - f5 * var12,
|
||||
t2,
|
||||
t4);
|
||||
}
|
||||
|
||||
|
||||
public int getFXLayer() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
public void onUpdate() {
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
|
||||
@@ -1,25 +1,28 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.fx;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import java.awt.Color;
|
||||
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
|
||||
public class FXEssentiaTrail extends EntityFX
|
||||
{
|
||||
private double targetX;
|
||||
private double targetY;
|
||||
private double targetZ;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class FXEssentiaTrail extends EntityFX {
|
||||
|
||||
private final double targetX;
|
||||
private final double targetY;
|
||||
private final double targetZ;
|
||||
private int count;
|
||||
public int particle;
|
||||
|
||||
public FXEssentiaTrail(final World par1World, final double par2, final double par4, final double par6, final double tx, final double ty, final double tz, final int count, final int color, final float scale) {
|
||||
|
||||
public FXEssentiaTrail(final World par1World, final double par2, final double par4, final double par6,
|
||||
final double tx, final double ty, final double tz, final int count, final int color, final float scale) {
|
||||
super(par1World, par2, par4, par6, 0.0, 0.0, 0.0);
|
||||
this.count = 0;
|
||||
this.particle = 24;
|
||||
@@ -49,8 +52,9 @@ public class FXEssentiaTrail extends EntityFX
|
||||
this.particleGravity = 0.2f;
|
||||
this.noClip = false;
|
||||
}
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float f, final float f1, final float f2, final float f3, final float f4, final float f5) {
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float f, final float f1, final float f2,
|
||||
final float f3, final float f4, final float f5) {
|
||||
final float t2 = 0.5625f;
|
||||
final float t3 = 0.625f;
|
||||
final float t4 = 0.0625f;
|
||||
@@ -59,22 +63,43 @@ public class FXEssentiaTrail extends EntityFX
|
||||
final int part = this.particle + this.particleAge % 16;
|
||||
final float s = MathHelper.sin((this.particleAge - this.count) / 5.0f) * 0.25f + 1.0f;
|
||||
final float var12 = 0.1f * this.particleScale * s;
|
||||
final float var13 = (float)(this.prevPosX + (this.posX - this.prevPosX) * f - FXEssentiaTrail.interpPosX);
|
||||
final float var14 = (float)(this.prevPosY + (this.posY - this.prevPosY) * f - FXEssentiaTrail.interpPosY);
|
||||
final float var15 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * f - FXEssentiaTrail.interpPosZ);
|
||||
final float var13 = (float) (this.prevPosX + (this.posX - this.prevPosX) * f - FXEssentiaTrail.interpPosX);
|
||||
final float var14 = (float) (this.prevPosY + (this.posY - this.prevPosY) * f - FXEssentiaTrail.interpPosY);
|
||||
final float var15 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * f - FXEssentiaTrail.interpPosZ);
|
||||
final float var16 = 1.0f;
|
||||
tessellator.setBrightness(240);
|
||||
tessellator.setColorRGBA_F(this.particleRed * var16, this.particleGreen * var16, this.particleBlue * var16, 0.5f);
|
||||
tessellator.addVertexWithUV((double)(var13 - f1 * var12 - f4 * var12), (double)(var14 - f2 * var12), (double)(var15 - f3 * var12 - f5 * var12), (double)t2, (double)t5);
|
||||
tessellator.addVertexWithUV((double)(var13 - f1 * var12 + f4 * var12), (double)(var14 + f2 * var12), (double)(var15 - f3 * var12 + f5 * var12), (double)t3, (double)t5);
|
||||
tessellator.addVertexWithUV((double)(var13 + f1 * var12 + f4 * var12), (double)(var14 + f2 * var12), (double)(var15 + f3 * var12 + f5 * var12), (double)t3, (double)t4);
|
||||
tessellator.addVertexWithUV((double)(var13 + f1 * var12 - f4 * var12), (double)(var14 - f2 * var12), (double)(var15 + f3 * var12 - f5 * var12), (double)t2, (double)t4);
|
||||
tessellator
|
||||
.setColorRGBA_F(this.particleRed * var16, this.particleGreen * var16, this.particleBlue * var16, 0.5f);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 - f1 * var12 - f4 * var12,
|
||||
var14 - f2 * var12,
|
||||
var15 - f3 * var12 - f5 * var12,
|
||||
t2,
|
||||
t5);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 - f1 * var12 + f4 * var12,
|
||||
var14 + f2 * var12,
|
||||
var15 - f3 * var12 + f5 * var12,
|
||||
t3,
|
||||
t5);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 + f1 * var12 + f4 * var12,
|
||||
var14 + f2 * var12,
|
||||
var15 + f3 * var12 + f5 * var12,
|
||||
t3,
|
||||
t4);
|
||||
tessellator.addVertexWithUV(
|
||||
var13 + f1 * var12 - f4 * var12,
|
||||
var14 - f2 * var12,
|
||||
var15 + f3 * var12 - f5 * var12,
|
||||
t2,
|
||||
t4);
|
||||
}
|
||||
|
||||
|
||||
public int getFXLayer() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
public void onUpdate() {
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
@@ -91,9 +116,9 @@ public class FXEssentiaTrail extends EntityFX
|
||||
this.motionX *= 0.985;
|
||||
this.motionY *= 0.985;
|
||||
this.motionZ *= 0.985;
|
||||
this.motionX = MathHelper.clamp_float((float)this.motionX, -0.05f, 0.05f);
|
||||
this.motionY = MathHelper.clamp_float((float)this.motionY, -0.05f, 0.05f);
|
||||
this.motionZ = MathHelper.clamp_float((float)this.motionZ, -0.05f, 0.05f);
|
||||
this.motionX = MathHelper.clamp_float((float) this.motionX, -0.05f, 0.05f);
|
||||
this.motionY = MathHelper.clamp_float((float) this.motionY, -0.05f, 0.05f);
|
||||
this.motionZ = MathHelper.clamp_float((float) this.motionZ, -0.05f, 0.05f);
|
||||
double dx = this.targetX - this.posX;
|
||||
double dy = this.targetY - this.posY;
|
||||
double dz = this.targetZ - this.posZ;
|
||||
@@ -113,11 +138,11 @@ public class FXEssentiaTrail extends EntityFX
|
||||
this.motionY += dy * (d13 / Math.min(1.0, d14));
|
||||
this.motionZ += dz * (d13 / Math.min(1.0, d14));
|
||||
}
|
||||
|
||||
|
||||
public void setGravity(final float value) {
|
||||
this.particleGravity = value;
|
||||
}
|
||||
|
||||
|
||||
protected boolean pushOutOfBlocks(final double par1, final double par3, final double par5) {
|
||||
final int var7 = MathHelper.floor_double(par1);
|
||||
final int var8 = MathHelper.floor_double(par3);
|
||||
@@ -125,7 +150,9 @@ public class FXEssentiaTrail extends EntityFX
|
||||
final double var10 = par1 - var7;
|
||||
final double var11 = par3 - var8;
|
||||
final double var12 = par5 - var9;
|
||||
if (!this.worldObj.isAirBlock(var7, var8, var9) && this.worldObj.isBlockNormalCubeDefault(var7, var8, var9, true) && !this.worldObj.isAnyLiquid(this.boundingBox)) {
|
||||
if (!this.worldObj.isAirBlock(var7, var8, var9)
|
||||
&& this.worldObj.isBlockNormalCubeDefault(var7, var8, var9, true)
|
||||
&& !this.worldObj.isAnyLiquid(this.boundingBox)) {
|
||||
final boolean var13 = !this.worldObj.isBlockNormalCubeDefault(var7 - 1, var8, var9, true);
|
||||
final boolean var14 = !this.worldObj.isBlockNormalCubeDefault(var7 + 1, var8, var9, true);
|
||||
final boolean var15 = !this.worldObj.isBlockNormalCubeDefault(var7, var8 - 1, var9, true);
|
||||
@@ -162,39 +189,33 @@ public class FXEssentiaTrail extends EntityFX
|
||||
final float var22 = (this.rand.nextFloat() - this.rand.nextFloat()) * 0.1f;
|
||||
if (var19 == 0) {
|
||||
this.motionX = -var21;
|
||||
final double n = var22;
|
||||
this.motionZ = n;
|
||||
this.motionY = n;
|
||||
this.motionZ = var22;
|
||||
this.motionY = var22;
|
||||
}
|
||||
if (var19 == 1) {
|
||||
this.motionX = var21;
|
||||
final double n2 = var22;
|
||||
this.motionZ = n2;
|
||||
this.motionY = n2;
|
||||
this.motionZ = var22;
|
||||
this.motionY = var22;
|
||||
}
|
||||
if (var19 == 2) {
|
||||
this.motionY = -var21;
|
||||
final double n3 = var22;
|
||||
this.motionZ = n3;
|
||||
this.motionX = n3;
|
||||
this.motionZ = var22;
|
||||
this.motionX = var22;
|
||||
}
|
||||
if (var19 == 3) {
|
||||
this.motionY = var21;
|
||||
final double n4 = var22;
|
||||
this.motionZ = n4;
|
||||
this.motionX = n4;
|
||||
this.motionZ = var22;
|
||||
this.motionX = var22;
|
||||
}
|
||||
if (var19 == 4) {
|
||||
this.motionZ = -var21;
|
||||
final double n5 = var22;
|
||||
this.motionX = n5;
|
||||
this.motionY = n5;
|
||||
this.motionX = var22;
|
||||
this.motionY = var22;
|
||||
}
|
||||
if (var19 == 5) {
|
||||
this.motionZ = var21;
|
||||
final double n6 = var22;
|
||||
this.motionX = n6;
|
||||
this.motionY = n6;
|
||||
this.motionX = var22;
|
||||
this.motionY = var22;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,27 +1,29 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.fx;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class FXSonic extends EntityFX {
|
||||
|
||||
public class FXSonic extends EntityFX
|
||||
{
|
||||
float yaw;
|
||||
float pitch;
|
||||
private IModelCustom model;
|
||||
public static IModelCustom model;
|
||||
private static final ResourceLocation MODEL;
|
||||
|
||||
|
||||
public FXSonic(final World world, final double d, final double d1, final double d2, final int age, final int dir) {
|
||||
super(world, d, d1, d2, 0.0, 0.0, 0.0);
|
||||
this.yaw = 0.0f;
|
||||
@@ -30,80 +32,74 @@ public class FXSonic extends EntityFX
|
||||
this.particleGreen = 1.0f;
|
||||
this.particleBlue = 1.0f;
|
||||
this.particleGravity = 0.0f;
|
||||
final double motionX = 0.0;
|
||||
this.motionZ = motionX;
|
||||
this.motionY = motionX;
|
||||
this.motionX = motionX;
|
||||
this.motionZ = 0.0;
|
||||
this.motionY = 0.0;
|
||||
this.motionX = 0.0;
|
||||
this.particleMaxAge = age + this.rand.nextInt(age / 2);
|
||||
this.noClip = false;
|
||||
this.setSize(0.01f, 0.01f);
|
||||
this.noClip = true;
|
||||
this.particleScale = 1.0f;
|
||||
switch (dir) {
|
||||
case 0: {
|
||||
case 0 -> {
|
||||
this.pitch = 90.0f;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
case 1 -> {
|
||||
this.pitch = -90.0f;
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
case 2 -> {
|
||||
this.yaw = 180.0f;
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
case 3 -> {
|
||||
this.yaw = 0.0f;
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
case 4 -> {
|
||||
this.yaw = 90.0f;
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
case 5 -> {
|
||||
this.yaw = 270.0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
}
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float f, final float f1, final float f2, final float f3, final float f4, final float f5) {
|
||||
|
||||
public void renderParticle(final Tessellator tessellator, final float f, final float f1, final float f2,
|
||||
final float f3, final float f4, final float f5) {
|
||||
tessellator.draw();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(2884);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 1);
|
||||
if (this.model == null) {
|
||||
this.model = AdvancedModelLoader.loadModel(FXSonic.MODEL);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
if (model == null) {
|
||||
model = AdvancedModelLoader.loadModel(FXSonic.MODEL);
|
||||
}
|
||||
final float fade = (this.particleAge + f) / this.particleMaxAge;
|
||||
final float xx = (float)(this.prevPosX + (this.posX - this.prevPosX) * f - FXSonic.interpPosX);
|
||||
final float yy = (float)(this.prevPosY + (this.posY - this.prevPosY) * f - FXSonic.interpPosY);
|
||||
final float zz = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * f - FXSonic.interpPosZ);
|
||||
GL11.glTranslated((double)xx, (double)yy, (double)zz);
|
||||
final float xx = (float) (this.prevPosX + (this.posX - this.prevPosX) * f - FXSonic.interpPosX);
|
||||
final float yy = (float) (this.prevPosY + (this.posY - this.prevPosY) * f - FXSonic.interpPosY);
|
||||
final float zz = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * f - FXSonic.interpPosZ);
|
||||
GL11.glTranslated(xx, yy, zz);
|
||||
float b = 1.0f;
|
||||
final int frame = Math.min(15, (int)(14.0f * fade) + 1);
|
||||
final int frame = Math.min(15, (int) (14.0f * fade) + 1);
|
||||
UtilsFX.bindTexture("textures/models/ripple" + frame + ".png");
|
||||
b = 0.5f;
|
||||
final int i = 220;
|
||||
final int j = i % 65536;
|
||||
final int k = i / 65536;
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j / 1.0f, k / 1.0f);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j, k);
|
||||
GL11.glRotatef(-this.yaw, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glRotatef(this.pitch, 1.0f, 0.0f, 0.0f);
|
||||
GL11.glScaled(0.5, 0.5, -0.5);
|
||||
GL11.glColor4f(0.0f, b, b, 1.0f);
|
||||
this.model.renderAll();
|
||||
GL11.glDisable(3042);
|
||||
GL11.glEnable(2884);
|
||||
model.renderAll();
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(UtilsFX.getParticleTexture());
|
||||
tessellator.startDrawingQuads();
|
||||
}
|
||||
|
||||
|
||||
public void onUpdate() {
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
@@ -112,7 +108,7 @@ public class FXSonic extends EntityFX
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
MODEL = new ResourceLocation("thaumcraft", "textures/models/hemis.obj");
|
||||
}
|
||||
|
||||
@@ -1,31 +1,34 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.HashMap;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import thaumcraft.client.fx.ParticleEngine;
|
||||
import thaumcraft.common.config.Config;
|
||||
import net.minecraft.potion.Potion;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerBloodInfuser;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import java.util.HashMap;
|
||||
import java.awt.Color;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerBloodInfuser;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileBloodInfuser;
|
||||
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileBloodInfuser;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import thaumcraft.client.fx.ParticleEngine;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import thaumcraft.common.config.Config;
|
||||
|
||||
public class GuiBloodInfuser extends GuiContainer {
|
||||
|
||||
public class GuiBloodInfuser extends GuiContainer
|
||||
{
|
||||
TileBloodInfuser tile;
|
||||
AspectList aspectsKnown;
|
||||
Aspect[] aspectsSelected;
|
||||
@@ -42,9 +45,9 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
Aspect mousedOver;
|
||||
HashMap<Integer, Integer> mousedEffects;
|
||||
NBTTagList cachedEffects;
|
||||
|
||||
|
||||
public GuiBloodInfuser(final EntityPlayer p, final TileBloodInfuser tile) {
|
||||
super((Container)new ContainerBloodInfuser(p, tile));
|
||||
super(new ContainerBloodInfuser(p, tile));
|
||||
this.aspectsSelected = new Aspect[8];
|
||||
this.numSelected = 0;
|
||||
this.offset = 0;
|
||||
@@ -69,42 +72,40 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
this.ySize = 219;
|
||||
this.cachedEffects = tile.getCurrentEffects();
|
||||
}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) {
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_,
|
||||
final int p_146976_3_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guibloodinfuser.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
final int var6 = (this.height - this.ySize) / 2;
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {
|
||||
this.drawEssentiaSelected();
|
||||
this.drawAspectList();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guibloodinfuser.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
if (this.canScrollLeft()) {
|
||||
this.drawTexturedModalRect(111, 75, 177, 136, 24, 8);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
this.drawTexturedModalRect(111, 75, 177, 144, 24, 8);
|
||||
}
|
||||
if (this.canScrollRight()) {
|
||||
this.drawTexturedModalRect(135, 75, 201, 136, 24, 8);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
this.drawTexturedModalRect(135, 75, 201, 144, 24, 8);
|
||||
}
|
||||
if (this.tile.mode == 1) {
|
||||
this.drawTexturedModalRect(38, 57, 178, 130, 6, 6);
|
||||
}
|
||||
else if (this.tile.mode == 2) {
|
||||
} else if (this.tile.mode == 2) {
|
||||
this.drawTexturedModalRect(38, 70, 178, 130, 6, 6);
|
||||
}
|
||||
final int gx = (this.width - this.xSize) / 2;
|
||||
@@ -123,8 +124,7 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
this.mousedOver = asp;
|
||||
this.mousedEffects = this.tile.getEffects(this.mousedOver);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
x = par1 - (gx + 110);
|
||||
y = par2 - (gy + 74);
|
||||
if (x >= 0 && y >= 0 && x <= 49 && y <= 9) {
|
||||
@@ -136,8 +136,7 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
this.bottomOut -= 2;
|
||||
}
|
||||
this.drawTexturedModalRect(171, 69, 215 - this.bottomOut, 194, this.bottomOut, 59);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (this.bottomOut < 38) {
|
||||
this.bottomOut += 2;
|
||||
}
|
||||
@@ -146,13 +145,17 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
int k = 0;
|
||||
if (this.bottomOut == 38 && this.mousedEffects != null) {
|
||||
for (final Integer key : this.mousedEffects.keySet()) {
|
||||
if (key >=0) {
|
||||
if (key >= 0) {
|
||||
final Potion potion = Potion.potionTypes[key];
|
||||
if (potion.hasStatusIcon()) {
|
||||
this.mc.getTextureManager().bindTexture(GuiBloodInfuser.field_147001_a);
|
||||
final int l = potion.getStatusIconIndex();
|
||||
this.drawTexturedModalRect(j * 18 + 171, k * 18 + 72, 0 + l % 8 * 18, 198 + l / 8 * 18, 18, 18);
|
||||
this.fontRendererObj.drawString("" + this.mousedEffects.get(key), j * 18 + 171, k * 18 + 72, Color.GRAY.getRGB());
|
||||
this.drawTexturedModalRect(j * 18 + 171, k * 18 + 72, l % 8 * 18, 198 + l / 8 * 18, 18, 18);
|
||||
this.fontRendererObj.drawString(
|
||||
"" + this.mousedEffects.get(key),
|
||||
j * 18 + 171,
|
||||
k * 18 + 72,
|
||||
Color.GRAY.getRGB());
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
if (j == 0) {
|
||||
j = 1;
|
||||
@@ -161,18 +164,21 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
++k;
|
||||
}
|
||||
} else {
|
||||
this.mc.getTextureManager().bindTexture(new ResourceLocation("thaumichorizons", "textures/misc/potions.png"));
|
||||
int ecks2 = 0;
|
||||
this.mc.getTextureManager()
|
||||
.bindTexture(new ResourceLocation("thaumichorizons", "textures/misc/potions.png"));
|
||||
int ecks2 = 0; // Potion.heal.id
|
||||
final int why2 = 216;
|
||||
if (potion.getId() == 23) {
|
||||
ecks2 = 36;
|
||||
} else if (potion.getId() == Potion.heal.id) {
|
||||
ecks2 = 0;
|
||||
} else if (potion.getId() == Potion.harm.id) {
|
||||
ecks2 = 18;
|
||||
}
|
||||
this.drawTexturedModalRect(j * 18 + 171, k * 18 + 72, ecks2, why2, 18, 18);
|
||||
this.fontRendererObj.drawString("" + this.mousedEffects.get(key), j * 18 + 171, k * 18 + 72, Color.GRAY.getRGB());
|
||||
this.fontRendererObj.drawString(
|
||||
"" + this.mousedEffects.get(key),
|
||||
j * 18 + 171,
|
||||
k * 18 + 72,
|
||||
Color.GRAY.getRGB());
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
if (j == 0) {
|
||||
j = 1;
|
||||
@@ -195,26 +201,29 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
int k = 0;
|
||||
if (this.topOut == 38) {
|
||||
for (int index = 0; index < this.cachedEffects.tagCount(); ++index) {
|
||||
final Byte id = this.cachedEffects.getCompoundTagAt(index).getByte("Id");
|
||||
final byte id = this.cachedEffects.getCompoundTagAt(index).getByte("Id");
|
||||
if (id < 0 || id >= Potion.potionTypes.length) continue;
|
||||
final Potion potion = Potion.potionTypes[id];
|
||||
if (potion != null) {
|
||||
this.mc.getTextureManager().bindTexture(GuiBloodInfuser.field_147001_a);
|
||||
final int l = potion.getStatusIconIndex();
|
||||
this.drawTexturedModalRect(j * 18 + 171, k * 18 + 28, 0 + l % 8 * 18, 198 + l / 8 * 18, 18, 18);
|
||||
this.fontRendererObj.drawString("" + (this.cachedEffects.getCompoundTagAt(index).getByte("Amplifier") + 1), j * 18 + 171, k * 18 + 28, Color.GRAY.getRGB());
|
||||
this.drawTexturedModalRect(j * 18 + 171, k * 18 + 28, l % 8 * 18, 198 + l / 8 * 18, 18, 18);
|
||||
this.fontRendererObj.drawString(
|
||||
"" + (this.cachedEffects.getCompoundTagAt(index).getByte("Amplifier") + 1),
|
||||
j * 18 + 171,
|
||||
k * 18 + 28,
|
||||
Color.GRAY.getRGB());
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
if (j == 0) {
|
||||
j = 1;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
j = 0;
|
||||
++k;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (this.topOut > 2) {
|
||||
this.topOut -= 2;
|
||||
}
|
||||
@@ -225,10 +234,10 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
--this.flashTimer;
|
||||
this.drawFlash();
|
||||
}
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
protected void mouseClicked(final int par1, final int par2, final int par3) {
|
||||
super.mouseClicked(par1, par2, par3);
|
||||
final int gx = (this.width - this.xSize) / 2;
|
||||
@@ -241,8 +250,7 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
if (this.tile.mode == 1) {
|
||||
this.tile.mode = 0;
|
||||
this.mc.playerController.sendEnchantPacket(this.inventorySlots.windowId, 0);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
this.tile.mode = 1;
|
||||
this.mc.playerController.sendEnchantPacket(this.inventorySlots.windowId, 1);
|
||||
}
|
||||
@@ -252,8 +260,7 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
if (this.tile.mode == 2) {
|
||||
this.tile.mode = 0;
|
||||
this.mc.playerController.sendEnchantPacket(this.inventorySlots.windowId, 0);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
this.tile.mode = 2;
|
||||
this.mc.playerController.sendEnchantPacket(this.inventorySlots.windowId, 2);
|
||||
}
|
||||
@@ -270,7 +277,11 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
for (int i = 0; i < 16; ++i) {
|
||||
x = par1 - (gx + 14 + 18 * (i / 2));
|
||||
y = par2 - (gy + 83 + ((i % 2 == 0) ? 18 : 0));
|
||||
if (this.offset + i < this.aspectsKnown.getAspectsSorted().length && this.numSelected < 8 && x >= 0 && x <= 16 && y >= 0 && y <= 16) {
|
||||
if (this.offset + i < this.aspectsKnown.getAspectsSorted().length && this.numSelected < 8
|
||||
&& x >= 0
|
||||
&& x <= 16
|
||||
&& y >= 0
|
||||
&& y <= 16) {
|
||||
this.aspectsSelected[this.numSelected] = this.aspectsKnown.getAspectsSorted()[this.offset + i];
|
||||
++this.numSelected;
|
||||
this.tile.aspectsSelected.add(this.aspectsKnown.getAspectsSorted()[this.offset + i], 1);
|
||||
@@ -279,20 +290,40 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
this.flashColor = new Color(this.aspectsKnown.getAspectsSorted()[this.offset + i].getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
x = par1 - (gx + 54 + ((i % 2 == 1) ? 17 : 0));
|
||||
y = par2 - (gy + 12 + 17 * (i / 2));
|
||||
if (this.numSelected > i && x >= 0 && x <= 16 && y >= 0 && y <= 16 && Thaumcraft.proxy.playerKnowledge.hasDiscoveredAspect(this.mc.thePlayer.getCommandSenderName(), this.aspectsSelected[i])) {
|
||||
if (this.numSelected > i && x >= 0
|
||||
&& x <= 16
|
||||
&& y >= 0
|
||||
&& y <= 16
|
||||
&& Thaumcraft.proxy.playerKnowledge
|
||||
.hasDiscoveredAspect(this.mc.thePlayer.getCommandSenderName(), this.aspectsSelected[i])) {
|
||||
this.tile.aspectsSelected.remove(this.aspectsSelected[i], 1);
|
||||
this.mc.playerController.sendEnchantPacket(this.inventorySlots.windowId, 3 + this.findInList(this.aspectsSelected[i]));
|
||||
this.mc.playerController
|
||||
.sendEnchantPacket(this.inventorySlots.windowId, 3 + this.findInList(this.aspectsSelected[i]));
|
||||
this.flashTimer = 8;
|
||||
this.flashColor = new Color(this.aspectsSelected[i].getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
for (int j = i; j < 7; ++j) {
|
||||
this.aspectsSelected[j] = this.aspectsSelected[j + 1];
|
||||
}
|
||||
@@ -302,7 +333,7 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
}
|
||||
this.cachedEffects = this.tile.getCurrentEffects();
|
||||
}
|
||||
|
||||
|
||||
private void drawFlash() {
|
||||
float red = this.flashColor.getRed() / 255.0f;
|
||||
float green = this.flashColor.getGreen() / 255.0f;
|
||||
@@ -315,7 +346,7 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
GL11.glPushMatrix();
|
||||
UtilsFX.bindTexture(ParticleEngine.particleTexture);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL11.glTranslated((double)this.flashX, (double)this.flashY, 0.0);
|
||||
GL11.glTranslated(this.flashX, this.flashY, 0.0);
|
||||
final Tessellator tessellator = Tessellator.instance;
|
||||
final int part = this.flashTimer;
|
||||
final float var8 = 0.5f + part / 8.0f;
|
||||
@@ -325,75 +356,92 @@ public class GuiBloodInfuser extends GuiContainer
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setBrightness(240);
|
||||
tessellator.setColorRGBA_F(red, green, blue, 1.0f);
|
||||
tessellator.addVertexWithUV(0.0, 16.0, (double)this.zLevel, (double)var9, (double)var11);
|
||||
tessellator.addVertexWithUV(16.0, 16.0, (double)this.zLevel, (double)var9, (double)var10);
|
||||
tessellator.addVertexWithUV(16.0, 0.0, (double)this.zLevel, (double)var8, (double)var10);
|
||||
tessellator.addVertexWithUV(0.0, 0.0, (double)this.zLevel, (double)var8, (double)var11);
|
||||
tessellator.addVertexWithUV(0.0, 16.0, this.zLevel, var9, var11);
|
||||
tessellator.addVertexWithUV(16.0, 16.0, this.zLevel, var9, var10);
|
||||
tessellator.addVertexWithUV(16.0, 0.0, this.zLevel, var8, var10);
|
||||
tessellator.addVertexWithUV(0.0, 0.0, this.zLevel, var8, var11);
|
||||
tessellator.draw();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
boolean canScrollLeft() {
|
||||
return this.offset > 0;
|
||||
}
|
||||
|
||||
|
||||
boolean canScrollRight() {
|
||||
return this.offset + 16 < this.aspectsKnown.size();
|
||||
}
|
||||
|
||||
|
||||
void drawAspectList() {
|
||||
final Aspect[] known = this.aspectsKnown.getAspectsSorted();
|
||||
for (int i = 0; i < 16 && this.offset + i < known.length; ++i) {
|
||||
final Aspect asp = known[this.offset + i];
|
||||
UtilsFX.drawTag(14 + 18 * (i / 2), 83 + ((i % 2 == 0) ? 18 : 0), asp, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
UtilsFX.drawTag(
|
||||
14 + 18 * (i / 2),
|
||||
83 + ((i % 2 == 0) ? 18 : 0),
|
||||
asp,
|
||||
0.0f,
|
||||
0,
|
||||
this.zLevel,
|
||||
771,
|
||||
1.0f,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void drawEssentiaSelected() {
|
||||
final AspectList alreadyUsed = new AspectList();
|
||||
for (int i = 0; i < this.numSelected; ++i) {
|
||||
final Aspect asp = this.aspectsSelected[i];
|
||||
alreadyUsed.add(asp, 1);
|
||||
if (Thaumcraft.proxy.playerKnowledge.hasDiscoveredAspect(this.mc.thePlayer.getCommandSenderName(), this.aspectsSelected[i])) {
|
||||
UtilsFX.drawTag(54 + ((i % 2 == 1) ? 17 : 0), 12 + 17 * (i / 2), asp, 0.0f, 0, (double)this.zLevel, 771, 1.0f, this.tile.aspectsAcquired.getAmount(asp) < alreadyUsed.getAmount(asp));
|
||||
}
|
||||
else if (this.tile.aspectsAcquired.getAmount(asp) < alreadyUsed.getAmount(asp)) {
|
||||
if (Thaumcraft.proxy.playerKnowledge
|
||||
.hasDiscoveredAspect(this.mc.thePlayer.getCommandSenderName(), this.aspectsSelected[i])) {
|
||||
UtilsFX.drawTag(
|
||||
54 + ((i % 2 == 1) ? 17 : 0),
|
||||
12 + 17 * (i / 2),
|
||||
asp,
|
||||
0.0f,
|
||||
0,
|
||||
this.zLevel,
|
||||
771,
|
||||
1.0f,
|
||||
this.tile.aspectsAcquired.getAmount(asp) < alreadyUsed.getAmount(asp));
|
||||
} else if (this.tile.aspectsAcquired.getAmount(asp) < alreadyUsed.getAmount(asp)) {
|
||||
final Color col = Color.DARK_GRAY;
|
||||
this.drawQuestionMark(54 + ((i % 2 == 1) ? 17 : 0), 12 + 17 * (i / 2), col);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
final Color col = new Color(asp.getColor());
|
||||
this.drawQuestionMark(54 + ((i % 2 == 1) ? 17 : 0), 12 + 17 * (i / 2), col);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void drawQuestionMark(final int x, final int y, final Color color) {
|
||||
final Minecraft mc = Minecraft.getMinecraft();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(2896);
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GL11.glPushMatrix();
|
||||
mc.renderEngine.bindTexture(new ResourceLocation("thaumcraft", "textures/aspects/_unknown.png"));
|
||||
GL11.glColor4f(color.getRed() / 255.0f, color.getGreen() / 255.0f, color.getBlue() / 255.0f, 0.8f);
|
||||
final Tessellator var9 = Tessellator.instance;
|
||||
var9.startDrawingQuads();
|
||||
var9.setColorRGBA_F(color.getRed() / 255.0f, color.getGreen() / 255.0f, color.getBlue() / 255.0f, 0.8f);
|
||||
var9.addVertexWithUV(x + 0.0, y + 16.0, (double)this.zLevel, 0.0, 1.0);
|
||||
var9.addVertexWithUV(x + 16.0, y + 16.0, (double)this.zLevel, 1.0, 1.0);
|
||||
var9.addVertexWithUV(x + 16.0, y + 0.0, (double)this.zLevel, 1.0, 0.0);
|
||||
var9.addVertexWithUV(x + 0.0, y + 0.0, (double)this.zLevel, 0.0, 0.0);
|
||||
var9.addVertexWithUV(x + 0.0, y + 16.0, this.zLevel, 0.0, 1.0);
|
||||
var9.addVertexWithUV(x + 16.0, y + 16.0, this.zLevel, 1.0, 1.0);
|
||||
var9.addVertexWithUV(x + 16.0, y + 0.0, this.zLevel, 1.0, 0.0);
|
||||
var9.addVertexWithUV(x + 0.0, y + 0.0, this.zLevel, 0.0, 0.0);
|
||||
var9.draw();
|
||||
GL11.glPopMatrix();
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glEnable(2896);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
int findInList(final Aspect asp) {
|
||||
final Aspect[] aspects = this.aspectsKnown.getAspectsSorted();
|
||||
for (int i = 0; i < aspects.length; ++i) {
|
||||
|
||||
@@ -1,45 +1,48 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerCase;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerCase;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiCase extends GuiContainer
|
||||
{
|
||||
private int blockSlot;
|
||||
|
||||
public GuiCase(final InventoryPlayer par1InventoryPlayer, final World world, final int x, final int y, final int z) {
|
||||
super((Container)new ContainerCase(par1InventoryPlayer, world, x, y, z));
|
||||
public class GuiCase extends GuiContainer {
|
||||
|
||||
private final int blockSlot;
|
||||
|
||||
public GuiCase(final InventoryPlayer par1InventoryPlayer, final World world, final int x, final int y,
|
||||
final int z) {
|
||||
super(new ContainerCase(par1InventoryPlayer, world, x, y, z));
|
||||
this.blockSlot = par1InventoryPlayer.currentItem;
|
||||
this.xSize = 175;
|
||||
this.ySize = 232;
|
||||
this.xSize = 176;
|
||||
this.ySize = 233;
|
||||
}
|
||||
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {
|
||||
UtilsFX.bindTexture("textures/gui/gui_focuspouch.png");
|
||||
final float t = this.zLevel;
|
||||
this.zLevel = 200.0f;
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
this.drawTexturedModalRect(8 + this.blockSlot * 18, 209, 240, 0, 16, 16);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
this.zLevel = t;
|
||||
}
|
||||
|
||||
|
||||
protected boolean checkHotbarKeys(final int par1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float par1, final int par2, final int par3) {
|
||||
if (this.mc.thePlayer.inventory.mainInventory[this.blockSlot] == null) {
|
||||
this.mc.thePlayer.closeScreen();
|
||||
@@ -48,8 +51,8 @@ public class GuiCase extends GuiContainer
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
final int var6 = (this.height - this.ySize) / 2;
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
}
|
||||
}
|
||||
@@ -1,96 +1,123 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import thaumcraft.common.lib.crafting.ThaumcraftCraftingManager;
|
||||
import thaumcraft.common.items.wands.ItemWandCasting;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerFingers;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import java.util.ArrayList;
|
||||
import com.kentington.thaumichorizons.common.container.InventoryFingers;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerFingers;
|
||||
import com.kentington.thaumichorizons.common.container.InventoryFingers;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.common.items.wands.ItemWandCasting;
|
||||
import thaumcraft.common.lib.crafting.ThaumcraftCraftingManager;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiFingers extends GuiContainer
|
||||
{
|
||||
private InventoryPlayer ip;
|
||||
private InventoryFingers tileEntity;
|
||||
private int[][] aspectLocs;
|
||||
public class GuiFingers extends GuiContainer {
|
||||
|
||||
private final InventoryPlayer ip;
|
||||
private final InventoryFingers tileEntity;
|
||||
private final int[][] aspectLocs;
|
||||
ArrayList<Aspect> primals;
|
||||
|
||||
|
||||
public GuiFingers(final InventoryPlayer par1InventoryPlayer) {
|
||||
super((Container)new ContainerFingers(par1InventoryPlayer));
|
||||
super(new ContainerFingers(par1InventoryPlayer));
|
||||
this.aspectLocs = new int[][] { { 72, 21 }, { 24, 43 }, { 24, 102 }, { 72, 124 }, { 120, 102 }, { 120, 43 } };
|
||||
this.primals = Aspect.getPrimalAspects();
|
||||
this.tileEntity = ((ContainerFingers)this.inventorySlots).tileEntity;
|
||||
this.tileEntity = ((ContainerFingers) this.inventorySlots).tileEntity;
|
||||
this.ip = par1InventoryPlayer;
|
||||
this.ySize = 234;
|
||||
this.xSize = 190;
|
||||
}
|
||||
|
||||
protected void drawGuiContainerForegroundLayer() {
|
||||
}
|
||||
|
||||
|
||||
protected void drawGuiContainerForegroundLayer() {}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float par1, final int par2, final int par3) {
|
||||
UtilsFX.bindTexture("thaumichorizons", "textures/gui/guifingers.png");
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
final int var6 = (this.height - this.ySize) / 2;
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
ItemWandCasting wand = null;
|
||||
if (this.tileEntity.getStackInSlot(10) != null && this.tileEntity.getStackInSlot(10).getItem() instanceof ItemWandCasting) {
|
||||
wand = (ItemWandCasting)this.tileEntity.getStackInSlot(10).getItem();
|
||||
if (this.tileEntity.getStackInSlot(10) != null
|
||||
&& this.tileEntity.getStackInSlot(10).getItem() instanceof ItemWandCasting) {
|
||||
wand = (ItemWandCasting) this.tileEntity.getStackInSlot(10).getItem();
|
||||
}
|
||||
AspectList cost = null;
|
||||
if (ThaumcraftCraftingManager.findMatchingArcaneRecipe((IInventory)this.tileEntity, this.ip.player) != null) {
|
||||
cost = ThaumcraftCraftingManager.findMatchingArcaneRecipeAspects((IInventory)this.tileEntity, this.ip.player);
|
||||
if (ThaumcraftCraftingManager.findMatchingArcaneRecipe(this.tileEntity, this.ip.player) != null) {
|
||||
cost = ThaumcraftCraftingManager.findMatchingArcaneRecipeAspects(this.tileEntity, this.ip.player);
|
||||
int count = 0;
|
||||
for (final Aspect primal : this.primals) {
|
||||
float amt = cost.getAmount(primal);
|
||||
if (cost.getAmount(primal) > 0) {
|
||||
float alpha = 0.5f + (MathHelper.sin((this.ip.player.ticksExisted + count * 10) / 2.0f) * 0.2f - 0.2f);
|
||||
float alpha = 0.5f
|
||||
+ (MathHelper.sin((this.ip.player.ticksExisted + count * 10) / 2.0f) * 0.2f - 0.2f);
|
||||
if (wand != null) {
|
||||
amt *= wand.getConsumptionModifier(this.tileEntity.getStackInSlot(10), this.ip.player, primal, true);
|
||||
amt *= wand.getConsumptionModifier(
|
||||
this.tileEntity.getStackInSlot(10),
|
||||
this.ip.player,
|
||||
primal,
|
||||
true);
|
||||
if (amt * 100.0f <= wand.getVis(this.tileEntity.getStackInSlot(10), primal)) {
|
||||
alpha = 1.0f;
|
||||
}
|
||||
}
|
||||
UtilsFX.drawTag(var5 + this.aspectLocs[count][0] - 8, var6 + this.aspectLocs[count][1] - 8, primal, amt, 0, (double)this.zLevel, 771, alpha, false);
|
||||
UtilsFX.drawTag(
|
||||
var5 + this.aspectLocs[count][0] - 8,
|
||||
var6 + this.aspectLocs[count][1] - 8,
|
||||
primal,
|
||||
amt,
|
||||
0,
|
||||
this.zLevel,
|
||||
771,
|
||||
alpha,
|
||||
false);
|
||||
}
|
||||
if (++count > 5) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (wand != null && cost != null && !wand.consumeAllVisCrafting(this.tileEntity.getStackInSlot(10), this.ip.player, cost, false)) {
|
||||
if (wand != null && cost != null
|
||||
&& !wand.consumeAllVisCrafting(this.tileEntity.getStackInSlot(10), this.ip.player, cost, false)) {
|
||||
GL11.glPushMatrix();
|
||||
final float var7 = 0.33f;
|
||||
GL11.glColor4f(var7, var7, var7, 0.66f);
|
||||
GuiFingers.itemRender.renderWithColor = false;
|
||||
GL11.glEnable(2896);
|
||||
GL11.glEnable(2884);
|
||||
GL11.glEnable(3042);
|
||||
GuiFingers.itemRender.renderItemAndEffectIntoGUI(this.mc.fontRenderer, this.mc.renderEngine, ThaumcraftCraftingManager.findMatchingArcaneRecipe((IInventory)this.tileEntity, this.ip.player), var5 + 160, var6 + 64);
|
||||
GuiFingers.itemRender.renderItemOverlayIntoGUI(this.mc.fontRenderer, this.mc.renderEngine, ThaumcraftCraftingManager.findMatchingArcaneRecipe((IInventory)this.tileEntity, this.ip.player), var5 + 160, var6 + 64);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GuiFingers.itemRender.renderItemAndEffectIntoGUI(
|
||||
this.mc.fontRenderer,
|
||||
this.mc.renderEngine,
|
||||
ThaumcraftCraftingManager.findMatchingArcaneRecipe(this.tileEntity, this.ip.player),
|
||||
var5 + 160,
|
||||
var6 + 64);
|
||||
GuiFingers.itemRender.renderItemOverlayIntoGUI(
|
||||
this.mc.fontRenderer,
|
||||
this.mc.renderEngine,
|
||||
ThaumcraftCraftingManager.findMatchingArcaneRecipe(this.tileEntity, this.ip.player),
|
||||
var5 + 160,
|
||||
var6 + 64);
|
||||
GuiFingers.itemRender.renderWithColor = true;
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(2896);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)(var5 + 168), (float)(var6 + 46), 0.0f);
|
||||
GL11.glTranslatef((float) (var5 + 168), (float) (var6 + 46), 0.0f);
|
||||
GL11.glScalef(0.5f, 0.5f, 0.0f);
|
||||
final String text = "Insufficient vis";
|
||||
final int ll = this.fontRendererObj.getStringWidth(text) / 2;
|
||||
|
||||
@@ -1,34 +1,37 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerInjector;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerInjector;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class GuiInjector extends GuiContainer {
|
||||
|
||||
public class GuiInjector extends GuiContainer
|
||||
{
|
||||
public GuiInjector(final EntityPlayer p) {
|
||||
super((Container)new ContainerInjector(p));
|
||||
super(new ContainerInjector(p));
|
||||
this.xSize = 175;
|
||||
this.ySize = 191;
|
||||
}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) {
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_,
|
||||
final int p_146976_3_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guiinjector.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
final int var6 = (this.height - this.ySize) / 2;
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@@ -1,32 +1,35 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerInspiratron;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileInspiratron;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerInspiratron;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileInspiratron;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class GuiInspiratron extends GuiContainer {
|
||||
|
||||
public class GuiInspiratron extends GuiContainer
|
||||
{
|
||||
TileInspiratron tile;
|
||||
|
||||
|
||||
public GuiInspiratron(final InventoryPlayer player, final TileInspiratron tile) {
|
||||
super((Container)new ContainerInspiratron(player, tile));
|
||||
super(new ContainerInspiratron(player, tile));
|
||||
this.tile = tile;
|
||||
this.xSize = 175;
|
||||
this.xSize = 176;
|
||||
this.ySize = 219;
|
||||
}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) {
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_,
|
||||
final int p_146976_3_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guiinspiratron.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
@@ -34,7 +37,7 @@ public class GuiInspiratron extends GuiContainer
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
final int i1 = this.tile.getTimeRemainingScaled(28);
|
||||
this.drawTexturedModalRect(var5 + 66, var6 + 102, 176, 158 - i1, 44, i1);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@@ -1,32 +1,35 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerSoulExtractor;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulExtractor;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerSoulExtractor;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulExtractor;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class GuiSoulExtractor extends GuiContainer {
|
||||
|
||||
public class GuiSoulExtractor extends GuiContainer
|
||||
{
|
||||
TileSoulExtractor tile;
|
||||
|
||||
|
||||
public GuiSoulExtractor(final InventoryPlayer player, final TileSoulExtractor tile) {
|
||||
super((Container)new ContainerSoulExtractor(player, tile));
|
||||
super(new ContainerSoulExtractor(player, tile));
|
||||
this.tile = tile;
|
||||
this.xSize = 175;
|
||||
this.ySize = 165;
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) {
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_,
|
||||
final int p_146976_3_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guisieve.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
@@ -36,7 +39,7 @@ public class GuiSoulExtractor extends GuiContainer
|
||||
final int i1 = this.tile.getTimeRemainingScaled(39);
|
||||
this.drawTexturedModalRect(var5 + 91, var6 + 58 - i1, 176, 166 - i1, 35, i1);
|
||||
}
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@@ -1,43 +1,45 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerSoulforge;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerSoulforge;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulforge;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiSoulforge extends GuiContainer
|
||||
{
|
||||
public class GuiSoulforge extends GuiContainer {
|
||||
|
||||
TileSoulforge tile;
|
||||
|
||||
|
||||
public GuiSoulforge(final EntityPlayer player, final TileSoulforge tile) {
|
||||
super((Container)new ContainerSoulforge(player, tile));
|
||||
super(new ContainerSoulforge(player, tile));
|
||||
this.xSize = 0;
|
||||
this.ySize = 0;
|
||||
}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) {
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_,
|
||||
final int p_146976_3_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guidynamo.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
final int var6 = (this.height - this.ySize) / 2;
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {
|
||||
}
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {}
|
||||
}
|
||||
@@ -1,37 +1,40 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import com.kentington.thaumichorizons.common.lib.EntityInfusionProperties;
|
||||
import thaumcraft.common.lib.research.ResearchManager;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerVat;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerVat;
|
||||
import com.kentington.thaumichorizons.common.lib.EntityInfusionProperties;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.common.lib.research.ResearchManager;
|
||||
|
||||
public class GuiVat extends GuiContainer {
|
||||
|
||||
public class GuiVat extends GuiContainer
|
||||
{
|
||||
TileVat tile;
|
||||
EntityPlayer player;
|
||||
|
||||
|
||||
public GuiVat(final EntityPlayer p, final TileVat t) {
|
||||
super((Container)new ContainerVat(p, t));
|
||||
super(new ContainerVat(p, t));
|
||||
this.tile = t;
|
||||
this.player = p;
|
||||
this.xSize = 176;
|
||||
this.ySize = 209;
|
||||
}
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) {
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_,
|
||||
final int p_146976_3_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guivat.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
@@ -42,44 +45,56 @@ public class GuiVat extends GuiContainer
|
||||
}
|
||||
if (this.tile.getEntity() != null) {
|
||||
final EntityLivingBase critter = this.tile.getEntity();
|
||||
final float health = critter.getHealth() / 2.0f;
|
||||
final float adjustedCritterHealth = critter.getHealth() / 2.0f;
|
||||
final float max = critter.getMaxHealth() / 2.0f;
|
||||
for (int i = 0; i < (int)max; ++i) {
|
||||
if (health >= i) {
|
||||
this.drawTexturedModalRect(var5 + 56 + 7 * i - 63 * (i / 9), var6 + 12 + 7 * (i / 9), 176, 126, 7, 6);
|
||||
}
|
||||
else {
|
||||
this.drawTexturedModalRect(var5 + 56 + 7 * i - 63 * (i / 9), var6 + 12 + 7 * (i / 9), 176, 120, 7, 6);
|
||||
if (health >= i - 0.5f) {
|
||||
this.drawTexturedModalRect(var5 + 56 + 7 * i - 63 * (i / 9), var6 + 12 + 7 * (i / 9), 176, 126, 4, 6);
|
||||
for (int i = 0; i < (int) max; ++i) {
|
||||
int x = var5 + 56 + 7 * i - 63 * (i / 9);
|
||||
int y = var6 + 12 + 7 * (i / 9);
|
||||
int textureX = 176;
|
||||
int height = 6;
|
||||
if (adjustedCritterHealth >= i) {
|
||||
this.drawTexturedModalRect(x, y, textureX, 126, 7, height);
|
||||
} else {
|
||||
this.drawTexturedModalRect(x, y, textureX, 120, 7, height);
|
||||
if (adjustedCritterHealth >= i - 0.5f) {
|
||||
this.drawTexturedModalRect(x, y, textureX, 126, 4, height);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (this.tile.mode == 4 || this.tile.mode == 2) {
|
||||
final float health2 = this.tile.selfInfusionHealth / 2.0f;
|
||||
} else if (this.tile.mode == 4 || this.tile.mode == 2) {
|
||||
final float adjustedSelfInfusionHealth = this.tile.selfInfusionHealth / 2.0f;
|
||||
final float max2 = 10.0f;
|
||||
for (int j = 0; j < (int)max2; ++j) {
|
||||
if (health2 >= j) {
|
||||
this.drawTexturedModalRect(var5 + 56 + 7 * j - 63 * (j / 9), var6 + 12 + 7 * (j / 9), 176, 126, 7, 6);
|
||||
}
|
||||
else {
|
||||
this.drawTexturedModalRect(var5 + 56 + 7 * j - 63 * (j / 9), var6 + 12 + 7 * (j / 9), 176, 120, 7, 6);
|
||||
if (health2 >= j - 0.5f) {
|
||||
this.drawTexturedModalRect(var5 + 56 + 7 * j - 63 * (j / 9), var6 + 12 + 7 * (j / 9), 176, 126, 4, 6);
|
||||
for (int j = 0; j < (int) max2; ++j) {
|
||||
int x = var5 + 56 + 7 * j - 63 * (j / 9);
|
||||
int y = var6 + 12 + 7 * (j / 9);
|
||||
int textureX = 176;
|
||||
int height = 6;
|
||||
if (adjustedSelfInfusionHealth >= j) {
|
||||
this.drawTexturedModalRect(x, y, textureX, 126, 7, height);
|
||||
} else {
|
||||
this.drawTexturedModalRect(x, y, textureX, 120, 7, height);
|
||||
if (adjustedSelfInfusionHealth >= j - 0.5f) {
|
||||
this.drawTexturedModalRect(x, y, textureX, 126, 4, height);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.tile.getEntity() != null) {
|
||||
final int[] infusions = ((EntityInfusionProperties)this.tile.getEntity().getExtendedProperties("CreatureInfusion")).getInfusions();
|
||||
final int[] infusions = ((EntityInfusionProperties) this.tile.getEntity()
|
||||
.getExtendedProperties("CreatureInfusion")).getInfusions();
|
||||
if (infusions[0] != 0) {
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
for (int k = 0; k < 12; ++k) {
|
||||
if (infusions[k] == 0) {
|
||||
break;
|
||||
}
|
||||
this.drawTexturedModalRect(var5 + 55 + 16 * (k % 4), var6 + 56 + 17 * (k / 4), (infusions[k] - 1) * 16, 209, 16, 16);
|
||||
this.drawTexturedModalRect(
|
||||
var5 + 55 + 16 * (k % 4),
|
||||
var6 + 56 + 17 * (k / 4),
|
||||
(infusions[k] - 1) * 16,
|
||||
209,
|
||||
16,
|
||||
16);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,13 +105,18 @@ public class GuiVat extends GuiContainer
|
||||
if (infusions[k] == 0) {
|
||||
break;
|
||||
}
|
||||
this.drawTexturedModalRect(var5 + 55 + 16 * (k % 4), var6 + 56 + 17 * (k / 4), (infusions[k] - 1) * 16, 225, 16, 16);
|
||||
this.drawTexturedModalRect(
|
||||
var5 + 55 + 16 * (k % 4),
|
||||
var6 + 56 + 17 * (k / 4),
|
||||
(infusions[k] - 1) * 16,
|
||||
225,
|
||||
16,
|
||||
16);
|
||||
}
|
||||
}
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {
|
||||
}
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {}
|
||||
}
|
||||
@@ -1,98 +1,71 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.gui;
|
||||
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import thaumcraft.client.fx.ParticleEngine;
|
||||
import thaumcraft.common.config.Config;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.inventory.Container;
|
||||
import com.kentington.thaumichorizons.common.container.ContainerVisDynamo;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import java.awt.Color;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.container.ContainerVisDynamo;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVisDynamo;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.client.fx.ParticleEngine;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.common.config.Config;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiVisDynamo extends GuiContainer
|
||||
{
|
||||
public class GuiVisDynamo extends GuiContainer {
|
||||
|
||||
TileVisDynamo tile;
|
||||
int flashX;
|
||||
int flashY;
|
||||
Color flashColor;
|
||||
int flashTimer;
|
||||
|
||||
|
||||
public GuiVisDynamo(final EntityPlayer player, final TileVisDynamo tileEntity) {
|
||||
super((Container)new ContainerVisDynamo(player, tileEntity));
|
||||
super(new ContainerVisDynamo(player, tileEntity));
|
||||
this.flashColor = null;
|
||||
this.flashTimer = 0;
|
||||
this.tile = tileEntity;
|
||||
this.xSize = 111;
|
||||
this.ySize = 104;
|
||||
}
|
||||
|
||||
|
||||
protected void drawGuiContainerBackgroundLayer(final float par1, final int par2, final int par3) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", "textures/gui/guidynamo.png"));
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
final int var5 = (this.width - this.xSize) / 2;
|
||||
final int var6 = (this.height - this.ySize) / 2;
|
||||
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {
|
||||
if (this.tile.provideAer) {
|
||||
UtilsFX.drawTag(11, 12, Aspect.AIR, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
}
|
||||
else {
|
||||
UtilsFX.drawTag(11, 12, Aspect.AIR, 0.0f, 0, (double)this.zLevel, 771, 1.0f, true);
|
||||
}
|
||||
if (this.tile.provideTerra) {
|
||||
UtilsFX.drawTag(83, 11, Aspect.EARTH, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
}
|
||||
else {
|
||||
UtilsFX.drawTag(83, 11, Aspect.EARTH, 0.0f, 0, (double)this.zLevel, 771, 1.0f, true);
|
||||
}
|
||||
if (this.tile.provideIgnis) {
|
||||
UtilsFX.drawTag(11, 45, Aspect.FIRE, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
}
|
||||
else {
|
||||
UtilsFX.drawTag(11, 45, Aspect.FIRE, 0.0f, 0, (double)this.zLevel, 771, 1.0f, true);
|
||||
}
|
||||
if (this.tile.provideAqua) {
|
||||
UtilsFX.drawTag(83, 45, Aspect.WATER, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
}
|
||||
else {
|
||||
UtilsFX.drawTag(83, 45, Aspect.WATER, 0.0f, 0, (double)this.zLevel, 771, 1.0f, true);
|
||||
}
|
||||
if (this.tile.provideOrdo) {
|
||||
UtilsFX.drawTag(11, 78, Aspect.ORDER, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
}
|
||||
else {
|
||||
UtilsFX.drawTag(11, 78, Aspect.ORDER, 0.0f, 0, (double)this.zLevel, 771, 1.0f, true);
|
||||
}
|
||||
if (this.tile.providePerditio) {
|
||||
UtilsFX.drawTag(83, 78, Aspect.ENTROPY, 0.0f, 0, (double)this.zLevel, 771, 1.0f, false);
|
||||
}
|
||||
else {
|
||||
UtilsFX.drawTag(83, 78, Aspect.ENTROPY, 0.0f, 0, (double)this.zLevel, 771, 1.0f, true);
|
||||
}
|
||||
UtilsFX.drawTag(11, 12, Aspect.AIR, 0.0f, 0, this.zLevel, 771, 1.0f, !this.tile.provideAer);
|
||||
UtilsFX.drawTag(83, 11, Aspect.EARTH, 0.0f, 0, this.zLevel, 771, 1.0f, !this.tile.provideTerra);
|
||||
UtilsFX.drawTag(11, 45, Aspect.FIRE, 0.0f, 0, this.zLevel, 771, 1.0f, !this.tile.provideIgnis);
|
||||
UtilsFX.drawTag(83, 45, Aspect.WATER, 0.0f, 0, this.zLevel, 771, 1.0f, !this.tile.provideAqua);
|
||||
UtilsFX.drawTag(11, 78, Aspect.ORDER, 0.0f, 0, this.zLevel, 771, 1.0f, !this.tile.provideOrdo);
|
||||
UtilsFX.drawTag(83, 78, Aspect.ENTROPY, 0.0f, 0, this.zLevel, 771, 1.0f, !this.tile.providePerditio);
|
||||
if (this.flashTimer > 0) {
|
||||
--this.flashTimer;
|
||||
this.drawFlash();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void mouseClicked(final int par1, final int par2, final int par3) {
|
||||
super.mouseClicked(par1, par2, par3);
|
||||
final int gx = (this.width - this.xSize) / 2;
|
||||
@@ -106,7 +79,14 @@ public class GuiVisDynamo extends GuiContainer
|
||||
this.flashColor = new Color(Aspect.AIR.getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
return;
|
||||
}
|
||||
x = par1 - (gx + 83);
|
||||
@@ -117,7 +97,14 @@ public class GuiVisDynamo extends GuiContainer
|
||||
this.flashColor = new Color(Aspect.EARTH.getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
return;
|
||||
}
|
||||
x = par1 - (gx + 11);
|
||||
@@ -129,7 +116,14 @@ public class GuiVisDynamo extends GuiContainer
|
||||
this.flashColor = new Color(Aspect.FIRE.getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
return;
|
||||
}
|
||||
x = par1 - (gx + 83);
|
||||
@@ -140,7 +134,14 @@ public class GuiVisDynamo extends GuiContainer
|
||||
this.flashColor = new Color(Aspect.WATER.getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
return;
|
||||
}
|
||||
x = par1 - (gx + 11);
|
||||
@@ -152,7 +153,14 @@ public class GuiVisDynamo extends GuiContainer
|
||||
this.flashColor = new Color(Aspect.ORDER.getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
return;
|
||||
}
|
||||
x = par1 - (gx + 83);
|
||||
@@ -163,10 +171,17 @@ public class GuiVisDynamo extends GuiContainer
|
||||
this.flashColor = new Color(Aspect.ENTROPY.getColor());
|
||||
this.flashX = par1 - gx - 8;
|
||||
this.flashY = par2 - gy - 8;
|
||||
this.mc.renderViewEntity.worldObj.playSound(this.mc.renderViewEntity.posX, this.mc.renderViewEntity.posY, this.mc.renderViewEntity.posZ, "thaumcraft:hhoff", 0.2f, 1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f, false);
|
||||
this.mc.renderViewEntity.worldObj.playSound(
|
||||
this.mc.renderViewEntity.posX,
|
||||
this.mc.renderViewEntity.posY,
|
||||
this.mc.renderViewEntity.posZ,
|
||||
"thaumcraft:hhoff",
|
||||
0.2f,
|
||||
1.0f + this.mc.renderViewEntity.worldObj.rand.nextFloat() * 0.1f,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void drawFlash() {
|
||||
float red = this.flashColor.getRed() / 255.0f;
|
||||
float green = this.flashColor.getGreen() / 255.0f;
|
||||
@@ -179,7 +194,7 @@ public class GuiVisDynamo extends GuiContainer
|
||||
GL11.glPushMatrix();
|
||||
UtilsFX.bindTexture(ParticleEngine.particleTexture);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL11.glTranslated((double)this.flashX, (double)this.flashY, 0.0);
|
||||
GL11.glTranslated(this.flashX, this.flashY, 0.0);
|
||||
final Tessellator tessellator = Tessellator.instance;
|
||||
final int part = this.flashTimer;
|
||||
final float var8 = 0.5f + part / 8.0f;
|
||||
@@ -189,10 +204,10 @@ public class GuiVisDynamo extends GuiContainer
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setBrightness(240);
|
||||
tessellator.setColorRGBA_F(red, green, blue, 1.0f);
|
||||
tessellator.addVertexWithUV(0.0, 16.0, (double)this.zLevel, (double)var9, (double)var11);
|
||||
tessellator.addVertexWithUV(16.0, 16.0, (double)this.zLevel, (double)var9, (double)var10);
|
||||
tessellator.addVertexWithUV(16.0, 0.0, (double)this.zLevel, (double)var8, (double)var10);
|
||||
tessellator.addVertexWithUV(0.0, 0.0, (double)this.zLevel, (double)var8, (double)var11);
|
||||
tessellator.addVertexWithUV(0.0, 16.0, this.zLevel, var9, var11);
|
||||
tessellator.addVertexWithUV(16.0, 16.0, this.zLevel, var9, var10);
|
||||
tessellator.addVertexWithUV(16.0, 0.0, this.zLevel, var8, var10);
|
||||
tessellator.addVertexWithUV(0.0, 0.0, this.zLevel, var8, var11);
|
||||
tessellator.draw();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@@ -1,46 +1,49 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.lib;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Image;
|
||||
import java.io.InputStream;
|
||||
import net.minecraft.client.resources.IResource;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.texture.AbstractTexture;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.texture.TextureUtil;
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.blocks.BlockChocolate;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import java.awt.image.BufferedImage;
|
||||
import net.minecraft.client.resources.IResource;
|
||||
import net.minecraft.client.resources.IResourceManager;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.client.renderer.texture.AbstractTexture;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.blocks.BlockChocolate;
|
||||
|
||||
public class GolemTHTexture extends AbstractTexture {
|
||||
|
||||
public class GolemTHTexture extends AbstractTexture
|
||||
{
|
||||
IIcon[] icons;
|
||||
IResourceManager manager;
|
||||
BufferedImage myImage;
|
||||
int special;
|
||||
|
||||
|
||||
public GolemTHTexture(final IIcon[] icons, final int isGrass) {
|
||||
this.icons = icons;
|
||||
this.special = isGrass;
|
||||
this.manager = Minecraft.getMinecraft().getResourceManager();
|
||||
}
|
||||
|
||||
|
||||
public void loadTexture(final IResourceManager p_110551_1_) throws IOException {
|
||||
this.deleteGlTexture();
|
||||
this.myImage = new BufferedImage(128, 128, 2);
|
||||
final TextureMap allBlocks = Minecraft.getMinecraft().getTextureMapBlocks();
|
||||
BufferedImage top = this.getIconImage(this.icons[1]);
|
||||
if (this.special == 1) {
|
||||
top = this.getIconImage(((BlockChocolate)ThaumicHorizons.blockChocolate).coloredGrass);
|
||||
top = this.getIconImage(((BlockChocolate) ThaumicHorizons.blockChocolate).coloredGrass);
|
||||
}
|
||||
if (this.special == 2) {
|
||||
top = top.getSubimage(1, 1, 14, 14);
|
||||
@@ -136,14 +139,14 @@ public class GolemTHTexture extends AbstractTexture
|
||||
this.myImage.setRGB(13, 12, 2, 2, eyeOverlay, 0, 2);
|
||||
TextureUtil.uploadTextureImageAllocate(this.getGlTextureId(), this.myImage, false, false);
|
||||
}
|
||||
|
||||
|
||||
public BufferedImage getIconImage(final IIcon icon) throws IOException {
|
||||
final ResourceLocation resourceLocation = this.getResourceLocation(icon.getIconName());
|
||||
final IResource resource = this.manager.getResource(resourceLocation);
|
||||
final InputStream in = resource.getInputStream();
|
||||
return ImageIO.read(in);
|
||||
}
|
||||
|
||||
|
||||
public ResourceLocation getResourceLocation(final String blockTexture) {
|
||||
String domain = "minecraft";
|
||||
String path = blockTexture;
|
||||
@@ -157,7 +160,7 @@ public class GolemTHTexture extends AbstractTexture
|
||||
final String resourcePath = "textures/blocks/" + path + ".png";
|
||||
return new ResourceLocation(domain.toLowerCase(), resourcePath);
|
||||
}
|
||||
|
||||
|
||||
public BufferedImage resize(final BufferedImage img, final int newW, final int newH) {
|
||||
final Image tmp = img.getScaledInstance(newW, newH, 4);
|
||||
final BufferedImage dimg = new BufferedImage(newW, newH, 2);
|
||||
|
||||
@@ -1,55 +1,58 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.lib;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatThaumium;
|
||||
import net.minecraftforge.client.event.RenderBlockOverlayEvent;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.client.C07PacketPlayerDigging;
|
||||
import net.minecraft.block.material.Material;
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.input.Mouse;
|
||||
import net.minecraft.client.renderer.entity.RenderItem;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import com.kentington.thaumichorizons.common.lib.networking.PacketLensChangeToServer;
|
||||
import com.kentington.thaumichorizons.common.lib.networking.PacketHandler;
|
||||
import org.lwjgl.opengl.Display;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.ItemLensCase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import baubles.api.BaublesApi;
|
||||
import com.kentington.thaumichorizons.common.lib.THKeyHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.ILens;
|
||||
import net.minecraft.potion.Potion;
|
||||
import thaumcraft.api.nodes.IRevealer;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.LensManager;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import java.util.ArrayList;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import java.util.HashMap;
|
||||
import java.util.TreeMap;
|
||||
|
||||
public class RenderEventHandler
|
||||
{
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.entity.RenderItem;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.play.client.C07PacketPlayerDigging;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
||||
import net.minecraftforge.client.event.RenderBlockOverlayEvent;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||
import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import org.lwjgl.input.Mouse;
|
||||
import org.lwjgl.opengl.Display;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatThaumium;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.ILens;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.ItemLensCase;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.ItemLensFire;
|
||||
import com.kentington.thaumichorizons.common.items.lenses.LensManager;
|
||||
import com.kentington.thaumichorizons.common.lib.THKeyHandler;
|
||||
import com.kentington.thaumichorizons.common.lib.networking.PacketHandler;
|
||||
import com.kentington.thaumichorizons.common.lib.networking.PacketLensChangeToServer;
|
||||
|
||||
import baubles.api.BaublesApi;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import thaumcraft.api.nodes.IRevealer;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
|
||||
public class RenderEventHandler {
|
||||
|
||||
static float radialHudScale;
|
||||
TreeMap<String, Integer> foci;
|
||||
HashMap<String, ItemStack> fociItem;
|
||||
@@ -66,12 +69,12 @@ public class RenderEventHandler
|
||||
int[][] tempMD;
|
||||
public ForgeDirection tempDir;
|
||||
public ArrayList<EntityLivingBase> thingsThatSparkle;
|
||||
|
||||
|
||||
public RenderEventHandler() {
|
||||
this.foci = new TreeMap<String, Integer>();
|
||||
this.fociItem = new HashMap<String, ItemStack>();
|
||||
this.fociHover = new HashMap<String, Boolean>();
|
||||
this.fociScale = new HashMap<String, Float>();
|
||||
this.foci = new TreeMap<>();
|
||||
this.fociItem = new HashMap<>();
|
||||
this.fociHover = new HashMap<>();
|
||||
this.fociScale = new HashMap<>();
|
||||
this.lastTime = 0L;
|
||||
this.lastState = false;
|
||||
this.breakProgress = 0.0f;
|
||||
@@ -81,9 +84,9 @@ public class RenderEventHandler
|
||||
this.evanescentStage = 0;
|
||||
this.tempBlock = new Block[3][3];
|
||||
this.tempMD = new int[3][3];
|
||||
this.thingsThatSparkle = new ArrayList<EntityLivingBase>();
|
||||
this.thingsThatSparkle = new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void renderOverlay(final RenderGameOverlayEvent event) {
|
||||
@@ -92,19 +95,25 @@ public class RenderEventHandler
|
||||
if (event.type == RenderGameOverlayEvent.ElementType.TEXT) {
|
||||
this.handleFociRadial(mc, time, event);
|
||||
final ItemStack goggles = mc.thePlayer.inventory.armorItemInSlot(3);
|
||||
if (LensManager.nightVisionOffTime > 0L && (goggles == null || !(goggles.getItem() instanceof IRevealer) || goggles.stackTagCompound == null) && mc.thePlayer.getActivePotionEffect(Potion.nightVision) != null && mc.thePlayer.getActivePotionEffect(Potion.nightVision).getIsAmbient()) {
|
||||
if (LensManager.nightVisionOffTime > 0L
|
||||
&& (goggles == null || !(goggles.getItem() instanceof IRevealer)
|
||||
|| goggles.stackTagCompound == null)
|
||||
&& ItemLensFire.isEffectGrantedByLens(mc.thePlayer.getActivePotionEffect(Potion.nightVision))) {
|
||||
mc.thePlayer.removePotionEffect(Potion.nightVision.id);
|
||||
LensManager.nightVisionOffTime = 0L;
|
||||
}
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer && goggles.stackTagCompound != null && goggles.stackTagCompound.getString("Lens") != null && !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens)LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer
|
||||
&& goggles.stackTagCompound != null
|
||||
&& goggles.stackTagCompound.getString("Lens") != null
|
||||
&& !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens) LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (theLens != null) {
|
||||
theLens.handleRender(mc, event.partialTicks);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void handleFociRadial(final Minecraft mc, final long time, final RenderGameOverlayEvent event) {
|
||||
if (THKeyHandler.radialActive || RenderEventHandler.radialHudScale > 0.0f) {
|
||||
@@ -124,19 +133,20 @@ public class RenderEventHandler
|
||||
this.fociScale.clear();
|
||||
int pouchcount = 0;
|
||||
ItemStack item = null;
|
||||
final IInventory baubles = BaublesApi.getBaubles((EntityPlayer)mc.thePlayer);
|
||||
final IInventory baubles = BaublesApi.getBaubles(mc.thePlayer);
|
||||
for (int a = 0; a < 4; ++a) {
|
||||
if (baubles.getStackInSlot(a) != null && baubles.getStackInSlot(a).getItem() instanceof ItemLensCase) {
|
||||
if (baubles.getStackInSlot(a) != null
|
||||
&& baubles.getStackInSlot(a).getItem() instanceof ItemLensCase) {
|
||||
++pouchcount;
|
||||
item = baubles.getStackInSlot(a);
|
||||
final ItemStack[] inv = ((ItemLensCase)item.getItem()).getInventory(item);
|
||||
final ItemStack[] inv = ((ItemLensCase) item.getItem()).getInventory(item);
|
||||
for (int q = 0; q < inv.length; ++q) {
|
||||
item = inv[q];
|
||||
if (item != null && item.getItem() instanceof ILens) {
|
||||
this.foci.put(((ILens)item.getItem()).lensName(), q + pouchcount * 1000);
|
||||
this.fociItem.put(((ILens)item.getItem()).lensName(), item.copy());
|
||||
this.fociScale.put(((ILens)item.getItem()).lensName(), 1.0f);
|
||||
this.fociHover.put(((ILens)item.getItem()).lensName(), false);
|
||||
this.foci.put(((ILens) item.getItem()).lensName(), q + pouchcount * 1000);
|
||||
this.fociItem.put(((ILens) item.getItem()).lensName(), item.copy());
|
||||
this.fociScale.put(((ILens) item.getItem()).lensName(), 1.0f);
|
||||
this.fociHover.put(((ILens) item.getItem()).lensName(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,21 +154,21 @@ public class RenderEventHandler
|
||||
for (int a = 0; a < 36; ++a) {
|
||||
item = mc.thePlayer.inventory.mainInventory[a];
|
||||
if (item != null && item.getItem() instanceof ILens) {
|
||||
this.foci.put(((ILens)item.getItem()).lensName(), a);
|
||||
this.fociItem.put(((ILens)item.getItem()).lensName(), item.copy());
|
||||
this.fociScale.put(((ILens)item.getItem()).lensName(), 1.0f);
|
||||
this.fociHover.put(((ILens)item.getItem()).lensName(), false);
|
||||
this.foci.put(((ILens) item.getItem()).lensName(), a);
|
||||
this.fociItem.put(((ILens) item.getItem()).lensName(), item.copy());
|
||||
this.fociScale.put(((ILens) item.getItem()).lensName(), 1.0f);
|
||||
this.fociHover.put(((ILens) item.getItem()).lensName(), false);
|
||||
}
|
||||
if (item != null && item.getItem() instanceof ItemLensCase) {
|
||||
++pouchcount;
|
||||
final ItemStack[] inv = ((ItemLensCase)item.getItem()).getInventory(item);
|
||||
final ItemStack[] inv = ((ItemLensCase) item.getItem()).getInventory(item);
|
||||
for (int q = 0; q < inv.length; ++q) {
|
||||
item = inv[q];
|
||||
if (item != null && item.getItem() instanceof ILens) {
|
||||
this.foci.put(((ILens)item.getItem()).lensName(), q + pouchcount * 1000);
|
||||
this.fociItem.put(((ILens)item.getItem()).lensName(), item.copy());
|
||||
this.fociScale.put(((ILens)item.getItem()).lensName(), 1.0f);
|
||||
this.fociHover.put(((ILens)item.getItem()).lensName(), false);
|
||||
this.foci.put(((ILens) item.getItem()).lensName(), q + pouchcount * 1000);
|
||||
this.fociItem.put(((ILens) item.getItem()).lensName(), item.copy());
|
||||
this.fociScale.put(((ILens) item.getItem()).lensName(), 1.0f);
|
||||
this.fociHover.put(((ILens) item.getItem()).lensName(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -168,28 +178,30 @@ public class RenderEventHandler
|
||||
mc.mouseHelper.ungrabMouseCursor();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (mc.currentScreen == null && this.lastState) {
|
||||
} else if (mc.currentScreen == null && this.lastState) {
|
||||
if (Display.isActive() && !mc.inGameHasFocus) {
|
||||
mc.inGameHasFocus = true;
|
||||
mc.mouseHelper.grabMouseCursor();
|
||||
}
|
||||
this.lastState = false;
|
||||
}
|
||||
this.renderFocusRadialHUD(event.resolution.getScaledWidth_double(), event.resolution.getScaledHeight_double(), time, event.partialTicks);
|
||||
this.renderFocusRadialHUD(
|
||||
event.resolution.getScaledWidth_double(),
|
||||
event.resolution.getScaledHeight_double(),
|
||||
time,
|
||||
event.partialTicks);
|
||||
if (time > this.lastTime) {
|
||||
for (final String key : this.fociHover.keySet()) {
|
||||
if (this.fociHover.get(key)) {
|
||||
if (!THKeyHandler.radialActive && !THKeyHandler.radialLock) {
|
||||
PacketHandler.INSTANCE.sendToServer((IMessage)new PacketLensChangeToServer((EntityPlayer)mc.thePlayer, key));
|
||||
PacketHandler.INSTANCE.sendToServer(new PacketLensChangeToServer(mc.thePlayer, key));
|
||||
THKeyHandler.radialLock = true;
|
||||
}
|
||||
if (this.fociScale.get(key) >= 1.3f) {
|
||||
continue;
|
||||
}
|
||||
this.fociScale.put(key, this.fociScale.get(key) + 0.025f);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (this.fociScale.get(key) <= 1.0f) {
|
||||
continue;
|
||||
}
|
||||
@@ -198,8 +210,7 @@ public class RenderEventHandler
|
||||
}
|
||||
if (!THKeyHandler.radialActive) {
|
||||
RenderEventHandler.radialHudScale -= 0.05f;
|
||||
}
|
||||
else if (THKeyHandler.radialActive && RenderEventHandler.radialHudScale < 1.0f) {
|
||||
} else if (THKeyHandler.radialActive && RenderEventHandler.radialHudScale < 1.0f) {
|
||||
RenderEventHandler.radialHudScale += 0.05f;
|
||||
}
|
||||
if (RenderEventHandler.radialHudScale > 1.0f) {
|
||||
@@ -214,34 +225,35 @@ public class RenderEventHandler
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private void renderFocusRadialHUD(final double sw, final double sh, final long time, final float partialTicks) {
|
||||
final RenderItem ri = new RenderItem();
|
||||
final Minecraft mc = Minecraft.getMinecraft();
|
||||
if (mc.thePlayer.inventory.armorItemInSlot(3) == null || !(mc.thePlayer.inventory.armorItemInSlot(3).getItem() instanceof IRevealer)) {
|
||||
if (mc.thePlayer.inventory.armorItemInSlot(3) == null
|
||||
|| !(mc.thePlayer.inventory.armorItemInSlot(3).getItem() instanceof IRevealer)) {
|
||||
return;
|
||||
}
|
||||
final ItemStack goggles = mc.thePlayer.inventory.armorItemInSlot(3);
|
||||
ILens lens = null;
|
||||
if (goggles.stackTagCompound != null) {
|
||||
lens = (ILens)LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
lens = (ILens) LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
}
|
||||
final int i = (int)(Mouse.getEventX() * sw / mc.displayWidth);
|
||||
final int j = (int)(sh - Mouse.getEventY() * sh / mc.displayHeight - 1.0);
|
||||
final int i = (int) (Mouse.getEventX() * sw / mc.displayWidth);
|
||||
final int j = (int) (sh - Mouse.getEventY() * sh / mc.displayHeight - 1.0);
|
||||
final int k = Mouse.getEventButton();
|
||||
if (this.fociItem.size() == 0) {
|
||||
return;
|
||||
}
|
||||
GL11.glPushMatrix();
|
||||
GL11.glClear(256);
|
||||
GL11.glMatrixMode(5889);
|
||||
GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
|
||||
GL11.glMatrixMode(GL11.GL_PROJECTION);
|
||||
GL11.glLoadIdentity();
|
||||
GL11.glOrtho(0.0, sw, sh, 0.0, 1000.0, 3000.0);
|
||||
GL11.glMatrixMode(5888);
|
||||
GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
||||
GL11.glLoadIdentity();
|
||||
GL11.glTranslatef(0.0f, 0.0f, -2000.0f);
|
||||
GL11.glDisable(2929);
|
||||
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(sw / 2.0, sh / 2.0, 0.0);
|
||||
@@ -250,72 +262,88 @@ public class RenderEventHandler
|
||||
UtilsFX.bindTexture("textures/misc/radial.png");
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(partialTicks + mc.thePlayer.ticksExisted % 720 / 2.0f, 0.0f, 0.0f, 1.0f);
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
UtilsFX.renderQuadCenteredFromTexture(width * 2.75f * RenderEventHandler.radialHudScale, 0.5f, 0.5f, 0.5f, 200, 771, 0.5f);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
UtilsFX.renderQuadCenteredFromTexture(
|
||||
width * 2.75f * RenderEventHandler.radialHudScale,
|
||||
0.5f,
|
||||
0.5f,
|
||||
0.5f,
|
||||
200,
|
||||
771,
|
||||
0.5f);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glPopMatrix();
|
||||
UtilsFX.bindTexture("textures/misc/radial2.png");
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(-(partialTicks + mc.thePlayer.ticksExisted % 720 / 2.0f), 0.0f, 0.0f, 1.0f);
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
UtilsFX.renderQuadCenteredFromTexture(width * 2.55f * RenderEventHandler.radialHudScale, 0.5f, 0.5f, 0.5f, 200, 771, 0.5f);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
UtilsFX.renderQuadCenteredFromTexture(
|
||||
width * 2.55f * RenderEventHandler.radialHudScale,
|
||||
0.5f,
|
||||
0.5f,
|
||||
0.5f,
|
||||
200,
|
||||
771,
|
||||
0.5f);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glPopMatrix();
|
||||
if (lens != null) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(32826);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
RenderHelper.enableGUIStandardItemLighting();
|
||||
final ItemStack item = new ItemStack((Item)lens);
|
||||
final ItemStack item = new ItemStack((Item) lens);
|
||||
item.stackTagCompound = null;
|
||||
ri.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, item, -8, -8);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
GL11.glDisable(32826);
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
final int mx = (int)(i - sw / 2.0);
|
||||
final int my = (int)(j - sh / 2.0);
|
||||
final int mx = (int) (i - sw / 2.0);
|
||||
final int my = (int) (j - sh / 2.0);
|
||||
if (mx >= -10 && mx <= 10 && my >= -10 && my <= 10) {
|
||||
tt = new ItemStack((Item)lens);
|
||||
tt = new ItemStack((Item) lens);
|
||||
}
|
||||
}
|
||||
GL11.glScaled((double)RenderEventHandler.radialHudScale, (double)RenderEventHandler.radialHudScale, (double)RenderEventHandler.radialHudScale);
|
||||
GL11.glScaled(
|
||||
RenderEventHandler.radialHudScale,
|
||||
RenderEventHandler.radialHudScale,
|
||||
RenderEventHandler.radialHudScale);
|
||||
float currentRot = -90.0f * RenderEventHandler.radialHudScale;
|
||||
final float pieSlice = 360.0f / this.fociItem.size();
|
||||
String key = this.foci.firstKey();
|
||||
for (int a = 0; a < this.fociItem.size(); ++a) {
|
||||
final double xx = MathHelper.cos(currentRot / 180.0f * 3.141593f) * width;
|
||||
final double yy = MathHelper.sin(currentRot / 180.0f * 3.141593f) * width;
|
||||
final double xx = MathHelper.cos(currentRot / 180.0f * (float) Math.PI) * width;
|
||||
final double yy = MathHelper.sin(currentRot / 180.0f * (float) Math.PI) * width;
|
||||
currentRot += pieSlice;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(xx, yy, 100.0);
|
||||
GL11.glScalef((float)this.fociScale.get(key), (float)this.fociScale.get(key), (float)this.fociScale.get(key));
|
||||
GL11.glEnable(32826);
|
||||
GL11.glScalef(this.fociScale.get(key), this.fociScale.get(key), this.fociScale.get(key));
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
RenderHelper.enableGUIStandardItemLighting();
|
||||
final ItemStack item2 = this.fociItem.get(key).copy();
|
||||
item2.stackTagCompound = null;
|
||||
ri.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, item2, -8, -8);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
GL11.glDisable(32826);
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
if (!THKeyHandler.radialLock && THKeyHandler.radialActive) {
|
||||
final int mx2 = (int)(i - sw / 2.0 - xx);
|
||||
final int my2 = (int)(j - sh / 2.0 - yy);
|
||||
final int mx2 = (int) (i - sw / 2.0 - xx);
|
||||
final int my2 = (int) (j - sh / 2.0 - yy);
|
||||
if (mx2 >= -10 && mx2 <= 10 && my2 >= -10 && my2 <= 10) {
|
||||
this.fociHover.put(key, true);
|
||||
tt = this.fociItem.get(key);
|
||||
if (k == 0) {
|
||||
THKeyHandler.radialActive = false;
|
||||
THKeyHandler.radialLock = true;
|
||||
PacketHandler.INSTANCE.sendToServer((IMessage)new PacketLensChangeToServer((EntityPlayer)mc.thePlayer, key));
|
||||
PacketHandler.INSTANCE.sendToServer(new PacketLensChangeToServer(mc.thePlayer, key));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
this.fociHover.put(key, false);
|
||||
}
|
||||
}
|
||||
@@ -323,56 +351,67 @@ public class RenderEventHandler
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
if (tt != null) {
|
||||
UtilsFX.drawCustomTooltip(mc.currentScreen, ri, mc.fontRenderer, tt.getTooltip((EntityPlayer)mc.thePlayer, mc.gameSettings.advancedItemTooltips), -4, 20, 11);
|
||||
UtilsFX.drawCustomTooltip(
|
||||
mc.currentScreen,
|
||||
ri,
|
||||
mc.fontRenderer,
|
||||
tt.getTooltip(mc.thePlayer, mc.gameSettings.advancedItemTooltips),
|
||||
-4,
|
||||
20,
|
||||
11);
|
||||
}
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glEnable(2929);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void blockHighlight(final DrawBlockHighlightEvent event) {
|
||||
final Minecraft mc = Minecraft.getMinecraft();
|
||||
final ItemStack goggles = mc.thePlayer.inventory.armorItemInSlot(3);
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer && goggles.stackTagCompound != null) {
|
||||
if (goggles.stackTagCompound.getString("Lens") != null && !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens)LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (goggles.stackTagCompound.getString("Lens") != null
|
||||
&& !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens) LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (theLens == ThaumicHorizons.itemLensEarth) {
|
||||
if (this.cacheX != event.target.blockX || this.cacheY != event.target.blockY || this.cacheZ != event.target.blockZ || this.tempDir != ForgeDirection.getOrientation(event.target.sideHit)) {
|
||||
this.resetBlocks((EntityPlayer)mc.thePlayer);
|
||||
if (this.cacheX != event.target.blockX || this.cacheY != event.target.blockY
|
||||
|| this.cacheZ != event.target.blockZ
|
||||
|| this.tempDir != ForgeDirection.getOrientation(event.target.sideHit)) {
|
||||
this.resetBlocks(mc.thePlayer);
|
||||
}
|
||||
if (event.player.worldObj.getBlock(event.target.blockX, event.target.blockY, event.target.blockZ).getMaterial() != Material.air) {
|
||||
if (event.player.worldObj.getBlock(event.target.blockX, event.target.blockY, event.target.blockZ)
|
||||
.getMaterial() != Material.air) {
|
||||
this.cacheX = event.target.blockX;
|
||||
this.cacheY = event.target.blockY;
|
||||
this.cacheZ = event.target.blockZ;
|
||||
this.tempDir = ForgeDirection.getOrientation(event.target.sideHit);
|
||||
} else {
|
||||
this.resetBlocks(mc.thePlayer);
|
||||
}
|
||||
else {
|
||||
this.resetBlocks((EntityPlayer)mc.thePlayer);
|
||||
}
|
||||
}
|
||||
else {
|
||||
this.resetBlocks((EntityPlayer)mc.thePlayer);
|
||||
} else {
|
||||
this.resetBlocks(mc.thePlayer);
|
||||
}
|
||||
} else {
|
||||
this.resetBlocks(mc.thePlayer);
|
||||
}
|
||||
else {
|
||||
this.resetBlocks((EntityPlayer)mc.thePlayer);
|
||||
}
|
||||
}
|
||||
else if (this.evanescentStage != 0) {
|
||||
this.resetBlocks((EntityPlayer)mc.thePlayer);
|
||||
} else if (this.evanescentStage != 0) {
|
||||
this.resetBlocks(mc.thePlayer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void setBlocksEvanescent(final EntityPlayer p) {
|
||||
if (p.isSwingInProgress) {
|
||||
this.breakProgress += p.worldObj.getBlock(this.cacheX, this.cacheY, this.cacheZ).getPlayerRelativeBlockHardness(p, p.worldObj, this.cacheX, this.cacheY, this.cacheZ);
|
||||
this.breakProgress += p.worldObj.getBlock(this.cacheX, this.cacheY, this.cacheZ)
|
||||
.getPlayerRelativeBlockHardness(p, p.worldObj, this.cacheX, this.cacheY, this.cacheZ);
|
||||
if (this.breakProgress > 1.0f) {
|
||||
Minecraft.getMinecraft().getNetHandler().addToSendQueue((Packet)new C07PacketPlayerDigging(2, p.getEntityId(), this.cacheX, this.cacheY, this.cacheZ));
|
||||
Minecraft.getMinecraft().playerController.onPlayerDestroyBlock(p.getEntityId(), this.cacheX, this.cacheY, this.cacheZ);
|
||||
Minecraft.getMinecraft().getNetHandler().addToSendQueue(
|
||||
new C07PacketPlayerDigging(2, p.getEntityId(), this.cacheX, this.cacheY, this.cacheZ));
|
||||
// TODO: is it correct? X, Y, and Z are passed not as usually expected.
|
||||
Minecraft.getMinecraft().playerController
|
||||
.onPlayerDestroyBlock(p.getEntityId(), this.cacheX, this.cacheY, this.cacheZ);
|
||||
this.breakProgress = 0.0f;
|
||||
return;
|
||||
}
|
||||
@@ -380,73 +419,127 @@ public class RenderEventHandler
|
||||
for (int i = -1; i < 2; ++i) {
|
||||
for (int j = -1; j < 2; ++j) {
|
||||
if (this.tempDir == ForgeDirection.UP || this.tempDir == ForgeDirection.DOWN) {
|
||||
if (p.worldObj.getTileEntity(this.cacheX + i, this.cacheY, this.cacheZ + j) == null && p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j).getLightValue() == 0 && p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j).canCollideCheck(p.worldObj.getBlockMetadata(this.cacheX + i, this.cacheY, this.cacheZ + j), false)) {
|
||||
if (p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j) != ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j);
|
||||
this.tempMD[i + 1][j + 1] = p.worldObj.getBlockMetadata(this.cacheX + i, this.cacheY, this.cacheZ + j);
|
||||
if (p.worldObj.getTileEntity(this.cacheX + i, this.cacheY, this.cacheZ + j) == null
|
||||
&& p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j).getLightValue() == 0
|
||||
&& p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j).canCollideCheck(
|
||||
p.worldObj.getBlockMetadata(this.cacheX + i, this.cacheY, this.cacheZ + j),
|
||||
false)) {
|
||||
if (p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j)
|
||||
!= ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = p.worldObj
|
||||
.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j);
|
||||
this.tempMD[i + 1][j + 1] = p.worldObj
|
||||
.getBlockMetadata(this.cacheX + i, this.cacheY, this.cacheZ + j);
|
||||
}
|
||||
if (this.tempBlock[i + 1][j + 1].getMaterial() != Material.air) {
|
||||
p.worldObj.setBlock(this.cacheX + i, this.cacheY, this.cacheZ + j, ThaumicHorizons.blockEvanescent);
|
||||
p.worldObj.setBlock(
|
||||
this.cacheX + i,
|
||||
this.cacheY,
|
||||
this.cacheZ + j,
|
||||
ThaumicHorizons.blockEvanescent);
|
||||
}
|
||||
}
|
||||
else if (p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j) != ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = null;
|
||||
}
|
||||
}
|
||||
else if (this.tempDir == ForgeDirection.NORTH || this.tempDir == ForgeDirection.SOUTH) {
|
||||
if (p.worldObj.getTileEntity(this.cacheX + i, this.cacheY + j, this.cacheZ) == null && p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ).getLightValue() == 0 && p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ).canCollideCheck(p.worldObj.getBlockMetadata(this.cacheX + i, this.cacheY + j, this.cacheZ), false)) {
|
||||
if (p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ) != ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ);
|
||||
this.tempMD[i + 1][j + 1] = p.worldObj.getBlockMetadata(this.cacheX + i, this.cacheY + j, this.cacheZ);
|
||||
} else if (p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j)
|
||||
!= ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = null;
|
||||
}
|
||||
} else if (this.tempDir == ForgeDirection.NORTH || this.tempDir == ForgeDirection.SOUTH) {
|
||||
if (p.worldObj.getTileEntity(this.cacheX + i, this.cacheY + j, this.cacheZ) == null
|
||||
&& p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ).getLightValue() == 0
|
||||
&& p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ).canCollideCheck(
|
||||
p.worldObj.getBlockMetadata(this.cacheX + i, this.cacheY + j, this.cacheZ),
|
||||
false)) {
|
||||
if (p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ)
|
||||
!= ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = p.worldObj
|
||||
.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ);
|
||||
this.tempMD[i + 1][j + 1] = p.worldObj
|
||||
.getBlockMetadata(this.cacheX + i, this.cacheY + j, this.cacheZ);
|
||||
}
|
||||
if (this.tempBlock[i + 1][j + 1].getMaterial() != Material.air) {
|
||||
p.worldObj.setBlock(this.cacheX + i, this.cacheY + j, this.cacheZ, ThaumicHorizons.blockEvanescent);
|
||||
p.worldObj.setBlock(
|
||||
this.cacheX + i,
|
||||
this.cacheY + j,
|
||||
this.cacheZ,
|
||||
ThaumicHorizons.blockEvanescent);
|
||||
}
|
||||
}
|
||||
else if (p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ) != ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = null;
|
||||
}
|
||||
}
|
||||
else if (p.worldObj.getTileEntity(this.cacheX, this.cacheY + j, this.cacheZ + i) == null && p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i).getLightValue() == 0 && p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i).canCollideCheck(p.worldObj.getBlockMetadata(this.cacheX, this.cacheY + j, this.cacheZ + i), false)) {
|
||||
if (p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i) != ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i);
|
||||
this.tempMD[i + 1][j + 1] = p.worldObj.getBlockMetadata(this.cacheX, this.cacheY + j, this.cacheZ + i);
|
||||
}
|
||||
if (this.tempBlock[i + 1][j + 1].getMaterial() != Material.air) {
|
||||
p.worldObj.setBlock(this.cacheX, this.cacheY + j, this.cacheZ + i, ThaumicHorizons.blockEvanescent);
|
||||
}
|
||||
}
|
||||
else if (p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i) != ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = null;
|
||||
}
|
||||
} else if (p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ)
|
||||
!= ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = null;
|
||||
}
|
||||
} else if (p.worldObj.getTileEntity(this.cacheX, this.cacheY + j, this.cacheZ + i) == null
|
||||
&& p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i).getLightValue() == 0
|
||||
&& p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i).canCollideCheck(
|
||||
p.worldObj.getBlockMetadata(this.cacheX, this.cacheY + j, this.cacheZ + i),
|
||||
false)) {
|
||||
if (p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i)
|
||||
!= ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = p.worldObj
|
||||
.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i);
|
||||
this.tempMD[i + 1][j + 1] = p.worldObj
|
||||
.getBlockMetadata(this.cacheX, this.cacheY + j, this.cacheZ + i);
|
||||
}
|
||||
if (this.tempBlock[i + 1][j + 1].getMaterial() != Material.air) {
|
||||
p.worldObj.setBlock(
|
||||
this.cacheX,
|
||||
this.cacheY + j,
|
||||
this.cacheZ + i,
|
||||
ThaumicHorizons.blockEvanescent);
|
||||
}
|
||||
} else
|
||||
if (p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i)
|
||||
!= ThaumicHorizons.blockEvanescent) {
|
||||
this.tempBlock[i + 1][j + 1] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.evanescentStage = 2;
|
||||
}
|
||||
|
||||
|
||||
public void resetBlocks(final EntityPlayer p) {
|
||||
this.breakProgress = 0.0f;
|
||||
for (int i = -1; i < 2; ++i) {
|
||||
for (int j = -1; j < 2; ++j) {
|
||||
if (this.tempDir == ForgeDirection.UP || this.tempDir == ForgeDirection.DOWN) {
|
||||
if (this.tempBlock[i + 1][j + 1] != null && p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j) == ThaumicHorizons.blockEvanescent) {
|
||||
p.worldObj.setBlock(this.cacheX + i, this.cacheY, this.cacheZ + j, this.tempBlock[i + 1][j + 1], this.tempMD[i + 1][j + 1], 4);
|
||||
if (this.tempBlock[i + 1][j + 1] != null
|
||||
&& p.worldObj.getBlock(this.cacheX + i, this.cacheY, this.cacheZ + j)
|
||||
== ThaumicHorizons.blockEvanescent) {
|
||||
p.worldObj.setBlock(
|
||||
this.cacheX + i,
|
||||
this.cacheY,
|
||||
this.cacheZ + j,
|
||||
this.tempBlock[i + 1][j + 1],
|
||||
this.tempMD[i + 1][j + 1],
|
||||
4);
|
||||
}
|
||||
}
|
||||
else if (this.tempDir == ForgeDirection.NORTH || this.tempDir == ForgeDirection.SOUTH) {
|
||||
if (this.tempBlock[i + 1][j + 1] != null && p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ) == ThaumicHorizons.blockEvanescent) {
|
||||
p.worldObj.setBlock(this.cacheX + i, this.cacheY + j, this.cacheZ, this.tempBlock[i + 1][j + 1], this.tempMD[i + 1][j + 1], 4);
|
||||
} else if (this.tempDir == ForgeDirection.NORTH || this.tempDir == ForgeDirection.SOUTH) {
|
||||
if (this.tempBlock[i + 1][j + 1] != null
|
||||
&& p.worldObj.getBlock(this.cacheX + i, this.cacheY + j, this.cacheZ)
|
||||
== ThaumicHorizons.blockEvanescent) {
|
||||
p.worldObj.setBlock(
|
||||
this.cacheX + i,
|
||||
this.cacheY + j,
|
||||
this.cacheZ,
|
||||
this.tempBlock[i + 1][j + 1],
|
||||
this.tempMD[i + 1][j + 1],
|
||||
4);
|
||||
}
|
||||
}
|
||||
else if (this.tempBlock[i + 1][j + 1] != null && p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i) == ThaumicHorizons.blockEvanescent) {
|
||||
p.worldObj.setBlock(this.cacheX, this.cacheY + j, this.cacheZ + i, this.tempBlock[i + 1][j + 1], this.tempMD[i + 1][j + 1], 4);
|
||||
}
|
||||
} else if (this.tempBlock[i + 1][j + 1] != null
|
||||
&& p.worldObj.getBlock(this.cacheX, this.cacheY + j, this.cacheZ + i)
|
||||
== ThaumicHorizons.blockEvanescent) {
|
||||
p.worldObj.setBlock(
|
||||
this.cacheX,
|
||||
this.cacheY + j,
|
||||
this.cacheZ + i,
|
||||
this.tempBlock[i + 1][j + 1],
|
||||
this.tempMD[i + 1][j + 1],
|
||||
4);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.tempBlock = new Block[3][3];
|
||||
this.tempMD = new int[3][3];
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void renderTick(final TickEvent.RenderTickEvent event) {
|
||||
@@ -455,46 +548,60 @@ public class RenderEventHandler
|
||||
return;
|
||||
}
|
||||
final ItemStack goggles = mc.thePlayer.inventory.armorItemInSlot(3);
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer && goggles.stackTagCompound != null && goggles.stackTagCompound.getString("Lens") != null && !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens)LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer
|
||||
&& goggles.stackTagCompound != null
|
||||
&& goggles.stackTagCompound.getString("Lens") != null
|
||||
&& !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens) LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (theLens == ThaumicHorizons.itemLensEarth) {
|
||||
this.setBlocksEvanescent((EntityPlayer)mc.thePlayer);
|
||||
this.setBlocksEvanescent(mc.thePlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void renderLast(final RenderWorldLastEvent event) {
|
||||
for (final EntityLivingBase entity : this.thingsThatSparkle) {
|
||||
if (Minecraft.getMinecraft().thePlayer.getDistanceSqToEntity((Entity)entity) < 32.0 && entity.worldObj.rand.nextFloat() > 0.95f) {
|
||||
final float angle = (float)(entity.worldObj.rand.nextFloat() * 2.0f * 3.141592653589793);
|
||||
Thaumcraft.proxy.sparkle((float)entity.posX + entity.width * (float)Math.cos(angle), (float)entity.posY + entity.height * (entity.worldObj.rand.nextFloat() - 0.1f) * 1.2f, (float)entity.posZ + entity.width * (float)Math.sin(angle), 2.0f, 7, 0.0f);
|
||||
if (Minecraft.getMinecraft().thePlayer.getDistanceSqToEntity(entity) < 32.0
|
||||
&& entity.worldObj.rand.nextFloat() > 0.95f) {
|
||||
final float angle = (float) (entity.worldObj.rand.nextFloat() * 2.0f * 3.141592653589793);
|
||||
Thaumcraft.proxy.sparkle(
|
||||
(float) entity.posX + entity.width * (float) Math.cos(angle),
|
||||
(float) entity.posY + entity.height * (entity.worldObj.rand.nextFloat() - 0.1f) * 1.2f,
|
||||
(float) entity.posZ + entity.width * (float) Math.sin(angle),
|
||||
2.0f,
|
||||
7,
|
||||
0.0f);
|
||||
}
|
||||
}
|
||||
if (this.evanescentStage == 2) {
|
||||
final float temp = this.breakProgress;
|
||||
this.resetBlocks((EntityPlayer)Minecraft.getMinecraft().thePlayer);
|
||||
this.resetBlocks(Minecraft.getMinecraft().thePlayer);
|
||||
this.breakProgress = temp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void clearWater(final RenderBlockOverlayEvent event) {
|
||||
final Minecraft mc = Minecraft.getMinecraft();
|
||||
final ItemStack goggles = mc.thePlayer.inventory.armorItemInSlot(3);
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer && goggles.stackTagCompound != null && goggles.stackTagCompound.getString("Lens") != null && !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens)LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (goggles != null && goggles.getItem() instanceof IRevealer
|
||||
&& goggles.stackTagCompound != null
|
||||
&& goggles.stackTagCompound.getString("Lens") != null
|
||||
&& !goggles.stackTagCompound.getString("Lens").equals("")) {
|
||||
final ILens theLens = (ILens) LensManager.getLens(goggles.stackTagCompound.getString("Lens"));
|
||||
if (theLens == ThaumicHorizons.itemLensWater) {
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
if (event.overlayType == RenderBlockOverlayEvent.OverlayType.FIRE && mc.thePlayer.ridingEntity != null && mc.thePlayer.ridingEntity instanceof EntityBoatThaumium) {
|
||||
if (event.overlayType == RenderBlockOverlayEvent.OverlayType.FIRE
|
||||
&& mc.thePlayer.ridingEntity instanceof EntityBoatThaumium) {
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
RenderEventHandler.radialHudScale = 0.0f;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileBloodInfuser;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileBloodInfuser;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockBloodInfuserRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockBloodInfuserRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileBloodInfuser tc = new TileBloodInfuser();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockBloodInfuserRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileEssentiaDynamo;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileEssentiaDynamo;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockEssentiaDynamoRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockEssentiaDynamoRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileEssentiaDynamo tc = new TileEssentiaDynamo();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockEssentiaDynamoRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileInspiratron;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileInspiratron;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockInspiratronRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockInspiratronRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileInspiratron tc = new TileInspiratron();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockInspiratronRI;
|
||||
}
|
||||
|
||||
+56
-27
@@ -1,46 +1,75 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.IIcon;
|
||||
import com.kentington.thaumichorizons.common.blocks.BlockSoulJar;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.blocks.BlockSoulJar;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockJarTHRenderer extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockJarTHRenderer extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture);
|
||||
final IIcon i1 = ((BlockSoulJar)block).iconJarTop;
|
||||
final IIcon i2 = ((BlockSoulJar)block).iconJarSide;
|
||||
block.setBlockBounds(BlockJarTHRenderer.W3, 0.0f, BlockJarTHRenderer.W3, BlockJarTHRenderer.W13, BlockJarTHRenderer.W12, BlockJarTHRenderer.W13);
|
||||
final IIcon i1 = ((BlockSoulJar) block).iconJarTop;
|
||||
final IIcon i2 = ((BlockSoulJar) block).iconJarSide;
|
||||
block.setBlockBounds(
|
||||
BlockJarTHRenderer.W3,
|
||||
0.0f,
|
||||
BlockJarTHRenderer.W3,
|
||||
BlockJarTHRenderer.W13,
|
||||
BlockJarTHRenderer.W12,
|
||||
BlockJarTHRenderer.W13);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
drawFaces(renderer, block, ((BlockSoulJar)block).iconJarBottom, i1, i2, i2, i2, i2, true);
|
||||
block.setBlockBounds(BlockJarTHRenderer.W5, BlockJarTHRenderer.W12, BlockJarTHRenderer.W5, BlockJarTHRenderer.W11, BlockJarTHRenderer.W14, BlockJarTHRenderer.W11);
|
||||
drawFaces(renderer, block, ((BlockSoulJar) block).iconJarBottom, i1, i2, i2, i2, i2, true);
|
||||
block.setBlockBounds(
|
||||
BlockJarTHRenderer.W5,
|
||||
BlockJarTHRenderer.W12,
|
||||
BlockJarTHRenderer.W5,
|
||||
BlockJarTHRenderer.W11,
|
||||
BlockJarTHRenderer.W14,
|
||||
BlockJarTHRenderer.W11);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
drawFaces(renderer, block, ((BlockSoulJar)block).iconJarBottom, i1, i2, i2, i2, i2, true);
|
||||
drawFaces(renderer, block, ((BlockSoulJar) block).iconJarBottom, i1, i2, i2, i2, i2, true);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
final int bb = setBrightness(world, x, y, z, block);
|
||||
final int metadata = world.getBlockMetadata(x, y, z);
|
||||
block.setBlockBounds(BlockJarTHRenderer.W3, 0.0f, BlockJarTHRenderer.W3, BlockJarTHRenderer.W13, BlockJarTHRenderer.W12, BlockJarTHRenderer.W13);
|
||||
block.setBlockBounds(
|
||||
BlockJarTHRenderer.W3,
|
||||
0.0f,
|
||||
BlockJarTHRenderer.W3,
|
||||
BlockJarTHRenderer.W13,
|
||||
BlockJarTHRenderer.W12,
|
||||
BlockJarTHRenderer.W13);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
block.setBlockBounds(BlockJarTHRenderer.W5, BlockJarTHRenderer.W12, BlockJarTHRenderer.W5, BlockJarTHRenderer.W11, BlockJarTHRenderer.W14, BlockJarTHRenderer.W11);
|
||||
block.setBlockBounds(
|
||||
BlockJarTHRenderer.W5,
|
||||
BlockJarTHRenderer.W12,
|
||||
BlockJarTHRenderer.W5,
|
||||
BlockJarTHRenderer.W11,
|
||||
BlockJarTHRenderer.W14,
|
||||
BlockJarTHRenderer.W11);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
renderer.clearOverrideBlockTexture();
|
||||
@@ -48,11 +77,11 @@ public class BlockJarTHRenderer extends BlockRenderer implements ISimpleBlockRen
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockJarRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileNodeMonitor;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileNodeMonitor;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockNodeMonitorRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockNodeMonitorRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileNodeMonitor tc = new TileNodeMonitor();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockNodeMonRI;
|
||||
}
|
||||
|
||||
+21
-16
@@ -1,42 +1,47 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileRecombinator;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockRecombinatorRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockRecombinatorRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileRecombinator tc = new TileRecombinator();
|
||||
tc.blockType = ThaumicHorizons.blockRecombinator;
|
||||
tc.blockMetadata = 0;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockRecombinatorRI;
|
||||
}
|
||||
|
||||
+21
-16
@@ -1,42 +1,47 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSlot;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockSlotRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId, final RenderBlocks renderer) {
|
||||
public class BlockSlotRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileSlot tc = new TileSlot();
|
||||
tc.blockType = ThaumicHorizons.blockSlot;
|
||||
tc.blockMetadata = 0;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockSlotRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulBeacon;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulBeacon;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockSoulBeaconRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockSoulBeaconRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileSoulBeacon tc = new TileSoulBeacon();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockSoulBeaconRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulExtractor;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulExtractor;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockSoulSieveRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockSoulSieveRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileSoulExtractor tc = new TileSoulExtractor();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockSoulSieveRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulforge;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSoulforge;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockSoulforgeRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockSoulforgeRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileSoulforge tc = new TileSoulforge();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockSoulforgeRI;
|
||||
}
|
||||
|
||||
+27
-26
@@ -1,51 +1,52 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSpike;
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSpike;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockSpikeRenderer extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockSpikeRenderer extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
byte type = 0;
|
||||
if (block == ThaumicHorizons.blockSpike) {
|
||||
type = 0;
|
||||
}
|
||||
else if (block == ThaumicHorizons.blockSpikeTooth) {
|
||||
byte type = 0; // ThaumicHorizons.blockSpike
|
||||
if (block == ThaumicHorizons.blockSpikeTooth) {
|
||||
type = 2;
|
||||
}
|
||||
else if (block == ThaumicHorizons.blockSpikeWood) {
|
||||
} else if (block == ThaumicHorizons.blockSpikeWood) {
|
||||
type = 1;
|
||||
}
|
||||
final TileSpike tc = new TileSpike((byte)1, type);
|
||||
final TileSpike tc = new TileSpike((byte) 1, type);
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockSpikeRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSyntheticNode;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileSyntheticNode;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockSyntheticNodeRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockSyntheticNodeRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileSyntheticNode tc = new TileSyntheticNode();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockSyntheticNodeRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileTransductionAmplifier;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileTransductionAmplifier;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockTransductionAmplifierRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockTransductionAmplifierRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileTransductionAmplifier tc = new TileTransductionAmplifier();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockTransducerRI;
|
||||
}
|
||||
|
||||
+16
-13
@@ -1,29 +1,32 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockVatInteriorRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId, final RenderBlocks renderer) {
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
public class BlockVatInteriorRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId,
|
||||
final RenderBlocks renderer) {}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockVatInteriorRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatMatrix;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatMatrix;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockVatMatrixRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockVatMatrixRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileVatMatrix tc = new TileVatMatrix();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockVatMatrixRI;
|
||||
}
|
||||
|
||||
+101
-113
@@ -1,34 +1,37 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.blocks.BlockVat;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatSlave;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
|
||||
public class BlockVatRender implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
if (world.getTileEntity(x, y, z) instanceof TileVatSlave) {
|
||||
final TileVatSlave tco = (TileVatSlave)world.getTileEntity(x, y, z);
|
||||
public class BlockVatRender implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
if (world.getTileEntity(x, y, z) instanceof final TileVatSlave tco) {
|
||||
final TileVat boss = tco.getBoss(-1);
|
||||
if (boss == null) {
|
||||
return false;
|
||||
}
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 192);
|
||||
Tessellator.instance.setBrightness(241);
|
||||
final Tessellator tess = Tessellator.instance;
|
||||
tess.setColorRGBA(255, 255, 255, 192);
|
||||
tess.setBrightness(241);
|
||||
renderer.enableAO = false;
|
||||
final int dx = boss.xCoord - tco.xCoord;
|
||||
final int dy = boss.yCoord - tco.yCoord;
|
||||
@@ -36,173 +39,158 @@ public class BlockVatRender implements ISimpleBlockRenderingHandler
|
||||
if (world.getBlockMetadata(x, y, z) == 10) {
|
||||
if (dy == 1) {
|
||||
if (dx == -1 && dz == -1) {
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTL);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTR);
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTL);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTR);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 0.75f, 1.0f, 0.75f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 1 && dz == -1) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTR);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTL);
|
||||
} else if (dx == 1 && dz == -1) {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTR);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTL);
|
||||
block.setBlockBounds(0.25f, 0.0f, 0.0f, 1.0f, 1.0f, 0.75f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 1 && dz == 1) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTL);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTR);
|
||||
} else if (dx == 1 && dz == 1) {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTL);
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTR);
|
||||
block.setBlockBounds(0.25f, 0.0f, 0.25f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == -1 && dz == 1) {
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTR);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassTL);
|
||||
} else if (dx == -1 && dz == 1) {
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTR);
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassTL);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.25f, 0.75f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 0) {
|
||||
} else if (dx == 0) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassT);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassT);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.75f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassT);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassT);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.25f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
}
|
||||
else if (dz == 0) {
|
||||
} else if (dz == 0) {
|
||||
if (dx == -1) {
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassT);
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassT);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 0.75f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 1) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassT);
|
||||
} else if (dx == 1) {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassT);
|
||||
block.setBlockBounds(0.25f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (dy == 2) {
|
||||
} else if (dy == 2) {
|
||||
if (dx == -1 && dz == -1) {
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBL);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBR);
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBL);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBR);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 0.75f, 1.0f, 0.75f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 1 && dz == -1) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBR);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBL);
|
||||
} else if (dx == 1 && dz == -1) {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBR);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBL);
|
||||
block.setBlockBounds(0.25f, 0.0f, 0.0f, 1.0f, 1.0f, 0.75f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 1 && dz == 1) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBL);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBR);
|
||||
} else if (dx == 1 && dz == 1) {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBL);
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBR);
|
||||
block.setBlockBounds(0.25f, 0.0f, 0.25f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == -1 && dz == 1) {
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBR);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassBL);
|
||||
} else if (dx == -1 && dz == 1) {
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBR);
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassBL);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.25f, 0.75f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
renderer.renderFaceZNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 0) {
|
||||
} else if (dx == 0) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassB);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassB);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.75f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassB);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassB);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.25f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceZNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
}
|
||||
else if (dz == 0) {
|
||||
} else if (dz == 0) {
|
||||
if (dx == -1) {
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassB);
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassB);
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 0.75f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXPos(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
else if (dx == 1) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVat)ThaumicHorizons.blockVat).iconGlassB);
|
||||
} else if (dx == 1) {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVat) ThaumicHorizons.blockVat).iconGlassB);
|
||||
block.setBlockBounds(0.25f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
Tessellator.instance.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, Blocks.water.getBlockTextureFromSide(0));
|
||||
tess.setColorRGBA(255, 255, 255, 255);
|
||||
renderer.renderFaceXNeg(block, x, y, z, Blocks.water.getBlockTextureFromSide(0));
|
||||
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
|
||||
renderer.setRenderBoundsFromBlock(block);
|
||||
}
|
||||
@@ -214,11 +202,11 @@ public class BlockVatRender implements ISimpleBlockRenderingHandler
|
||||
renderer.enableAO = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockVatRI;
|
||||
}
|
||||
|
||||
+261
-93
@@ -1,155 +1,323 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.blocks.BlockVatSolid;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVat;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVatSlave;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
|
||||
public class BlockVatSolidRender implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId, final RenderBlocks renderer) {
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
if (world.getTileEntity(x, y, z) instanceof TileVatSlave) {
|
||||
final TileVatSlave tco = (TileVatSlave)world.getTileEntity(x, y, z);
|
||||
public class BlockVatSolidRender implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId,
|
||||
final RenderBlocks renderer) {}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
final Tessellator tess = Tessellator.instance;
|
||||
if (world.getTileEntity(x, y, z) instanceof final TileVatSlave tco) {
|
||||
final TileVat boss = tco.getBoss(-1);
|
||||
if (boss == null) {
|
||||
return false;
|
||||
}
|
||||
Tessellator.instance.setColorOpaque_F(1.0f, 1.0f, 1.0f);
|
||||
Tessellator.instance.setBrightness(150);
|
||||
tess.setColorOpaque_F(1.0f, 1.0f, 1.0f);
|
||||
tess.setBrightness(150);
|
||||
renderer.enableAO = false;
|
||||
final int dx = boss.xCoord - tco.xCoord;
|
||||
final int dy = boss.yCoord - tco.yCoord;
|
||||
final int dz = boss.zCoord - tco.zCoord;
|
||||
if (world.getBlockMetadata(x, y, z) == 6) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseCenter);
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCenter);
|
||||
}
|
||||
else {
|
||||
renderer.renderFaceXNeg(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZNeg(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceXPos(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZPos(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceYNeg(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseCenter);
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCenter);
|
||||
} else {
|
||||
if (world.getBlockMetadata(x, y, z) == 4) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseSideBottom);
|
||||
renderer.renderFaceXNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceXPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceZPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSide);
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseSideBottom);
|
||||
if (dx == 0) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerPosZ);
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerPosZ);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerNegZ);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerNegZ);
|
||||
}
|
||||
}
|
||||
else if (dz == 0) {
|
||||
} else if (dz == 0) {
|
||||
if (dx == -1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerPosX);
|
||||
}
|
||||
else if (dx == 1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerNegX);
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerPosX);
|
||||
} else if (dx == 1) {
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerNegX);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (world.getBlockMetadata(x, y, z) == 5 && dy == 3) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconBaseCenter);
|
||||
renderer.renderFaceXNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceZNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceXPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceZPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseLeftRight);
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconBaseCenter);
|
||||
if (dx == -1) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerD);
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerD);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerC);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerC);
|
||||
}
|
||||
}
|
||||
else if (dx == 1) {
|
||||
} else if (dx == 1) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerA);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerB);
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerA);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerB);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (world.getBlockMetadata(x, y, z) == 5) {
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconGreatwood);
|
||||
renderer.renderFaceYPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconGreatwood);
|
||||
if (dx == 0 || dz == 0) {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceXNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceZNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceXPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
renderer.renderFaceZPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidSideCenter);
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerPosZ);
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerPosZ);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerNegZ);
|
||||
} else if (dx == -1) {
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerPosX);
|
||||
} else if (dx == 1) {
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerNegX);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerNegZ);
|
||||
}
|
||||
else if (dx == -1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerPosX);
|
||||
}
|
||||
else if (dx == 1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerNegX);
|
||||
}
|
||||
}
|
||||
else {
|
||||
renderer.renderFaceXNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
renderer.renderFaceZNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
renderer.renderFaceXPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
renderer.renderFaceZPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
} else {
|
||||
renderer.renderFaceXNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
renderer.renderFaceZNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
renderer.renderFaceXPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
renderer.renderFaceZPos(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidLeftRight);
|
||||
if (dx == -1) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerD);
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerD);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerC);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerC);
|
||||
}
|
||||
}
|
||||
else if (dx == 1) {
|
||||
} else if (dx == 1) {
|
||||
if (dz == -1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerA);
|
||||
}
|
||||
else if (dz == 1) {
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCornerB);
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerA);
|
||||
} else if (dz == 1) {
|
||||
renderer.renderFaceYNeg(
|
||||
block,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCornerB);
|
||||
}
|
||||
}
|
||||
}
|
||||
return renderer.enableAO = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (world.getBlockMetadata(x, y, z) == 7) {
|
||||
Tessellator.instance.setColorOpaque_F(1.0f, 1.0f, 1.0f);
|
||||
} else if (world.getBlockMetadata(x, y, z) == 7) {
|
||||
tess.setColorOpaque_F(1.0f, 1.0f, 1.0f);
|
||||
renderer.enableAO = false;
|
||||
renderer.renderFaceYPos(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconLidCenterTop);
|
||||
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, ((BlockVatSolid)ThaumicHorizons.blockVatSolid).iconInnerCenter);
|
||||
renderer.renderFaceYPos(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconLidCenterTop);
|
||||
renderer.renderFaceYNeg(block, x, y, z, ((BlockVatSolid) ThaumicHorizons.blockVatSolid).iconInnerCenter);
|
||||
return renderer.enableAO = true;
|
||||
}
|
||||
renderer.enableAO = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockVatSolidRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVisDynamo;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVisDynamo;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockVisDynamoRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) {
|
||||
public class BlockVisDynamoRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelID,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileVisDynamo tc = new TileVisDynamo();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockVisDynamoRI;
|
||||
}
|
||||
|
||||
+23
-18
@@ -1,41 +1,46 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.block;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVortexStabilizer;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.tiles.TileVortexStabilizer;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import thaumcraft.client.renderers.block.BlockRenderer;
|
||||
|
||||
public class BlockVortexStabilizerRender extends BlockRenderer implements ISimpleBlockRenderingHandler
|
||||
{
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId, final RenderBlocks renderer) {
|
||||
public class BlockVortexStabilizerRender extends BlockRenderer implements ISimpleBlockRenderingHandler {
|
||||
|
||||
public void renderInventoryBlock(final Block block, final int metadata, final int modelId,
|
||||
final RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
|
||||
final TileVortexStabilizer tc = new TileVortexStabilizer();
|
||||
tc.blockMetadata = metadata;
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt((TileEntity)tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(32826);
|
||||
TileEntityRendererDispatcher.instance.renderTileEntityAt(tc, 0.0, 0.0, 0.0, 0.0f);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) {
|
||||
|
||||
public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block,
|
||||
final int modelId, final RenderBlocks renderer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean shouldRender3DInInventory(final int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int getRenderId() {
|
||||
return ThaumicHorizons.blockVortexStabilizerRI;
|
||||
}
|
||||
|
||||
+30
-26
@@ -1,40 +1,44 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.potion.PotionHelper;
|
||||
import net.minecraft.entity.projectile.EntityPotion;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.entity.Entity;
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.entity.RenderSnowball;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.projectile.EntityPotion;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.potion.PotionHelper;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
|
||||
public class BlastPhialRender extends RenderSnowball {
|
||||
|
||||
public class BlastPhialRender extends RenderSnowball
|
||||
{
|
||||
Item item;
|
||||
|
||||
|
||||
public BlastPhialRender() {
|
||||
super(ThaumicHorizons.itemSyringeInjection);
|
||||
this.item = ThaumicHorizons.itemSyringeInjection;
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
final IIcon iicon = this.item.getIconFromDamage(1);
|
||||
if (iicon != null) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
|
||||
GL11.glEnable(32826);
|
||||
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glScalef(0.5f, 0.5f, 0.5f);
|
||||
this.bindEntityTexture(p_76986_1_);
|
||||
final Tessellator tessellator = Tessellator.instance;
|
||||
final int i = PotionHelper.func_77915_a(((EntityPotion)p_76986_1_).getPotionDamage(), false);
|
||||
final int i = PotionHelper.func_77915_a(((EntityPotion) p_76986_1_).getPotionDamage(), false);
|
||||
final float f2 = (i >> 16 & 0xFF) / 255.0f;
|
||||
final float f3 = (i >> 8 & 0xFF) / 255.0f;
|
||||
final float f4 = (i & 0xFF) / 255.0f;
|
||||
@@ -43,11 +47,11 @@ public class BlastPhialRender extends RenderSnowball
|
||||
this.func_77026_a(tessellator, iicon);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glColor3f(1.0f, 1.0f, 1.0f);
|
||||
GL11.glDisable(32826);
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void func_77026_a(final Tessellator p_77026_1_, final IIcon p_77026_2_) {
|
||||
final float f = p_77026_2_.getMinU();
|
||||
final float f2 = p_77026_2_.getMaxU();
|
||||
@@ -60,13 +64,13 @@ public class BlastPhialRender extends RenderSnowball
|
||||
GL11.glRotatef(-this.renderManager.playerViewX, 1.0f, 0.0f, 0.0f);
|
||||
p_77026_1_.startDrawingQuads();
|
||||
p_77026_1_.setNormal(0.0f, 1.0f, 0.0f);
|
||||
p_77026_1_.addVertexWithUV((double)(0.0f - f6), (double)(0.0f - f7), 0.0, (double)f, (double)f4);
|
||||
p_77026_1_.addVertexWithUV((double)(f5 - f6), (double)(0.0f - f7), 0.0, (double)f2, (double)f4);
|
||||
p_77026_1_.addVertexWithUV((double)(f5 - f6), (double)(f5 - f7), 0.0, (double)f2, (double)f3);
|
||||
p_77026_1_.addVertexWithUV((double)(0.0f - f6), (double)(f5 - f7), 0.0, (double)f, (double)f3);
|
||||
p_77026_1_.addVertexWithUV(0.0f - f6, 0.0f - f7, 0.0, f, f4);
|
||||
p_77026_1_.addVertexWithUV(f5 - f6, 0.0f - f7, 0.0, f2, f4);
|
||||
p_77026_1_.addVertexWithUV(f5 - f6, f5 - f7, 0.0, f2, f3);
|
||||
p_77026_1_.addVertexWithUV(0.0f - f6, f5 - f7, 0.0, f, f3);
|
||||
p_77026_1_.draw();
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return TextureMap.locationItemsTexture;
|
||||
}
|
||||
|
||||
+12
-11
@@ -1,32 +1,33 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class ModelAlchemite extends ModelBase {
|
||||
|
||||
public class ModelAlchemite extends ModelBase
|
||||
{
|
||||
ModelRenderer Shape1;
|
||||
|
||||
|
||||
public ModelAlchemite() {
|
||||
this.textureWidth = 64;
|
||||
this.textureHeight = 32;
|
||||
(this.Shape1 = new ModelRenderer((ModelBase)this, 0, 0)).addBox(0.0f, 0.0f, 0.0f, 16, 16, 16);
|
||||
(this.Shape1 = new ModelRenderer(this, 0, 0)).addBox(0.0f, 0.0f, 0.0f, 16, 16, 16);
|
||||
this.Shape1.setRotationPoint(-8.0f, 8.0f, -8.0f);
|
||||
this.Shape1.setTextureSize(64, 32);
|
||||
this.Shape1.mirror = true;
|
||||
this.setRotation(this.Shape1, 0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
public void render(final Entity entity, final float f, final float f1, final float f2, final float f3, final float f4, final float f5) {
|
||||
|
||||
public void render(final Entity entity, final float f, final float f1, final float f2, final float f3,
|
||||
final float f4, final float f5) {
|
||||
super.render(entity, f, f1, f2, f3, f4, f5);
|
||||
this.Shape1.render(f5);
|
||||
}
|
||||
|
||||
|
||||
private void setRotation(final ModelRenderer model, final float x, final float y, final float z) {
|
||||
model.rotateAngleX = x;
|
||||
model.rotateAngleY = y;
|
||||
|
||||
+39
-29
@@ -1,38 +1,41 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityAlchemitePrimed;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.entity.RenderEntity;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.ThaumicHorizons;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityAlchemitePrimed;
|
||||
|
||||
public class RenderAlchemitePrimed extends RenderEntity {
|
||||
|
||||
private final RenderBlocks blockRenderer;
|
||||
|
||||
public class RenderAlchemitePrimed extends RenderEntity
|
||||
{
|
||||
private RenderBlocks blockRenderer;
|
||||
|
||||
public RenderAlchemitePrimed() {
|
||||
this.blockRenderer = new RenderBlocks();
|
||||
this.shadowSize = 0.5f;
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return this.getEntityTexture((EntityAlchemitePrimed)p_110775_1_);
|
||||
return this.getEntityTexture((EntityAlchemitePrimed) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityAlchemitePrimed p_110775_1_) {
|
||||
return TextureMap.locationBlocksTexture;
|
||||
}
|
||||
|
||||
public void doRenderStuff(final EntityAlchemitePrimed entity, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
|
||||
public void doRenderStuff(final EntityAlchemitePrimed entity, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
|
||||
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
|
||||
if (entity.fuse - p_76986_9_ + 1.0f < 10.0f) {
|
||||
float f2 = 1.0f - (entity.fuse - p_76986_9_ + 1.0f) / 10.0f;
|
||||
if (f2 < 0.0f) {
|
||||
@@ -47,24 +50,31 @@ public class RenderAlchemitePrimed extends RenderEntity
|
||||
GL11.glScalef(f3, f3, f3);
|
||||
}
|
||||
float f2 = (1.0f - (entity.fuse - p_76986_9_ + 1.0f) / 100.0f) * 0.8f;
|
||||
this.bindEntityTexture((Entity)entity);
|
||||
this.bindEntityTexture(entity);
|
||||
this.blockRenderer.renderBlockAsItem(ThaumicHorizons.blockAlchemite, 0, entity.getBrightness(p_76986_9_));
|
||||
if (entity.fuse / 5 % 2 == 0) {
|
||||
GL11.glDisable(3553);
|
||||
GL11.glDisable(2896);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 772);
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, f2);
|
||||
this.blockRenderer.renderBlockAsItem(ThaumicHorizons.blockAlchemite, 0, 1.0f);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glEnable(2896);
|
||||
GL11.glEnable(3553);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRenderStuff((EntityAlchemitePrimed)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRenderStuff(
|
||||
(EntityAlchemitePrimed) p_76986_1_,
|
||||
p_76986_2_,
|
||||
p_76986_4_,
|
||||
p_76986_6_,
|
||||
p_76986_8_,
|
||||
p_76986_9_);
|
||||
}
|
||||
}
|
||||
+12
-11
@@ -1,26 +1,27 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatGreatwood;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderBoat;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatGreatwood;
|
||||
|
||||
public class RenderBoatGreatwood extends RenderBoat {
|
||||
|
||||
public class RenderBoatGreatwood extends RenderBoat
|
||||
{
|
||||
private static final ResourceLocation boatTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityBoatGreatwood p_110775_1_) {
|
||||
return RenderBoatGreatwood.boatTextures;
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return this.getEntityTexture((EntityBoatGreatwood)p_110775_1_);
|
||||
return this.getEntityTexture((EntityBoatGreatwood) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
boatTextures = new ResourceLocation("thaumichorizons", "textures/entity/boatgreatwood.png");
|
||||
}
|
||||
|
||||
+12
-11
@@ -1,26 +1,27 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatThaumium;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderBoat;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityBoatThaumium;
|
||||
|
||||
public class RenderBoatThaumium extends RenderBoat {
|
||||
|
||||
public class RenderBoatThaumium extends RenderBoat
|
||||
{
|
||||
private static final ResourceLocation boatTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityBoatThaumium p_110775_1_) {
|
||||
return RenderBoatThaumium.boatTextures;
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return this.getEntityTexture((EntityBoatThaumium)p_110775_1_);
|
||||
return this.getEntityTexture((EntityBoatThaumium) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
boatTextures = new ResourceLocation("thaumichorizons", "textures/entity/boatthaumium.png");
|
||||
}
|
||||
|
||||
+9
-9
@@ -1,26 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.passive.EntityCow;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderCow;
|
||||
import net.minecraft.entity.passive.EntityCow;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderChocolateCow extends RenderCow {
|
||||
|
||||
public class RenderChocolateCow extends RenderCow
|
||||
{
|
||||
private static final ResourceLocation cowTextures;
|
||||
|
||||
|
||||
public RenderChocolateCow(final ModelBase p_i1253_1_, final float p_i1253_2_) {
|
||||
super(p_i1253_1_, p_i1253_2_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityCow p_110775_1_) {
|
||||
return RenderChocolateCow.cowTextures;
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
cowTextures = new ResourceLocation("thaumichorizons", "textures/entity/chocolatecow.png");
|
||||
}
|
||||
|
||||
+18
-16
@@ -1,24 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.entity.passive.EntityHorse;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import java.util.Map;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderHorse;
|
||||
|
||||
public class RenderEndersteed extends RenderHorse
|
||||
{
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderHorse;
|
||||
import net.minecraft.entity.passive.EntityHorse;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
public class RenderEndersteed extends RenderHorse {
|
||||
|
||||
ResourceLocation enderTex;
|
||||
ResourceLocation enderTexIron;
|
||||
ResourceLocation enderTexGold;
|
||||
ResourceLocation enderTexDiamond;
|
||||
private static final Map field_110852_a;
|
||||
|
||||
|
||||
public RenderEndersteed(final ModelBase p_i1256_1_, final float p_i1256_2_) {
|
||||
super(p_i1256_1_, p_i1256_2_);
|
||||
this.enderTex = new ResourceLocation("thaumichorizons", "textures/entity/endersteed.png");
|
||||
@@ -26,24 +28,24 @@ public class RenderEndersteed extends RenderHorse
|
||||
this.enderTexGold = new ResourceLocation("thaumichorizons", "textures/entity/endersteedgold.png");
|
||||
this.enderTexDiamond = new ResourceLocation("thaumichorizons", "textures/entity/endersteeddiamond.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityHorse p_110775_1_) {
|
||||
switch (p_110775_1_.func_110241_cb()) {
|
||||
case 1: {
|
||||
case 1 -> {
|
||||
return this.enderTexIron;
|
||||
}
|
||||
case 2: {
|
||||
case 2 -> {
|
||||
return this.enderTexGold;
|
||||
}
|
||||
case 3: {
|
||||
case 3 -> {
|
||||
return this.enderTexDiamond;
|
||||
}
|
||||
default: {
|
||||
default -> {
|
||||
return this.enderTex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
field_110852_a = Maps.newHashMap();
|
||||
}
|
||||
|
||||
+39
-27
@@ -1,49 +1,61 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.Entity;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityFamiliar;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderOcelot;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityFamiliar;
|
||||
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
|
||||
public class RenderFamiliar extends RenderOcelot {
|
||||
|
||||
public class RenderFamiliar extends RenderOcelot
|
||||
{
|
||||
ResourceLocation rl;
|
||||
|
||||
|
||||
public RenderFamiliar(final ModelBase p_i1264_1_, final float p_i1264_2_) {
|
||||
super(p_i1264_1_, p_i1264_2_);
|
||||
this.rl = new ResourceLocation("thaumichorizons", "textures/entity/familiar.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityOcelot p_110775_1_) {
|
||||
return this.rl;
|
||||
}
|
||||
|
||||
public void doRender(final EntityFamiliar p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender((EntityOcelot)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityFamiliar p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender(p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
if (p_76986_1_.worldObj.rand.nextFloat() > 0.97f) {
|
||||
final float angle = (float)(p_76986_1_.worldObj.rand.nextFloat() * 2.0f * 3.141592653589793);
|
||||
Thaumcraft.proxy.sparkle((float)p_76986_1_.posX + p_76986_1_.width * (float)Math.cos(angle), (float)p_76986_1_.posY + p_76986_1_.height * (p_76986_1_.worldObj.rand.nextFloat() - 0.1f) * 1.2f, (float)p_76986_1_.posZ + p_76986_1_.width * (float)Math.sin(angle), 2.0f, 0, 0.0f);
|
||||
final float angle = (float) (p_76986_1_.worldObj.rand.nextFloat() * 2.0f * 3.141592653589793);
|
||||
Thaumcraft.proxy.sparkle(
|
||||
(float) p_76986_1_.posX + p_76986_1_.width * (float) Math.cos(angle),
|
||||
(float) p_76986_1_.posY + p_76986_1_.height * (p_76986_1_.worldObj.rand.nextFloat() - 0.1f) * 1.2f,
|
||||
(float) p_76986_1_.posZ + p_76986_1_.width * (float) Math.sin(angle),
|
||||
2.0f,
|
||||
0,
|
||||
0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityFamiliar)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityFamiliar) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityFamiliar)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityFamiliar) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityFamiliar)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityFamiliar) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
}
|
||||
+39
-27
@@ -1,49 +1,61 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.Entity;
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGoldChicken;
|
||||
import net.minecraft.entity.passive.EntityChicken;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderChicken;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.passive.EntityChicken;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGoldChicken;
|
||||
|
||||
import thaumcraft.common.Thaumcraft;
|
||||
|
||||
public class RenderGoldChicken extends RenderChicken {
|
||||
|
||||
public class RenderGoldChicken extends RenderChicken
|
||||
{
|
||||
ResourceLocation rl;
|
||||
|
||||
|
||||
public RenderGoldChicken(final ModelBase p_i1252_1_, final float p_i1252_2_) {
|
||||
super(p_i1252_1_, p_i1252_2_);
|
||||
this.rl = new ResourceLocation("thaumichorizons", "textures/entity/goldchicken.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityChicken p_110775_1_) {
|
||||
return this.rl;
|
||||
}
|
||||
|
||||
public void doRender(final EntityGoldChicken p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityGoldChicken p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender(p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
if (p_76986_1_.worldObj.rand.nextFloat() > 0.95f) {
|
||||
final float angle = (float)(p_76986_1_.worldObj.rand.nextFloat() * 2.0f * 3.141592653589793);
|
||||
Thaumcraft.proxy.sparkle((float)p_76986_1_.posX + p_76986_1_.width * (float)Math.cos(angle), (float)p_76986_1_.posY + p_76986_1_.height * (p_76986_1_.worldObj.rand.nextFloat() - 0.1f) * 1.2f, (float)p_76986_1_.posZ + p_76986_1_.width * (float)Math.sin(angle), 2.0f, 1, 0.0f);
|
||||
final float angle = (float) (p_76986_1_.worldObj.rand.nextFloat() * 2.0f * 3.141592653589793);
|
||||
Thaumcraft.proxy.sparkle(
|
||||
(float) p_76986_1_.posX + p_76986_1_.width * (float) Math.cos(angle),
|
||||
(float) p_76986_1_.posY + p_76986_1_.height * (p_76986_1_.worldObj.rand.nextFloat() - 0.1f) * 1.2f,
|
||||
(float) p_76986_1_.posZ + p_76986_1_.width * (float) Math.sin(angle),
|
||||
2.0f,
|
||||
1,
|
||||
0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityGoldChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityGoldChicken) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityGoldChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityGoldChicken) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityGoldChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityGoldChicken) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
}
|
||||
+61
-55
@@ -1,101 +1,107 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.util.IIcon;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import thaumcraft.common.config.ConfigItems;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.init.Blocks;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGolemTH;
|
||||
import net.minecraft.entity.Entity;
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelGolemTH;
|
||||
import thaumcraft.client.renderers.models.entities.ModelGolemAccessories;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import thaumcraft.client.renderers.entity.RenderGolemBase;
|
||||
|
||||
public class RenderGolemTH extends RenderGolemBase
|
||||
{
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelGolemTH;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityGolemTH;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.client.renderers.entity.RenderGolemBase;
|
||||
import thaumcraft.client.renderers.models.entities.ModelGolemAccessories;
|
||||
import thaumcraft.common.config.ConfigItems;
|
||||
|
||||
public class RenderGolemTH extends RenderGolemBase {
|
||||
|
||||
ResourceLocation voidGolem;
|
||||
ModelBase damage;
|
||||
ModelBase accessories;
|
||||
|
||||
|
||||
public RenderGolemTH(final ModelBase arg0) {
|
||||
super(arg0);
|
||||
this.voidGolem = new ResourceLocation("thaumichorizons", "textures/models/golem_void.png");
|
||||
this.accessories = (ModelBase)new ModelGolemAccessories(0.0f, 30.0f);
|
||||
this.accessories = new ModelGolemAccessories(0.0f, 30.0f);
|
||||
if (arg0 instanceof ModelGolemTH) {
|
||||
final ModelGolemTH mg = new ModelGolemTH(false);
|
||||
mg.pass = 2;
|
||||
this.damage = (ModelBase)mg;
|
||||
this.damage = mg;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity entity) {
|
||||
if (entity instanceof EntityGolemTH) {
|
||||
final EntityGolemTH golem = (EntityGolemTH)entity;
|
||||
if (entity instanceof final EntityGolemTH golem) {
|
||||
if (golem.texture == null && golem.blocky != null && golem.blocky != Blocks.air) {
|
||||
golem.loadTexture();
|
||||
}
|
||||
else if (golem.texture == null) {
|
||||
} else if (golem.texture == null) {
|
||||
return this.voidGolem;
|
||||
}
|
||||
return golem.texture;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void render(final EntityGolemTH e, final double par2, final double par4, final double par6, final float par8, final float par9) {
|
||||
super.doRender((EntityLiving)e, par2, par4, par6, par8, par9);
|
||||
|
||||
public void render(final EntityGolemTH e, final double par2, final double par4, final double par6, final float par8,
|
||||
final float par9) {
|
||||
super.doRender(e, par2, par4, par6, par8, par9);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLiving par1EntityLiving, final double par2, final double par4, final double par6, final float par8, final float par9) {
|
||||
this.render((EntityGolemTH)par1EntityLiving, par2, par4, par6, par8, par9);
|
||||
|
||||
public void doRender(final EntityLiving par1EntityLiving, final double par2, final double par4, final double par6,
|
||||
final float par8, final float par9) {
|
||||
this.render((EntityGolemTH) par1EntityLiving, par2, par4, par6, par8, par9);
|
||||
}
|
||||
|
||||
public void doRender(final Entity par1Entity, final double par2, final double par4, final double par6, final float par8, final float par9) {
|
||||
this.render((EntityGolemTH)par1Entity, par2, par4, par6, par8, par9);
|
||||
|
||||
public void doRender(final Entity par1Entity, final double par2, final double par4, final double par6,
|
||||
final float par8, final float par9) {
|
||||
this.render((EntityGolemTH) par1Entity, par2, par4, par6, par8, par9);
|
||||
}
|
||||
|
||||
|
||||
protected int shouldRenderPass(final EntityLivingBase entity, final int pass, final float par3) {
|
||||
if (pass == 0) {
|
||||
final String deco = ((EntityGolemTH)entity).getGolemDecoration();
|
||||
if (((EntityGolemTH)entity).getCore() > -1) {
|
||||
final String deco = ((EntityGolemTH) entity).getGolemDecoration();
|
||||
if (((EntityGolemTH) entity).getCore() > -1) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(180.0f, 1.0f, 0.0f, 0.0f);
|
||||
GL11.glTranslatef(0.0875f, -0.96f, 0.15f + (deco.contains("P") ? 0.03f : 0.0f));
|
||||
GL11.glScaled(0.175, 0.175, 0.175);
|
||||
GL11.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
|
||||
final Tessellator tessellator = Tessellator.instance;
|
||||
final IIcon icon = ConfigItems.itemGolemCore.getIconFromDamage((int)((EntityGolemTH)entity).getCore());
|
||||
final IIcon icon = ConfigItems.itemGolemCore.getIconFromDamage(((EntityGolemTH) entity).getCore());
|
||||
final float f1 = icon.getMaxU();
|
||||
final float f2 = icon.getMinV();
|
||||
final float f3 = icon.getMinU();
|
||||
final float f4 = icon.getMaxV();
|
||||
this.renderManager.renderEngine.bindTexture(TextureMap.locationItemsTexture);
|
||||
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f3, f4, icon.getIconWidth(), icon.getIconHeight(), 0.2f);
|
||||
ItemRenderer
|
||||
.renderItemIn2D(tessellator, f1, f2, f3, f4, icon.getIconWidth(), icon.getIconHeight(), 0.2f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
final int upgrades = ((EntityGolemTH)entity).upgrades.length;
|
||||
final int upgrades = ((EntityGolemTH) entity).upgrades.length;
|
||||
final float shift = 0.08f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
for (int a = 0; a < upgrades; ++a) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(180.0f, 1.0f, 0.0f, 0.0f);
|
||||
GL11.glTranslatef(-0.05f - shift * (upgrades - 1) / 2.0f + shift * a, -1.106f, 0.099f);
|
||||
GL11.glScaled(0.1, 0.1, 0.1);
|
||||
final Tessellator tessellator2 = Tessellator.instance;
|
||||
final IIcon icon2 = ConfigItems.itemGolemUpgrade.getIconFromDamage((int)((EntityGolemTH)entity).getUpgrade(a));
|
||||
final IIcon icon2 = ConfigItems.itemGolemUpgrade
|
||||
.getIconFromDamage(((EntityGolemTH) entity).getUpgrade(a));
|
||||
final float f5 = icon2.getMaxU();
|
||||
final float f6 = icon2.getMinV();
|
||||
final float f7 = icon2.getMinU();
|
||||
@@ -103,26 +109,26 @@ public class RenderGolemTH extends RenderGolemBase
|
||||
this.renderManager.renderEngine.bindTexture(TextureMap.locationItemsTexture);
|
||||
tessellator2.startDrawingQuads();
|
||||
tessellator2.setNormal(0.0f, 0.0f, 1.0f);
|
||||
tessellator2.addVertexWithUV(0.0, 0.0, 0.0, (double)f5, (double)f8);
|
||||
tessellator2.addVertexWithUV(1.0, 0.0, 0.0, (double)f7, (double)f8);
|
||||
tessellator2.addVertexWithUV(1.0, 1.0, 0.0, (double)f7, (double)f6);
|
||||
tessellator2.addVertexWithUV(0.0, 1.0, 0.0, (double)f5, (double)f6);
|
||||
tessellator2.addVertexWithUV(0.0, 0.0, 0.0, f5, f8);
|
||||
tessellator2.addVertexWithUV(1.0, 0.0, 0.0, f7, f8);
|
||||
tessellator2.addVertexWithUV(1.0, 1.0, 0.0, f7, f6);
|
||||
tessellator2.addVertexWithUV(0.0, 1.0, 0.0, f5, f6);
|
||||
tessellator2.draw();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
else {
|
||||
if (pass == 1 && (((EntityGolemTH)entity).getGolemDecoration().length() > 0 || ((EntityGolemTH)entity).advanced)) {
|
||||
} else {
|
||||
if (pass == 1 && (((EntityGolemTH) entity).getGolemDecoration().length() > 0
|
||||
|| ((EntityGolemTH) entity).advanced)) {
|
||||
UtilsFX.bindTexture("textures/models/golem_decoration.png");
|
||||
this.setRenderPassModel(this.accessories);
|
||||
return 1;
|
||||
}
|
||||
if (pass == 2 && ((EntityGolemTH)entity).getHealthPercentage() < 1.0f) {
|
||||
if (pass == 2 && ((EntityGolemTH) entity).getHealthPercentage() < 1.0f) {
|
||||
UtilsFX.bindTexture("textures/models/golem_damage.png");
|
||||
this.setRenderPassModel(this.damage);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f - ((EntityGolemTH)entity).getHealthPercentage());
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f - ((EntityGolemTH) entity).getHealthPercentage());
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
+8
-8
@@ -1,23 +1,23 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderOcelot;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderGravekeeper extends RenderOcelot {
|
||||
|
||||
public class RenderGravekeeper extends RenderOcelot
|
||||
{
|
||||
ResourceLocation rl;
|
||||
|
||||
|
||||
public RenderGravekeeper(final ModelBase p_i1264_1_, final float p_i1264_2_) {
|
||||
super(p_i1264_1_, p_i1264_2_);
|
||||
this.rl = new ResourceLocation("thaumichorizons", "textures/entity/gravekeeper.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityOcelot p_110775_1_) {
|
||||
return this.rl;
|
||||
}
|
||||
|
||||
+8
-7
@@ -1,20 +1,21 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderOcelot;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class RenderGuardianPanther extends RenderOcelot {
|
||||
|
||||
public class RenderGuardianPanther extends RenderOcelot
|
||||
{
|
||||
public RenderGuardianPanther(final ModelBase p_i1264_1_, final float p_i1264_2_) {
|
||||
super(p_i1264_1_, p_i1264_2_);
|
||||
}
|
||||
|
||||
|
||||
protected void preRenderCallback(final EntityOcelot p_77041_1_, final float p_77041_2_) {
|
||||
super.preRenderCallback(p_77041_1_, p_77041_2_);
|
||||
GL11.glScalef(2.0f, 2.0f, 2.0f);
|
||||
|
||||
+34
-25
@@ -1,27 +1,31 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import java.util.Random;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLightningBoltFinite;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.entity.RenderLightningBolt;
|
||||
|
||||
public class RenderLightningBoltFinite extends RenderLightningBolt
|
||||
{
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
}
|
||||
|
||||
public void doRender(final EntityLightningBoltFinite p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.RenderLightningBolt;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLightningBoltFinite;
|
||||
|
||||
public class RenderLightningBoltFinite extends RenderLightningBolt {
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {}
|
||||
|
||||
public void doRender(final EntityLightningBoltFinite p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
final Tessellator tessellator = Tessellator.instance;
|
||||
GL11.glDisable(3553);
|
||||
GL11.glDisable(2896);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 1);
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
final double[] adouble = new double[8];
|
||||
final double[] adouble2 = new double[8];
|
||||
double d3 = 0.0;
|
||||
@@ -53,14 +57,13 @@ public class RenderLightningBoltFinite extends RenderLightningBolt
|
||||
if (j == 0) {
|
||||
d5 += (random2.nextInt(11) - 5) * mult;
|
||||
d6 += (random2.nextInt(11) - 5) * mult;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
d5 += (random2.nextInt(31) - 15) * mult;
|
||||
d6 += (random2.nextInt(31) - 15) * mult;
|
||||
}
|
||||
tessellator.startDrawing(5);
|
||||
final float f2 = 0.5f;
|
||||
tessellator.setColorRGBA_F(0.9f * f2, 0.9f * f2, 1.0f * f2, 0.3f);
|
||||
tessellator.setColorRGBA_F(0.9f * f2, 0.9f * f2, f2, 0.3f);
|
||||
double d9 = 0.1 + k1 * 0.2;
|
||||
if (j == 0) {
|
||||
d9 *= i2 * 0.1 + 1.0;
|
||||
@@ -86,15 +89,21 @@ public class RenderLightningBoltFinite extends RenderLightningBolt
|
||||
if (j2 == 2 || j2 == 3) {
|
||||
d14 += d10 * 2.0;
|
||||
}
|
||||
tessellator.addVertex(d13 + d5, p_76986_4_ + p_76986_1_.boltLength / (l - m + 1) * i2 / 2.0, d14 + d6);
|
||||
tessellator.addVertex(d11 + d7, p_76986_4_ + p_76986_1_.boltLength / (l - m + 1) * (i2 + 1) / 2.0, d12 + d8);
|
||||
tessellator.addVertex(
|
||||
d13 + d5,
|
||||
p_76986_4_ + p_76986_1_.boltLength / (l - m + 1) * i2 / 2.0,
|
||||
d14 + d6);
|
||||
tessellator.addVertex(
|
||||
d11 + d7,
|
||||
p_76986_4_ + p_76986_1_.boltLength / (l - m + 1) * (i2 + 1) / 2.0,
|
||||
d12 + d8);
|
||||
}
|
||||
tessellator.draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
GL11.glDisable(3042);
|
||||
GL11.glEnable(2896);
|
||||
GL11.glEnable(3553);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
}
|
||||
}
|
||||
+55
-37
@@ -1,75 +1,93 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderWolf;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.passive.EntityWolf;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLunarWolf;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.client.renderers.tile.TileNodeRenderer;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityLunarWolf;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderWolf;
|
||||
|
||||
public class RenderLunarWolf extends RenderWolf
|
||||
{
|
||||
public class RenderLunarWolf extends RenderWolf {
|
||||
|
||||
ResourceLocation wolfTex;
|
||||
|
||||
|
||||
public RenderLunarWolf(final ModelBase p_i1269_1_, final ModelBase p_i1269_2_, final float p_i1269_3_) {
|
||||
super(p_i1269_1_, p_i1269_2_, p_i1269_3_);
|
||||
this.wolfTex = new ResourceLocation("thaumichorizons", "textures/entity/lunarwolf.png");
|
||||
}
|
||||
|
||||
public void doRender(final EntityLunarWolf p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender((EntityLiving)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLunarWolf p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender(p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
if (p_76986_1_.worldObj.getWorldTime() % 24000L < 12000L) {
|
||||
return;
|
||||
}
|
||||
final float scale = p_76986_1_.worldObj.getCurrentMoonPhaseFactor() * 3.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 1);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glDisable(2884);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
final int i = p_76986_1_.ticksExisted % 32;
|
||||
UtilsFX.bindTexture(TileNodeRenderer.nodetex);
|
||||
UtilsFX.renderFacingStrip(p_76986_1_.posX, p_76986_1_.posY + p_76986_1_.height / 1.75, p_76986_1_.posZ, 0.0f, scale, 0.75f, 32, 1, i, p_76986_9_, 11197951);
|
||||
GL11.glEnable(2884);
|
||||
UtilsFX.renderFacingStrip(
|
||||
p_76986_1_.posX,
|
||||
p_76986_1_.posY + p_76986_1_.height / 1.75,
|
||||
p_76986_1_.posZ,
|
||||
0.0f,
|
||||
scale,
|
||||
0.75f,
|
||||
32,
|
||||
1,
|
||||
i,
|
||||
p_76986_9_,
|
||||
11197951);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glDisable(3042);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return this.getEntityTexture((EntityLunarWolf)p_110775_1_);
|
||||
return this.getEntityTexture((EntityLunarWolf) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityWolf p_110775_1_) {
|
||||
return this.getEntityTexture((EntityLunarWolf)p_110775_1_);
|
||||
return this.getEntityTexture((EntityLunarWolf) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityLunarWolf p_110775_1_) {
|
||||
return this.wolfTex;
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityLunarWolf)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityLunarWolf) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityLunarWolf)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityLunarWolf) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityLunarWolf)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityLunarWolf) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
}
|
||||
+8
-8
@@ -1,26 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
import net.minecraft.entity.monster.EntitySlime;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
|
||||
public class RenderMeatSlime extends RenderSlime
|
||||
{
|
||||
public class RenderMeatSlime extends RenderSlime {
|
||||
|
||||
private static final ResourceLocation slimeTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntitySlime p_110775_1_) {
|
||||
return RenderMeatSlime.slimeTextures;
|
||||
}
|
||||
|
||||
|
||||
public RenderMeatSlime(final ModelBase p_i1267_1_, final ModelBase p_i1267_2_, final float p_i1267_3_) {
|
||||
super(p_i1267_1_, p_i1267_2_, p_i1267_3_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
slimeTextures = new ResourceLocation("thaumichorizons", "textures/entity/meatslime.png");
|
||||
}
|
||||
|
||||
+8
-8
@@ -1,26 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
import net.minecraft.entity.monster.EntitySlime;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
|
||||
public class RenderMedSlime extends RenderSlime
|
||||
{
|
||||
public class RenderMedSlime extends RenderSlime {
|
||||
|
||||
private static final ResourceLocation slimeTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntitySlime p_110775_1_) {
|
||||
return RenderMedSlime.slimeTextures;
|
||||
}
|
||||
|
||||
|
||||
public RenderMedSlime(final ModelBase p_i1267_1_, final ModelBase p_i1267_2_, final float p_i1267_3_) {
|
||||
super(p_i1267_1_, p_i1267_2_, p_i1267_3_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
slimeTextures = new ResourceLocation("thaumichorizons", "textures/entity/medslime.png");
|
||||
}
|
||||
|
||||
+8
-8
@@ -1,26 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
import net.minecraft.entity.monster.EntitySlime;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
|
||||
public class RenderMercurialSlime extends RenderSlime
|
||||
{
|
||||
public class RenderMercurialSlime extends RenderSlime {
|
||||
|
||||
private static final ResourceLocation slimeTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntitySlime p_110775_1_) {
|
||||
return RenderMercurialSlime.slimeTextures;
|
||||
}
|
||||
|
||||
|
||||
public RenderMercurialSlime(final ModelBase p_i1267_1_, final ModelBase p_i1267_2_, final float p_i1267_3_) {
|
||||
super(p_i1267_1_, p_i1267_2_, p_i1267_3_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
slimeTextures = new ResourceLocation("thaumichorizons", "textures/entity/mercurialslime.png");
|
||||
}
|
||||
|
||||
+15
-14
@@ -1,33 +1,34 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.passive.EntityWolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityNetherHound;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderWolf;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.passive.EntityWolf;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityNetherHound;
|
||||
|
||||
public class RenderNetherHound extends RenderWolf {
|
||||
|
||||
public class RenderNetherHound extends RenderWolf
|
||||
{
|
||||
ResourceLocation wolfTex;
|
||||
|
||||
|
||||
public RenderNetherHound(final ModelBase p_i1269_1_, final ModelBase p_i1269_2_, final float p_i1269_3_) {
|
||||
super(p_i1269_1_, p_i1269_2_, p_i1269_3_);
|
||||
this.wolfTex = new ResourceLocation("thaumichorizons", "textures/entity/netherhound.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return this.getEntityTexture((EntityNetherHound)p_110775_1_);
|
||||
return this.getEntityTexture((EntityNetherHound) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityWolf p_110775_1_) {
|
||||
return this.getEntityTexture((EntityNetherHound)p_110775_1_);
|
||||
return this.getEntityTexture((EntityNetherHound) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityNetherHound p_110775_1_) {
|
||||
return this.wolfTex;
|
||||
}
|
||||
|
||||
+18
-16
@@ -1,24 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.entity.passive.EntityHorse;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import java.util.Map;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderHorse;
|
||||
|
||||
public class RenderNightmare extends RenderHorse
|
||||
{
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderHorse;
|
||||
import net.minecraft.entity.passive.EntityHorse;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
public class RenderNightmare extends RenderHorse {
|
||||
|
||||
ResourceLocation enderTex;
|
||||
ResourceLocation enderTexIron;
|
||||
ResourceLocation enderTexGold;
|
||||
ResourceLocation enderTexDiamond;
|
||||
private static final Map field_110852_a;
|
||||
|
||||
|
||||
public RenderNightmare(final ModelBase p_i1256_1_, final float p_i1256_2_) {
|
||||
super(p_i1256_1_, p_i1256_2_);
|
||||
this.enderTex = new ResourceLocation("thaumichorizons", "textures/entity/nightmare.png");
|
||||
@@ -26,24 +28,24 @@ public class RenderNightmare extends RenderHorse
|
||||
this.enderTexGold = new ResourceLocation("thaumichorizons", "textures/entity/nightmaregold.png");
|
||||
this.enderTexDiamond = new ResourceLocation("thaumichorizons", "textures/entity/nightmarediamond.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityHorse p_110775_1_) {
|
||||
switch (p_110775_1_.func_110241_cb()) {
|
||||
case 1: {
|
||||
case 1 -> {
|
||||
return this.enderTexIron;
|
||||
}
|
||||
case 2: {
|
||||
case 2 -> {
|
||||
return this.enderTexGold;
|
||||
}
|
||||
case 3: {
|
||||
case 3 -> {
|
||||
return this.enderTexDiamond;
|
||||
}
|
||||
default: {
|
||||
default -> {
|
||||
return this.enderTex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
field_110852_a = Maps.newHashMap();
|
||||
}
|
||||
|
||||
+9
-9
@@ -1,26 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.passive.EntityPig;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderPig;
|
||||
import net.minecraft.entity.passive.EntityPig;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderOreBoar extends RenderPig {
|
||||
|
||||
public class RenderOreBoar extends RenderPig
|
||||
{
|
||||
private static final ResourceLocation pigTextures;
|
||||
|
||||
|
||||
public RenderOreBoar(final ModelBase p_i1265_1_, final ModelBase p_i1265_2_, final float p_i1265_3_) {
|
||||
super(p_i1265_1_, p_i1265_2_, p_i1265_3_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityPig p_110775_1_) {
|
||||
return RenderOreBoar.pigTextures;
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
pigTextures = new ResourceLocation("thaumichorizons", "textures/entity/oreboar.png");
|
||||
}
|
||||
|
||||
+8
-8
@@ -1,23 +1,23 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.passive.EntityChicken;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderChicken;
|
||||
import net.minecraft.entity.passive.EntityChicken;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderScholarChicken extends RenderChicken {
|
||||
|
||||
public class RenderScholarChicken extends RenderChicken
|
||||
{
|
||||
ResourceLocation rl;
|
||||
|
||||
|
||||
public RenderScholarChicken(final ModelBase p_i1252_1_, final float p_i1252_2_) {
|
||||
super(p_i1252_1_, p_i1252_2_);
|
||||
this.rl = new ResourceLocation("thaumichorizons", "textures/entity/scholarchicken.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityChicken p_110775_1_) {
|
||||
return this.rl;
|
||||
}
|
||||
|
||||
+15
-14
@@ -1,33 +1,34 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.passive.EntityWolf;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySeawolf;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderWolf;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.passive.EntityWolf;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySeawolf;
|
||||
|
||||
public class RenderSeawolf extends RenderWolf {
|
||||
|
||||
public class RenderSeawolf extends RenderWolf
|
||||
{
|
||||
ResourceLocation wolfTex;
|
||||
|
||||
|
||||
public RenderSeawolf(final ModelBase p_i1269_1_, final ModelBase p_i1269_2_, final float p_i1269_3_) {
|
||||
super(p_i1269_1_, p_i1269_2_, p_i1269_3_);
|
||||
this.wolfTex = new ResourceLocation("thaumichorizons", "textures/entity/seawolf.png");
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return this.getEntityTexture((EntitySeawolf)p_110775_1_);
|
||||
return this.getEntityTexture((EntitySeawolf) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityWolf p_110775_1_) {
|
||||
return this.getEntityTexture((EntitySeawolf)p_110775_1_);
|
||||
return this.getEntityTexture((EntitySeawolf) p_110775_1_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntitySeawolf p_110775_1_) {
|
||||
return this.wolfTex;
|
||||
}
|
||||
|
||||
+11
-10
@@ -1,34 +1,35 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySheeder;
|
||||
import net.minecraft.client.renderer.entity.RenderSpider;
|
||||
import net.minecraft.entity.monster.EntitySpider;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderSpider;
|
||||
|
||||
public class RenderSheeder extends RenderSpider
|
||||
{
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySheeder;
|
||||
|
||||
public class RenderSheeder extends RenderSpider {
|
||||
|
||||
private static final ResourceLocation spiderTextures;
|
||||
private static final ResourceLocation spiderEyesTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntitySpider p_110775_1_) {
|
||||
return RenderSheeder.spiderTextures;
|
||||
}
|
||||
|
||||
|
||||
protected int shouldRenderPass(final EntitySpider p_77032_1_, final int p_77032_2_, final float p_77032_3_) {
|
||||
if (p_77032_2_ != 0) {
|
||||
return -1;
|
||||
}
|
||||
if (!((EntitySheeder)p_77032_1_).getSheared()) {
|
||||
if (!((EntitySheeder) p_77032_1_).getSheared()) {
|
||||
this.bindTexture(RenderSheeder.spiderEyesTextures);
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
spiderTextures = new ResourceLocation("thaumichorizons", "textures/entity/sheeder.png");
|
||||
spiderEyesTextures = new ResourceLocation("thaumichorizons", "textures/entity/sheederoverlay.png");
|
||||
|
||||
+31
-27
@@ -1,32 +1,35 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.ActiveRenderInfo;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class RenderSoul extends Render {
|
||||
|
||||
public class RenderSoul extends Render
|
||||
{
|
||||
int size1;
|
||||
int size2;
|
||||
|
||||
|
||||
public RenderSoul() {
|
||||
this.size1 = 0;
|
||||
this.size2 = 0;
|
||||
this.shadowSize = 0.0f;
|
||||
}
|
||||
|
||||
public void renderEntityAt(final Entity entity, final double x, final double y, final double z, final float fq, final float pticks) {
|
||||
if (((EntityLiving)entity).getHealth() <= 0.0f) {
|
||||
|
||||
public void renderEntityAt(final Entity entity, final double x, final double y, final double z, final float fq,
|
||||
final float pticks) {
|
||||
if (((EntityLiving) entity).getHealth() <= 0.0f) {
|
||||
return;
|
||||
}
|
||||
final float f1 = ActiveRenderInfo.rotationX;
|
||||
@@ -35,37 +38,38 @@ public class RenderSoul extends Render
|
||||
final float f4 = ActiveRenderInfo.rotationYZ;
|
||||
final float f5 = ActiveRenderInfo.rotationXY;
|
||||
final float f6 = 0.25f;
|
||||
final float f7 = (float)x;
|
||||
final float f8 = (float)y;
|
||||
final float f9 = (float)z;
|
||||
final float f7 = (float) x;
|
||||
final float f8 = (float) y;
|
||||
final float f9 = (float) z;
|
||||
final Tessellator tessellator = Tessellator.instance;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 1);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
UtilsFX.bindTexture("thaumichorizons", "textures/misc/soul.png");
|
||||
final int i = entity.ticksExisted % 16;
|
||||
final float x2 = i / this.size1;
|
||||
final float x3 = (i + 1) / this.size1;
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setBrightness(240);
|
||||
tessellator.addVertexWithUV((double)(f7 - f1 * f6 - f4 * f6), (double)(f8 - f2 * f6), (double)(f9 - f3 * f6 - f5 * f6), (double)x3, 0.0);
|
||||
tessellator.addVertexWithUV((double)(f7 - f1 * f6 + f4 * f6), (double)(f8 + f2 * f6), (double)(f9 - f3 * f6 + f5 * f6), (double)x3, 1.0);
|
||||
tessellator.addVertexWithUV((double)(f7 + f1 * f6 + f4 * f6), (double)(f8 + f2 * f6), (double)(f9 + f3 * f6 + f5 * f6), (double)x2, 1.0);
|
||||
tessellator.addVertexWithUV((double)(f7 + f1 * f6 - f4 * f6), (double)(f8 - f2 * f6), (double)(f9 + f3 * f6 - f5 * f6), (double)x2, 0.0);
|
||||
tessellator.addVertexWithUV(f7 - f1 * f6 - f4 * f6, f8 - f2 * f6, f9 - f3 * f6 - f5 * f6, x3, 0.0);
|
||||
tessellator.addVertexWithUV(f7 - f1 * f6 + f4 * f6, f8 + f2 * f6, f9 - f3 * f6 + f5 * f6, x3, 1.0);
|
||||
tessellator.addVertexWithUV(f7 + f1 * f6 + f4 * f6, f8 + f2 * f6, f9 + f3 * f6 + f5 * f6, x2, 1.0);
|
||||
tessellator.addVertexWithUV(f7 + f1 * f6 - f4 * f6, f8 - f2 * f6, f9 + f3 * f6 - f5 * f6, x2, 0.0);
|
||||
tessellator.draw();
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void doRender(final Entity entity, final double d, final double d1, final double d2, final float f, final float f1) {
|
||||
|
||||
public void doRender(final Entity entity, final double d, final double d1, final double d2, final float f,
|
||||
final float f1) {
|
||||
if (this.size1 == 0) {
|
||||
this.size1 = 16;
|
||||
}
|
||||
this.renderEntityAt(entity, d, d1, d2, f, f1);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity entity) {
|
||||
return AbstractClientPlayer.locationStevePng;
|
||||
}
|
||||
|
||||
+20
-18
@@ -1,37 +1,39 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySyringe;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.entity.Entity;
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelSyringe;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.client.renderer.model.ModelSyringe;
|
||||
import com.kentington.thaumichorizons.common.entities.EntitySyringe;
|
||||
|
||||
public class RenderSyringe extends Render {
|
||||
|
||||
private final ModelSyringe model;
|
||||
|
||||
public class RenderSyringe extends Render
|
||||
{
|
||||
private ModelSyringe model;
|
||||
|
||||
public RenderSyringe() {
|
||||
this.shadowSize = 0.0f;
|
||||
this.model = new ModelSyringe();
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final Entity p_110775_1_) {
|
||||
return new ResourceLocation("thaumichorizons", "textures/models/syringe.png");
|
||||
}
|
||||
|
||||
public void doRender(final Entity ent, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
if (ent instanceof EntitySyringe) {
|
||||
final EntitySyringe syringe = (EntitySyringe)ent;
|
||||
|
||||
public void doRender(final Entity ent, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_,
|
||||
final float p_76986_8_, final float p_76986_9_) {
|
||||
if (ent instanceof final EntitySyringe syringe) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
|
||||
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
|
||||
GL11.glRotatef(syringe.rotationYaw + 90.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glRotatef(-syringe.rotationPitch, 0.0f, 0.0f, 1.0f);
|
||||
this.bindEntityTexture((Entity)syringe);
|
||||
this.bindEntityTexture(syringe);
|
||||
this.model.render(syringe, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0625f, null);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
+62
-49
@@ -1,94 +1,107 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.client.renderer.entity.RenderPig;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.passive.EntityPig;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityTaintPig;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.client.renderers.tile.TileNodeRenderer;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityTaintPig;
|
||||
import net.minecraft.entity.passive.EntityPig;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderPig;
|
||||
|
||||
public class RenderTaintfeeder extends RenderPig
|
||||
{
|
||||
public class RenderTaintfeeder extends RenderPig {
|
||||
|
||||
private static final ResourceLocation pigTextures;
|
||||
private static final ResourceLocation pigEyesTextures;
|
||||
|
||||
|
||||
public RenderTaintfeeder(final ModelBase p_i1265_1_, final ModelBase p_i1265_2_, final float p_i1265_3_) {
|
||||
super(p_i1265_1_, p_i1265_2_, p_i1265_3_);
|
||||
}
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntityPig p_110775_1_) {
|
||||
return RenderTaintfeeder.pigTextures;
|
||||
}
|
||||
|
||||
public void doRender(final EntityTaintPig p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender((EntityLiving)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityTaintPig p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
super.doRender(p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 1);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glDisable(2884);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
final int i = p_76986_1_.ticksExisted % 32;
|
||||
UtilsFX.bindTexture(TileNodeRenderer.nodetex);
|
||||
UtilsFX.renderFacingStrip(p_76986_1_.posX, p_76986_1_.posY + p_76986_1_.height / 1.75, p_76986_1_.posZ, 0.0f, 2.0f, 1.0f, 32, 6, i, p_76986_9_, 11197951);
|
||||
GL11.glEnable(2884);
|
||||
UtilsFX.renderFacingStrip(
|
||||
p_76986_1_.posX,
|
||||
p_76986_1_.posY + p_76986_1_.height / 1.75,
|
||||
p_76986_1_.posZ,
|
||||
0.0f,
|
||||
2.0f,
|
||||
1.0f,
|
||||
32,
|
||||
6,
|
||||
i,
|
||||
p_76986_9_,
|
||||
11197951);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glDisable(3042);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityTaintPig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityTaintPig) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityTaintPig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityTaintPig) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityTaintPig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityTaintPig) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
|
||||
protected int shouldRenderPass(final EntityLivingBase p_77032_1_, final int p_77032_2_, final float p_77032_3_) {
|
||||
return this.shouldRenderPass((EntityTaintPig)p_77032_1_, p_77032_2_, p_77032_3_);
|
||||
return this.shouldRenderPass((EntityTaintPig) p_77032_1_, p_77032_2_, p_77032_3_);
|
||||
}
|
||||
|
||||
|
||||
protected int shouldRenderPass(final EntityTaintPig p_77032_1_, final int p_77032_2_, final float p_77032_3_) {
|
||||
if (p_77032_2_ != 0) {
|
||||
return -1;
|
||||
}
|
||||
final float f = (float)Math.sin(Math.toRadians(p_77032_1_.ticksExisted % 45) * 8.0);
|
||||
final float f = (float) Math.sin(Math.toRadians(p_77032_1_.ticksExisted % 45) * 8.0);
|
||||
this.bindTexture(RenderTaintfeeder.pigEyesTextures);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glDisable(3008);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
if (p_77032_1_.isInvisible()) {
|
||||
GL11.glDepthMask(false);
|
||||
}
|
||||
else {
|
||||
GL11.glDepthMask(true);
|
||||
}
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GL11.glDepthMask(!p_77032_1_.isInvisible());
|
||||
final char c0 = '\uf0f0';
|
||||
final int j = c0 % 65536;
|
||||
final int k = c0 / 65536;
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j / 1.0f, k / 1.0f);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j, k);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 0.32f + 0.32f * f);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
pigTextures = new ResourceLocation("thaumichorizons", "textures/entity/taintfeeder.png");
|
||||
pigEyesTextures = new ResourceLocation("thaumichorizons", "textures/entity/taintfeeder_eyes.png");
|
||||
|
||||
+8
-8
@@ -1,26 +1,26 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
import net.minecraft.entity.monster.EntitySlime;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.RenderSlime;
|
||||
|
||||
public class RenderVoltSlime extends RenderSlime
|
||||
{
|
||||
public class RenderVoltSlime extends RenderSlime {
|
||||
|
||||
private static final ResourceLocation slimeTextures;
|
||||
|
||||
|
||||
protected ResourceLocation getEntityTexture(final EntitySlime p_110775_1_) {
|
||||
return RenderVoltSlime.slimeTextures;
|
||||
}
|
||||
|
||||
|
||||
public RenderVoltSlime(final ModelBase p_i1267_1_, final ModelBase p_i1267_2_, final float p_i1267_3_) {
|
||||
super(p_i1267_1_, p_i1267_2_, p_i1267_3_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
slimeTextures = new ResourceLocation("thaumichorizons", "textures/entity/voltslime.png");
|
||||
}
|
||||
|
||||
+110
-87
@@ -1,49 +1,68 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.entity;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.client.renderers.tile.TileNodeRenderer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import java.util.HashMap;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import com.kentington.thaumichorizons.common.entities.EntityWizardCow;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.renderer.entity.RenderCow;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.kentington.thaumichorizons.common.entities.EntityWizardCow;
|
||||
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
import thaumcraft.api.nodes.NodeModifier;
|
||||
import thaumcraft.api.nodes.NodeType;
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
import java.util.HashMap;
|
||||
import net.minecraft.client.renderer.entity.RenderCow;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import thaumcraft.client.renderers.tile.TileNodeRenderer;
|
||||
|
||||
public class RenderWizardCow extends RenderCow {
|
||||
|
||||
public class RenderWizardCow extends RenderCow
|
||||
{
|
||||
public static HashMap<String, AspectList> cowAspects;
|
||||
public static HashMap<String, NodeType> cowTypes;
|
||||
public static HashMap<String, NodeModifier> cowMods;
|
||||
|
||||
|
||||
public RenderWizardCow(final ModelBase p_i1253_1_, final float p_i1253_2_) {
|
||||
super(p_i1253_1_, p_i1253_2_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityWizardCow p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 771);
|
||||
|
||||
public void doRender(final EntityWizardCow p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 0.5f);
|
||||
super.doRender((EntityLiving)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
super.doRender(p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
if (RenderWizardCow.cowAspects.containsKey(p_76986_1_.getUniqueID().toString())) {
|
||||
this.renderMyNode(p_76986_1_.posX, p_76986_1_.posY + p_76986_1_.height / 2.0f, p_76986_1_.posZ, Minecraft.getMinecraft().renderViewEntity, 32.0, true, true, 1.0f, p_76986_9_, RenderWizardCow.cowAspects.get(p_76986_1_.getUniqueID().toString()), RenderWizardCow.cowTypes.get(p_76986_1_.getUniqueID().toString()), RenderWizardCow.cowMods.get(p_76986_1_.getUniqueID().toString()));
|
||||
this.renderMyNode(
|
||||
p_76986_1_.posX,
|
||||
p_76986_1_.posY + p_76986_1_.height / 2.0f,
|
||||
p_76986_1_.posZ,
|
||||
Minecraft.getMinecraft().renderViewEntity,
|
||||
32.0,
|
||||
true,
|
||||
true,
|
||||
1.0f,
|
||||
p_76986_9_,
|
||||
RenderWizardCow.cowAspects.get(p_76986_1_.getUniqueID().toString()),
|
||||
RenderWizardCow.cowTypes.get(p_76986_1_.getUniqueID().toString()),
|
||||
RenderWizardCow.cowMods.get(p_76986_1_.getUniqueID().toString()));
|
||||
}
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
}
|
||||
|
||||
public void renderMyNode(final double x, final double y, final double z, final EntityLivingBase viewer, final double viewDistance, final boolean visible, final boolean depthIgnore, final float size, final float partialTicks, final AspectList aspects, final NodeType type, final NodeModifier mod) {
|
||||
|
||||
public void renderMyNode(final double x, final double y, final double z, final EntityLivingBase viewer,
|
||||
final double viewDistance, final boolean visible, final boolean depthIgnore, final float size,
|
||||
final float partialTicks, final AspectList aspects, final NodeType type, final NodeModifier mod) {
|
||||
final long nt = System.nanoTime();
|
||||
UtilsFX.bindTexture(TileNodeRenderer.nodetex);
|
||||
final int frames = 32;
|
||||
@@ -52,36 +71,33 @@ public class RenderWizardCow extends RenderCow
|
||||
if (distance > viewDistance) {
|
||||
return;
|
||||
}
|
||||
float alpha = (float)((viewDistance - distance) / viewDistance);
|
||||
float alpha = (float) ((viewDistance - distance) / viewDistance);
|
||||
if (mod != null) {
|
||||
switch (mod) {
|
||||
case BRIGHT: {
|
||||
case BRIGHT -> {
|
||||
alpha *= 1.5f;
|
||||
break;
|
||||
}
|
||||
case PALE: {
|
||||
case PALE -> {
|
||||
alpha *= 0.66f;
|
||||
break;
|
||||
}
|
||||
case FADING: {
|
||||
case FADING -> {
|
||||
alpha *= MathHelper.sin(viewer.ticksExisted / 3.0f) * 0.25f + 0.33f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
GL11.glPushMatrix();
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glDepthMask(false);
|
||||
if (depthIgnore) {
|
||||
GL11.glDisable(2929);
|
||||
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||
}
|
||||
GL11.glDisable(2884);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
final long time = nt / 5000000L;
|
||||
final float bscale = 0.25f;
|
||||
GL11.glPushMatrix();
|
||||
final float rad = 6.283186f;
|
||||
final float rad = ((float) Math.PI * 2F);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, alpha);
|
||||
int i = (int)((nt / 40000000L + x) % frames);
|
||||
int i = (int) ((nt / 40000000L + x) % frames);
|
||||
int count = 0;
|
||||
float scale = 0.0f;
|
||||
float angle = 0.0f;
|
||||
@@ -92,14 +108,25 @@ public class RenderWizardCow extends RenderCow
|
||||
}
|
||||
average += aspects.getAmount(aspect);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, aspect.getBlend());
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, aspect.getBlend());
|
||||
scale = MathHelper.sin(viewer.ticksExisted / (14.0f - count)) * bscale + bscale * 2.0f;
|
||||
scale = 0.2f + scale * (aspects.getAmount(aspect) / 50.0f);
|
||||
scale *= size;
|
||||
angle = time % (5000 + 500 * count) / (5000.0f + 500 * count) * rad;
|
||||
UtilsFX.renderFacingStrip(x, y, z, angle, scale, alpha / Math.max(1.0f, aspects.size() / 2.0f), frames, 0, i, partialTicks, aspect.getColor());
|
||||
GL11.glDisable(3042);
|
||||
UtilsFX.renderFacingStrip(
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
angle,
|
||||
scale,
|
||||
alpha / Math.max(1.0f, aspects.size() / 2.0f),
|
||||
frames,
|
||||
0,
|
||||
i,
|
||||
partialTicks,
|
||||
aspect.getColor());
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
++count;
|
||||
if (aspect.getBlend() == 771) {
|
||||
@@ -108,88 +135,84 @@ public class RenderWizardCow extends RenderCow
|
||||
}
|
||||
average /= aspects.size();
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(3042);
|
||||
i = (int)((nt / 40000000L + x) % frames);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
i = (int) ((nt / 40000000L + x) % frames);
|
||||
scale = 0.1f + average / 150.0f;
|
||||
scale *= size;
|
||||
int strip = 1;
|
||||
switch (type) {
|
||||
case NORMAL: {
|
||||
GL11.glBlendFunc(770, 1);
|
||||
break;
|
||||
case NORMAL -> {
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
}
|
||||
case UNSTABLE: {
|
||||
GL11.glBlendFunc(770, 1);
|
||||
case UNSTABLE -> {
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
strip = 6;
|
||||
angle = 0.0f;
|
||||
break;
|
||||
}
|
||||
case DARK: {
|
||||
GL11.glBlendFunc(770, 771);
|
||||
case DARK -> {
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
strip = 2;
|
||||
break;
|
||||
}
|
||||
case TAINTED: {
|
||||
GL11.glBlendFunc(770, 771);
|
||||
case TAINTED -> {
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
strip = 5;
|
||||
break;
|
||||
}
|
||||
case HUNGRY: {
|
||||
GL11.glBlendFunc(770, 1);
|
||||
case HUNGRY -> {
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
strip = 4;
|
||||
break;
|
||||
}
|
||||
case PURE: {
|
||||
case PURE -> {
|
||||
scale *= 0.75f;
|
||||
GL11.glBlendFunc(770, 1);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
strip = 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
GL11.glColor4f(1.0f, 0.0f, 1.0f, alpha);
|
||||
UtilsFX.renderFacingStrip(x, y, z, angle, scale, alpha, frames, strip, i, partialTicks, 16777215);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPopMatrix();
|
||||
GL11.glEnable(2884);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
if (depthIgnore) {
|
||||
GL11.glEnable(2929);
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
}
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glAlphaFunc(516, 0.003921569f);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, 1);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569f);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
GL11.glDepthMask(false);
|
||||
final int j = (int)((nt / 40000000L + x) % frames);
|
||||
final int j = (int) ((nt / 40000000L + x) % frames);
|
||||
GL11.glColor4f(1.0f, 0.0f, 1.0f, 0.1f);
|
||||
UtilsFX.renderFacingStrip(x, y, z, 0.0f, 0.5f, 0.1f, frames, 1, j, partialTicks, 16777215);
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glDisable(3042);
|
||||
GL11.glAlphaFunc(516, 0.1f);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityWizardCow)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final Entity p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityWizardCow) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityWizardCow)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLiving p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityWizardCow) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_, final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityWizardCow)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
|
||||
public void doRender(final EntityLivingBase p_76986_1_, final double p_76986_2_, final double p_76986_4_,
|
||||
final double p_76986_6_, final float p_76986_8_, final float p_76986_9_) {
|
||||
this.doRender((EntityWizardCow) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
RenderWizardCow.cowAspects = new HashMap<String, AspectList>();
|
||||
RenderWizardCow.cowTypes = new HashMap<String, NodeType>();
|
||||
RenderWizardCow.cowMods = new HashMap<String, NodeModifier>();
|
||||
RenderWizardCow.cowAspects = new HashMap<>();
|
||||
RenderWizardCow.cowTypes = new HashMap<>();
|
||||
RenderWizardCow.cowMods = new HashMap<>();
|
||||
}
|
||||
}
|
||||
+21
-21
@@ -1,37 +1,39 @@
|
||||
//
|
||||
//
|
||||
// Decompiled by Procyon v0.5.30
|
||||
//
|
||||
//
|
||||
|
||||
package com.kentington.thaumichorizons.client.renderer.item;
|
||||
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class ItemCorpseEffigyRender implements IItemRenderer
|
||||
{
|
||||
private ModelBiped corpse;
|
||||
private String tx1;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import thaumcraft.client.lib.UtilsFX;
|
||||
|
||||
public class ItemCorpseEffigyRender implements IItemRenderer {
|
||||
|
||||
private final ModelBiped corpse;
|
||||
private final String tx1;
|
||||
|
||||
public ItemCorpseEffigyRender() {
|
||||
this.corpse = new ModelBiped();
|
||||
this.tx1 = "textures/models/corpseeffigy.png";
|
||||
}
|
||||
|
||||
|
||||
public boolean handleRenderType(final ItemStack item, final IItemRenderer.ItemRenderType type) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean shouldUseRenderHelper(final IItemRenderer.ItemRenderType type, final ItemStack item, final IItemRenderer.ItemRendererHelper helper) {
|
||||
|
||||
public boolean shouldUseRenderHelper(final IItemRenderer.ItemRenderType type, final ItemStack item,
|
||||
final IItemRenderer.ItemRendererHelper helper) {
|
||||
return helper != IItemRenderer.ItemRendererHelper.BLOCK_3D;
|
||||
}
|
||||
|
||||
|
||||
public void renderItem(final IItemRenderer.ItemRenderType type, final ItemStack item, final Object... data) {
|
||||
final ItemRenderer ir = RenderManager.instance.itemRenderer;
|
||||
GL11.glPushMatrix();
|
||||
@@ -40,18 +42,16 @@ public class ItemCorpseEffigyRender implements IItemRenderer
|
||||
if (type != IItemRenderer.ItemRenderType.INVENTORY) {
|
||||
if (type == IItemRenderer.ItemRenderType.ENTITY) {
|
||||
GL11.glTranslated(0.0, -3.0, 0.0);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
GL11.glScalef(0.5f, 0.5f, 0.5f);
|
||||
GL11.glTranslated(-1.0, -4.0, -1.0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
GL11.glTranslated(0.0, -0.9, 0.0);
|
||||
GL11.glScalef(0.5f, 0.5f, 0.5f);
|
||||
}
|
||||
UtilsFX.bindTexture(new ResourceLocation("thaumichorizons", this.tx1));
|
||||
this.corpse.render((Entity)null, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.125f);
|
||||
this.corpse.render(null, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.125f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
Loaded 100 of 650 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user