Compare commits

..
119 Commits
Author SHA1 Message Date
Sunnyandboubou19 cdc57215e3 Fix blurriness and flickering caused by PlacedItem list caching by removing it (#112)
Co-authored-by: boubou19 <miisterunknown@gmail.com>
2026-10-25 09:11:47 +00:00
Marlo Greisser 9f42531f37 Solegnolia applies to dislocators (#114) 2026-10-04 16:00:00 +02:00
boubou19andUltraProdigy 95453b430e avoid global resource refresh when downloading the missing assets (#111)
Co-authored-by: UltraProdigy <187078471+UltraProdigy@users.noreply.github.com>
2026-08-17 05:59:32 +00:00
boubou19andgithub-actions[bot] 3635266bd5 Cache enum .values() (#109)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-10 21:05:47 +02:00
boubou19 fedee1ba43 Reduce render load of DE placed items (#108) 2026-08-08 23:26:18 +02:00
Jason Mitchell 6f183b615e Move the bindTexture out of the display list (#107) 2026-07-16 11:14:38 -05:00
__felix__ 15b257d120 Add NHLib dep to @Mod (#104) 2026-07-10 07:19:34 +02:00
ABKQPO 4ead9f53fb fix shield hud and bow matching rules (#102) 2026-07-06 18:28:03 +02:00
Algent 305e09ae4f Add API to get nearby ChaosIsland coordinate (#103) 2026-06-08 16:06:52 +02:00
Alexdoru 9009b1372a prevent dedicated server crash (#100) 2026-05-05 03:51:45 -04:00
8dc27474ec Update zh-CN.lang (#83)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: Nana-Sakura <60061683+Nana-Sakura@users.noreply.github.com>
2026-05-01 10:59:25 +02:00
Martin Robertz 4c016707a4 update 2026-04-26 11:58:25 +02:00
Ranzu abbe4c1017 Localizaton of elements and gui adjustements (#96) 2026-04-26 11:55:15 +02:00
Alexdoru c067e59981 Properly use client / common proxies to fix memory leaks (#97) 2026-04-25 18:58:07 +02:00
Alexdoru 7f87295901 Avoid instantiating EntityItem in the render loop (#99) 2026-04-25 17:22:01 +02:00
Alexdoru e564437ed7 Add config to disable earth block (#98) 2026-04-24 13:47:53 +02:00
Martin Robertz f483529855 update+gradle+bs+deps 2026-04-03 16:14:33 +02:00
__felix__ da451de69f Add redstone + hopper automation (w/ XP jar draining) (#95) 2026-04-01 23:54:05 -04:00
UltraProdigy 8b8082cd7b Optimize Image & Workflow (#94) 2026-03-07 10:28:16 +01:00
92c2bacc74 Fix Draconic Armor offhand rendering (#88)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
2026-02-14 08:18:50 +00:00
7620d7ff02 BrandonCore deprecation (#86)
Co-authored-by: Connor Colenso <colen@CONNORSPC>
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
2026-02-14 01:57:20 -06:00
Zifan LiandRuling-0 bd995e6d5a Sync zh-CN.lang with ParaTranz project (#91)
Co-authored-by: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
2026-02-09 08:28:38 +01:00
Zifan Li 05ebbf6936 Fix lore formatting for wyvern and draconic items (#89) 2026-02-05 04:33:54 +00:00
Ruling-0 51b047c1eb Update Buildscript (#90) 2026-02-04 22:29:31 -06:00
Yurii 245b5c7b06 Fix nullPointerException (#87) 2026-01-30 07:37:05 +01:00
SuperSouprandSuper 7ada07b5ac Add block blacklist for magnets (#80)
Co-authored-by: Super <26164930+EmperorSuper@users.noreply.github.com>
2026-01-24 20:15:24 +01:00
StaffiXandgithub-actions[bot] 62e5e74f95 Update fuel usage config comment (#84)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-16 09:17:25 -06:00
Alexdoru 1517f9fdfb delete useless event registration (#82) 2025-12-11 06:58:18 +01:00
Alexdoru b433ac3c44 add missing enum switch case in ModHelper#getHazmatArmorConfigKey (#81) 2025-11-18 23:34:18 +00:00
0937d7b2d6 Changes for the ore refactor PR (#76)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-12 13:05:36 +00:00
Martin Robertz 99c3fb0b74 update 2025-10-01 19:18:44 +02:00
Martin Robertz 04c781df16 update 2025-09-20 16:11:05 +02:00
Worive 7fb5b8d3c7 fix(MiningTool): add support for silk touch enchantment (#78) 2025-09-19 06:56:52 +02:00
Martin Robertz 8fc59e271e update 2025-09-07 19:36:58 +02:00
Caedis 1ca5aff7d9 Block certain GT materials from being disenchanted (#77) 2025-09-07 14:11:33 -03:00
Martin Robertz 0e4101e4e5 update 2025-09-07 12:52:56 +02:00
Dream Master c21e389db2 update 2025-07-17 22:13:21 +07:00
Dream Master 499dca4a7b update 2025-07-17 22:12:49 +07:00
koolkrafter5 dd9d3146ec Replace CodeChickenLore dep (#75) 2025-07-16 23:35:59 +02:00
Martin Robertz 6bb77d71b9 update 2025-06-21 00:56:55 +02:00
1515ce27d1 Magnet attracts only if closest player, and toggleable self-drop pickup with Hodgepodge loaded (#70)
Co-authored-by: koolkrafter5 <creepersrgreen@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexdoru <57050655+Alexdoru@users.noreply.github.com>
2025-06-12 08:33:25 +02:00
Alexdoruandgithub-actions[bot] bc7929de29 Magnet improvements (#72)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-10 13:50:56 +02:00
Maya c8dcdce141 update 2025-05-26 09:42:16 -06:00
95a25957d4 Inhibitor improvements (#64)
Co-authored-by: Shadow1590 <>
Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com>
Co-authored-by: boubou19 <miisterunknown@gmail.com>
2025-05-26 09:41:12 -06:00
Martin Robertz d7d6c4e0c0 update 2025-05-12 09:23:53 +02:00
b0bc154516 Add more Draconic Reactor configuration, and allow fuel automation (#61)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com>
Co-authored-by: boubou19 <miisterunknown@gmail.com>
2025-05-11 20:14:29 +02:00
Martin Robertz 333fb4e274 update 2025-04-25 13:40:29 +02:00
__felix__and__felix__ 5e504c7c10 Fix gregtech loader checks, and change Optional hazmat decorators to check if gtnh's gt5 is loaded (#68)
Co-authored-by: __felix__ <134875831+48a3efa65c881ef567345b17f3910e06@users.noreply.github.com>
2025-04-24 19:16:11 +02:00
__felix__ b7bf08a178 Fix GT6 compat (runtime-only for now)
Actual fix for the optional compile-time interface will follow after resolving that whole discussion
2025-04-22 02:04:14 +02:00
Maya a671627f0b update 2025-04-21 03:24:16 -05:00
__felix__andMaya 40c064b8c7 add config options to weighting ore gen (#67)
Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com>
2025-04-21 08:24:07 +00:00
Maya 8e9e1e98d7 update 2025-04-09 00:26:02 -05:00
Niclas Klugmann a755869dbd Move Draconic/Wyvern armor to new GT Hazard API (#65) 2025-04-09 00:24:41 -05:00
Niclas Klugmann 0f3e15ce25 nicer German translations (#66) 2025-04-06 17:29:07 +02:00
Maya 18cda6a4ee update 2025-03-08 14:28:23 -06:00
YamiKami_Sama 565fc72d24 Fix OpenComputers component not properly loaded for Particle Generator (and probably other components) (#63) 2025-03-08 14:28:07 -06:00
Maya e039519acf update 2025-01-22 18:58:37 -06:00
Shadow1590 bf5f0bcb5b Add Dislocator Inhibitor (#60) 2025-01-22 18:56:34 -06:00
Martin Robertz 7bca3009b6 update 2025-01-17 12:10:15 +01:00
Ruling-0 f7cac98ad5 Fix Magnet pulling fake item entities (#59) 2025-01-17 00:08:37 -06:00
Dream Master 07ed88515e update 2025-01-15 12:29:22 +01:00
Kogepan229andMartin Robertz 46e5d8a785 More configurable Magnet (#57)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
2025-01-13 07:08:24 +00:00
Martin Robertz 2835b7a54e update 2024-12-31 14:46:23 +01:00
glowredman 2331e33ebb Add Localizations (#58) 2024-12-30 17:42:21 -06:00
Martin Robertz 1fa9420ec2 update 2024-12-27 10:07:48 +01:00
Wilhelm SchusterandMartin Robertz ee65279d0b Broaden support for mouse button keybinds (#56)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
2024-12-26 21:35:47 -06:00
Martin Robertz 8efee8630a update 2024-11-22 21:34:10 +01:00
Martin Robertz 740ceb9857 update 2024-10-25 16:06:36 +02:00
Alexdoru 041fefe81a remove bugged PlacedItem tile entities properly (#55) 2024-10-24 20:09:15 +02:00
Martin Robertz d829c2f95f update 2024-10-21 21:52:23 +02:00
Alexdoru 101a1d46a8 prevent creating a placed item tile entity if the associated item is null (#54) 2024-10-21 21:21:41 +02:00
Martin Robertz ab82b92ae2 update 2024-10-02 15:00:00 +02:00
Martin Robertz 7e69b4b728 Update dependencies.gradle 2024-10-02 06:40:34 +02:00
Alexdoru 69115e24dc Update baubles dep to the baubles extended mod (#53)
* move the Loader.ismoloaded call out of the References class to avoid class loading issues if that class is referenced too early

* update baubles dep to the new baubles mod
2024-10-01 21:34:47 +02:00
Martin Robertz 3e062858c8 update 2024-09-10 17:24:06 +02:00
Alexdoru ea03519563 rename GT reflected classes (#52) 2024-09-09 02:20:31 +02:00
Martin Robertz 9a0231257c update 2024-09-01 22:38:13 +02:00
Caedis 0b4a807bea Remove RenderHelper.disableStandardItemLighting() from RenderParticleGen (#51) 2024-09-01 16:17:02 +02:00
Dream Master 9780cd92b4 update
(cherry picked from commit 24166293d6)
2024-08-28 22:49:48 +02:00
Fabboz 8e8a3b2f64 Render Placed Item Fix (#50) 2024-08-27 18:34:40 +02:00
Dream Master 7691b37d60 update 2024-07-08 13:17:59 +07:00
meonester f0d331970f Magnet client-server desync fix. (#49)
While toggling magnet - item stack wasn't effectively updated in MagnetToggleAckPacket.Handler (only copy - i assume needed for GUI notification purpose - was synced with current state).
2024-07-06 12:57:11 +07:00
Martin Robertz 41b0e600fa update 2024-04-28 12:45:47 +02:00
Raven Szewczyk 8858c596fd Add a dimension whitelist setting for draconic ore (#48)
* Add a dimension whitelist setting for draconic ore

* Fix typo
2024-04-28 12:44:52 +02:00
Martin Robertz 6c48064031 update 2024-04-13 12:56:07 +02:00
NealDeal34 0bf760cca3 redirect the source URL to load images normally (#46) 2024-04-13 12:46:48 +02:00
Martin Robertz 76406d2d78 update 2024-03-23 12:21:47 +01:00
Quetz4l d71e388119 Item Dislocators will work from baubles slots (#47)
* Item Dislocators will work from baubles slots

* fix typo

* optional baubles
2024-03-23 10:53:14 +01:00
Martin Robertz 5252678a45 update 2024-02-18 12:57:44 +01:00
ghostflyby c4a653f187 Fix wrong encode in manual translation in manual-zh_CN.json (#45)
* Fix wrong encode in manual translation in manual-zh_CN.json
* Update manual-zh_CN.json
2024-02-18 19:43:24 +08:00
Raven Szewczyk 04cf0c0239 [ci skip] upgraded build system 2024-02-04 19:58:04 +00:00
Martin Robertz 565de0de03 update bs+deps 2024-01-28 21:40:45 +01:00
kamenskyi cac90210c3 Update manual-ru_RU.json (#44)
* Update manual-ru_RU.json

add ru manual lang file

* Update manual-ru_RU.json

fix ru mistakes
2024-01-28 21:37:22 +01:00
Martin Robertz c0a58239a5 update deps+bs 2024-01-12 00:18:23 +01:00
Raven Szewczyk a534ca2432 [ci skip] upgraded build system 2024-01-08 21:25:11 +00:00
Martin Robertz c7e5643fcd update gradle + deps + bs 2023-12-23 23:55:28 +01:00
kamenskyi 1d54fb5779 Update ru_RU.lang (#43)
* Update ru_RU.lang

add ru lang file

* Update ru_RU.lang

fix mistakes
2023-12-23 22:54:17 +01:00
Martin Robertz b2bc93ec18 update bs+deps 2023-11-11 12:13:39 +01:00
Pelotrio 2aad40ebe0 Make randomEntity a local field to prevent leaking the world also minor refactor 2023-11-10 18:12:41 -08:00
Martin Robertz 398786a179 sa+celanup wci 2023-10-24 13:03:11 +02:00
Martin Robertz 1ed0354744 update bs+deps+gradle 2023-10-24 12:43:56 +02:00
Spacebuilder2020 17c352895c Add Missing helper methods... 2023-10-23 19:52:21 -07:00
Spacebuilder2020 65490f6c83 Attempt to fix build error by copying updated gradle script from https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/build.gradle#L629 2023-10-23 19:52:21 -07:00
Spacebuilder2020 0da29db9be Replace all references of blockType with getBlockType to fix NPE downstream 2023-10-23 19:52:21 -07:00
miozune f54c69738e Minor cleanup (#40)
* Remove WorldGenChaosIsland

* Update dependencies to use NH variant of BrandonsCore

* Remove update checker
2023-06-15 22:46:41 +02:00
Alexander Anishin adf73c81f4 Code cleanup (#39)
* Updated build script and dependencies

* Optimized Energy Pylon

* Changed names of few variables

* Started optimizing Energy Storage Core

* Optimized Invisible Multiblock

* Fixed Energy Pylon state update logic

* Round 2 of Energy Storage Core optimization

* Finished optimization of Energy Storage Core

* Cleared method from duplicate code

* Cleaned up Particle Generator code

* Optimized Dislocator Receptacle

* Cleaned up Portal code

* Cleaned up code of PortalHelper

* Changed Reactor Part interface

* Optimized Reactor Energy Injector

* Optimized Reactor Stabilizer

* Stage 1 of Reactor Core refactoring

* Cleaned up Reactor Container code

Fixed bug that allowed to dupe awakened draconium and chaos shards

* Cleaned up Reactor GUI code

* Removed unnecessary checks in GUI Handler

* Removed unnecessary revalidation of reactor structure

* Migrate Reactor Energy Injector to Forge Direction

* Migrate Reactor Stabilizer to Forge Direction

* Introduced Comparator Mode enumeration

* Migrated Reactor Energy Injector and Stabilizer to use ComparatorMode

* Migrated Reactor Core to use ReactorState enumeration

* Clean up Particle Reactor Beam

* Remove stale todo lists

* Renamed several member for clarity

* Cleaned code of Energy Pylon render

* Cleaned up code of Player Detector

* Cleaned up code of Advanced Player Detector

* Cleaned up GUI and Container of Advanced Player Detector

* Removed unnecessary block update

* Removed unnecessary block updates from Creative Keystone and other blocks

* Changed naming style of fields of Particle Generator to camel case

* Cleaned up code of Particle Generator GUI

* Updated build script

* Implemented missing interface for Tile Entity providers

* Fixed range of property of Particle Generator

* Addressed pull request issues

* Added missing localization items for Particle Generator

* And this one too

* Updated switch statements to use new syntax
2023-06-15 19:09:42 +02:00
Martin Robertz 276b17fc9d update dep 2023-05-08 18:23:44 +02:00
Martin Robertz 7ab6b187c1 update bs+sa 2023-05-08 18:22:07 +02:00
LewisSaber e96dc8d558 Consume 64 ender pearls at once (#36)
* Consume 64 ender pearls at once

* Blue Da Ba Dee
2023-02-23 19:31:27 +01:00
Alexdoru 7286d30c26 stop registering recipes if Dreamcraft is present (#35) 2023-02-21 13:18:05 +00:00
Zereff06 6986bbcf0e add vis discount/warp to armor (#34)
+ 15 vis discount to draconic armor
+ 10 vis discount and 5 warp to wyvern armor

Draconic/Wyvern armor through and through consists of magic (ichorium and BM armor)! Vis discount time !
2023-02-13 21:54:45 +01:00
Tom Powell 089a43ce68 Add config option item dislocator sound (#33)
* Add config option item dislocator sound

Backport of upstream https://github.com/Draconic-Inc/Draconic-Evolution/commit/4570abbc71c720940493dd0cfdcc20e59b24fb5a

When combined with the voiding drop filter, the item dislocator plays
a sound for every single item in a stack picked up. This adds a config
option to disable the sound entirely
2023-02-05 22:38:36 +01:00
Alexdoru 165cc7e77d resolve conflict with other keybinds (#32) 2023-02-05 16:57:30 +01:00
Raven Szewczyk 508fced1ae [ci skip] upgraded build system 2023-01-31 09:52:21 +00:00
Jason Mitchell 335927954f [ci skip] Add git-blame-ignore-revs for spotlessApply 2023-01-28 18:59:08 -08:00
Jason Mitchell eba5e16f16 [ci skip] spotlessApply with the new settings 2023-01-28 18:59:08 -08:00
Jason Mitchell be1f68f9c8 [ci skip] Update buildscript to RetroFuturaGradle 2023-01-28 18:58:34 -08:00
Alexdoru a8c12123e9 Keybinds (#31)
* unbind some keybinds by default

* wrap if statements

* use resolution of the event instead of creating new one
2023-01-27 20:52:45 +01:00
Connor-ColensoandGTNH-Colen 9bb9bf4fd7 Add an Earth block (#30)
* Add Earth tile

* Fix

* Fix NBT saving issue

* Inventory item render

* Spotless nonsense

* Fix buildscript maybe?

Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2023-01-04 17:19:18 +01:00
665 changed files with 23197 additions and 18336 deletions

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
# Ignore spotlessApply reformat
eba5e16f166817931ec95948a8938cc9c4fdc722
+17
View File
@@ -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
+1
View File
@@ -29,3 +29,4 @@ src/main/resources/mixins.*.json
*.bat
*.DS_Store
!gradlew.bat
layout.json
+2 -1124
View File
File diff suppressed because it is too large. Load diff
+17 -25
View File
@@ -1,31 +1,23 @@
// Add your dependencies here
dependencies {
compile("curse.maven:brandons-core-231382:2297163")
api("curse.maven:cofh-lib-220333:2388748")
api("com.github.GTNewHorizons:GTNHLib:0.9.53:dev")
compileOnly("com.github.GTNewHorizons:ForestryMC:4.4.5:api") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:OpenComputers:1.7.5.20-GTNH:api") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.2.3-GTNH:dev") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:CodeChickenLib:1.1.5.1:dev") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:inventory-tweaks:1.5.13:dev") {
transitive = false
}
compileOnly("com.github.GTNewHorizons:ForestryMC:4.11.14:api") {transitive = false}
compileOnly("com.github.GTNewHorizons:OpenComputers:1.12.38-GTNH:api") {transitive = false}
compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.8.93-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:CodeChickenCore:1.4.12:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:inventory-tweaks:1.7.1:dev") {transitive = false}
compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.11-GTNH:dev') {transitive = false}
compileOnly("com.github.GTNewHorizons:Botania:1.13.36-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.461:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:Backhand:1.8.8:dev") {transitive = false}
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") {
transitive = false
}
compileOnly("curse.maven:computercraft-67504:2269339") {
transitive = false
}
compileOnly("curse.maven:cofh-lib-220333:2388748") {
transitive = false
}
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") {transitive = false}
compileOnly("curse.maven:computercraft-67504:2269339") {transitive = false}
compileOnly('curse.maven:automagy-222153:2285272')
compileOnly('com.github.GTNewHorizons:EnderIO:2.10.25:dev')
runtimeOnly("com.github.GTNewHorizons:NotEnoughItems:2.8.118-GTNH:dev")
}
+204 -25
View File
@@ -1,64 +1,243 @@
# 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 = Draconic Evolution
# This is a case-sensitive string to identify your mod. Convention is to use lower case.
# Case-sensitive identifier string, available for mcmod.info population and used for automatic mixin JSON generation.
# Conventionally lowercase.
modId = DraconicEvolution
# Root package of the mod, used to find various classes in other properties,
# mcmod.info substitution, enabling assertions in run tasks, etc.
modGroup = com.brandon3055.draconicevolution
# WHY is there no version field?
# The build script relies on git to provide a version via tags. It is super easy and will enable you to always know the
# code base or your binary. Check out this tutorial: https://blog.mattclemente.com/2017/10/13/versioning-with-git-tags/
# Whether to use modGroup as the maven publishing group.
# When false, com.github.GTNewHorizons is used.
useModGroupForPublishing = false
# Will update your build.gradle automatically whenever an update is available
# 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
# Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you
# restart Minecraft in development. Choose this dependent on your mod:
# Do you need consistent player progressing (for example Thaumcraft)? -> Select a name
# Do you need to test how your custom blocks interacts with a player that is not the owner? -> leave name empty
# 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
# Define a source file of your project with:
# 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 = false
# 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 = com.brandon3055.draconicevolution.DETags
# Name of the token containing the project's current version to generate/replace.
gradleTokenVersion = 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 = VersionHandler.java
gradleTokenModId =
gradleTokenModName =
gradleTokenVersion = GRADLETOKEN_VERSION
gradleTokenGroupName =
# version in @Mod([...], version = VERSION, [...]).
# Leave these properties empty to skip individual token replacements.
replaceGradleTokenInFile =
# 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
# Example value: (apiPackage = api) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.api
apiPackage = api
# Specify the configuration file for Forge's access transformers here. I must be placed into /src/main/resources/META-INF/
# Example value: mymodid_at.cfg
# 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. You may only place Mixins in this package or the build will fail!
# 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
# 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
# If enabled, you may use 'shadowImplementation' for dependencies. They will be integrated in your jar. It is your
# responsibility check the licence and request permission for distribution, if required.
# 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
# Optional parameter to customize the produced artifacts. Use this to preserver artifact naming when migrating older
# 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 =
# 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 =
# Comma-separated supported CurseForge environments: client, server (case-insensitive).
# Use client or server for mods that only support one environment. Defaults to client,server.
# These tags describe where the mod can run, not whether installation is required on both sides.
curseForgeEnvironments = client,server
# 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 =
# 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 = Draconic-Evolution
# 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
+12
View File
@@ -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
Binary file not shown.
+3 -1
View File
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored
+178 -118
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env sh
#!/bin/sh
#
# Copyright 2015 the original author or authors.
# 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.
@@ -15,80 +15,114 @@
# 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='"-Xmx64m" "-Xms64m"'
# 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
@@ -97,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 or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; 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
+27 -34
View File
@@ -13,8 +13,10 @@
@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
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -25,10 +27,14 @@
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="-Xmx64m" "-Xms64m"
@@ -37,13 +43,13 @@ 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
@@ -51,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
-10
View File
@@ -1,14 +1,4 @@
// Add any additional repositories for your dependencies here
repositories {
maven {
name = "GTNH Maven"
url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/"
}
maven {
url "https://cursemaven.com"
}
maven {
url = "https://jitpack.io"
}
}
+19 -6
View File
@@ -1,10 +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.diffplug.blowdryerSetup' version '1.6.0'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.34'
}
apply plugin: 'com.diffplug.blowdryerSetup'
blowdryerSetup {
github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4')
//devLocal '.' // Use this when testing config updates locally
}
@@ -1,19 +1,24 @@
package com.brandon3055.draconicevolution;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import com.brandon3055.draconicevolution.client.ClientProxy;
import com.brandon3055.draconicevolution.client.creativetab.DETab;
import com.brandon3055.draconicevolution.common.CommonProxy;
import com.brandon3055.draconicevolution.common.lib.OreDoublingRegistry;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStoppedEvent;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
@Mod(
modid = References.MODID,
@@ -23,19 +28,26 @@ import net.minecraft.enchantment.Enchantment;
guiFactory = References.GUIFACTORY,
dependencies = "after:NotEnoughItems;" + "after:ThermalExpansion;"
+ "after:ThermalFoundation;"
+ "required-after:BrandonsCore@[1.0.0.11,);")
+ "required-after:gtnhlib@[0.9.47,);")
public class DraconicEvolution {
@Mod.Instance(References.MODID)
public static DraconicEvolution instance;
@SidedProxy(clientSide = References.CLIENTPROXYLOCATION, serverSide = References.SERVERPROXYLOCATION)
@SidedProxy(
clientSide = "com.brandon3055.draconicevolution.client.ClientProxy",
serverSide = "com.brandon3055.draconicevolution.common.CommonProxy")
public static CommonProxy proxy;
public static CreativeTabs tabToolsWeapons =
new DETab(CreativeTabs.getNextID(), References.MODID, "toolsAndWeapons", 0);
public static CreativeTabs tabBlocksItems =
new DETab(CreativeTabs.getNextID(), References.MODID, "blocksAndItems", 1);
public static CreativeTabs tabToolsWeapons = new DETab(
CreativeTabs.getNextID(),
References.MODID,
"toolsAndWeapons",
0);
public static CreativeTabs tabBlocksItems = new DETab(
CreativeTabs.getNextID(),
References.MODID,
"blocksAndItems",
1);
public static final String networkChannelName = "DEvolutionNC";
public static SimpleNetworkWrapper network;
@@ -44,22 +56,23 @@ public class DraconicEvolution {
public static Enchantment reaperEnchant;
public static final boolean isAutomagyLoaded = Loader.isModLoaded("Automagy");
public static final boolean isEioLoaded = Loader.isModLoaded("EnderIO");
public DraconicEvolution() {
LogHelper.info("Hello Minecraft!!!");
}
public static ClientProxy clientProxy() {
if (proxy.isClient()) {
return ((ClientProxy) proxy);
}
throw new IllegalStateException("Accessed ClientProxy from dedicated server");
}
@Mod.EventHandler
public static void preInit(final FMLPreInitializationEvent event) {
if (debug) LogHelper.info("Initialization");
// event.getModMetadata().autogenerated = false;
// event.getModMetadata().credits = "";
// event.getModMetadata().description = "This is a mod originally made for the Tolkiencraft mod pack";
// event.getModMetadata().authorList = Arrays.asList("brandon3055");
// event.getModMetadata().logoFile = "banner.png";
// event.getModMetadata().url = "http://www.brandon3055.com/";
// event.getModMetadata().version = References.VERSION + "-MC1.7.10";
proxy.preInit(event);
}
@@ -67,20 +80,20 @@ public class DraconicEvolution {
public void init(final FMLInitializationEvent event) {
if (debug) System.out.println("init()");
proxy.init(event);
// ===
// ===
}
@Mod.EventHandler
public void postInit(final FMLPostInitializationEvent event) {
if (debug) System.out.println("postInit()");
proxy.postInit(event);
}
// FMLInterModComms.sendMessage("DraconicEvolution", "addChestRecipe:item.coal", new ItemStack(Items.diamond, 2));
@Mod.EventHandler
public void onServerStopped(final FMLServerStoppedEvent event) {
if (debug) System.out.println("onServerStopped()");
proxy.onServerStopped(event);
}
@Mod.EventHandler
public void processMessage(FMLInterModComms.IMCEvent event) {
for (FMLInterModComms.IMCMessage m : event.getMessages()) {
@@ -1,12 +1,18 @@
package com.brandon3055.draconicevolution.api;
import com.brandon3055.brandonscore.common.utills.DataUtills;
import java.util.Random;
import javax.annotation.Nullable;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.utils.DataUtils;
import com.brandon3055.draconicevolution.common.world.ChaosWorldGenHandler;
import com.brandon3055.draconicevolution.common.world.DraconicWorldGenerator;
import com.brandon3055.draconicevolution.common.world.WorldGenEnderComet;
import com.brandon3055.draconicevolution.common.world.WorldGenEnderIsland;
import java.util.Random;
import net.minecraft.world.World;
/**
* Created by Brandon on 11/7/2015.
@@ -29,9 +35,9 @@ public class GeneratorOverride {
}
/**
* This can be used to generate a chaos island at a given set of coordinates
* This method needs to be called foe every chunk in a 360 x 360 block area.
* Its ok to run it on a larger area it just wont do anything to chunks outside that area.
* This can be used to generate a chaos island at a given set of coordinates This method needs to be called foe
* every chunk in a 360 x 360 block area. Its ok to run it on a larger area it just wont do anything to chunks
* outside that area.
*
* @param chunkX the x pos of the chunk being generated (this is the xCoord divided by 16 not the xCoord itself)
* @param chunkZ the z pos of the chunk being generated (this is the zCoord divided by 16 not the zCoord itself)
@@ -39,10 +45,10 @@ public class GeneratorOverride {
* @param centerZ this should be the center of the area you are spawning the island it (this is the actual zCoord)
* @param random a random
*/
public static void generateChaosChunk(
World world, int chunkX, int chunkZ, int centerX, int centerZ, Random random) {
ChaosWorldGenHandler.generateChunk(
world, chunkX, chunkZ, new DataUtills.XZPair<Integer, Integer>(centerX, centerZ), random);
public static void generateChaosChunk(World world, int chunkX, int chunkZ, int centerX, int centerZ,
Random random) {
ChaosWorldGenHandler
.generateChunk(world, chunkX, chunkZ, new DataUtils.XZPair<Integer, Integer>(centerX, centerZ), random);
}
/**
@@ -65,4 +71,25 @@ public class GeneratorOverride {
public static void setOreEnabledInEnd(boolean cometsEnabled) {
DraconicWorldGenerator.oreEnabledInEnd = cometsEnabled;
}
/**
* Returns coordinates of the nearest chaos island for the given chunk, or {@code null}
* <p>
* This is for mods who need to know where chaos islands generate, for example to avoid overlapping their own world
* features.
*
* @param chunkX chunk X position
* @param chunkZ chunk Z position
* @return Chaos Island Center coordinates, or {@code null} if none generates for that cell
*/
public static @Nullable ChunkCoordinates getNearestChaosIslandCenter(int chunkX, int chunkZ) {
if (!DraconicWorldGenerator.chaosIslandsEnabled || !ConfigHandler.generateChaosIslands) return null;
DataUtils.XZPair<Integer, Integer> center = ChaosWorldGenHandler.getClosestChaosSpawn(chunkX, chunkZ);
// tHe island in (0, 0) is never generated
if (center.x == 0 && center.z == 0) return null;
return new ChunkCoordinates(center.x, 80, center.z);
}
}
@@ -4,6 +4,7 @@ package com.brandon3055.draconicevolution.api;
* Created by Brandon on 6/03/2015.
*/
public interface IExtendedRFStorage {
/**
* I will probably leave these here forever but i highly recommend switching as i may remove then at some point.
*/
@@ -1,28 +1,100 @@
package com.brandon3055.draconicevolution.client;
import static com.brandon3055.draconicevolution.integration.nei.IMCForNEI.IMCSender;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.ISound;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.WorldEvent;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.handler.ClientEventHandler;
import com.brandon3055.draconicevolution.client.handler.HudHandler;
import com.brandon3055.draconicevolution.client.handler.ItemDisplayManager;
import com.brandon3055.draconicevolution.client.handler.ParticleHandler;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.keybinding.KeyBindings;
import com.brandon3055.draconicevolution.client.handler.ShieldRenderHandler;
import com.brandon3055.draconicevolution.client.keybinding.KeyInputHandler;
import com.brandon3055.draconicevolution.client.render.IRenderTweak;
import com.brandon3055.draconicevolution.client.render.block.*;
import com.brandon3055.draconicevolution.client.render.entity.*;
import com.brandon3055.draconicevolution.client.render.item.*;
import com.brandon3055.draconicevolution.client.render.block.RenderCrystal;
import com.brandon3055.draconicevolution.client.render.block.RenderDraconiumChest;
import com.brandon3055.draconicevolution.client.render.block.RenderEarthItem;
import com.brandon3055.draconicevolution.client.render.block.RenderEnergyInfuser;
import com.brandon3055.draconicevolution.client.render.block.RenderParticleGen;
import com.brandon3055.draconicevolution.client.render.block.RenderPortal;
import com.brandon3055.draconicevolution.client.render.block.RenderReactorCore;
import com.brandon3055.draconicevolution.client.render.block.RenderReactorEnergyInjector;
import com.brandon3055.draconicevolution.client.render.block.RenderReactorStabilizer;
import com.brandon3055.draconicevolution.client.render.block.RenderTeleporterStand;
import com.brandon3055.draconicevolution.client.render.block.RenderUpgradeModifier;
import com.brandon3055.draconicevolution.client.render.entity.RenderChaosCrystal;
import com.brandon3055.draconicevolution.client.render.entity.RenderDragon;
import com.brandon3055.draconicevolution.client.render.entity.RenderDragonHeart;
import com.brandon3055.draconicevolution.client.render.entity.RenderDragonProjectile;
import com.brandon3055.draconicevolution.client.render.entity.RenderEntityChaosVortex;
import com.brandon3055.draconicevolution.client.render.entity.RenderEntityCustomArrow;
import com.brandon3055.draconicevolution.client.render.item.RenderArmor;
import com.brandon3055.draconicevolution.client.render.item.RenderBow;
import com.brandon3055.draconicevolution.client.render.item.RenderBowModel;
import com.brandon3055.draconicevolution.client.render.item.RenderChaosFragment;
import com.brandon3055.draconicevolution.client.render.item.RenderChaosShard;
import com.brandon3055.draconicevolution.client.render.item.RenderMobSoul;
import com.brandon3055.draconicevolution.client.render.item.RenderStabilizerPart;
import com.brandon3055.draconicevolution.client.render.item.RenderTool;
import com.brandon3055.draconicevolution.client.render.particle.ParticleEnergyBeam;
import com.brandon3055.draconicevolution.client.render.particle.ParticleEnergyField;
import com.brandon3055.draconicevolution.client.render.particle.ParticleReactorBeam;
import com.brandon3055.draconicevolution.client.render.tile.*;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileChaosShard;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileCrystal;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileCustomSpawner;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileDissEnchanter;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileDraconiumChest;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileEarth;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileEnergyInfiser;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileEnergyPylon;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileEnergyStorageCore;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileParticleGen;
import com.brandon3055.draconicevolution.client.render.tile.RenderTilePlacedItem;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileReactorCore;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileReactorEnergyInjector;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileReactorStabilizer;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileTeleporterStand;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileUpgradeModifier;
import com.brandon3055.draconicevolution.common.CommonProxy;
import com.brandon3055.draconicevolution.common.ModBlocks;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.blocks.multiblock.IReactorPart;
import com.brandon3055.draconicevolution.common.entity.*;
import com.brandon3055.draconicevolution.common.entity.EntityChaosCrystal;
import com.brandon3055.draconicevolution.common.entity.EntityChaosGuardian;
import com.brandon3055.draconicevolution.common.entity.EntityChaosVortex;
import com.brandon3055.draconicevolution.common.entity.EntityCustomArrow;
import com.brandon3055.draconicevolution.common.entity.EntityCustomDragon;
import com.brandon3055.draconicevolution.common.entity.EntityDragonHeart;
import com.brandon3055.draconicevolution.common.entity.EntityDragonProjectile;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.*;
import com.brandon3055.draconicevolution.common.tileentities.TileChaosShard;
import com.brandon3055.draconicevolution.common.tileentities.TileCustomSpawner;
import com.brandon3055.draconicevolution.common.tileentities.TileDislocatorInhibitor;
import com.brandon3055.draconicevolution.common.tileentities.TileDissEnchanter;
import com.brandon3055.draconicevolution.common.tileentities.TileDraconiumChest;
import com.brandon3055.draconicevolution.common.tileentities.TileEnergyInfuser;
import com.brandon3055.draconicevolution.common.tileentities.TileParticleGenerator;
import com.brandon3055.draconicevolution.common.tileentities.TilePlacedItem;
import com.brandon3055.draconicevolution.common.tileentities.TileTeleporterStand;
import com.brandon3055.draconicevolution.common.tileentities.TileUpgradeModifier;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileEnergyRelay;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileEnergyTransceiver;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileWirelessEnergyTransceiver;
@@ -32,7 +104,7 @@ import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.Til
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorEnergyInjector;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorStabilizer;
import com.brandon3055.draconicevolution.common.utills.UpdateChecker;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
@@ -40,18 +112,22 @@ import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.ISound;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.network.FMLNetworkEvent;
public final class ClientProxy extends CommonProxy {
public class ClientProxy extends CommonProxy {
private static final boolean debug = DraconicEvolution.debug;
public static String downloadLocation;
private final Map<World, List<TileDislocatorInhibitor>> clientInhibitorsMap = new HashMap<>();
private ClientEventHandler clientHandler;
private KeyInputHandler keybindHandler;
private ItemDisplayManager itemDisplay;
private ShieldRenderHandler shieldRenderer;
public ClientProxy() {
FMLCommonHandler.instance().bus().register(this);
}
@Override
public void preInit(FMLPreInitializationEvent event) {
@@ -59,69 +135,29 @@ public class ClientProxy extends CommonProxy {
super.preInit(event);
ResourceHandler.init(event);
// downloadLocation = event.getModConfigurationDirectory().getParentFile().getAbsolutePath() +
// "/mods/derspack";
// downloadLocation = downloadLocation.replaceAll("\\\\", "/");
//
// File rescourcePack = new File(event.getModConfigurationDirectory().getParentFile(), "/mods/derspack");
//
//
// //File file = new File(downloadLocation);
// if (!rescourcePack.exists()) rescourcePack.mkdir();
//
// LogHelper.info("Downloading Images");
//
// try {
// URL url = new URL("http://i.imgur.com/oHRx1yQ.jpg");
// String fileName = url.getFile();
// //String destName = downloadLocation + fileName.substring(fileName.lastIndexOf("/"));
// File dll = new File(rescourcePack, fileName.substring(fileName.lastIndexOf("/")));
//
// InputStream is = url.openStream();
// OutputStream os = new FileOutputStream(dll);
//
// ByteStreams.copy(is, os);
//
// is.close();
// os.close();
// }catch (IOException e){
// LogHelper.info(e);
// }
//
//
// List defaultResourcePacks = Lists.newArrayList();
// Field f = ReflectionHelper.findField(Minecraft.class, "defaultResourcePacks", "field_110449_ao");
// f.setAccessible(true);
// try {
// defaultResourcePacks = (List)f.get(Minecraft.getMinecraft());
// defaultResourcePacks.add(new FolderResourcePack(rescourcePack));
// for (Object o : defaultResourcePacks){
// if (o instanceof FolderResourcePack) LogHelper.info(((FolderResourcePack) o).getPackName());
// if (o instanceof FileResourcePack) LogHelper.info(((FileResourcePack)o).getPackName());
// }
//
// f.set(Minecraft.getMinecraft(), defaultResourcePacks);
// }
// catch (IllegalAccessException e) {
// e.printStackTrace();
// }
}
@Override
public void init(FMLInitializationEvent event) {
super.init(event);
FMLCommonHandler.instance().bus().register(new KeyInputHandler());
FMLCommonHandler.instance().bus().register(new ClientEventHandler());
if (ConfigHandler.enableVersionChecker)
FMLCommonHandler.instance().bus().register(new UpdateChecker());
MinecraftForge.EVENT_BUS.register(new HudHandler());
MinecraftForge.EVENT_BUS.register(new ClientEventHandler());
KeyBindings.init();
this.keybindHandler = new KeyInputHandler();
FMLCommonHandler.instance().bus().register(this.keybindHandler);
this.clientHandler = new ClientEventHandler();
FMLCommonHandler.instance().bus().register(this.clientHandler);
MinecraftForge.EVENT_BUS.register(this.clientHandler);
final HudHandler hudHandler = new HudHandler();
FMLCommonHandler.instance().bus().register(hudHandler);
MinecraftForge.EVENT_BUS.register(hudHandler);
registerRenderIDs();
registerRendering();
ResourceHandler.instance.tick(null);
IMCSender();
this.itemDisplay = new ItemDisplayManager(60);
FMLCommonHandler.instance().bus().register(this.itemDisplay);
MinecraftForge.EVENT_BUS.register(this.itemDisplay);
this.shieldRenderer = new ShieldRenderHandler();
FMLCommonHandler.instance().bus().register(this.shieldRenderer);
MinecraftForge.EVENT_BUS.register(this.shieldRenderer);
}
@Override
@@ -130,7 +166,24 @@ public class ClientProxy extends CommonProxy {
ResourceHandler.instance.tick(null);
}
public void registerRendering() {
@SubscribeEvent
public void onClientDisconnect(final FMLNetworkEvent.ClientDisconnectionFromServerEvent event) {
this.clientInhibitorsMap.clear();
this.itemDisplay.startDrawing(null);
}
@Override
@SubscribeEvent
public void onWorldUnload(WorldEvent.Unload event) {
if (event.world.isRemote) {
this.clientInhibitorsMap.remove(event.world);
} else {
super.onWorldUnload(event);
}
}
private void registerRendering() {
// spotless:off
// Item Renderers
MinecraftForgeClient.registerItemRenderer(ModItems.wyvernBow, new RenderBow());
MinecraftForgeClient.registerItemRenderer(ModItems.draconicBow, new RenderBow());
@@ -151,74 +204,29 @@ public class ClientProxy extends CommonProxy {
}
if (!ConfigHandler.useOldD2DToolTextures) {
MinecraftForgeClient.registerItemRenderer(
ModItems.draconicSword,
new RenderTool(
"models/tools/DraconicSword.obj", "textures/models/tools/DraconicSword.png", (IRenderTweak)
ModItems.draconicSword));
MinecraftForgeClient.registerItemRenderer(
ModItems.wyvernPickaxe,
new RenderTool("models/tools/Pickaxe.obj", "textures/models/tools/Pickaxe.png", (IRenderTweak)
ModItems.wyvernPickaxe));
MinecraftForgeClient.registerItemRenderer(
ModItems.draconicPickaxe,
new RenderTool(
"models/tools/DraconicPickaxe.obj",
"textures/models/tools/DraconicPickaxe.png",
(IRenderTweak) ModItems.draconicPickaxe));
MinecraftForgeClient.registerItemRenderer(
ModItems.draconicAxe,
new RenderTool(
"models/tools/DraconicLumberAxe.obj",
"textures/models/tools/DraconicLumberAxe.png",
(IRenderTweak) ModItems.draconicAxe));
MinecraftForgeClient.registerItemRenderer(
ModItems.wyvernShovel,
new RenderTool("models/tools/Shovel.obj", "textures/models/tools/Shovel.png", (IRenderTweak)
ModItems.wyvernShovel));
MinecraftForgeClient.registerItemRenderer(
ModItems.draconicShovel,
new RenderTool(
"models/tools/DraconicShovel.obj",
"textures/models/tools/DraconicShovel.png",
(IRenderTweak) ModItems.draconicShovel));
MinecraftForgeClient.registerItemRenderer(
ModItems.wyvernSword,
new RenderTool("models/tools/Sword.obj", "textures/models/tools/Sword.png", (IRenderTweak)
ModItems.wyvernSword));
MinecraftForgeClient.registerItemRenderer(
ModItems.draconicDestructionStaff,
new RenderTool(
"models/tools/DraconicStaffOfPower.obj",
"textures/models/tools/DraconicStaffOfPower.png",
(IRenderTweak) ModItems.draconicDestructionStaff));
MinecraftForgeClient.registerItemRenderer(
ModItems.draconicHoe,
new RenderTool(
"models/tools/DraconicHoe.obj", "textures/models/tools/DraconicHoe.png", (IRenderTweak)
ModItems.draconicHoe));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicSword, new RenderTool("models/tools/DraconicSword.obj", "textures/models/tools/DraconicSword.png", (IRenderTweak) ModItems.draconicSword));
MinecraftForgeClient.registerItemRenderer(ModItems.wyvernPickaxe, new RenderTool("models/tools/Pickaxe.obj", "textures/models/tools/Pickaxe.png", (IRenderTweak) ModItems.wyvernPickaxe));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicPickaxe, new RenderTool("models/tools/DraconicPickaxe.obj", "textures/models/tools/DraconicPickaxe.png", (IRenderTweak) ModItems.draconicPickaxe));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicAxe, new RenderTool("models/tools/DraconicLumberAxe.obj", "textures/models/tools/DraconicLumberAxe.png", (IRenderTweak) ModItems.draconicAxe));
MinecraftForgeClient.registerItemRenderer(ModItems.wyvernShovel, new RenderTool("models/tools/Shovel.obj", "textures/models/tools/Shovel.png", (IRenderTweak) ModItems.wyvernShovel));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicShovel, new RenderTool("models/tools/DraconicShovel.obj", "textures/models/tools/DraconicShovel.png", (IRenderTweak) ModItems.draconicShovel));
MinecraftForgeClient.registerItemRenderer(ModItems.wyvernSword, new RenderTool("models/tools/Sword.obj", "textures/models/tools/Sword.png", (IRenderTweak) ModItems.wyvernSword));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicDestructionStaff, new RenderTool("models/tools/DraconicStaffOfPower.obj", "textures/models/tools/DraconicStaffOfPower.png", (IRenderTweak) ModItems.draconicDestructionStaff));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicHoe, new RenderTool("models/tools/DraconicHoe.obj", "textures/models/tools/DraconicHoe.png", (IRenderTweak) ModItems.draconicHoe));
MinecraftForgeClient.registerItemRenderer(ModItems.draconicBow, new RenderBowModel(true));
MinecraftForgeClient.registerItemRenderer(ModItems.wyvernBow, new RenderBowModel(false));
}
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.draconiumChest), new RenderDraconiumChest());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.particleGenerator), new RenderParticleGen());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.energyInfuser), new RenderEnergyInfuser());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.draconiumChest), new RenderDraconiumChest());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.particleGenerator), new RenderParticleGen());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.energyInfuser), new RenderEnergyInfuser());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.energyCrystal), new RenderCrystal());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.reactorStabilizer), new RenderReactorStabilizer());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.reactorEnergyInjector), new RenderReactorEnergyInjector());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.reactorCore), new RenderReactorCore());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.earthBlock), new RenderEarthItem());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.chaosCrystal), new RenderChaosShard());
MinecraftForgeClient.registerItemRenderer(
Item.getItemFromBlock(ModBlocks.upgradeModifier), new RenderUpgradeModifier());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.reactorStabilizer), new RenderReactorStabilizer());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.reactorEnergyInjector), new RenderReactorEnergyInjector());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.reactorCore), new RenderReactorCore());
if (ModBlocks.earthBlock != null) MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.earthBlock), new RenderEarthItem());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.chaosCrystal), new RenderChaosShard());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.upgradeModifier), new RenderUpgradeModifier());
// ISimpleBlockRendering
RenderingRegistry.registerBlockHandler(new RenderTeleporterStand());
@@ -230,7 +238,7 @@ public class ClientProxy extends CommonProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileCustomSpawner.class, new RenderTileCustomSpawner());
// ClientRegistry.bindTileEntitySpecialRenderer(TileTestBlock.class, new RenderTileCrystal());
ClientRegistry.bindTileEntitySpecialRenderer(TileEnergyStorageCore.class, new RenderTileEnergyStorageCore());
ClientRegistry.bindTileEntitySpecialRenderer(TileEarth.class, new RenderTileEarth());
if (ModBlocks.earthBlock != null) ClientRegistry.bindTileEntitySpecialRenderer(TileEarth.class, new RenderTileEarth());
ClientRegistry.bindTileEntitySpecialRenderer(TileEnergyPylon.class, new RenderTileEnergyPylon());
ClientRegistry.bindTileEntitySpecialRenderer(TilePlacedItem.class, new RenderTilePlacedItem());
ClientRegistry.bindTileEntitySpecialRenderer(TileDissEnchanter.class, new RenderTileDissEnchanter());
@@ -241,8 +249,7 @@ public class ClientProxy extends CommonProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileWirelessEnergyTransceiver.class, new RenderTileCrystal());
ClientRegistry.bindTileEntitySpecialRenderer(TileReactorCore.class, new RenderTileReactorCore());
ClientRegistry.bindTileEntitySpecialRenderer(TileReactorStabilizer.class, new RenderTileReactorStabilizer());
ClientRegistry.bindTileEntitySpecialRenderer(
TileReactorEnergyInjector.class, new RenderTileReactorEnergyInjector());
ClientRegistry.bindTileEntitySpecialRenderer(TileReactorEnergyInjector.class, new RenderTileReactorEnergyInjector());
ClientRegistry.bindTileEntitySpecialRenderer(TileChaosShard.class, new RenderTileChaosShard());
ClientRegistry.bindTileEntitySpecialRenderer(TileUpgradeModifier.class, new RenderTileUpgradeModifier());
@@ -254,27 +261,16 @@ public class ClientProxy extends CommonProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityChaosCrystal.class, new RenderChaosCrystal());
RenderingRegistry.registerEntityRenderingHandler(EntityChaosVortex.class, new RenderEntityChaosVortex());
RenderingRegistry.registerEntityRenderingHandler(EntityCustomArrow.class, new RenderEntityCustomArrow());
// spotless:on
}
public void registerRenderIDs() {
private void registerRenderIDs() {
References.idTeleporterStand = RenderingRegistry.getNextAvailableRenderId();
References.idPortal = RenderingRegistry.getNextAvailableRenderId();
}
@Override
public ParticleEnergyBeam energyBeam(
World worldObj,
double x,
double y,
double z,
double tx,
double ty,
double tz,
int powerFlow,
boolean advanced,
ParticleEnergyBeam oldBeam,
boolean render,
int beamType) {
public ParticleEnergyBeam energyBeam(World worldObj, double x, double y, double z, double tx, double ty, double tz,
int powerFlow, boolean advanced, ParticleEnergyBeam oldBeam, boolean render, int beamType) {
if (!worldObj.isRemote) return null;
ParticleEnergyBeam beam = oldBeam;
boolean inRange = ParticleHandler.isInRange(x, y, z, 50) || ParticleHandler.isInRange(tx, ty, tz, 50);
@@ -294,16 +290,8 @@ public class ClientProxy extends CommonProxy {
return beam;
}
@Override
public ParticleEnergyField energyField(
World worldObj,
double x,
double y,
double z,
int type,
boolean advanced,
ParticleEnergyField oldBeam,
boolean render) {
public ParticleEnergyField energyField(World worldObj, double x, double y, double z, int type, boolean advanced,
ParticleEnergyField oldBeam, boolean render) {
if (!worldObj.isRemote) return null;
ParticleEnergyField beam = oldBeam;
boolean inRange = ParticleHandler.isInRange(x, y, z, 50);
@@ -323,7 +311,6 @@ public class ClientProxy extends CommonProxy {
return beam;
}
@Override
public ParticleReactorBeam reactorBeam(TileEntity tile, ParticleReactorBeam oldBeam, boolean render) {
if (!tile.getWorldObj().isRemote || !(tile instanceof IReactorPart)) return null;
ParticleReactorBeam beam = oldBeam;
@@ -339,24 +326,106 @@ public class ClientProxy extends CommonProxy {
beam.setDead();
return null;
} else {
beam.update(render);
beam.update();
}
return beam;
}
public boolean isOp(String paramString) {
return Minecraft.getMinecraft().theWorld.getWorldInfo().getGameType().isCreative();
public void spawnParticle(EntityFX particle, int range) {
if (particle.worldObj.isRemote) {
ParticleHandler.spawnCustomParticle(particle, range);
}
}
@Override
public void spawnParticle(Object particle, int range) {
if (particle instanceof EntityFX && ((EntityFX) particle).worldObj.isRemote)
ParticleHandler.spawnCustomParticle((EntityFX) particle, range);
}
@Override
public ISound playISound(ISound sound) {
FMLClientHandler.instance().getClient().getSoundHandler().playSound(sound);
return sound;
}
@Override
public boolean isDedicatedServer() {
return false;
}
@Override
public World getClientWorld() {
return Minecraft.getMinecraft().theWorld;
}
@Override
public boolean isSpaceDown() {
return Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed();
}
@Override
public boolean isShiftDown() {
return Minecraft.getMinecraft().gameSettings.keyBindSneak.getIsKeyPressed();
}
@Override
public boolean isCtrlDown() {
return Minecraft.getMinecraft().gameSettings.keyBindSprint.getIsKeyPressed();
}
@Override
public EntityPlayer getClientPlayer() {
return Minecraft.getMinecraft().thePlayer;
}
@Override
public boolean isClient() {
return true;
}
public KeyInputHandler getKeybindHandler() {
return keybindHandler;
}
public void displayItem(ItemStack stack) {
this.itemDisplay.startDrawing(stack);
}
public int getElapsedTicks() {
return this.clientHandler.getElapsedTicks();
}
public float getEnergyCrystalAlpha() {
return this.clientHandler.getEnergyCrystalAlpha();
}
@Override
public void tryRepositionPlayerOnMount(int entityId) {
this.clientHandler.tryRepositionPlayerOnMount(entityId);
}
public void renderShield(EntityPlayer player, float shieldPowerF) {
this.shieldRenderer.renderShield(player, shieldPowerF);
}
@Override
public void registerInhibitor(TileDislocatorInhibitor tile) {
if (tile.hasWorldObj() && tile.getWorldObj().isRemote) {
registerInhibitor(this.clientInhibitorsMap, tile);
} else {
super.registerInhibitor(tile);
}
}
@Override
public void unregisterInhibitor(TileDislocatorInhibitor tile) {
if (tile.hasWorldObj() && tile.getWorldObj().isRemote) {
unregisterInhibitor(this.clientInhibitorsMap, tile);
} else {
super.unregisterInhibitor(tile);
}
}
@Override
public boolean isBlockedByInhibitor(World world, EntityItem item) {
if (world.isRemote) {
return isBlockedByInhibitor(this.clientInhibitorsMap, world, item);
} else {
return super.isBlockedByInhibitor(world, item);
}
}
}
@@ -1,60 +1,55 @@
package com.brandon3055.draconicevolution.client;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore;
import net.minecraft.client.audio.ITickableSound;
import net.minecraft.client.audio.PositionedSound;
import net.minecraft.util.ResourceLocation;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore;
/**
* Created by brandon3055 on 4/10/2015.
*/
public class ReactorSound extends PositionedSound implements ITickableSound {
private static ResourceLocation sound = new ResourceLocation(References.RESOURCESPREFIX + "coreSound");
public boolean donePlaying = false;
private TileReactorCore tile;
public ReactorSound(TileReactorCore tile) {
private static final ResourceLocation sound = new ResourceLocation(References.RESOURCESPREFIX + "coreSound");
public boolean isDonePlaying = false;
private final TileReactorCore core;
public ReactorSound(TileReactorCore core) {
super(sound);
this.tile = tile;
this.xPosF = (float) tile.xCoord + 0.5F;
this.yPosF = (float) tile.yCoord + 0.5F;
this.zPosF = (float) tile.zCoord + 0.5F;
this.core = core;
this.xPosF = (float) core.xCoord + 0.5F;
this.yPosF = (float) core.yCoord + 0.5F;
this.zPosF = (float) core.zCoord + 0.5F;
this.repeat = true;
this.volume = 1.5F;
}
@Override
public boolean isDonePlaying() {
return donePlaying;
return isDonePlaying;
}
@Override
public void update() {
volume = (tile.renderSpeed - 0.5F) * 2F;
if (tile.reactionTemperature > 8000) {
volume += (float) ((tile.reactionTemperature - 8000D) / 1000D);
volume = (core.renderSpeed - 0.5F) * 2F;
if (core.reactionTemperature > 8000) {
volume += (float) ((core.reactionTemperature - 8000D) / 1000D);
}
if (tile.reactionTemperature > 2000
&& tile.maxFieldCharge > 0
&& tile.fieldCharge < (tile.maxFieldCharge * 0.2D)) {
volume += 2D - ((tile.fieldCharge / tile.maxFieldCharge) * 10D);
if (core.reactionTemperature > 2000 && core.maxFieldCharge > 0
&& core.fieldCharge < (core.maxFieldCharge * 0.2D)) {
volume += 2D - ((core.fieldCharge / core.maxFieldCharge) * 10D);
}
if (tile.reactionTemperature > 2000
&& tile.reactorFuel + tile.convertedFuel > 0
&& tile.reactorFuel < (double) (tile.reactorFuel + tile.convertedFuel) * 0.2D) {
volume += 2D - ((tile.reactorFuel / (tile.reactorFuel + tile.convertedFuel)) * 10D);
if (core.reactionTemperature > 2000 && core.reactorFuel + core.convertedFuel > 0
&& core.reactorFuel < (double) (core.reactorFuel + core.convertedFuel) * 0.2D) {
volume += 2D - ((float) core.reactorFuel / (core.reactorFuel + core.convertedFuel)) * 10D;
}
field_147663_c = 0.5F + volume / 2F;
if (tile.isInvalid()
|| !tile.getWorldObj()
.getChunkFromBlockCoords(tile.xCoord, tile.zCoord)
.isChunkLoaded) { // || player == null || tile.getDistanceFrom(player.posX, player.posY,
// player.posZ) > 512){
donePlaying = true;
if (core.isInvalid() || !core.getWorldObj().getChunkFromBlockCoords(core.xCoord, core.zCoord).isChunkLoaded) {
isDonePlaying = true;
repeat = false;
}
}
@@ -1,25 +1,27 @@
package com.brandon3055.draconicevolution.client.creativetab;
import com.brandon3055.brandonscore.common.utills.ItemNBTHelper;
import com.brandon3055.draconicevolution.common.ModBlocks;
import com.brandon3055.draconicevolution.common.ModItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.brandon3055.draconicevolution.common.ModBlocks;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.utils.ItemNBTHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class DETab extends CreativeTabs {
private String label;
private int tab;
static ItemStack iconStackStaff;
public static void initialize() {
if (ModItems.isEnabled(ModItems.draconicDestructionStaff))
iconStackStaff =
ItemNBTHelper.setInteger(new ItemStack(ModItems.draconicDestructionStaff), "Energy", 30000000);
if (ModItems.isEnabled(ModItems.draconicDestructionStaff)) iconStackStaff = ItemNBTHelper
.setInteger(new ItemStack(ModItems.draconicDestructionStaff), "Energy", 30000000);
else iconStackStaff = new ItemStack(Items.stick);
}
@@ -1,16 +1,19 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.client.config.GuiConfig;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.common.config.Configuration;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.client.config.GuiConfig;
/**
* Created by Brandon on 6/08/2014.
*/
public class ConfigGUI extends GuiConfig {
public ConfigGUI(GuiScreen parent) {
super(
parent,
@@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.OpenGlHelper;
import org.lwjgl.opengl.GL11;
public class CustomGuiButton extends GuiButton {
@@ -17,8 +18,7 @@ public class CustomGuiButton extends GuiButton {
FontRenderer fontrenderer = minecraft.fontRenderer;
minecraft.getTextureManager().bindTexture(buttonTextures);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.field_146123_n = p_146112_2_ >= this.xPosition
&& p_146112_3_ >= this.yPosition
this.field_146123_n = p_146112_2_ >= this.xPosition && p_146112_3_ >= this.yPosition
&& p_146112_2_ < this.xPosition + this.width
&& p_146112_3_ < this.yPosition + this.height;
int k = this.getHoverState(this.field_146123_n);
@@ -1,14 +1,17 @@
package com.brandon3055.draconicevolution.client.gui;
import cpw.mods.fml.client.IModGuiFactory;
import java.util.Set;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import cpw.mods.fml.client.IModGuiFactory;
/**
* Created by Brandon on 6/08/2014.
*/
public class DEGUIFactory implements IModGuiFactory {
@Override
public void initialize(Minecraft minecraftInstance) {}
@@ -1,65 +0,0 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.draconicevolution.common.container.ContainerTemplate;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileContainerTemplate;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class GUIContainerTemplate extends GuiContainer {
public EntityPlayer player;
private TileContainerTemplate tile;
public GUIContainerTemplate(InventoryPlayer invPlayer, TileContainerTemplate tile) {
super(new ContainerTemplate(invPlayer, tile));
xSize = 176;
ySize = 140;
this.tile = tile;
this.player = invPlayer.player;
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1F, 1F, 1F, 1F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
}
@Override
protected void drawGuiContainerForegroundLayer(int x, int y) {
fontRendererObj.drawStringWithShadow("Energy Infuser", 49, -9, 0x00FFFF);
// bindTexture(texture);
// fontRendererObj.drawString("Charges: " + charges, 90, 25, 0x000000);
// drawCenteredString(fontRendererObj, "Charges: " + charges, 117, 25, 0x000000);
// drawCenteredString(fontRendererObj, "Weather Controller", xSize/2, -15, 0x2a4ed0);
}
@Override
public void initGui() {
super.initGui();
}
@Override
protected void actionPerformed(GuiButton button) {}
@Override
public void updateScreen() {
super.updateScreen();
}
}
@@ -0,0 +1,241 @@
package com.brandon3055.draconicevolution.client.gui;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerDislocatorInhibitor;
import com.brandon3055.draconicevolution.common.inventory.SlotFakeItem;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.DislocatorInhibitorButtonPacket;
import com.brandon3055.draconicevolution.common.network.SlotFakeClickPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileDislocatorInhibitor;
import codechicken.nei.VisiblityData;
import codechicken.nei.api.INEIGuiHandler;
import codechicken.nei.api.TaggedInventoryArea;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
@Optional.Interface(iface = "codechicken.nei.api.INEIGuiHandler", modid = "NotEnoughItems")
public class GUIDislocatorInhibitor extends GuiContainer implements INEIGuiHandler {
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/Inhibitor.png");
private int range = 5;
private TileDislocatorInhibitor.ActivityControlType activityControlType = TileDislocatorInhibitor.ActivityControlType.ALWAYS_ACTIVE;
private boolean whitelist = false;
private final ContainerDislocatorInhibitor container;
public GUIDislocatorInhibitor(InventoryPlayer playerInventory, TileDislocatorInhibitor inhibitor) {
super(inhibitor.getGuiContainer(playerInventory));
this.container = (ContainerDislocatorInhibitor) inventorySlots;
xSize = 176;
ySize = 150;
syncWithServer();
}
@Override
@SuppressWarnings("unchecked")
public void initGui() {
super.initGui();
buttonList.clear();
buttonList.add(new GuiButtonAHeight(0, guiLeft + 7, guiTop + 19, 18, 18, "-"));
buttonList.add(new GuiButtonAHeight(1, guiLeft + 97, guiTop + 19, 18, 18, "+"));
buttonList.add(new GuiButtonAHeight(2, guiLeft + 151, guiTop + 19, 18, 18, ""));
buttonList.add(new GuiButtonAHeight(3, guiLeft + 151, guiTop + 41, 18, 18, ""));
}
@Override
protected void drawGuiContainerForegroundLayer(int x, int y) {
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.main.title"), 7, 5, 0x222222);
drawGuiText();
drawGreyOutSlots();
drawButtonIcons();
}
@Override
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
GL11.glColor4f(1, 1, 1, 1);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
}
@Override
public void drawScreen(int x, int y, float partialTicks) {
super.drawScreen(x, y, partialTicks);
ArrayList<String> lines = new ArrayList<>();
if (isButtonHovered(x, y, 7, 19, 18, 18)) {
lines.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.range.decrease.txt"));
} else if (isButtonHovered(x, y, 97, 19, 18, 18)) {
lines.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.range.increase.txt"));
} else if (isButtonHovered(x, y, 151, 19, 18, 18)) {
switch (activityControlType) {
case ALWAYS_ACTIVE -> lines
.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.activity.always.txt"));
case WITH_REDSTONE -> lines
.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.activity.with.txt"));
case WITHOUT_REDSTONE -> lines
.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.activity.without.txt"));
case NEVER_ACTIVE -> lines
.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.activity.never.txt"));
}
lines.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.activity.cycle.txt"));
} else if (isButtonHovered(x, y, 151, 41, 18, 18)) {
if (whitelist) {
lines.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.whitelist.txt"));
} else {
lines.add(StatCollector.translateToLocal("gui.de.dislocatorInhibitor.tooltip.blacklist.txt"));
}
}
if (!lines.isEmpty()) {
drawHoveringText(lines, x, y, fontRendererObj);
}
}
private boolean isButtonHovered(int mouseX, int mouseY, int buttonX, int buttonY, int width, int height) {
return (mouseX >= buttonX + guiLeft && mouseX < buttonX + width + guiLeft)
&& (mouseY >= buttonY + guiTop && mouseY < buttonY + height + guiTop);
}
@Override
protected void handleMouseClick(Slot slotIn, int slotId, int clickedButton, int clickType) {
if (slotIn instanceof SlotFakeItem sfi) {
DraconicEvolution.network.sendToServer(
new SlotFakeClickPacket((byte) sfi.getSlotIndex(), this.mc.thePlayer.inventory.getItemStack()));
} else {
super.handleMouseClick(slotIn, slotId, clickedButton, clickType);
}
}
@Override
protected void actionPerformed(GuiButton button) {
switch (button.id) {
case 0 -> { // Range -
range = Math.max(range - 1, TileDislocatorInhibitor.MINIMUM_RANGE);
DraconicEvolution.network.sendToServer(new DislocatorInhibitorButtonPacket((byte) 0, (byte) range));
}
case 1 -> { // Range +
range = Math.min(range + 1, TileDislocatorInhibitor.MAXIMUM_RANGE);
DraconicEvolution.network.sendToServer(new DislocatorInhibitorButtonPacket((byte) 0, (byte) range));
}
case 2 -> { // Cycle Activity control
activityControlType = activityControlType.getNext();
byte controlMode = (byte) (activityControlType.ordinal());
DraconicEvolution.network.sendToServer(new DislocatorInhibitorButtonPacket((byte) 1, controlMode));
}
case 3 -> { // Toggle Whitelist/Blacklist mode
whitelist = !whitelist;
byte whitelistMode = (byte) (whitelist ? 1 : 0);
DraconicEvolution.network.sendToServer(new DislocatorInhibitorButtonPacket((byte) 2, whitelistMode));
}
}
}
@Override
public VisiblityData modifyVisiblity(GuiContainer gui, VisiblityData currentVisibility) {
return currentVisibility;
}
@Override
public Iterable<Integer> getItemSpawnSlots(GuiContainer gui, ItemStack item) {
return null;
}
@Override
public List<TaggedInventoryArea> getInventoryAreas(GuiContainer gui) {
return Collections.emptyList();
}
@Override
public boolean handleDragNDrop(GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button) {
if (gui instanceof GUIDislocatorInhibitor) {
for (var slot : container.inventorySlots) {
if (slot instanceof SlotFakeItem sfi) {
if (sfi.isOverSlot(mousex - this.guiLeft, mousey - this.guiTop)) {
draggedStack.stackSize = 0;
DraconicEvolution.network
.sendToServer(new SlotFakeClickPacket((byte) sfi.getSlotIndex(), draggedStack));
return true;
}
}
}
}
return false;
}
@Override
public boolean hideItemPanelSlot(GuiContainer gui, int x, int y, int w, int h) {
return false;
}
private void drawGuiText() {
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.dislocatorInhibitor.range.txt"),
40,
25,
0x000000,
false);
fontRendererObj.drawString(
StatCollector.translateToLocalFormatted("gui.de.numbers", range),
range < 10 ? 78 : 75,
25,
0x000000,
false);
}
private void drawButtonIcons() {
GL11.glColor4f(1, 1, 1, 1);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
// activity control button
drawTexturedModalRect(151, 19, 0, 150 + (18 * activityControlType.ordinal()), 18, 18);
// whitelist button
drawTexturedModalRect(151, 41, 18, 150 + (whitelist ? 0 : 18), 18, 18);
}
private void drawGreyOutSlots() {
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.5f);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
for (int i = 0; i < 8; i++) {
drawTexturedModalRect(7 + i * 18, 41, 36, 150, 18, 18);
}
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_LIGHTING);
}
private void syncWithServer() {
TileDislocatorInhibitor inhibitor = container.getTileEntity();
whitelist = inhibitor.isWhitelist();
range = inhibitor.getRange();
activityControlType = inhibitor.getActivityControlType();
}
}
@@ -1,12 +1,5 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerDissEnchanter;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileDissEnchanter;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
@@ -14,8 +7,18 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerDissEnchanter;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileDissEnchanter;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUIDissEnchanter extends GuiContainer {
@@ -34,8 +37,9 @@ public class GUIDissEnchanter extends GuiContainer {
this.player = invPlayer.player;
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/DissEnchanter.png");
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/DissEnchanter.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
@@ -48,13 +52,18 @@ public class GUIDissEnchanter extends GuiContainer {
protected void drawGuiContainerForegroundLayer(int x, int y) {
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("tile.draconicevolution:dissEnchanter.name"),
StatCollector.translateToLocal("gui.de.dissEnchanter.main.title"),
88,
4,
0x00FFFF);
fontRendererObj.drawString("Item", 5, 40, 0x0000ff);
fontRendererObj.drawString("Damage: " + (40 - tile.bookPower) + "%", 5, 49, 0x0000ff);
fontRendererObj.drawString(StatCollector.translateToLocal("gui.de.dissEnchanter.itemDamage1"), 5, 40, 0x0000ff);
fontRendererObj.drawString(
StatCollector
.translateToLocalFormatted("gui.de.dissEnchanter.itemDamage2", (40 - tile.bookPower) + "%"),
5,
49,
0x0000ff);
}
@Override
@@ -90,6 +99,7 @@ public class GUIDissEnchanter extends GuiContainer {
if (flag && player.experienceLevel < tile.dissenchantCost && !player.capabilities.isCreativeMode) flag = false;
((GuiButtonAHeight) buttonList.get(0)).enabled = flag;
((GuiButtonAHeight) buttonList.get(0)).packedFGColour = cachRecipeValid ? 0x000000 : 0xdf0000;
((GuiButtonAHeight) buttonList.get(0)).displayString = "Cost: " + tile.dissenchantCost;
((GuiButtonAHeight) buttonList.get(0)).displayString = StatCollector
.translateToLocalFormatted("gui.de.dissEnchanter.cost", tile.dissenchantCost);
}
}
@@ -1,21 +1,9 @@
package com.brandon3055.draconicevolution.client.gui;
import codechicken.nei.VisiblityData;
import codechicken.nei.api.INEIGuiHandler;
import codechicken.nei.api.TaggedInventoryArea;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.container.ContainerDraconiumChest;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileDraconiumChest;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
@@ -26,17 +14,36 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerDraconiumChest;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileDraconiumChest;
import codechicken.nei.VisiblityData;
import codechicken.nei.api.INEIGuiHandler;
import codechicken.nei.api.TaggedInventoryArea;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
@Optional.Interface(iface = "codechicken.nei.api.INEIGuiHandler", modid = "NotEnoughItems")
public class GUIDraconiumChest extends GuiContainer implements INEIGuiHandler {
public EntityPlayer player;
private TileDraconiumChest tile;
private static final ResourceLocation textureLeft =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/DraconicChestLeft.png");
private static final ResourceLocation textureRight =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/DraconicChestRight.png");
private static final ResourceLocation textureLeft = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/DraconicChestLeft.png");
private static final ResourceLocation textureRight = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/DraconicChestRight.png");
private int lastAutoFeed = -1;
public GUIDraconiumChest(InventoryPlayer invPlayer, TileDraconiumChest tile) {
@@ -69,12 +76,16 @@ public class GUIDraconiumChest extends GuiContainer implements INEIGuiHandler {
int arrowHight = (int) (((float) tile.smeltingProgressTime / (float) tile.smeltingCompleateTime) * 22f);
drawTexturedModalRect(
guiLeft + 140, guiTop + 192 + 22 - arrowHight, 140, 216 + 22 - arrowHight, 16, arrowHight);
guiLeft + 140,
guiTop + 192 + 22 - arrowHight,
140,
216 + 22 - arrowHight,
16,
arrowHight);
Minecraft.getMinecraft().getTextureManager().bindTexture(textureRight);
int energyWidth = (int) (((float) tile.getEnergyStored(ForgeDirection.DOWN)
/ (float) tile.getMaxEnergyStored(ForgeDirection.DOWN))
* 90f);
/ (float) tile.getMaxEnergyStored(ForgeDirection.DOWN)) * 90f);
drawTexturedModalRect(guiLeft + 44, guiTop + 235, 131, 236, energyWidth, 16);
int flameHight = (int) (((float) tile.smeltingBurnSpeed / (float) tile.smeltingMaxBurnSpeed) * 13f);
@@ -84,13 +95,15 @@ public class GUIDraconiumChest extends GuiContainer implements INEIGuiHandler {
@Override
protected void drawGuiContainerForegroundLayer(int x, int y) {
fontRendererObj.drawString(tile.getInventoryName(), 4, 4, 0x222222);
fontRendererObj.drawString(StatCollector.translateToLocal("gui.de.draconiumChest.main.title"), 4, 4, 0x222222);
// fontRendererObj.drawStringWithShadow(StatCollector.translateToLocal("button.de.chestAutoFeed.txt"), 4, 180,
// 0x00FFFF);
ArrayList<String> list = new ArrayList<String>();
list.add(String.valueOf(tile.getEnergyStored(ForgeDirection.DOWN)) + "/"
+ String.valueOf(tile.getMaxEnergyStored(ForgeDirection.DOWN)) + "RF");
list.add(
String.valueOf(tile.getEnergyStored(ForgeDirection.DOWN)) + "/"
+ String.valueOf(tile.getMaxEnergyStored(ForgeDirection.DOWN))
+ "RF");
if (GuiHelper.isInRect(44, 235, 90, 16, x - guiLeft, y - guiTop))
drawHoveringText(list, x - guiLeft, y - guiTop, fontRendererObj);
list.clear();
@@ -1,14 +1,10 @@
package com.brandon3055.draconicevolution.client.gui;
import cofh.api.energy.IEnergyContainerItem;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerEnergyInfuser;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileEnergyInfuser;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
@@ -17,8 +13,18 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerEnergyInfuser;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileEnergyInfuser;
import cofh.api.energy.IEnergyContainerItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUIEnergyInfuser extends GuiContainer {
@@ -36,16 +42,17 @@ public class GUIEnergyInfuser extends GuiContainer {
this.player = invPlayer.player;
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/EnergyInfuser.png");
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/EnergyInfuser.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
GL11.glColor4f(1F, 1F, 1F, 1F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if (tile.getStackInSlot(0) == null)
drawTexturedModalRect(guiLeft + 63, guiTop + 34, 36, ySize, 18, 18); // fuel box
if (tile.getStackInSlot(0) == null) drawTexturedModalRect(guiLeft + 63, guiTop + 34, 36, ySize, 18, 18); // fuel
// box
float power = (float) tile.energy.getEnergyStored() / (float) tile.energy.getMaxEnergyStored() * -1F + 1F;
drawTexturedModalRect(
@@ -56,15 +63,12 @@ public class GUIEnergyInfuser extends GuiContainer {
8,
45 - (int) (power * 45)); // Power bar
if (tile.running
&& tile.getStackInSlot(0) != null
if (tile.running && tile.getStackInSlot(0) != null
&& tile.getStackInSlot(0).getItem() instanceof IEnergyContainerItem) {
IEnergyContainerItem item =
(IEnergyContainerItem) tile.getStackInSlot(0).getItem();
IEnergyContainerItem item = (IEnergyContainerItem) tile.getStackInSlot(0).getItem();
float charge = (float) item.getEnergyStored(tile.getStackInSlot(0))
/ (float) item.getMaxEnergyStored(tile.getStackInSlot(0))
* -1F
+ 1F;
/ (float) item.getMaxEnergyStored(tile.getStackInSlot(0))
* -1F + 1F;
drawTexturedModalRect(
guiLeft + 119,
guiTop + 7 + (int) (charge * 45),
@@ -79,7 +83,11 @@ public class GUIEnergyInfuser extends GuiContainer {
@Override
protected void drawGuiContainerForegroundLayer(int x, int y) {
fontRendererObj.drawStringWithShadow("Energy Infuser", 49, -9, 0x00FFFF);
fontRendererObj.drawStringWithShadow(
StatCollector.translateToLocal("gui.de.energyInfuser.main.title"),
49,
-9,
0x00FFFF);
// bindTexture(texture);
@@ -115,23 +123,25 @@ public class GUIEnergyInfuser extends GuiContainer {
if (GuiHelper.isInRect(48, 6, 9, 46, x, y)) {
ArrayList<String> internal = new ArrayList<String>();
internal.add(StatCollector.translateToLocal("gui.de.internalStorage.txt"));
internal.add("" + EnumChatFormatting.DARK_BLUE + tile.energy.getEnergyStored() + "/"
+ tile.energy.getMaxEnergyStored());
internal.add(
EnumChatFormatting.DARK_BLUE + formatNumber(tile.energy.getEnergyStored())
+ "/"
+ formatNumber(tile.energy.getMaxEnergyStored()));
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
drawHoveringText(internal, x + guiLeft, y + guiTop, fontRendererObj);
GL11.glPopAttrib();
}
if (GuiHelper.isInRect(118, 6, 10, 46, x, y)
&& tile.running
if (GuiHelper.isInRect(118, 6, 10, 46, x, y) && tile.running
&& tile.getStackInSlot(0) != null
&& tile.getStackInSlot(0).getItem() instanceof IEnergyContainerItem) {
IEnergyContainerItem item =
(IEnergyContainerItem) tile.getStackInSlot(0).getItem();
IEnergyContainerItem item = (IEnergyContainerItem) tile.getStackInSlot(0).getItem();
ArrayList<String> internal = new ArrayList<String>();
internal.add(StatCollector.translateToLocal("gui.de.itemStorage.txt"));
internal.add("" + EnumChatFormatting.DARK_BLUE + item.getEnergyStored(tile.getStackInSlot(0)) + "/"
+ item.getMaxEnergyStored(tile.getStackInSlot(0)));
internal.add(
EnumChatFormatting.DARK_BLUE + formatNumber(item.getEnergyStored(tile.getStackInSlot(0)))
+ "/"
+ formatNumber(item.getMaxEnergyStored(tile.getStackInSlot(0))));
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
drawHoveringText(internal, x + guiLeft, y + guiTop, fontRendererObj);
GL11.glPopAttrib();
@@ -1,17 +1,21 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.tileentities.gates.TileGate;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.tileentities.gates.TileGate;
/**
* Created by Brandon on 30/6/2015.
*/
@@ -44,7 +48,7 @@ public class GUIFlowGate extends GuiScreen {
drawDefaultBackground();
ResourceHandler.bindResource("textures/gui/ToolConfig.png");
drawTexturedModalRect(guiLeft, guiTop, 0, 0, 197, 88);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, 198, 89);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.flowGate.name"),
guiCrt - (fontRendererObj.getStringWidth(StatCollector.translateToLocal("gui.de.flowGate.name")) / 2),
@@ -56,34 +60,35 @@ public class GUIFlowGate extends GuiScreen {
String flowRSHeigh = tile.getFlowSetting(1);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.flowGateRSHigh.name"),
guiCrt
- (fontRendererObj.getStringWidth(
StatCollector.translateToLocal("gui.de.flowGateRSHigh.name"))
/ 2),
guiCrt - (fontRendererObj
.getStringWidth(StatCollector.translateToLocal("gui.de.flowGateRSHigh.name")) / 2),
guiTop + 20,
0xff0000);
fontRendererObj.drawString(
flowRSHeigh, guiCrt - (fontRendererObj.getStringWidth(flowRSHeigh) / 2), guiTop + 31, 0x2c2c2c);
flowRSHeigh,
guiCrt - (fontRendererObj.getStringWidth(flowRSHeigh) / 2),
guiTop + 31,
0x2c2c2c);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.flowGateRSLow.name"),
guiCrt
- (fontRendererObj.getStringWidth(
StatCollector.translateToLocal("gui.de.flowGateRSLow.name"))
/ 2),
guiCrt - (fontRendererObj
.getStringWidth(StatCollector.translateToLocal("gui.de.flowGateRSLow.name")) / 2),
guiTop + 50,
0x660000);
fontRendererObj.drawString(
flowRSLow, guiCrt - (fontRendererObj.getStringWidth(flowRSLow) / 2), guiTop + 61, 0x2c2c2c);
} else
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.flowGateOverridden.txt"),
width / 2,
height / 2 - 30,
0x00FF00);
flowRSLow,
guiCrt - (fontRendererObj.getStringWidth(flowRSLow) / 2),
guiTop + 61,
0x2c2c2c);
} else drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.flowGateOverridden.txt"),
width / 2,
height / 2 - 30,
0x00FF00);
String flow = StatCollector.translateToLocal("gui.de.flowGateCurrentFlow.name") + ": "
+ Utills.addCommas(tile.getActualFlow());
+ formatNumber(tile.getActualFlow());
fontRendererObj.drawString(flow, guiCrt - (fontRendererObj.getStringWidth(flow) / 2), guiTop + 76, 0x2c2c2c);
if (!tile.flowOverridden) {
@@ -108,34 +113,35 @@ public class GUIFlowGate extends GuiScreen {
boolean ctrl = Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) || Keyboard.isKeyDown(Keyboard.KEY_RCONTROL);
if (GuiHelper.isInRect(guiLeft + 20, guiTop + 20, 18, 18, x, y)) {
hoverText.add(StatCollector.translateToLocal("gui.de.decrement.name") + " "
+ tile.getToolTip(1, shift, ctrl));
hoverText.add(
StatCollector.translateToLocal("gui.de.decrement.name") + " "
+ tile.getToolTip(1, shift, ctrl));
}
if (GuiHelper.isInRect(guiLeft + 159, guiTop + 20, 18, 18, x, y)) {
hoverText.add(StatCollector.translateToLocal("gui.de.increment.name") + " "
+ tile.getToolTip(1, shift, ctrl));
hoverText.add(
StatCollector.translateToLocal("gui.de.increment.name") + " "
+ tile.getToolTip(1, shift, ctrl));
}
if (GuiHelper.isInRect(guiLeft + 20, guiTop + 50, 18, 18, x, y)) {
hoverText.add(StatCollector.translateToLocal("gui.de.decrement.name") + " "
+ tile.getToolTip(0, shift, ctrl));
hoverText.add(
StatCollector.translateToLocal("gui.de.decrement.name") + " "
+ tile.getToolTip(0, shift, ctrl));
}
if (GuiHelper.isInRect(guiLeft + 159, guiTop + 50, 18, 18, x, y)) {
hoverText.add(StatCollector.translateToLocal("gui.de.increment.name") + " "
+ tile.getToolTip(0, shift, ctrl));
hoverText.add(
StatCollector.translateToLocal("gui.de.increment.name") + " "
+ tile.getToolTip(0, shift, ctrl));
}
if (!hoverText.isEmpty()) {
hoverText.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("gui.de.pressOrScroll.name"));
drawHoveringText(
hoverText,
x
- (x < width / 2
? fontRendererObj.getStringWidth(
StatCollector.translateToLocal("gui.de.decrement.name") + " "
+ tile.getToolTip(1, shift, ctrl))
+ 25
: 0),
x - (x < width / 2 ? fontRendererObj.getStringWidth(
StatCollector.translateToLocal("gui.de.decrement.name") + " "
+ tile.getToolTip(1, shift, ctrl))
+ 25 : 0),
y,
fontRendererObj);
}
@@ -1,22 +1,28 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerGenerator;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileGenerator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerGenerator;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileGenerator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUIGenerator extends GuiContainer {
@@ -34,8 +40,9 @@ public class GUIGenerator extends GuiContainer {
this.player = invPlayer.player;
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/GGrinder.png");
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/GGrinder.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int X, int Y) {
@@ -45,13 +52,12 @@ public class GUIGenerator extends GuiContainer {
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
drawTexturedModalRect(guiLeft + 63, guiTop + 34, 0, ySize, 18, 18); // fuel box
drawTexturedModalRect(guiLeft + 97, guiTop + 34, 18, ySize, 18, 18); // flame box
if (tile.getStackInSlot(0) == null)
drawTexturedModalRect(guiLeft + 63, guiTop + 34, 36, ySize, 18, 18); // fuel box
if (tile.getStackInSlot(0) == null) drawTexturedModalRect(guiLeft + 63, guiTop + 34, 36, ySize, 18, 18); // fuel
// box
float power = (float) tile.getEnergyStored(ForgeDirection.DOWN)
/ (float) tile.getMaxEnergyStored(ForgeDirection.DOWN)
* -1
+ 1;
/ (float) tile.getMaxEnergyStored(ForgeDirection.DOWN)
* -1 + 1;
float fuel = tile.burnTimeRemaining / ((float) tile.burnTime) * -1 + 1;
drawTexturedModalRect(
@@ -69,44 +75,30 @@ public class GUIGenerator extends GuiContainer {
18,
18 - (int) (fuel * 13)); // Power bar
fontRendererObj.drawStringWithShadow("Generator", guiLeft + 64, guiTop + 0, 0x00FFFF);
fontRendererObj.drawStringWithShadow(
StatCollector.translateToLocal("gui.de.generator.main.title"),
guiLeft + 64,
guiTop,
0x00FFFF);
int x = X - guiLeft;
int y = Y - guiTop;
if (GuiHelper.isInRect(83, 10, 12, 40, x, y)) {
ArrayList<String> internal = new ArrayList<String>();
internal.add("Internal Storage");
internal.add("" + EnumChatFormatting.DARK_BLUE + tile.getEnergyStored(ForgeDirection.UP) + "/"
+ tile.getMaxEnergyStored(ForgeDirection.UP));
internal.add(StatCollector.translateToLocal("gui.de.internalStorage.txt"));
internal.add(
EnumChatFormatting.DARK_BLUE + formatNumber(tile.getEnergyStored(ForgeDirection.UP))
+ "/"
+ formatNumber(tile.getMaxEnergyStored(ForgeDirection.UP)));
drawHoveringText(internal, x + guiLeft, y + guiTop, fontRendererObj);
}
}
@Override
protected void drawGuiContainerForegroundLayer(int X, int Y) {
int x = X - guiLeft;
int y = Y - guiTop;
/* if (GuiHelper.isInRect(83, 10, 95, 50, x, y)) {
ArrayList<String> internal = new ArrayList<String>();
internal.add("Internal Storage");
internal.add("" + EnumChatFormatting.DARK_BLUE + tile.getEnergyStored(ForgeDirection.UP) + "/" + tile.getMaxEnergyStored(ForgeDirection.UP));
drawHoveringText(internal, x, y, fontRendererObj);
}
*/
}
@Override
public void initGui() {
super.initGui();
// ID
// buttonList.add(new GuiButton(0, guiLeft + 85, guiTop , 85, 20, text));
}
@Override
protected void actionPerformed(GuiButton button) {}
@Override
public void updateScreen() {
guiUpdateTick++;
@@ -117,6 +109,4 @@ public class GUIGenerator extends GuiContainer {
super.updateScreen();
}
// ####Draw at############ read from size
// drawTexturedModalRect(guiLeft + 37, guiTop + 4, 0, 143, 37, 38);
}
@@ -1,22 +1,28 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerGrinder;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileGrinder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.container.ContainerGrinder;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileGrinder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUIGrinder extends GuiContainer {
@@ -34,8 +40,9 @@ public class GUIGrinder extends GuiContainer {
this.player = invPlayer.player;
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/GGrinder.png");
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/GGrinder.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int X, int Y) {
@@ -51,14 +58,12 @@ public class GUIGrinder extends GuiContainer {
float power;
if (tile.isExternallyPowered()) {
power = (float) tile.getEnergyStored(ForgeDirection.DOWN)
/ (float) tile.getMaxEnergyStored(ForgeDirection.DOWN)
* -1
+ 1;
/ (float) tile.getMaxEnergyStored(ForgeDirection.DOWN)
* -1 + 1;
} else {
power = (float) tile.getInternalBuffer().getEnergyStored()
/ (float) tile.getInternalBuffer().getMaxEnergyStored()
* -1
+ 1;
/ (float) tile.getInternalBuffer().getMaxEnergyStored()
* -1 + 1;
}
float fuel = tile.burnTimeRemaining / ((float) tile.burnTime) * -1 + 1;
@@ -66,7 +71,7 @@ public class GUIGrinder extends GuiContainer {
guiLeft + 83,
guiTop + 11 + (int) (power * 40),
xSize,
0 + (int) (power * 40),
(int) (power * 40),
12,
40 - (int) (power * 40)); // Power bar
drawTexturedModalRect(
@@ -78,7 +83,11 @@ public class GUIGrinder extends GuiContainer {
18 - (int) (fuel * 13)); // Power bar
if (tile.isExternallyPowered()) drawTexturedModalRect(guiLeft + 100, guiTop + 37, xSize, 66, 13, 13);
fontRendererObj.drawStringWithShadow("Grinder", guiLeft + 71, guiTop + 0, 0x00FFFF);
fontRendererObj.drawStringWithShadow(
StatCollector.translateToLocal("gui.de.grinder.main.title"),
guiLeft + 71,
guiTop,
0x00FFFF);
int x = X - guiLeft;
int y = Y - guiTop;
@@ -86,36 +95,27 @@ public class GUIGrinder extends GuiContainer {
ArrayList<String> internal = new ArrayList<String>();
internal.add("Energy Buffer");
if (tile.isExternallyPowered()) {
internal.add("" + EnumChatFormatting.DARK_BLUE + tile.getEnergyStored(ForgeDirection.UP) + "/"
+ tile.getMaxEnergyStored(ForgeDirection.UP));
internal.add(
"" + EnumChatFormatting.DARK_BLUE
+ formatNumber(tile.getEnergyStored(ForgeDirection.UP))
+ "/"
+ formatNumber(tile.getMaxEnergyStored(ForgeDirection.UP)));
} else {
internal.add("" + EnumChatFormatting.DARK_BLUE
+ tile.getInternalBuffer().getEnergyStored() + "/"
+ tile.getInternalBuffer().getMaxEnergyStored());
internal.add(
"" + EnumChatFormatting.DARK_BLUE
+ formatNumber(tile.getInternalBuffer().getEnergyStored())
+ "/"
+ formatNumber(tile.getInternalBuffer().getMaxEnergyStored()));
}
drawHoveringText(internal, x + guiLeft, y + guiTop, fontRendererObj);
}
}
@Override
protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) {
// fontRendererObj.drawString("Charges: " + charges, 90, 25, 0x000000);
// drawCenteredString(fontRendererObj, "Charges: " + charges, 117, 25, 0x000000);
// drawCenteredString(fontRendererObj, "Weather Controller", xSize/2, -15, 0x2a4ed0);
}
@Override
public void initGui() {
super.initGui();
// ID
// buttonList.add(new GuiButton(0, guiLeft + 85, guiTop , 85, 20, text));
}
@Override
protected void actionPerformed(GuiButton button) {}
@Override
public void updateScreen() {
guiUpdateTick++;
@@ -126,6 +126,4 @@ public class GUIGrinder extends GuiContainer {
super.updateScreen();
}
// ####Draw at############ read from size
// drawTexturedModalRect(guiLeft + 37, guiTop + 4, 0, 143, 37, 38);
}
File diff suppressed because it is too large. Load diff
@@ -1,99 +1,118 @@
package com.brandon3055.draconicevolution.client.gui;
import java.util.ArrayList;
import java.util.Arrays;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerPlayerDetector;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.PlayerDetectorButtonPacket;
import com.brandon3055.draconicevolution.common.network.PlayerDetectorStringPacket;
import com.brandon3055.draconicevolution.common.tileentities.TilePlayerDetectorAdvanced;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class GUIPlayerDetector extends GuiContainer {
public EntityPlayer player;
private TilePlayerDetectorAdvanced detector;
public boolean showInvSlots = true;
private boolean editMode = false;
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/PlayerDetector.png");
private final ContainerPlayerDetector container;
private boolean isInEditMode = false;
private int range = 0;
private int maxRange = 20;
private boolean whitelist = false;
private boolean initScedualed = false;
private boolean isInWhitelistMode = false;
private boolean isOutputInverted = false;
private boolean isInitScheduled = false;
private int initTick = 0;
private String[] names = new String[42];
private final String[] names = new String[42];
private GuiTextField selectedNameText;
private int selected = -1;
private boolean outputInverted = false;
private int selectedMameIndex = -1;
public GUIPlayerDetector(InventoryPlayer invPlayer, TilePlayerDetectorAdvanced detector) {
super(detector.getGuiContainer(invPlayer));
this.inventorySlots = new ContainerPlayerDetector(invPlayer, detector, this);
for (int i = 0; i < names.length; i++) names[i] = "";
public GUIPlayerDetector(InventoryPlayer playerInventory, TilePlayerDetectorAdvanced detector) {
super(detector.getGuiContainer(playerInventory));
container = (ContainerPlayerDetector) inventorySlots;
Arrays.fill(names, "");
xSize = 176;
ySize = 198;
this.detector = detector;
this.player = invPlayer.player;
syncWithServer();
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/PlayerDetector.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
protected void drawGuiContainerBackgroundLayer(float partialTicks, int x, int y) {
GL11.glColor4f(1, 1, 1, 1);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if (editMode) {
if (isInEditMode) {
drawTexturedModalRect(guiLeft + 3, guiTop + ySize / 2, 3, 3, xSize - 6, (ySize / 2) - 3);
drawNameChart(x, y);
}
if (showInvSlots) drawTexturedModalRect(guiLeft + 142, guiTop + 19, xSize, 0, 23, 41);
if (container.shouldShowInventory()) {
drawTexturedModalRect(guiLeft + 142, guiTop + 19, xSize, 0, 23, 41);
}
}
@Override
protected void drawGuiContainerForegroundLayer(int x, int y) {
drawGuiText(x, y);
drawGuiText();
}
@Override
public void drawScreen(int x, int y, float p_73863_3_) {
super.drawScreen(x, y, p_73863_3_);
ArrayList<String> lines = new ArrayList<String>();
lines.add("Camouflage");
if ((x - guiLeft > 142 && x - guiLeft < 160) && (y - guiTop > 19 && y - guiTop < 37) && showInvSlots)
public void drawScreen(int x, int y, float partialTicks) {
super.drawScreen(x, y, partialTicks);
ArrayList<String> lines = new ArrayList<>();
lines.add(StatCollector.translateToLocal("gui.de.playerDetector.camouflage"));
if ((x - guiLeft > 142 && x - guiLeft < 160) && (y - guiTop > 19 && y - guiTop < 37)
&& container.shouldShowInventory()) {
drawHoveringText(lines, x, y, fontRendererObj);
}
}
@Override
@SuppressWarnings("unchecked")
public void initGui() {
super.initGui();
buttonList.clear();
if (!editMode) {
String wt = whitelist ? "White List" : "Black List";
int centre = width / 2;
buttonList.add(new GuiButton(0, centre - 20 - 20, guiTop + 20, 20, 20, "+"));
buttonList.add(new GuiButton(1, centre + 20, guiTop + 20, 20, 20, "-"));
buttonList.add(new GuiButton(3, centre - 40, guiTop + 45, 60, 20, wt));
buttonList.add(new GuiButton(4, centre + 20, guiTop + 45, 20, 20, "!"));
buttonList.add(new GuiButton(6, centre - 40, guiTop + 70, 80, 20, "Invert Output"));
if (!isInEditMode) {
String mode = isInWhitelistMode ? StatCollector.translateToLocal("gui.de.playerDetector.whiteList")
: StatCollector.translateToLocal("gui.de.playerDetector.blackList");
int center = width / 2;
buttonList.add(new GuiButton(0, center - 20 - 20, guiTop + 20, 20, 20, "+"));
buttonList.add(new GuiButton(1, center + 20, guiTop + 20, 20, 20, "-"));
buttonList.add(new GuiButton(3, center - 40, guiTop + 45, 60, 20, mode));
buttonList.add(new GuiButton(4, center + 20, guiTop + 45, 20, 20, "!"));
buttonList.add(
new GuiButton(
6,
center - 40,
guiTop + 70,
80,
20,
StatCollector.translateToLocal("gui.de.playerDetector.invertOutput")));
} else {
buttonList.add(new GuiButton(5, guiLeft - 40, guiTop + ySize - 20, 40, 20, "Back"));
buttonList.add(
new GuiButton(
5,
guiLeft - 40,
guiTop + ySize - 20,
40,
20,
StatCollector.translateToLocal("gui.de.playerDetector.back")));
}
selectedNameText = new GuiTextField(fontRendererObj, 4, -12, 168, 12);
@@ -101,112 +120,133 @@ public class GUIPlayerDetector extends GuiContainer {
selectedNameText.setDisabledTextColour(-1);
selectedNameText.setEnableBackgroundDrawing(true);
selectedNameText.setMaxStringLength(40);
selectedNameText.setVisible(editMode);
// ID
// buttonList.add(new GuiButton(0, guiLeft + 85, guiTop , 85, 20, "sgASGgs"));
// syncWithServer();
selectedNameText.setVisible(isInEditMode);
}
@Override
protected void actionPerformed(GuiButton button) {
switch (button.id) {
case 0: // Range +
range = (range < maxRange) ? range + 1 : maxRange;
case 0 -> { // Range +
range = Math.min(range + 1, TilePlayerDetectorAdvanced.MAXIMUM_RANGE);
DraconicEvolution.network.sendToServer(new PlayerDetectorButtonPacket((byte) 0, (byte) range));
break;
case 1: // Range -
range = (range > 1) ? range - 1 : 1;
}
case 1 -> { // Range -
range = Math.max(range - 1, TilePlayerDetectorAdvanced.MINIMUM_RANGE);
DraconicEvolution.network.sendToServer(new PlayerDetectorButtonPacket((byte) 0, (byte) range));
break;
case 3: // White List -
initScedualed = true;
editMode = true;
showInvSlots = false;
((ContainerPlayerDetector) this.inventorySlots).updateContainerSlots();
break;
case 4: // Toggle White List -
whitelist = !whitelist;
initScedualed = true;
byte val = (byte) (whitelist ? 1 : 0);
DraconicEvolution.network.sendToServer(new PlayerDetectorButtonPacket((byte) 1, val));
break;
case 5: // Back -
editMode = false;
showInvSlots = true;
((ContainerPlayerDetector) this.inventorySlots).updateContainerSlots();
initScedualed = true;
break;
case 6: // Back -
outputInverted = !outputInverted;
initScedualed = true;
byte val2 = (byte) (outputInverted ? 1 : 0);
DraconicEvolution.network.sendToServer(new PlayerDetectorButtonPacket((byte) 2, val2));
break;
}
case 3 -> { // Edit Whitelist/Blacklist
isInitScheduled = true;
isInEditMode = true;
container.setShouldShowInventory(false);
}
case 4 -> { // Toggle Whitelist/Blacklist mode
isInitScheduled = true;
isInWhitelistMode = !isInWhitelistMode;
byte whitelistMode = (byte) (isInWhitelistMode ? 1 : 0);
DraconicEvolution.network.sendToServer(new PlayerDetectorButtonPacket((byte) 1, whitelistMode));
}
case 5 -> { // Back
isInitScheduled = true;
isInEditMode = false;
container.setShouldShowInventory(true);
}
case 6 -> { // Invert Output
isInitScheduled = true;
isOutputInverted = !isOutputInverted;
byte outputMode = (byte) (isOutputInverted ? 1 : 0);
DraconicEvolution.network.sendToServer(new PlayerDetectorButtonPacket((byte) 2, outputMode));
}
}
// DraconicEvolution.channelHandler.sendToServer(new ButtonPacket((byte) 0, true));
}
@Override
protected void keyTyped(char par1, int par2) {
if (this.selectedNameText.textboxKeyTyped(par1, par2)) return;
else if (par2 == 28) {
protected void keyTyped(char typedChar, int keyCode) {
if (this.selectedNameText.textboxKeyTyped(typedChar, keyCode)) {
return;
}
if (keyCode == 28) {
if (selectedNameText.isFocused()) {
names[selected] = selectedNameText.getText();
names[selectedMameIndex] = selectedNameText.getText();
selectedNameText.setText("");
selectedNameText.setFocused(false);
DraconicEvolution.network.sendToServer(
new PlayerDetectorStringPacket((byte) selected, names[selected]));
selected = -1;
new PlayerDetectorStringPacket((byte) selectedMameIndex, names[selectedMameIndex]));
selectedMameIndex = -1;
}
} else super.keyTyped(par1, par2);
} else {
super.keyTyped(typedChar, keyCode);
}
}
@Override
public void updateScreen() {
if (initScedualed) initTick++;
if (isInitScheduled) {
initTick++;
}
if (initTick > 1) {
initTick = 0;
initScedualed = false;
isInitScheduled = false;
initGui();
}
super.updateScreen();
}
@Override
protected void mouseClicked(int x, int y, int par3) {
super.mouseClicked(x, y, par3);
if (editMode) selectName(x - guiLeft, y - guiTop);
// this.selectedNameText.mouseClicked(x - guiLeft, y - guiTop, par3);
protected void mouseClicked(int x, int y, int mouseButton) {
super.mouseClicked(x, y, mouseButton);
if (isInEditMode) {
selectName(x - guiLeft, y - guiTop);
}
}
private void drawGuiText(int rawX, int rawY) {
if (!editMode) {
drawCenteredString(fontRendererObj, "Advanced Player Detector", xSize / 2, 5, 0x00FFFF);
fontRendererObj.drawString("Range:", 73, 21, 0x000000, false);
fontRendererObj.drawString("Output Inverted: " + String.valueOf(outputInverted), 33, 97, 0x000000, false);
if (range < 10) fontRendererObj.drawString("" + range, 85, 31, 0x000000, false);
else fontRendererObj.drawString("" + range, 82, 31, 0x000000, false);
} else {
if (selected != -1) drawCenteredString(fontRendererObj, "Press Enter to save", xSize / 2, -22, 0xFF0000);
for (int i = 0; i < 21; i++) {
for (int j = 0; j < 2; j++) {
if (i + j * 21 != selected) {
String s = names[i + j * 21];
if (s.length() > 13) s = s.substring(0, 13) + "...";
fontRendererObj.drawString(s, 5 + j * 84, 6 + i * 9, 0x980000);
private void drawGuiText() {
if (isInEditMode) {
if (selectedMameIndex != -1) {
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.playerDetector.pressEnter"),
xSize / 2,
-22,
0xFF0000);
}
for (int row = 0; row < 21; row++) {
for (int column = 0; column < 2; column++) {
if (row + column * 21 != selectedMameIndex) {
String name = names[row + column * 21];
if (name.length() > 13) {
name = name.substring(0, 13) + "...";
}
fontRendererObj.drawString(name, 5 + column * 84, 6 + row * 9, 0x980000);
}
}
}
}
} else {
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.playerDetector.main.title"),
xSize / 2,
5,
0x00FFFF);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.playerDetector.range") + ":",
73,
21,
0x000000,
false);
fontRendererObj.drawString(
StatCollector.translateToLocalFormatted("gui.de.playerDetector.outputInvert", isOutputInverted),
33,
97,
0x000000,
false);
fontRendererObj.drawString(
StatCollector.translateToLocalFormatted("gui.de.numbers", range),
range < 10 ? 85 : 82,
31,
0x000000,
false);
}
selectedNameText.drawTextBox();
}
@@ -214,39 +254,46 @@ public class GUIPlayerDetector extends GuiContainer {
int x = rawX - guiLeft;
int y = rawY - guiTop;
for (int i = 0; i < 21; i++) {
drawTexturedModalRect(guiLeft + 4, guiTop + 4 + i * 9, 0, ySize, 186, 10);
for (int row = 0; row < 21; row++) {
drawTexturedModalRect(guiLeft + 4, guiTop + 4 + row * 9, 0, ySize, 186, 10);
}
for (int i = 0; i < 21; i++) {
for (int j = 0; j < 2; j++) {
if ((x > 4 + j * 84 && x < (xSize / 2) - 1 + j * 82) && (y > 4 + i * 9 && y < 13 + i * 9)
|| i + j * 21 == selected)
drawTexturedModalRect(guiLeft + 5 + j * 84, guiTop + 5 + i * 9, 0, ySize + 10, 82, 8);
for (int row = 0; row < 21; row++) {
for (int column = 0; column < 2; column++) {
if ((x > 4 + column * 84 && x < (xSize / 2) - 1 + column * 82) && (y > 4 + row * 9 && y < 13 + row * 9)
|| row + column * 21 == selectedMameIndex)
drawTexturedModalRect(guiLeft + 5 + column * 84, guiTop + 5 + row * 9, 0, ySize + 10, 82, 8);
}
}
}
public void selectName(int x, int y) {
if (initScedualed) return;
if (isInitScheduled) {
return;
}
for (int i = 0; i < 21; i++) {
for (int j = 0; j < 2; j++) {
if ((x > 4 + j * 84 && x < (xSize / 2) - 1 + j * 82) && (y > 4 + i * 9 && y < 13 + i * 9)) {
selected = i + j * 21;
selectedNameText.setText(names[i + j * 21]);
for (int row = 0; row < 21; row++) {
for (int column = 0; column < 2; column++) {
if ((x > 4 + column * 84 && x < (xSize / 2) - 1 + column * 82)
&& (y > 4 + row * 9 && y < 13 + row * 9)) {
selectedMameIndex = row + column * 21;
selectedNameText.setText(names[row + column * 21]);
selectedNameText.setFocused(true);
return;
}
}
}
}
private void syncWithServer() {
this.whitelist = detector.whiteList;
TilePlayerDetectorAdvanced detector = container.getDetector();
isInWhitelistMode = detector.isInWhiteListMode;
for (int i = 0; i < detector.names.length; i++) {
if (detector.names[i] != null) names[i] = detector.names[i];
if (detector.names[i] != null) {
names[i] = detector.names[i];
}
}
range = detector.range;
outputInverted = detector.outputInverted;
isOutputInverted = detector.isOutputInverted;
}
}
@@ -1,18 +1,21 @@
package com.brandon3055.draconicevolution.client.gui;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
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.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerSunDial;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.TeleporterPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileSunDial;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class GUISunDial extends GuiContainer {
@@ -1,17 +1,8 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.brandonscore.common.utills.ItemNBTHelper;
import com.brandon3055.brandonscore.common.utills.Teleporter.TeleportLocation;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.TeleporterPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
@@ -25,17 +16,34 @@ import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.TeleporterPacket;
import com.brandon3055.draconicevolution.common.utils.ItemNBTHelper;
import com.brandon3055.draconicevolution.common.utils.Teleporter;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUITeleporter extends GuiScreen {
private static final int PEARLS_WITH_SHIFT = Loader.isModLoaded("dreamcraft") ? 64 : 16;
private final int xSize = 182;
private final int ySize = 141;
private ResourceLocation guiTexture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/TeleporterMKII.png");
private ResourceLocation guiTexture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/TeleporterMKII.png");
private ItemStack teleporterItem;
protected List<TeleportLocation> locations = new ArrayList<TeleportLocation>(0);
protected List<Teleporter.TeleportLocation> locations = new ArrayList<>(0);
private int selected = 0;
private int selectionOffset = 0;
@@ -168,26 +176,22 @@ public class GUITeleporter extends GuiScreen {
int posY = (this.height - ySize) / 2;
if (locations.size() <= 0) return;
fontRendererObj.drawString(
EnumChatFormatting.GOLD + "X: "
+ (int) getLocationSafely(selected + selectionOffset).getXCoord(),
EnumChatFormatting.GOLD + "X: " + (int) getLocationSafely(selected + selectionOffset).getXCoord(),
posX + 114,
posY + 7,
0x000000);
fontRendererObj.drawString(
EnumChatFormatting.GOLD + "Y: "
+ (int) getLocationSafely(selected + selectionOffset).getYCoord(),
EnumChatFormatting.GOLD + "Y: " + (int) getLocationSafely(selected + selectionOffset).getYCoord(),
posX + 114,
posY + 16,
0x000000);
fontRendererObj.drawString(
EnumChatFormatting.GOLD + "Z: "
+ (int) getLocationSafely(selected + selectionOffset).getZCoord(),
EnumChatFormatting.GOLD + "Z: " + (int) getLocationSafely(selected + selectionOffset).getZCoord(),
posX + 114,
posY + 25,
0x000000);
fontRendererObj.drawString(
EnumChatFormatting.GOLD + ""
+ getLocationSafely(selected + selectionOffset).getDimensionName(),
EnumChatFormatting.GOLD + "" + getLocationSafely(selected + selectionOffset).getDimensionName(),
posX + 114,
posY + 34,
0x000000);
@@ -245,21 +249,19 @@ public class GUITeleporter extends GuiScreen {
if (GuiHelper.isInRect(99, 8 + i * 11, 8, 7, x - posX, y - posY)) {
getLocationSafely(i + selectionOffset)
.setWriteProtected(
!getLocationSafely(i + selectionOffset).getWriteProtected());
DraconicEvolution.network.sendToServer(new TeleporterPacket(
TeleporterPacket.UPDATELOCK,
i + selectionOffset,
getLocationSafely(i + selectionOffset).getWriteProtected()));
.setWriteProtected(!getLocationSafely(i + selectionOffset).getWriteProtected());
DraconicEvolution.network.sendToServer(
new TeleporterPacket(
TeleporterPacket.UPDATELOCK,
i + selectionOffset,
getLocationSafely(i + selectionOffset).getWriteProtected()));
}
}
if (selectionChanged)
DraconicEvolution.network.sendToServer(
new TeleporterPacket(TeleporterPacket.CHANGESELECTION, selected, false));
if (offsetChanged)
DraconicEvolution.network.sendToServer(
new TeleporterPacket(TeleporterPacket.UPDATEOFFSET, selectionOffset, false));
if (selectionChanged) DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.CHANGESELECTION, selected, false));
if (offsetChanged) DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.UPDATEOFFSET, selectionOffset, false));
updateButtons();
super.mouseClicked(x, y, button);
@@ -294,12 +296,10 @@ public class GUITeleporter extends GuiScreen {
updateButtons();
}
if (selectionChanged)
DraconicEvolution.network.sendToServer(
new TeleporterPacket(TeleporterPacket.CHANGESELECTION, selected, false));
if (offsetChanged)
DraconicEvolution.network.sendToServer(
new TeleporterPacket(TeleporterPacket.UPDATEOFFSET, selectionOffset, false));
if (selectionChanged) DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.CHANGESELECTION, selected, false));
if (offsetChanged) DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.UPDATEOFFSET, selectionOffset, false));
super.handleMouseInput();
}
@@ -312,13 +312,12 @@ public class GUITeleporter extends GuiScreen {
if ((selected + selectionOffset) + 1 > locations.size()) {
selected = 0;
selectionOffset = 0;
DraconicEvolution.network.sendToServer(
new TeleporterPacket(TeleporterPacket.CHANGESELECTION, selected, false));
DraconicEvolution.network.sendToServer(
new TeleporterPacket(TeleporterPacket.UPDATEOFFSET, selectionOffset, false));
DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.CHANGESELECTION, selected, false));
DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.UPDATEOFFSET, selectionOffset, false));
}
if (locations.size() == 0
|| getLocationSafely(selected + selectionOffset).getWriteProtected()) {
if (locations.size() == 0 || getLocationSafely(selected + selectionOffset).getWriteProtected()) {
((GuiButton) buttonList.get(0)).enabled = false;
((GuiButton) buttonList.get(1)).enabled = false;
((GuiButton) buttonList.get(2)).enabled = false;
@@ -347,25 +346,73 @@ public class GUITeleporter extends GuiScreen {
// updateTeleporter();
buttonList.add(new GuiButtonAHeight(
0, posX + 112, posY + 45, 66, 12, StatCollector.translateToLocal("button.de.rename.txt")));
buttonList.add(new GuiButtonAHeight(
1, posX + 112, posY + 58, 66, 12, StatCollector.translateToLocal("button.de.setHere.txt")));
buttonList.add(new GuiButtonAHeight(
2, posX + 112, posY + 71, 66, 12, StatCollector.translateToLocal("button.de.remove.txt")));
buttonList.add(
new GuiButtonAHeight(
0,
posX + 112,
posY + 45,
66,
12,
StatCollector.translateToLocal("button.de.rename.txt")));
buttonList.add(
new GuiButtonAHeight(
1,
posX + 112,
posY + 58,
66,
12,
StatCollector.translateToLocal("button.de.setHere.txt")));
buttonList.add(
new GuiButtonAHeight(
2,
posX + 112,
posY + 71,
66,
12,
StatCollector.translateToLocal("button.de.remove.txt")));
buttonList.add(new GuiButtonAHeight(
3, posX + 112, posY + 99, 33, 12, StatCollector.translateToLocal("button.de.UP.txt")));
buttonList.add(
new GuiButtonAHeight(
3,
posX + 112,
posY + 99,
33,
12,
StatCollector.translateToLocal("button.de.UP.txt")));
buttonList.add(new GuiButtonAHeight(
4, posX + 112, posY + 112, 66, 12, StatCollector.translateToLocal("button.de.addNew.txt")));
buttonList.add(new GuiButtonAHeight(
5, posX + 112, posY + 125, 66, 12, StatCollector.translateToLocal("button.de.addFuel.txt")));
buttonList.add(new GuiButtonAHeight(
6, posX + xSize - 63, posY - 15, 60, 15, StatCollector.translateToLocal("button.de.cancel.txt")));
buttonList.add(
new GuiButtonAHeight(
4,
posX + 112,
posY + 112,
66,
12,
StatCollector.translateToLocal("button.de.addNew.txt")));
buttonList.add(
new GuiButtonAHeight(
5,
posX + 112,
posY + 125,
66,
12,
StatCollector.translateToLocal("button.de.addFuel.txt")));
buttonList.add(
new GuiButtonAHeight(
6,
posX + xSize - 63,
posY - 15,
60,
15,
StatCollector.translateToLocal("button.de.cancel.txt")));
buttonList.add(new GuiButtonAHeight(
7, posX + 112 + 34, posY + 99, 33, 12, StatCollector.translateToLocal("button.de.DOWN.txt")));
buttonList.add(
new GuiButtonAHeight(
7,
posX + 112 + 34,
posY + 99,
33,
12,
StatCollector.translateToLocal("button.de.DOWN.txt")));
((GuiButton) buttonList.get(6)).visible = false;
textBeingEdited = new GuiTextField(fontRendererObj, posX + 3, posY - 14, xSize - 67, 12);
@@ -392,20 +439,19 @@ public class GUITeleporter extends GuiScreen {
if (!editingExisting) {
editingExisting = true;
textBeingEdited.setVisible(true);
textBeingEdited.setText(
getLocationSafely(selected + selectionOffset).getName());
textBeingEdited.setText(getLocationSafely(selected + selectionOffset).getName());
textBeingEdited.setSelectionPos(0);
textBeingEdited.setFocused(true);
((GuiButton) buttonList.get(6)).visible = true;
} else {
if (!textBeingEdited.getText().isEmpty()) {
getLocationSafely(selected + selectionOffset).setName(textBeingEdited.getText());
TeleportLocation location = new TeleportLocation();
Teleporter.TeleportLocation location = new Teleporter.TeleportLocation();
location.setName(textBeingEdited.getText());
DraconicEvolution.network.sendToServer(
new TeleporterPacket(location, TeleporterPacket.UPDATENAME, selected + selectionOffset));
((GuiButton) buttonList.get(0)).displayString =
StatCollector.translateToLocal("button.de.rename.txt");
((GuiButton) buttonList.get(0)).displayString = StatCollector
.translateToLocal("button.de.rename.txt");
editingExisting = false;
textBeingEdited.setVisible(false);
((GuiButton) buttonList.get(6)).visible = false;
@@ -414,7 +460,7 @@ public class GUITeleporter extends GuiScreen {
}
if (button.id == 1) {
TeleportLocation location = new TeleportLocation(
Teleporter.TeleportLocation location = new Teleporter.TeleportLocation(
player.posX,
player.posY - 1.62,
player.posZ,
@@ -438,14 +484,14 @@ public class GUITeleporter extends GuiScreen {
if (button.id == 3 || button.id == 7) {
if (button.id == 3) {
if (selected > 0) {
TeleportLocation temp = getLocationSafely(selected + selectionOffset);
Teleporter.TeleportLocation temp = getLocationSafely(selected + selectionOffset);
locations.set(selected + selectionOffset, getLocationSafely(selected + selectionOffset - 1));
locations.set(selected + selectionOffset - 1, temp);
selected--;
}
} else {
if (selected < Math.min(11, locations.size() - 1)) {
TeleportLocation temp = getLocationSafely(selected + selectionOffset);
Teleporter.TeleportLocation temp = getLocationSafely(selected + selectionOffset);
locations.set(selected + selectionOffset, getLocationSafely(selected + selectionOffset + 1));
locations.set(selected + selectionOffset + 1, temp);
selected++;
@@ -475,8 +521,8 @@ public class GUITeleporter extends GuiScreen {
} else {
if (!textBeingEdited.getText().isEmpty()) {
addCurrentLocationToList(textBeingEdited.getText());
((GuiButton) buttonList.get(4)).displayString =
StatCollector.translateToLocal("button.de.addNew.txt");
((GuiButton) buttonList.get(4)).displayString = StatCollector
.translateToLocal("button.de.addNew.txt");
editingNew = false;
textBeingEdited.setVisible(false);
((GuiButton) buttonList.get(6)).visible = false;
@@ -489,9 +535,10 @@ public class GUITeleporter extends GuiScreen {
if ((!Keyboard.isKeyDown(42)) && (!Keyboard.isKeyDown(54))) {
DraconicEvolution.network.sendToServer(new TeleporterPacket(TeleporterPacket.ADDFUEL, 1, false));
this.fuel += ConfigHandler.teleporterUsesPerPearl;
} else if (hasPearls(16)) {
DraconicEvolution.network.sendToServer(new TeleporterPacket(TeleporterPacket.ADDFUEL, 16, false));
this.fuel += ConfigHandler.teleporterUsesPerPearl * 16;
} else if (hasPearls(PEARLS_WITH_SHIFT)) {
DraconicEvolution.network
.sendToServer(new TeleporterPacket(TeleporterPacket.ADDFUEL, PEARLS_WITH_SHIFT, false));
this.fuel += ConfigHandler.teleporterUsesPerPearl * PEARLS_WITH_SHIFT;
} else player.addChatMessage(new ChatComponentTranslation("msg.teleporterOutOfPearls.txt"));
} else player.addChatMessage(new ChatComponentTranslation("msg.teleporterOutOfPearls.txt"));
}
@@ -514,13 +561,11 @@ public class GUITeleporter extends GuiScreen {
public void keyTyped(char key, int keyN) {
if (this.textBeingEdited.textboxKeyTyped(key, keyN)) {
if (editingNew) {
((GuiButton) buttonList.get(4)).enabled =
!textBeingEdited.getText().isEmpty();
((GuiButton) buttonList.get(4)).enabled = !textBeingEdited.getText().isEmpty();
((GuiButton) buttonList.get(4)).displayString = StatCollector.translateToLocal("button.de.commit.txt");
}
if (editingExisting) {
((GuiButton) buttonList.get(0)).enabled =
!textBeingEdited.getText().isEmpty();
((GuiButton) buttonList.get(0)).enabled = !textBeingEdited.getText().isEmpty();
((GuiButton) buttonList.get(0)).displayString = StatCollector.translateToLocal("button.de.commit.txt");
}
return;
@@ -544,13 +589,11 @@ public class GUITeleporter extends GuiScreen {
this.mc.setIngameFocus();
}
if (tick % 5 == 0
&& locations.size() > 0
&& getLocationSafely(selected + selectionOffset)
.getDimensionName()
.equals("")
if (tick % 5 == 0 && locations.size() > 0
&& getLocationSafely(selected + selectionOffset).getDimensionName().equals("")
&& player.getHeldItem() != null
&& player.getHeldItem().getItem() == ModItems.teleporterMKII) readDataFromItem(player.getHeldItem());
&& player.getHeldItem().getItem() == ModItems.teleporterMKII)
readDataFromItem(player.getHeldItem());
tick++;
if (tick >= 10) {
@@ -581,7 +624,7 @@ public class GUITeleporter extends GuiScreen {
// TeleportLocation location = new TeleportLocation(tagLocation.getDouble("X"), tagLocation.getDouble("Y"),
// tagLocation.getDouble("Z"), tagLocation.getInteger("Dimension"), tagLocation.getFloat("Pitch"),
// tagLocation.getFloat("Yaw"), tagLocation.getString("Name"));
TeleportLocation location = new TeleportLocation();
Teleporter.TeleportLocation location = new Teleporter.TeleportLocation();
location.readFromNBT(tagLocation);
location.setWriteProtected(tagLocation.getBoolean("WP"));
locations.add(location);
@@ -589,7 +632,7 @@ public class GUITeleporter extends GuiScreen {
}
private void addCurrentLocationToList(String name) {
TeleportLocation currentLocation = new TeleportLocation(
Teleporter.TeleportLocation currentLocation = new Teleporter.TeleportLocation(
player.posX,
player.posY - 1.62,
player.posZ,
@@ -601,8 +644,8 @@ public class GUITeleporter extends GuiScreen {
locations.add(currentLocation);
}
private TeleportLocation getLocationSafely(int index) {
private Teleporter.TeleportLocation getLocationSafely(int index) {
if (index < locations.size() && index >= 0) return locations.get(index);
return new TeleportLocation(0, 0, 0, 0, 0, 0, EnumChatFormatting.DARK_RED + "[Index Error]");
return new Teleporter.TeleportLocation(0, 0, 0, 0, 0, 0, EnumChatFormatting.DARK_RED + "[Index Error]");
}
}
@@ -1,16 +1,8 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.container.ContainerUpgradeModifier;
import com.brandon3055.draconicevolution.common.tileentities.TileUpgradeModifier;
import com.brandon3055.draconicevolution.common.utills.IUpgradableItem;
import com.brandon3055.draconicevolution.common.utills.IUpgradableItem.EnumUpgrade;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiButton;
@@ -20,8 +12,20 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.container.ContainerUpgradeModifier;
import com.brandon3055.draconicevolution.common.tileentities.TileUpgradeModifier;
import com.brandon3055.draconicevolution.common.utils.IUpgradableItem;
import com.brandon3055.draconicevolution.common.utils.IUpgradableItem.EnumUpgrade;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUIUpgradeModifier extends GuiContainer {
@@ -34,8 +38,8 @@ public class GUIUpgradeModifier extends GuiContainer {
private List<EnumUpgrade> itemUpgrades = new ArrayList<EnumUpgrade>();
private ContainerUpgradeModifier containerEM;
public GUIUpgradeModifier(
InventoryPlayer invPlayer, TileUpgradeModifier tile, ContainerUpgradeModifier containerEM) {
public GUIUpgradeModifier(InventoryPlayer invPlayer, TileUpgradeModifier tile,
ContainerUpgradeModifier containerEM) {
super(containerEM);
this.containerEM = containerEM;
@@ -82,7 +86,12 @@ public class GUIUpgradeModifier extends GuiContainer {
@Override
protected void drawGuiContainerForegroundLayer(int x, int y) {
drawCenteredString(fontRendererObj, tile.getBlockType().getLocalizedName(), xSize / 2, -9, 0x00FFFF);
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.upgradeModifier.main.title"),
xSize / 2,
-9,
0x00FFFF);
}
@Override
@@ -154,24 +163,21 @@ public class GUIUpgradeModifier extends GuiContainer {
for (int i = 0; i <= coreTier; i++) {
// Check + buttons
if (coreInInventory[i]
&& coreSlots > usedSlots
if (coreInInventory[i] && coreSlots > usedSlots
&& GuiHelper.isInRect(xPos, yPos + 33 + i * 18, 8, 8, x, y)
&& upgrade.getUpgradePoints(stack) < upgradableItem.getMaxUpgradePoints(upgrade.index, stack)) {
containerEM.sendObjectToServer(null, upgrade.index, i * 2);
Minecraft.getMinecraft()
.getSoundHandler()
.playSound(PositionedSoundRecord.func_147674_a(
ResourceHandler.getResourceWOP("gui.button.press"), 1.0F));
Minecraft.getMinecraft().getSoundHandler().playSound(
PositionedSoundRecord
.func_147674_a(ResourceHandler.getResourceWOP("gui.button.press"), 1.0F));
}
// Check - buttons
if (appliedCores[i] > 0 && GuiHelper.isInRect(xPos + 16, yPos + 33 + i * 18, 8, 8, x, y)) {
containerEM.sendObjectToServer(null, upgrade.index, 1 + i * 2);
Minecraft.getMinecraft()
.getSoundHandler()
.playSound(PositionedSoundRecord.func_147674_a(
ResourceHandler.getResourceWOP("gui.button.press"), 1.0F));
Minecraft.getMinecraft().getSoundHandler().playSound(
PositionedSoundRecord
.func_147674_a(ResourceHandler.getResourceWOP("gui.button.press"), 1.0F));
}
}
}
@@ -218,12 +224,11 @@ public class GUIUpgradeModifier extends GuiContainer {
drawTexturedModalRect(xPos + 16, yPos + 33 + i * 18, 56 + (hovering ? 8 : 0), 208, 8, 8);
}
}
for (int i = 0; i <= coreTier; i++)
fontRendererObj.drawString(
String.valueOf(appliedCores[i]),
xPos + 12 - fontRendererObj.getStringWidth(String.valueOf(appliedCores[i])) / 2,
yPos + 29 + i * 18,
0xFFFFFF);
for (int i = 0; i <= coreTier; i++) fontRendererObj.drawString(
String.valueOf(appliedCores[i]),
xPos + 12 - fontRendererObj.getStringWidth(String.valueOf(appliedCores[i])) / 2,
yPos + 29 + i * 18,
0xFFFFFF);
fontRendererObj.drawString(
String.valueOf(upgrade.getUpgradePoints(stack)),
xPos + 12 - fontRendererObj.getStringWidth(String.valueOf(upgrade.getUpgradePoints(stack))) / 2,
@@ -232,16 +237,31 @@ public class GUIUpgradeModifier extends GuiContainer {
}
fontRendererObj.drawStringWithShadow(
StatCollector.translateToLocal("gui.de.cores.txt"), guiLeft + 4, guiTop + 4, 0x00ff00);
StatCollector.translateToLocal("gui.de.cores.txt"),
guiLeft + 4,
guiTop + 4,
0x00ff00);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.cap.txt"), guiLeft + 4, guiTop + 16, 0x000000);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.cap.txt"), guiLeft + 4, guiTop + 16, 0x000000);
fontRendererObj.drawString(">" + coreSlots, guiLeft + 4, guiTop + 25, 0x000000);
StatCollector.translateToLocalFormatted("gui.de.numbers", ">" + coreSlots),
guiLeft + 4,
guiTop + 25,
0x000000);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.installed.txt"), guiLeft + 4, guiTop + 37, 0x000000);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.installed.txt"), guiLeft + 4, guiTop + 37, 0x000000);
fontRendererObj.drawString(">" + usedSlots, guiLeft + 4, guiTop + 46, 0x000000);
StatCollector.translateToLocalFormatted("gui.de.numbers", ">" + usedSlots),
guiLeft + 4,
guiTop + 46,
0x000000);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.free.txt"), guiLeft + 4, guiTop + 58, 0x000000);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.free.txt"), guiLeft + 4, guiTop + 58, 0x000000);
fontRendererObj.drawString(">" + (coreSlots - usedSlots), guiLeft + 4, guiTop + 67, 0x000000);
StatCollector.translateToLocalFormatted("gui.de.numbers", ">" + (coreSlots - usedSlots)),
guiLeft + 4,
guiTop + 67,
0x000000);
}
@Override
@@ -265,10 +285,12 @@ public class GUIUpgradeModifier extends GuiContainer {
if (GuiHelper.isInRect(xPos + 3, yPos - 9, 18, 8, x, y)) {
List list = new ArrayList();
list.add(StatCollector.translateToLocal("gui.de.basePoints.txt") + ": "
+ upgradableItem.getBaseUpgradePoints(upgrade.index));
list.add(StatCollector.translateToLocal("gui.de.maxPoints.txt") + ": "
+ upgradableItem.getMaxUpgradePoints(upgrade.index, stack));
list.add(
StatCollector.translateToLocal("gui.de.basePoints.txt") + ": "
+ upgradableItem.getBaseUpgradePoints(upgrade.index));
list.add(
StatCollector.translateToLocal("gui.de.maxPoints.txt") + ": "
+ upgradableItem.getMaxUpgradePoints(upgrade.index, stack));
list.add(StatCollector.translateToLocal("gui.de.pointCost.txt") + ": " + upgrade.pointConversion);
drawHoveringText(list, x, y, fontRendererObj);
}
@@ -277,9 +299,10 @@ public class GUIUpgradeModifier extends GuiContainer {
if (GuiHelper.isInRect(xPos + 9, yPos + 25 + i * 18, 6, 15, x, y)) {
List list = new ArrayList();
double value = Math.pow(2, i) / upgrade.pointConversion;
String string = StatCollector.translateToLocal("gui.de.value.txt") + ": " + value + " "
+ (value == 1
? StatCollector.translateToLocal("gui.de.point.txt")
String string = StatCollector.translateToLocal("gui.de.value.txt") + ": "
+ value
+ " "
+ (value == 1 ? StatCollector.translateToLocal("gui.de.point.txt")
: StatCollector.translateToLocal("gui.de.points.txt"));
list.add(string.replace(".0", ""));
drawHoveringText(list, x, y, fontRendererObj);
@@ -1,20 +1,24 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerWeatherController;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileWeatherController;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.container.ContainerWeatherController;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.tileentities.TileWeatherController;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GUIWeatherController extends GuiContainer {
@@ -34,8 +38,9 @@ public class GUIWeatherController extends GuiContainer {
this.player = invPlayer.player;
}
private static final ResourceLocation texture =
new ResourceLocation(References.MODID.toLowerCase(), "textures/gui/WeatherController.png");
private static final ResourceLocation texture = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/gui/WeatherController.png");
@Override
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
@@ -49,23 +54,32 @@ public class GUIWeatherController extends GuiContainer {
@Override
protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) {
fontRendererObj.drawString("Charges: " + charges, 90, 25, 0x000000);
fontRendererObj.drawString(StatCollector.translateToLocal("gui.de.charges") + ": " + charges, 90, 25, 0x000000);
// drawCenteredString(fontRendererObj, "Charges: " + charges, 117, 25, 0x000000);
drawCenteredString(fontRendererObj, "Weather Controller", xSize / 2, -15, 0x2a4ed0);
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.weatherController.main.title"),
xSize / 2,
-15,
0x2a4ed0);
}
public static final String RAIN_ON_TEXT = "Turn rain on";
public static final String RAIN_OFF_TEXT = "Turn rain off";
public static final String STORM_TEXT = "Thunder Storm";
public static final String RAIN_ON_TEXT = "gui.de.rain.on";
public static final String RAIN_OFF_TEXT = "gui.de.rain.off";
public static final String STORM_TEXT = "gui.de.rain.storm";
public static String text;
private String getModeText(int mode) {
if (mode == 0) return StatCollector.translateToLocal(RAIN_OFF_TEXT);
else if (mode == 1) return StatCollector.translateToLocal(RAIN_ON_TEXT);
else return StatCollector.translateToLocal(STORM_TEXT);
}
@Override
public void initGui() {
super.initGui();
buttonList.clear();
if (tileWC.mode == 0) text = RAIN_OFF_TEXT;
else if (tileWC.mode == 1) text = RAIN_ON_TEXT;
else text = STORM_TEXT;
text = getModeText(tileWC.mode);
// ID
buttonList.add(new GuiButton(0, guiLeft + 85, guiTop, 85, 20, text));
}
@@ -74,9 +88,8 @@ public class GUIWeatherController extends GuiContainer {
protected void actionPerformed(GuiButton button) {
if (button.id == 0) {
DraconicEvolution.network.sendToServer(new ButtonPacket((byte) 0, true));
if (button.displayString.equals(STORM_TEXT)) button.displayString = RAIN_OFF_TEXT;
else if (button.displayString.equals(RAIN_OFF_TEXT)) button.displayString = RAIN_ON_TEXT;
else button.displayString = STORM_TEXT;
tileWC.mode = (tileWC.mode + 1) % 3;
button.displayString = getModeText(tileWC.mode);
}
}
@@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.OpenGlHelper;
import org.lwjgl.opengl.GL11;
/**
@@ -21,8 +22,7 @@ public class GuiButtonAHeight extends GuiButton {
FontRenderer fontrenderer = minecraft.fontRenderer;
minecraft.getTextureManager().bindTexture(buttonTextures);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.field_146123_n = mouseX >= this.xPosition
&& mouseY >= this.yPosition
this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition
&& mouseX < this.xPosition + this.width
&& mouseY < this.yPosition + this.height;
int k = this.getHoverState(this.field_146123_n);
@@ -30,7 +30,12 @@ public class GuiButtonAHeight extends GuiButton {
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
this.drawTexturedModalRect(
this.xPosition, this.yPosition, 0, 46 + k * 20, width % 2 + this.width / 2, this.height);
this.xPosition,
this.yPosition,
0,
46 + k * 20,
width % 2 + this.width / 2,
this.height);
this.drawTexturedModalRect(
width % 2 + this.xPosition + this.width / 2,
this.yPosition,
@@ -5,17 +5,19 @@ import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.util.EnumChatFormatting;
import org.lwjgl.opengl.GL11;
/**
* Created by Brandon on 17/09/2014.
*/
public class GuiButtonTextOnly extends GuiButton {
public String LINKED_PAGE;
public int textColour;
public GuiButtonTextOnly(
int id, int xPos, int yPos, int width, int hight, String displayString, String linkedPage, int colour) {
public GuiButtonTextOnly(int id, int xPos, int yPos, int width, int hight, String displayString, String linkedPage,
int colour) {
super(id, xPos, yPos, width, hight, displayString);
this.LINKED_PAGE = linkedPage;
this.textColour = colour;
@@ -27,8 +29,7 @@ public class GuiButtonTextOnly extends GuiButton {
FontRenderer fontrenderer = minecraft.fontRenderer;
minecraft.getTextureManager().bindTexture(buttonTextures);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.field_146123_n = mouseX >= this.xPosition
&& mouseY >= this.yPosition
this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition
&& mouseX < this.xPosition + this.width
&& mouseY < this.yPosition + this.height;
GL11.glEnable(GL11.GL_BLEND);
@@ -1,19 +1,42 @@
package com.brandon3055.draconicevolution.client.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIManual;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIReactor;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIToolConfig;
import com.brandon3055.draconicevolution.common.container.*;
import com.brandon3055.draconicevolution.common.container.ContainerAdvTool;
import com.brandon3055.draconicevolution.common.container.ContainerDislocatorInhibitor;
import com.brandon3055.draconicevolution.common.container.ContainerDissEnchanter;
import com.brandon3055.draconicevolution.common.container.ContainerDraconiumChest;
import com.brandon3055.draconicevolution.common.container.ContainerEnergyInfuser;
import com.brandon3055.draconicevolution.common.container.ContainerGenerator;
import com.brandon3055.draconicevolution.common.container.ContainerGrinder;
import com.brandon3055.draconicevolution.common.container.ContainerPlayerDetector;
import com.brandon3055.draconicevolution.common.container.ContainerReactor;
import com.brandon3055.draconicevolution.common.container.ContainerSunDial;
import com.brandon3055.draconicevolution.common.container.ContainerUpgradeModifier;
import com.brandon3055.draconicevolution.common.container.ContainerWeatherController;
import com.brandon3055.draconicevolution.common.inventory.InventoryTool;
import com.brandon3055.draconicevolution.common.tileentities.*;
import com.brandon3055.draconicevolution.common.tileentities.TileDislocatorInhibitor;
import com.brandon3055.draconicevolution.common.tileentities.TileDissEnchanter;
import com.brandon3055.draconicevolution.common.tileentities.TileDraconiumChest;
import com.brandon3055.draconicevolution.common.tileentities.TileEnergyInfuser;
import com.brandon3055.draconicevolution.common.tileentities.TileGenerator;
import com.brandon3055.draconicevolution.common.tileentities.TileGrinder;
import com.brandon3055.draconicevolution.common.tileentities.TileParticleGenerator;
import com.brandon3055.draconicevolution.common.tileentities.TilePlayerDetectorAdvanced;
import com.brandon3055.draconicevolution.common.tileentities.TileSunDial;
import com.brandon3055.draconicevolution.common.tileentities.TileUpgradeModifier;
import com.brandon3055.draconicevolution.common.tileentities.TileWeatherController;
import com.brandon3055.draconicevolution.common.tileentities.gates.TileGate;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler {
@@ -32,6 +55,7 @@ public class GuiHandler implements IGuiHandler {
public static final int GUIID_FLOW_GATE = 13;
public static final int GUIID_REACTOR = 14;
public static final int GUIID_UPGRADE_MODIFIER = 15;
public static final int GUIID_DISLOCATOR_INHIBITOR = 16;
public static final int GUIID_CONTAINER_TEMPLATE = 100;
public GuiHandler() {
@@ -39,172 +63,155 @@ public class GuiHandler implements IGuiHandler {
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
switch (ID) {
case GUIID_WEATHER_CONTROLLER:
TileEntity te = world.getTileEntity(x, y, z);
if (te != null && te instanceof TileWeatherController) {
return new ContainerWeatherController(player.inventory, (TileWeatherController) te);
public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
TileEntity tile = world.getTileEntity(x, y, z);
switch (id) {
case GUIID_WEATHER_CONTROLLER -> {
if (tile instanceof TileWeatherController weatherController) {
return new ContainerWeatherController(player.inventory, weatherController);
}
break;
case GUIID_SUN_DIAL:
TileEntity te1 = world.getTileEntity(x, y, z);
if (te1 != null && te1 instanceof TileSunDial) {
return new ContainerSunDial(player.inventory, (TileSunDial) te1);
}
case GUIID_SUN_DIAL -> {
if (tile instanceof TileSunDial sunDial) {
return new ContainerSunDial(player.inventory, sunDial);
}
break;
case GUIID_GRINDER:
TileEntity te2 = world.getTileEntity(x, y, z);
if (te2 != null && te2 instanceof TileGrinder) {
return new ContainerGrinder(player.inventory, (TileGrinder) te2);
}
case GUIID_GRINDER -> {
if (tile instanceof TileGrinder grinder) {
return new ContainerGrinder(player.inventory, grinder);
}
break;
case GUIID_PLAYERDETECTOR:
TileEntity detector = world.getTileEntity(x, y, z);
if (detector != null && detector instanceof TilePlayerDetectorAdvanced) {
return new ContainerPlayerDetector(player.inventory, (TilePlayerDetectorAdvanced) detector);
}
case GUIID_PLAYERDETECTOR -> {
if (tile instanceof TilePlayerDetectorAdvanced detector) {
return new ContainerPlayerDetector(player.inventory, detector);
}
break;
case GUIID_ENERGY_INFUSER:
TileEntity infuser = world.getTileEntity(x, y, z);
if (infuser != null && infuser instanceof TileEnergyInfuser) {
return new ContainerEnergyInfuser(player.inventory, (TileEnergyInfuser) infuser);
}
case GUIID_ENERGY_INFUSER -> {
if (tile instanceof TileEnergyInfuser infuser) {
return new ContainerEnergyInfuser(player.inventory, infuser);
}
break;
case GUIID_GENERATOR:
TileEntity generator = world.getTileEntity(x, y, z);
if (generator != null && generator instanceof TileGenerator) {
return new ContainerGenerator(player.inventory, (TileGenerator) generator);
}
case GUIID_GENERATOR -> {
if (tile instanceof TileGenerator generator) {
return new ContainerGenerator(player.inventory, generator);
}
break;
case GUIID_DISSENCHANTER:
TileEntity dissenchanter = world.getTileEntity(x, y, z);
if (dissenchanter != null && dissenchanter instanceof TileDissEnchanter) {
return new ContainerDissEnchanter(player.inventory, (TileDissEnchanter) dissenchanter);
}
case GUIID_DISSENCHANTER -> {
if (tile instanceof TileDissEnchanter dissenchanter) {
return new ContainerDissEnchanter(player.inventory, dissenchanter);
}
break;
case GUIID_DRACONIC_CHEST:
TileEntity containerChest = world.getTileEntity(x, y, z);
if (containerChest != null && containerChest instanceof TileDraconiumChest) {
return new ContainerDraconiumChest(player.inventory, (TileDraconiumChest) containerChest);
}
case GUIID_DRACONIC_CHEST -> {
if (tile instanceof TileDraconiumChest draconiumChest) {
return new ContainerDraconiumChest(player.inventory, draconiumChest);
}
break;
case GUIID_REACTOR:
TileEntity reactor = world.getTileEntity(x, y, z);
if (reactor != null && reactor instanceof TileReactorCore) {
return new ContainerReactor(player, (TileReactorCore) reactor);
}
case GUIID_REACTOR -> {
if (tile instanceof TileReactorCore reactorCore) {
return new ContainerReactor(player, reactorCore);
}
break;
case GUIID_TOOL_CONFIG:
}
case GUIID_TOOL_CONFIG -> {
return new ContainerAdvTool(player.inventory, new InventoryTool(player, null));
case GUIID_UPGRADE_MODIFIER:
TileEntity containerTemp = world.getTileEntity(x, y, z);
if (containerTemp != null && containerTemp instanceof TileUpgradeModifier) {
return new ContainerUpgradeModifier(player.inventory, (TileUpgradeModifier) containerTemp);
}
case GUIID_UPGRADE_MODIFIER -> {
if (tile instanceof TileUpgradeModifier upgradeModifier) {
return new ContainerUpgradeModifier(player.inventory, upgradeModifier);
}
break;
// case GUIID_CONTAINER_TEMPLATE:
// TileEntity containerTemp = world.getTileEntity(x, y, z);
// if (containerTemp != null && containerTemp instanceof TileContainerTemplate) {
// return new ContainerTemplate(player.inventory, (TileContainerTemplate) containerTemp);
// }
// break;
}
case GUIID_DISLOCATOR_INHIBITOR -> {
if (tile instanceof TileDislocatorInhibitor inhibitor) {
return new ContainerDislocatorInhibitor(player.inventory, inhibitor);
}
}
}
return null;
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
switch (ID) {
case GUIID_WEATHER_CONTROLLER:
TileEntity te = world.getTileEntity(x, y, z);
if (te != null && te instanceof TileWeatherController) {
return new GUIWeatherController(player.inventory, (TileWeatherController) te);
public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
TileEntity tile = world.getTileEntity(x, y, z);
switch (id) {
case GUIID_WEATHER_CONTROLLER -> {
if (tile instanceof TileWeatherController weatherController) {
return new GUIWeatherController(player.inventory, weatherController);
}
break;
case GUIID_SUN_DIAL:
TileEntity te1 = world.getTileEntity(x, y, z);
if (te1 != null && te1 instanceof TileSunDial) {
return new GUISunDial(player.inventory, (TileSunDial) te1);
}
case GUIID_SUN_DIAL -> {
if (tile instanceof TileSunDial sunDial) {
return new GUISunDial(player.inventory, sunDial);
}
break;
case GUIID_TELEPORTER:
}
case GUIID_TELEPORTER -> {
return new GUITeleporter(player);
case GUIID_GRINDER:
TileEntity te2 = world.getTileEntity(x, y, z);
if (te2 != null && te2 instanceof TileGrinder) {
return new GUIGrinder(player.inventory, (TileGrinder) te2);
}
case GUIID_GRINDER -> {
if (tile instanceof TileGrinder grinder) {
return new GUIGrinder(player.inventory, grinder);
}
break;
case GUIID_PARTICLEGEN:
TileEntity gen = world.getTileEntity(x, y, z);
return (gen != null && gen instanceof TileParticleGenerator)
? new GUIParticleGenerator((TileParticleGenerator) gen, player)
: null;
case GUIID_PLAYERDETECTOR:
TileEntity detector = world.getTileEntity(x, y, z);
if (detector != null && detector instanceof TilePlayerDetectorAdvanced) {
return new GUIPlayerDetector(player.inventory, (TilePlayerDetectorAdvanced) detector);
}
case GUIID_PARTICLEGEN -> {
if (tile instanceof TileParticleGenerator particleGenerator) {
return new GUIParticleGenerator(particleGenerator);
}
break;
case GUIID_ENERGY_INFUSER:
TileEntity infuser = world.getTileEntity(x, y, z);
if (infuser != null && infuser instanceof TileEnergyInfuser) {
return new GUIEnergyInfuser(player.inventory, (TileEnergyInfuser) infuser);
}
case GUIID_PLAYERDETECTOR -> {
if (tile instanceof TilePlayerDetectorAdvanced detector) {
return new GUIPlayerDetector(player.inventory, detector);
}
break;
case GUIID_GENERATOR:
TileEntity generator = world.getTileEntity(x, y, z);
if (generator != null && generator instanceof TileGenerator) {
return new GUIGenerator(player.inventory, (TileGenerator) generator);
}
case GUIID_ENERGY_INFUSER -> {
if (tile instanceof TileEnergyInfuser infuser) {
return new GUIEnergyInfuser(player.inventory, infuser);
}
break;
case GUIID_MANUAL:
}
case GUIID_GENERATOR -> {
if (tile instanceof TileGenerator generator) {
return new GUIGenerator(player.inventory, generator);
}
}
case GUIID_MANUAL -> {
return new GUIManual();
case GUIID_DISSENCHANTER:
TileEntity dissenchanter = world.getTileEntity(x, y, z);
if (dissenchanter != null && dissenchanter instanceof TileDissEnchanter) {
return new GUIDissEnchanter(player.inventory, (TileDissEnchanter) dissenchanter);
}
case GUIID_DISSENCHANTER -> {
if (tile instanceof TileDissEnchanter dissenchanter) {
return new GUIDissEnchanter(player.inventory, dissenchanter);
}
break;
case GUIID_DRACONIC_CHEST:
TileEntity containerChest = world.getTileEntity(x, y, z);
if (containerChest != null && containerChest instanceof TileDraconiumChest) {
return new GUIDraconiumChest(player.inventory, (TileDraconiumChest) containerChest);
}
case GUIID_DRACONIC_CHEST -> {
if (tile instanceof TileDraconiumChest draconiumChest) {
return new GUIDraconiumChest(player.inventory, draconiumChest);
}
break;
case GUIID_REACTOR:
TileEntity reactor = world.getTileEntity(x, y, z);
if (reactor != null && reactor instanceof TileReactorCore) {
return new GUIReactor(
player, (TileReactorCore) reactor, new ContainerReactor(player, (TileReactorCore) reactor));
}
case GUIID_REACTOR -> {
if (tile instanceof TileReactorCore reactorCore) {
return new GUIReactor(reactorCore, new ContainerReactor(player, reactorCore));
}
break;
case GUIID_TOOL_CONFIG:
}
case GUIID_TOOL_CONFIG -> {
return new GUIToolConfig(
player, new ContainerAdvTool(player.inventory, new InventoryTool(player, null)));
case GUIID_FLOW_GATE:
return world.getTileEntity(x, y, z) instanceof TileGate
? new GUIFlowGate((TileGate) world.getTileEntity(x, y, z))
: null;
case GUIID_UPGRADE_MODIFIER:
TileEntity containerTemp = world.getTileEntity(x, y, z);
if (containerTemp != null && containerTemp instanceof TileUpgradeModifier) {
player,
new ContainerAdvTool(player.inventory, new InventoryTool(player, null)));
}
case GUIID_FLOW_GATE -> {
if (tile instanceof TileGate gate) {
return new GUIFlowGate(gate);
}
}
case GUIID_UPGRADE_MODIFIER -> {
if (tile instanceof TileUpgradeModifier upgradeModifier) {
return new GUIUpgradeModifier(
player.inventory,
(TileUpgradeModifier) containerTemp,
new ContainerUpgradeModifier(player.inventory, (TileUpgradeModifier) containerTemp));
upgradeModifier,
new ContainerUpgradeModifier(player.inventory, upgradeModifier));
}
break;
// case GUIID_CONTAINER_TEMPLATE:
// TileEntity containerTemp = world.getTileEntity(x, y, z);
// if (containerTemp != null && containerTemp instanceof TileContainerTemplate) {
// return new GUIContainerTemplate(player.inventory, (TileContainerTemplate) containerTemp);
// }
// break;
}
case GUIID_DISLOCATOR_INHIBITOR -> {
if (tile instanceof TileDislocatorInhibitor inhibitor) {
return new GUIDislocatorInhibitor(player.inventory, inhibitor);
}
}
}
return null;
@@ -1,21 +1,25 @@
package com.brandon3055.draconicevolution.client.gui;
import com.brandon3055.brandonscore.client.gui.guicomponents.GUIBase;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import java.util.ArrayList;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIBase;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
/**
* Created by brandon3055 on 11/2/2016.
*/
public class GuiHudConfig extends GuiScreen {
private GUIBase parent;
private GuiButton buttonHudFade;
private GuiButton buttonArmorFade;
@@ -39,35 +43,76 @@ public class GuiHudConfig extends GuiScreen {
buttonList.add(new GuiButtonAHeight(0, x - 35, y + 95, 70, 15, StatCollector.translateToLocal("gui.back")));
buttonList.add(new GuiButtonAHeight(
1, x + 2, y - 37, 80, 15, StatCollector.translateToLocal("button.de.scaleUp.txt")));
buttonList.add(new GuiButtonAHeight(
2, x - 81, y - 37, 80, 15, StatCollector.translateToLocal("button.de.scaleDown.txt")));
buttonList.add(
new GuiButtonAHeight(
1,
x + 2,
y - 37,
80,
15,
StatCollector.translateToLocal("button.de.scaleUp.txt")));
buttonList.add(
new GuiButtonAHeight(
2,
x - 81,
y - 37,
80,
15,
StatCollector.translateToLocal("button.de.scaleDown.txt")));
buttonList.add(buttonHudFade = new GuiButtonAHeight(3, x - 81, y - 20, 163, 15, ""));
buttonList.add(new GuiButtonAHeight(
9, x - 81, y - 3, 163, 15, StatCollector.translateToLocal("button.de.toggleHidden.txt")));
buttonList.add(
new GuiButtonAHeight(
9,
x - 81,
y - 3,
163,
15,
StatCollector.translateToLocal("button.de.toggleHidden.txt")));
buttonList.add(new GuiButtonAHeight(
4, x + 2, y + 25, 80, 15, StatCollector.translateToLocal("button.de.scaleUp.txt")));
buttonList.add(new GuiButtonAHeight(
5, x - 81, y + 25, 80, 15, StatCollector.translateToLocal("button.de.scaleDown.txt")));
buttonList.add(
new GuiButtonAHeight(
4,
x + 2,
y + 25,
80,
15,
StatCollector.translateToLocal("button.de.scaleUp.txt")));
buttonList.add(
new GuiButtonAHeight(
5,
x - 81,
y + 25,
80,
15,
StatCollector.translateToLocal("button.de.scaleDown.txt")));
buttonList.add(buttonArmorFade = new GuiButtonAHeight(6, x - 81, y + 42, 163, 15, ""));
buttonList.add(buttonArmorNumeric = new GuiButtonAHeight(7, x + 2, y + 59, 80, 15, ""));
buttonList.add(new GuiButtonAHeight(
8, x - 81, y + 59, 80, 15, StatCollector.translateToLocal("button.de.rotate.txt")));
buttonList.add(new GuiButtonAHeight(
10, x - 81, y + 76, 163, 15, StatCollector.translateToLocal("button.de.toggleHidden.txt")));
buttonList.add(
new GuiButtonAHeight(
8,
x - 81,
y + 59,
80,
15,
StatCollector.translateToLocal("button.de.rotate.txt")));
buttonList.add(
new GuiButtonAHeight(
10,
x - 81,
y + 76,
163,
15,
StatCollector.translateToLocal("button.de.toggleHidden.txt")));
}
@Override
public void updateScreen() {
buttonHudFade.displayString =
StatCollector.translateToLocal("button.de.fadeMode" + ConfigHandler.hudSettings[6] + ".txt");
buttonArmorFade.displayString =
StatCollector.translateToLocal("button.de.fadeMode" + ConfigHandler.hudSettings[7] + ".txt");
buttonHudFade.displayString = StatCollector
.translateToLocal("button.de.fadeMode" + ConfigHandler.hudSettings[6] + ".txt");
buttonArmorFade.displayString = StatCollector
.translateToLocal("button.de.fadeMode" + ConfigHandler.hudSettings[7] + ".txt");
buttonArmorNumeric.displayString = StatCollector.translateToLocal("button.de.numeric.txt") + " "
+ (ConfigHandler.hudSettings[9] == 0
? StatCollector.translateToLocal("gui.de.off.txt")
+ (ConfigHandler.hudSettings[9] == 0 ? StatCollector.translateToLocal("gui.de.off.txt")
: StatCollector.translateToLocal("gui.de.on.txt"));
}
@@ -104,17 +149,15 @@ public class GuiHudConfig extends GuiScreen {
else ConfigHandler.hudSettings[11] = 0;
}
ConfigHandler.config
.get(
"Gui Stuff",
"HUD Settings",
new int[] {7, 874, 100, 100, 100, 100, 0, 0, 0, 0, 1, 1},
"Used to store the position of the armor ant tool HUD's. This should not be modified",
Integer.MIN_VALUE,
Integer.MAX_VALUE,
true,
12)
.set(ConfigHandler.hudSettings);
ConfigHandler.config.get(
"Gui Stuff",
"HUD Settings",
new int[] { 7, 874, 100, 100, 100, 100, 0, 0, 0, 0, 1, 1 },
"Used to store the position of the armor ant tool HUD's. This should not be modified",
Integer.MIN_VALUE,
Integer.MAX_VALUE,
true,
12).set(ConfigHandler.hudSettings);
ConfigHandler.config.save();
}
@@ -152,9 +195,17 @@ public class GuiHudConfig extends GuiScreen {
0xFFFFFF);
drawCenteredString(
fontRendererObj, ConfigHandler.hudSettings[4] + "%", width / 2 + 97, height / 2 - 63, 0xFFFFFF);
fontRendererObj,
ConfigHandler.hudSettings[4] + "%",
width / 2 + 97,
height / 2 - 63,
0xFFFFFF);
drawCenteredString(
fontRendererObj, ConfigHandler.hudSettings[5] + "%", width / 2 + 97, height / 2 - 1, 0xFFFFFF);
fontRendererObj,
ConfigHandler.hudSettings[5] + "%",
width / 2 + 97,
height / 2 - 1,
0xFFFFFF);
super.drawScreen(x, y, partial);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
@@ -185,15 +236,12 @@ public class GuiHudConfig extends GuiScreen {
if (GuiHelper.isInRect(armorX - 19, armorY - 19, 39, 39, x, y)
|| GuiHelper.isInRect(hudX - 19, hudY - 19, 39, 39, x, y)) {
drawHoveringText(
new ArrayList<String>() {
{
add(StatCollector.translateToLocal("info.de.hudDisplayConfigTxt2.txt"));
}
},
x,
y,
fontRendererObj);
drawHoveringText(new ArrayList<String>() {
{
add(StatCollector.translateToLocal("info.de.hudDisplayConfigTxt2.txt"));
}
}, x, y, fontRendererObj);
}
}
@@ -224,17 +272,15 @@ public class GuiHudConfig extends GuiScreen {
protected void mouseMovedOrUp(int x, int y, int action) {
super.mouseMovedOrUp(x, y, action);
draggingHud = draggingArmor = false;
ConfigHandler.config
.get(
"Gui Stuff",
"HUD Settings",
new int[] {7, 874, 100, 100, 100, 100, 0, 0, 0, 0, 1, 1},
"Used to store the position of the armor ant tool HUD's. This should not be modified",
Integer.MIN_VALUE,
Integer.MAX_VALUE,
true,
12)
.set(ConfigHandler.hudSettings);
ConfigHandler.config.get(
"Gui Stuff",
"HUD Settings",
new int[] { 7, 874, 100, 100, 100, 100, 0, 0, 0, 0, 1, 1 },
"Used to store the position of the armor ant tool HUD's. This should not be modified",
Integer.MIN_VALUE,
Integer.MAX_VALUE,
true,
12).set(ConfigHandler.hudSettings);
ConfigHandler.config.save();
}
@@ -4,17 +4,19 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.OpenGlHelper;
import org.lwjgl.opengl.GL11;
/**
* Created by Brandon on 30/6/2015.
*/
public class GuiTextureButton extends GuiButton {
public int textureXPos;
public int textureYPos;
public GuiTextureButton(
int id, int xPos, int yPos, int textureXPos, int textureYPos, int xSise, int ySise, String text) {
public GuiTextureButton(int id, int xPos, int yPos, int textureXPos, int textureYPos, int xSise, int ySise,
String text) {
super(id, xPos, yPos, xSise, ySise, text);
this.textureXPos = textureXPos;
this.textureYPos = textureYPos;
@@ -25,8 +27,7 @@ public class GuiTextureButton extends GuiButton {
if (this.visible) {
FontRenderer fontrenderer = mc.fontRenderer;
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.field_146123_n = x >= this.xPosition
&& y >= this.yPosition
this.field_146123_n = x >= this.xPosition && y >= this.yPosition
&& x < this.xPosition + this.width
&& y < this.yPosition + this.height;
int k = this.getHoverState(this.field_146123_n);
@@ -34,7 +35,12 @@ public class GuiTextureButton extends GuiButton {
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
this.drawTexturedModalRect(
this.xPosition, this.yPosition, textureXPos, textureYPos + k * height, this.width, this.height);
this.xPosition,
this.yPosition,
textureXPos,
textureYPos + k * height,
this.width,
this.height);
this.mouseDragged(mc, x, y);
int l = 14737632;
@@ -1,21 +1,16 @@
package com.brandon3055.draconicevolution.client.gui.componentguis;
import com.brandon3055.brandonscore.client.gui.guicomponents.*;
import com.brandon3055.brandonscore.client.utills.ClientUtills;
import com.brandon3055.brandonscore.common.utills.InfoHelper;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentContributorsPage;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentIndexButton;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentManualPage;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.container.DummyContainer;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import com.google.gson.stream.JsonReader;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiConfirmOpenLink;
@@ -25,10 +20,30 @@ import net.minecraft.client.resources.IResource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.apache.commons.io.IOUtils;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentContributorsPage;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentIndexButton;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentManualPage;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.ClientUtils;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentBase;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentCollection;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTextureButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTexturedRect;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIScrollingBase;
import com.brandon3055.draconicevolution.common.container.DummyContainer;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utils.InfoHelper;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
import com.google.gson.stream.JsonReader;
/**
* Created by Brandon on 6/03/2015.
*/
@@ -44,12 +59,16 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
public GUIManual() {
super(new DummyContainer(), 255, 325);
if (currentPage != null) {
collection
.addComponent(new ComponentManualPage(0, 0, this, currentPage))
.setGroup(GR_PAGE);
collection
.addComponent(new ComponentButton(
102, 314, 50, 12, 1, this, StatCollector.translateToLocal("button.de.back.txt")))
collection.addComponent(new ComponentManualPage(0, 0, this, currentPage)).setGroup(GR_PAGE);
collection.addComponent(
new ComponentButton(
102,
314,
50,
12,
1,
this,
StatCollector.translateToLocal("button.de.back.txt")))
.setGroup(GR_PAGE);
collection.setOnlyGroupEnabled(GR_BACKGROUND);
collection.setGroupEnabled(GR_PAGE, true);
@@ -64,11 +83,8 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
loadPages();
if (previousScale == -1) adjustGuiScale();
if (!Minecraft.getMinecraft()
.getLanguageManager()
.getCurrentLanguage()
.getLanguageCode()
.equals(lang)) loadPages();
if (!Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage().getLanguageCode().equals(lang))
loadPages();
LogHelper.info(ContributorHandler.contributors);
}
@@ -125,50 +141,60 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
protected ComponentCollection assembleComponents() {
collection = new ComponentCollection(0, 0, xSize, ySize, this);
collection
.addComponent(new ComponentTexturedRect(
0, 0, 255, 255, ResourceHandler.getResource("textures/gui/manualTop.png")))
collection.addComponent(
new ComponentTexturedRect(0, 0, 255, 255, ResourceHandler.getResource("textures/gui/manualTop.png")))
.setGroup(GR_BACKGROUND);
collection
.addComponent(new ComponentTexturedRect(
0, 255, 255, 69, ResourceHandler.getResource("textures/gui/manualBottom.png")))
.setGroup(GR_BACKGROUND);
collection
.addComponent(new ComponentTexturedRect(
7, 100, 0, 0, 255, 255, ResourceHandler.getResource("textures/gui/images/debanner.png"), true))
.setGroup(GR_INTRO)
.setName("BANNER");
collection
.addComponent(new ComponentButton(
75,
260,
100,
20,
collection.addComponent(
new ComponentTexturedRect(
0,
this,
StatCollector.translateToLocal("info.de.manual.indexButton.txt"),
StatCollector.translateToLocal("info.de.manual.indexButtonTip.txt")))
.setGroup(GR_INTRO);
collection
.addComponent(new ComponentButton(
75,
285,
255,
255,
69,
ResourceHandler.getResource("textures/gui/manualBottom.png")))
.setGroup(GR_BACKGROUND);
collection.addComponent(
new ComponentTexturedRect(
7,
100,
20,
2,
this,
StatCollector.translateToLocal("info.de.manual.contributorsButton.txt"),
StatCollector.translateToLocal("info.de.manual.contributorsButtonInfo.txt")))
0,
0,
255,
255,
ResourceHandler.getResource("textures/gui/images/debanner.png"),
true))
.setGroup(GR_INTRO).setName("BANNER");
collection
.addComponent(
new ComponentButton(
75,
260,
100,
20,
0,
this,
StatCollector.translateToLocal("info.de.manual.indexButton.txt"),
StatCollector.translateToLocal("info.de.manual.indexButtonTip.txt")))
.setGroup(GR_INTRO);
collection
.addComponent(new ComponentContributorsPage(0, 0, this))
.setGroup(GR_CONTRIBUTORS)
.addComponent(
new ComponentButton(
75,
285,
100,
20,
2,
this,
StatCollector.translateToLocal("info.de.manual.contributorsButton.txt"),
StatCollector.translateToLocal("info.de.manual.contributorsButtonInfo.txt")))
.setGroup(GR_INTRO);
collection.addComponent(new ComponentContributorsPage(0, 0, this)).setGroup(GR_CONTRIBUTORS)
.setName("CONTRIBUTORS");
collection
.addComponent(new ComponentTextureButton(
.addComponent(
new ComponentTextureButton(
140,
290,
0,
@@ -179,14 +205,11 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
this,
"",
"",
ResourceHandler.getResource("textures/gui/patreon.png"))
.forceFullRender())
ResourceHandler.getResource("textures/gui/patreon.png")).forceFullRender())
.setGroup(GR_CONTRIBUTORS);
for (int i = 0; i < pageList.size(); i++) {
collection
.addComponent(new ComponentIndexButton(20, 20 + i * 20, this, pageList.get(i)))
.setGroup(GR_INDEX)
collection.addComponent(new ComponentIndexButton(20, 20 + i * 20, this, pageList.get(i))).setGroup(GR_INDEX)
.setName("INDEX_BUTTON_" + i);
pageLength += 20;
}
@@ -212,13 +235,14 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
barPosition = (int) (((double) scrollOffset / scrollLimit) * 247D);
} else if (collection.getComponent("CONTRIBUTORS") != null
&& collection.getComponent("CONTRIBUTORS").isEnabled()) {
ComponentContributorsPage page = (ComponentContributorsPage) collection.getComponent("CONTRIBUTORS");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
} else if (collection.getComponent("OPEN_PAGE") != null
&& collection.getComponent("OPEN_PAGE").isEnabled()) {
ComponentManualPage page = (ComponentManualPage) collection.getComponent("OPEN_PAGE");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
}
ComponentContributorsPage page = (ComponentContributorsPage) collection
.getComponent("CONTRIBUTORS");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
} else
if (collection.getComponent("OPEN_PAGE") != null && collection.getComponent("OPEN_PAGE").isEnabled()) {
ComponentManualPage page = (ComponentManualPage) collection.getComponent("OPEN_PAGE");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
}
}
@Override
@@ -226,8 +250,7 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
super.drawScreen(mouseX, mouseY, par3);
int posX = (this.width - xSize) / 2;
int posY = (this.height - ySize) / 2;
if (collection.getComponent("BANNER") != null
&& collection.getComponent("BANNER").isEnabled())
if (collection.getComponent("BANNER") != null && collection.getComponent("BANNER").isEnabled())
fontRendererObj.drawSplitString(
StatCollector.translateToLocal("info.de.manual.introTxt.txt"),
posX + 20,
@@ -235,8 +258,7 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
150,
0x000000);
if (collection.getComponent("BANNER") != null
&& collection.getComponent("BANNER").isEnabled()) return;
if (collection.getComponent("BANNER") != null && collection.getComponent("BANNER").isEnabled()) return;
ResourceHandler.bindResource("textures/gui/Widgets.png");
GL11.glColor4f(1F, 1F, 1F, 1F);
drawTexturedModalRect(guiLeft, guiTop, 118, 20, 17, 17);
@@ -255,24 +277,22 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
public void updateScreen() {
super.updateScreen();
disableScrollBar = collection.getComponent("BANNER") != null
&& collection.getComponent("BANNER").isEnabled();
disableScrollBar = collection.getComponent("BANNER") != null && collection.getComponent("BANNER").isEnabled();
if (!scrollPressed
&& collection.getComponent("INDEX_BUTTON_0") != null
if (!scrollPressed && collection.getComponent("INDEX_BUTTON_0") != null
&& collection.getComponent("INDEX_BUTTON_0").isEnabled()) {
barPosition = (int) (((double) scrollOffset / scrollLimit) * 247D);
} else if (!scrollPressed
&& collection.getComponent("CONTRIBUTORS") != null
} else if (!scrollPressed && collection.getComponent("CONTRIBUTORS") != null
&& collection.getComponent("CONTRIBUTORS").isEnabled()) {
ComponentContributorsPage page = (ComponentContributorsPage) collection.getComponent("CONTRIBUTORS");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
} else if (!scrollPressed
&& collection.getComponent("OPEN_PAGE") != null
&& collection.getComponent("OPEN_PAGE").isEnabled()) {
ComponentManualPage page = (ComponentManualPage) collection.getComponent("OPEN_PAGE");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
}
ComponentContributorsPage page = (ComponentContributorsPage) collection
.getComponent("CONTRIBUTORS");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
} else
if (!scrollPressed && collection.getComponent("OPEN_PAGE") != null
&& collection.getComponent("OPEN_PAGE").isEnabled()) {
ComponentManualPage page = (ComponentManualPage) collection.getComponent("OPEN_PAGE");
barPosition = (int) (((double) page.scrollOffset / page.scrollLimit) * 247D);
}
if (worldUpdateIn > -1) worldUpdateIn--;
if (worldUpdateIn == 0) collection.setWorldAndResolution(mc, width, height);
@@ -348,13 +368,10 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
}
public static void loadPages() {
lang = Minecraft.getMinecraft()
.getLanguageManager()
.getCurrentLanguage()
.getLanguageCode();
lang = Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage().getLanguageCode();
ResourceLocation rsLocation =
new ResourceLocation(References.RESOURCESPREFIX + "manual/manual-" + lang + ".json");
ResourceLocation rsLocation = new ResourceLocation(
References.RESOURCESPREFIX + "manual/manual-" + lang + ".json");
IResource resource = null;
try {
@@ -456,13 +473,13 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
}
reader.endObject();
if (isValidPage(name))
pageList.add(new ManualPage(
name,
images.toArray(new String[images.size()]),
content.toArray(new String[content.size()]),
nameL,
meta));
if (isValidPage(name)) pageList.add(
new ManualPage(
name,
images.toArray(new String[images.size()]),
content.toArray(new String[content.size()]),
nameL,
meta));
}
reader.endArray();
reader.close();
@@ -479,21 +496,23 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
if (buttonPressed) return;
for (ComponentBase c : collection.getComponents()) {
if (c instanceof ComponentIndexButton
&& c.isEnabled()
if (c instanceof ComponentIndexButton && c.isEnabled()
&& ((ComponentIndexButton) c).isOnScreen()
&& c.isMouseOver(x - guiLeft, y - guiTop)) {
Minecraft.getMinecraft()
.getSoundHandler()
Minecraft.getMinecraft().getSoundHandler()
.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
currentPage = ((ComponentIndexButton) c).getPage();
collection
.addComponent(new ComponentManualPage(0, 0, this, currentPage))
.setGroup(GR_PAGE)
collection.addComponent(new ComponentManualPage(0, 0, this, currentPage)).setGroup(GR_PAGE)
.setName("OPEN_PAGE");
collection
.addComponent(new ComponentButton(
102, 314, 50, 12, 1, this, StatCollector.translateToLocal("button.de.back.txt")))
collection.addComponent(
new ComponentButton(
102,
314,
50,
12,
1,
this,
StatCollector.translateToLocal("button.de.back.txt")))
.setGroup(GR_PAGE);
collection.setOnlyGroupEnabled(GR_BACKGROUND);
collection.setGroupEnabled(GR_PAGE, true);
@@ -504,19 +523,20 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
@Override
public void barMoved(double position) {
if (collection.getComponent("INDEX_BUTTON_0") != null
&& collection.getComponent("INDEX_BUTTON_0").isEnabled()) scrollOffset = (int) (position * scrollLimit);
if (collection.getComponent("INDEX_BUTTON_0") != null && collection.getComponent("INDEX_BUTTON_0").isEnabled())
scrollOffset = (int) (position * scrollLimit);
else if (collection.getComponent("CONTRIBUTORS") != null
&& collection.getComponent("CONTRIBUTORS").isEnabled()) {
ComponentContributorsPage page = (ComponentContributorsPage) collection.getComponent("CONTRIBUTORS");
if (page.scrollLimit < 0) return;
page.scrollOffset = (int) (position * page.scrollLimit);
} else if (collection.getComponent("OPEN_PAGE") != null
&& collection.getComponent("OPEN_PAGE").isEnabled()) {
ComponentManualPage page = (ComponentManualPage) collection.getComponent("OPEN_PAGE");
if (page.scrollLimit < 0) return;
page.scrollOffset = (int) (position * page.scrollLimit);
}
ComponentContributorsPage page = (ComponentContributorsPage) collection
.getComponent("CONTRIBUTORS");
if (page.scrollLimit < 0) return;
page.scrollOffset = (int) (position * page.scrollLimit);
} else
if (collection.getComponent("OPEN_PAGE") != null && collection.getComponent("OPEN_PAGE").isEnabled()) {
ComponentManualPage page = (ComponentManualPage) collection.getComponent("OPEN_PAGE");
if (page.scrollLimit < 0) return;
page.scrollOffset = (int) (position * page.scrollLimit);
}
}
private static boolean isValidPage(String name) {
@@ -527,7 +547,7 @@ public class GUIManual extends GUIScrollingBase implements GuiYesNoCallback {
@Override
public void confirmClicked(boolean confirmed, int id) {
if (confirmed) ClientUtills.openLink("https://www.patreon.com/brandon3055");
if (confirmed) ClientUtils.openLink("https://www.patreon.com/brandon3055");
mc.displayGuiScreen(this);
}
}
@@ -1,41 +1,54 @@
package com.brandon3055.draconicevolution.client.gui.componentguis;
import com.brandon3055.brandonscore.client.gui.guicomponents.*;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.container.ContainerReactor;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentCollection;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTextureButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTexturedRect;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIBase;
import com.brandon3055.draconicevolution.common.container.ContainerReactor;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore;
import com.brandon3055.draconicevolution.common.tileentities.multiblocktiles.reactor.TileReactorCore.ReactorState;
import com.brandon3055.draconicevolution.common.utils.Utils;
/**
* Created by brandon3055 on 30/7/2015.
*/
public class GUIReactor extends GUIBase {
private TileReactorCore reactor;
private ContainerReactor container;
private static boolean showStats = false;
public GUIReactor(EntityPlayer player, TileReactorCore reactor, ContainerReactor container) {
private static boolean showStatistics = false;
private final TileReactorCore core;
private final ContainerReactor container;
public GUIReactor(TileReactorCore core, ContainerReactor container) {
super(container, 248, 222);
this.reactor = reactor;
this.core = core;
this.container = container;
}
@Override
protected ComponentCollection assembleComponents() {
final ResourceLocation widgets = ResourceHandler.getResource("textures/gui/Widgets.png");
collection = new ComponentCollection(0, 0, 248, 222, this);
collection.addComponent(
new ComponentTexturedRect(0, 0, xSize, ySize, ResourceHandler.getResource("textures/gui/Reactor.png")));
collection
.addComponent(new ComponentTextureButton(
collection.addComponent(
new ComponentTextureButton(
14,
190,
18,
@@ -46,10 +59,10 @@ public class GUIReactor extends GUIBase {
this,
"",
StatCollector.translateToLocal("button.de.reactorCharge.txt"),
ResourceHandler.getResource("textures/gui/Widgets.png")))
widgets))
.setName("CHARGE");
collection
.addComponent(new ComponentTextureButton(
collection.addComponent(
new ComponentTextureButton(
14,
190,
18,
@@ -60,10 +73,10 @@ public class GUIReactor extends GUIBase {
this,
"",
StatCollector.translateToLocal("button.de.reactorStart.txt"),
ResourceHandler.getResource("textures/gui/Widgets.png")))
widgets))
.setName("ACTIVATE");
collection
.addComponent(new ComponentTextureButton(
collection.addComponent(
new ComponentTextureButton(
216,
190,
18,
@@ -74,10 +87,10 @@ public class GUIReactor extends GUIBase {
this,
"",
StatCollector.translateToLocal("button.de.reactorStop.txt"),
ResourceHandler.getResource("textures/gui/Widgets.png")))
widgets))
.setName("DEACTIVATE");
collection
.addComponent(new ComponentButton(
collection.addComponent(
new ComponentButton(
9,
120,
43,
@@ -91,23 +104,23 @@ public class GUIReactor extends GUIBase {
}
@Override
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) {
super.drawGuiContainerBackgroundLayer(f, mouseX, mouseY);
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
super.drawGuiContainerBackgroundLayer(partialTicks, mouseX, mouseY);
// Draw I/O Slots
if (reactor.reactorState == TileReactorCore.STATE_OFFLINE) {
if (core.reactorState == ReactorState.OFFLINE) {
RenderHelper.enableGUIStandardItemLighting();
drawTexturedModalRect(guiLeft + 14, guiTop + 139, 14, ySize, 18, 18);
drawTexturedModalRect(guiLeft + 216, guiTop + 139, 32, ySize, 18, 18);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.insert.txt"), guiLeft + 8, guiTop + 159, 0);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.fuel.txt"), guiLeft + 13, guiTop + 168, 0);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.insert.txt"), guiLeft + 8, guiTop + 159, 0);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.fuel.txt"), guiLeft + 13, guiTop + 168, 0);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.extract.txt"), guiLeft + 206, guiTop + 159, 0);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.fuel.txt"), guiLeft + 215, guiTop + 168, 0);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.extract.txt"), guiLeft + 206, guiTop + 159, 0);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.fuel.txt"), guiLeft + 215, guiTop + 168, 0);
}
drawCenteredString(fontRendererObj, "Draconic Reactor", guiLeft + xSize / 2, guiTop + 4, 0x00FFFF);
}
@@ -119,164 +132,179 @@ public class GUIReactor extends GUIBase {
GL11.glColor4f(1f, 1f, 1f, 1f);
// Draw Indicators
double value = Math.min(reactor.reactionTemperature, reactor.maxReactTemperature) / reactor.maxReactTemperature;
double value = Math.min(core.reactionTemperature, core.maxReactTemperature) / core.maxReactTemperature;
int pixOffset = (int) (value * 108);
drawTexturedModalRect(11, 112 - pixOffset, 0, 222, 14, 5);
value = reactor.fieldCharge / reactor.maxFieldCharge;
value = core.fieldCharge / core.maxFieldCharge;
pixOffset = (int) (value * 108);
drawTexturedModalRect(35, 112 - pixOffset, 0, 222, 14, 5);
value = (double) reactor.energySaturation / (double) reactor.maxEnergySaturation;
value = (double) core.energySaturation / (double) core.maxEnergySaturation;
pixOffset = (int) (value * 108);
drawTexturedModalRect(199, 112 - pixOffset, 0, 222, 14, 5);
value = ((double) reactor.convertedFuel) / ((double) reactor.reactorFuel + (double) reactor.convertedFuel);
value = ((double) core.convertedFuel) / ((double) core.reactorFuel + (double) core.convertedFuel);
pixOffset = (int) (value * 108);
drawTexturedModalRect(223, 112 - pixOffset, 0, 222, 14, 5);
GL11.glColor4f(1F, 1F, 1F, 1F);
if (!showStats) {
if (showStatistics) {
ResourceHandler.bindResource("textures/gui/Reactor.png");
for (int i = 1; i <= 10; i++) {
drawTexturedModalRect(63, i * 12, 0, 240, 122, 16);
}
drawStatistics();
} else {
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
GL11.glTranslated(124, 71, 100);
double scale = 100 / (reactor.getCoreDiameter());
double scale = 100 / (core.getCoreDiameter());
GL11.glScaled(scale, scale, scale);
GL11.glColor4f(1F, 1F, 1F, 1F);
GL11.glDisable(GL11.GL_CULL_FACE);
TileEntityRendererDispatcher.instance.renderTileEntityAt(reactor, -0.5D, -0.5D, -0.5D, 0.0F);
TileEntityRendererDispatcher.instance.renderTileEntityAt(core, -0.5D, -0.5D, -0.5D, 0.0F);
GL11.glPopAttrib();
GL11.glPopMatrix();
} else {
ResourceHandler.bindResource("textures/gui/Reactor.png");
for (int i = 1; i <= 10; i++) drawTexturedModalRect(63, i * 12, 0, 240, 122, 16);
drawStats();
drawStatus();
}
String status = StatCollector.translateToLocal("gui.de.status.txt") + ": "
+ (reactor.reactorState == 0
? EnumChatFormatting.DARK_GRAY
: reactor.reactorState == 1
? EnumChatFormatting.RED
: reactor.reactorState == 2 ? EnumChatFormatting.DARK_GREEN : EnumChatFormatting.RED)
+ StatCollector.translateToLocal("gui.de.status" + reactor.reactorState + ".txt");
if (reactor.reactorState == 1 && reactor.canStart())
status = StatCollector.translateToLocal("gui.de.status.txt") + ": " + EnumChatFormatting.DARK_GREEN
+ StatCollector.translateToLocal("gui.de.status1_5.txt");
if (!showStats) fontRendererObj.drawString(status, xSize - 5 - fontRendererObj.getStringWidth(status), 125, 0);
}
@Override
public void drawScreen(int mouseX, int mouseY, float par3) {
super.drawScreen(mouseX, mouseY, par3);
List<String> text = new ArrayList<String>();
@SuppressWarnings("unchecked")
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
super.drawScreen(mouseX, mouseY, partialTicks);
List<String> text = new ArrayList<>();
if (GuiHelper.isInRect(9, 4, 18, 114, mouseX - guiLeft, mouseY - guiTop)) {
text.add(StatCollector.translateToLocal("gui.de.reactionTemp.txt"));
text.add((int) reactor.reactionTemperature + "C");
text.add((int) core.reactionTemperature + "C");
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(33, 4, 18, 114, mouseX - guiLeft, mouseY - guiTop)) {
text.add(StatCollector.translateToLocal("gui.de.fieldStrength.txt"));
if (reactor.maxFieldCharge > 0)
text.add(Utills.round(reactor.fieldCharge / reactor.maxFieldCharge * 100D, 100D) + "%");
text.add(Utills.addCommas((int) reactor.fieldCharge) + " / "
+ Utills.addCommas((int) reactor.maxFieldCharge)); // todo refine or remove
if (core.maxFieldCharge > 0) {
text.add(Utils.round(core.fieldCharge / core.maxFieldCharge * 100D, 100D) + "%");
}
text.add(formatNumber((int) core.fieldCharge) + " / " + formatNumber((int) core.maxFieldCharge));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(197, 4, 18, 114, mouseX - guiLeft, mouseY - guiTop)) {
text.add(StatCollector.translateToLocal("gui.de.energySaturation.txt"));
if (reactor.maxEnergySaturation > 0)
text.add(Utills.round(
(double) reactor.energySaturation / (double) reactor.maxEnergySaturation * 100D, 100D)
+ "%");
text.add(Utills.addCommas(reactor.energySaturation) + " / "
+ Utills.addCommas(reactor.maxEnergySaturation)); // todo refine or remove
if (core.maxEnergySaturation > 0) {
text.add(
Utils.round((double) core.energySaturation / (double) core.maxEnergySaturation * 100D, 100D)
+ "%");
}
text.add(formatNumber(core.energySaturation) + " / " + formatNumber(core.maxEnergySaturation));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(221, 4, 18, 114, mouseX - guiLeft, mouseY - guiTop)) {
text.add(StatCollector.translateToLocal("gui.de.fuelConversion.txt"));
if (reactor.reactorFuel + reactor.convertedFuel > 0)
text.add(Utills.round(
((double) reactor.convertedFuel + reactor.conversionUnit)
/ ((double) reactor.convertedFuel + (double) reactor.reactorFuel)
if (core.reactorFuel + core.convertedFuel > 0) {
text.add(
Utils.round(
((double) core.convertedFuel + core.conversionUnit)
/ ((double) core.convertedFuel + (double) core.reactorFuel)
* 100D,
100D)
+ "%");
text.add(reactor.convertedFuel + " / "
+ (reactor.convertedFuel + reactor.reactorFuel)); // todo refine or remove
100D) + "%");
}
text.add(core.convertedFuel + " / " + (core.convertedFuel + core.reactorFuel));
text.add(
"Full: " + (Utils.round(
(float) (core.convertedFuel + core.reactorFuel) / ConfigHandler.reactorFuelStorage * 100,
1000)) + "%");
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
}
if (showStats) {
if (showStatistics) {
if (GuiHelper.isInRect(53, 15, 140, 18, mouseX - guiLeft, mouseY - guiTop)) {
text.addAll(fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacTempLoadFactor.txt"), 200));
text.addAll(
fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacTempLoadFactor.txt"),
200));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(53, 40, 140, 18, mouseX - guiLeft, mouseY - guiTop)) {
text.addAll(fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacCoreMass.txt"), 200));
text.addAll(
fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacCoreMass.txt"),
200));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(53, 65, 140, 18, mouseX - guiLeft, mouseY - guiTop)) {
text.addAll(fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacGenRate.txt"), 200));
text.addAll(
fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacGenRate.txt"),
200));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(53, 88, 140, 18, mouseX - guiLeft, mouseY - guiTop)) {
text.addAll(fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacInputRate.txt"), 200));
text.addAll(
fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacInputRate.txt"),
200));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
} else if (GuiHelper.isInRect(53, 113, 140, 18, mouseX - guiLeft, mouseY - guiTop)) {
text.addAll(fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacConversionRate.txt"), 200));
text.addAll(
fontRendererObj.listFormattedStringToWidth(
StatCollector.translateToLocal("gui.de.reacConversionRate.txt"),
200));
drawHoveringText(text, mouseX, mouseY, fontRendererObj);
}
}
}
private void drawStats() {
double inputRate = reactor.fieldDrain / (1D - (reactor.fieldCharge / reactor.maxFieldCharge));
private void drawStatistics() {
double inputRate = core.fieldDrain / (1D - (core.fieldCharge / core.maxFieldCharge));
fontRendererObj.drawString(StatCollector.translateToLocal("gui.de.tempLoad.name"), 55, 16, 0x0000FF);
fontRendererObj.drawString(Utills.round(reactor.tempDrainFactor * 100D, 1D) + "%", 60, 2 + 24, 0);
fontRendererObj.drawString(Utils.round(core.tempDrainFactor * 100D, 1D) + "%", 60, 2 + 24, 0);
fontRendererObj.drawString(StatCollector.translateToLocal("gui.de.mass.name"), 55, 16 + 24, 0x0000FF);
fontRendererObj.drawString(
Utills.round((reactor.reactorFuel + reactor.convertedFuel) / 1296D, 100) + "m^3", 60, 2 + 2 * 24, 0);
Utils.round((core.reactorFuel + core.convertedFuel) / 1296D, 100) + "m^3",
60,
2 + 2 * 24,
0);
fontRendererObj.drawString(StatCollector.translateToLocal("gui.de.genRate.name"), 55, 16 + 2 * 24, 0x0000FF);
fontRendererObj.drawString(Utills.addCommas((int) reactor.generationRate) + "RF/t", 60, 2 + 3 * 24, 0);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.fieldInputRate.name"), 55, 16 + 3 * 24, 0x0000FF);
fontRendererObj.drawString(
Utills.addCommas((int) Math.min(inputRate, Integer.MAX_VALUE)) + "RF/t", 60, 2 + 4 * 24, 0);
fontRendererObj.drawString(
StatCollector.translateToLocal("gui.de.fuelConversion.name"), 55, 16 + 4 * 24, 0x0000FF);
fontRendererObj.drawString(
Utills.addCommas((int) Math.round(reactor.fuelUseRate * 1000000D)) + "nb/t", 60, 2 + 5 * 24, 0);
fontRendererObj.drawString(formatNumber((int) core.generationRate) + "RF/t", 60, 2 + 3 * 24, 0);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.fieldInputRate.name"), 55, 16 + 3 * 24, 0x0000FF);
fontRendererObj
.drawString(formatNumber((int) Math.min(inputRate, Integer.MAX_VALUE)) + "RF/t", 60, 2 + 4 * 24, 0);
fontRendererObj
.drawString(StatCollector.translateToLocal("gui.de.fuelConversion.name"), 55, 16 + 4 * 24, 0x0000FF);
fontRendererObj
.drawString(formatNumber((int) Math.round(core.fuelUseRate * 1000000D)) + "nb/t", 60, 2 + 5 * 24, 0);
}
private void drawStatus() {
String status = StatCollector.translateToLocal("gui.de.status.txt") + ": ";
switch (core.reactorState) {
case OFFLINE -> status += EnumChatFormatting.DARK_GRAY;
case STARTING, STOPPING -> status += EnumChatFormatting.RED;
case ONLINE -> status += EnumChatFormatting.DARK_GREEN;
case INVALID -> status += EnumChatFormatting.DARK_RED;
}
status += core.reactorState.toLocalizedString(core.canStart());
fontRendererObj.drawString(status, xSize - 5 - fontRendererObj.getStringWidth(status), 125, 0);
}
@Override
public void updateScreen() {
if (reactor.reactorState == TileReactorCore.STATE_INVALID
|| reactor.reactorState == TileReactorCore.STATE_OFFLINE
|| reactor.reactorState == TileReactorCore.STATE_STOP)
collection.getComponent("DEACTIVATE").setEnabled(false);
else collection.getComponent("DEACTIVATE").setEnabled(true);
if ((reactor.reactorState == TileReactorCore.STATE_OFFLINE
|| (reactor.reactorState == TileReactorCore.STATE_STOP && !reactor.canStart()))
&& reactor.canCharge()) collection.getComponent("CHARGE").setEnabled(true);
else collection.getComponent("CHARGE").setEnabled(false);
if ((reactor.reactorState == TileReactorCore.STATE_START || reactor.reactorState == TileReactorCore.STATE_STOP)
&& reactor.canStart()) collection.getComponent("ACTIVATE").setEnabled(true);
else collection.getComponent("ACTIVATE").setEnabled(false);
collection.getComponent("DEACTIVATE")
.setEnabled(core.reactorState == ReactorState.STARTING || core.reactorState == ReactorState.ONLINE);
collection.getComponent("CHARGE").setEnabled(
(core.reactorState == ReactorState.OFFLINE
|| (core.reactorState == ReactorState.STOPPING && !core.canStart())) && core.canCharge());
collection.getComponent("ACTIVATE").setEnabled(
(core.reactorState == ReactorState.STARTING || core.reactorState == ReactorState.STOPPING)
&& core.canStart());
super.updateScreen();
}
@Override
public void buttonClicked(int id, int button) {
super.buttonClicked(id, button);
if (id < 3) container.sendObjectToServer(null, 20, id);
else if (id == 3) {
showStats = !showStats;
((ComponentButton) collection.getComponent("STATS")).hoverText = showStats
if (id < 3) {
container.sendObjectToServer(null, 20, id);
} else if (id == 3) {
showStatistics = !showStatistics;
((ComponentButton) collection.getComponent("STATS")).hoverText = showStatistics
? StatCollector.translateToLocal("button.de.statsHide.txt")
: StatCollector.translateToLocal("button.de.statsShow.txt");
}
@@ -1,24 +1,10 @@
package com.brandon3055.draconicevolution.client.gui.componentguis;
import com.brandon3055.brandonscore.client.gui.guicomponents.*;
import com.brandon3055.brandonscore.common.utills.ItemNBTHelper;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.gui.GuiHudConfig;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentConfigItemButton;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentFieldAdjuster;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentFieldButton;
import com.brandon3055.draconicevolution.common.container.ContainerAdvTool;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.items.weapons.BowHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ContributorPacket;
import com.brandon3055.draconicevolution.common.network.ItemConfigPacket;
import com.brandon3055.draconicevolution.common.utills.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utills.IInventoryTool;
import com.brandon3055.draconicevolution.common.utills.ItemConfigField;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer;
@@ -27,14 +13,38 @@ import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.util.StringUtils;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.client.gui.GuiHudConfig;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentConfigItemButton;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentFieldAdjuster;
import com.brandon3055.draconicevolution.client.gui.guicomponents.ComponentFieldButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentBase;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentCollection;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentItemRenderer;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTextField;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTexturedRect;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIBase;
import com.brandon3055.draconicevolution.common.container.ContainerAdvTool;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.items.weapons.BowHandler;
import com.brandon3055.draconicevolution.common.items.weapons.IEnergyContainerBowItem;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ContributorPacket;
import com.brandon3055.draconicevolution.common.network.ItemConfigPacket;
import com.brandon3055.draconicevolution.common.utils.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utils.IInventoryTool;
import com.brandon3055.draconicevolution.common.utils.ItemConfigField;
import com.brandon3055.draconicevolution.common.utils.ItemNBTHelper;
/**
* Created by Brandon on 26/12/2014.
*/
public class GUIToolConfig extends GUIBase {
public EntityPlayer player;
private static final ResourceLocation inventoryTexture =
new ResourceLocation(References.RESOURCESPREFIX + "textures/gui/ToolConfig.png");
private static final ResourceLocation inventoryTexture = new ResourceLocation(
References.RESOURCESPREFIX + "textures/gui/ToolConfig.png");
private int screenLevel = 0;
private ItemStack editingItem;
private ContainerAdvTool container;
@@ -52,28 +62,28 @@ public class GUIToolConfig extends GUIBase {
public void initGui() {
super.initGui();
if (ContributorHandler.contributors.containsKey(player.getCommandSenderName())) {
ContributorHandler.Contributor contributor =
ContributorHandler.contributors.get(player.getCommandSenderName());
ContributorHandler.Contributor contributor = ContributorHandler.contributors
.get(player.getCommandSenderName());
if (!contributor.isUserValid(player)) return;
buttonList.clear();
if (contributor.contributionLevel >= 1)
buttonList.add(new GuiButton(
0,
guiLeft - 150,
guiTop,
150,
20,
"Contributor Wings: " + (contributor.contributorWingsEnabled ? "Enabled" : "Disabled")));
if (contributor.contribution.toLowerCase().contains("patreon"))
buttonList.add(new GuiButton(
1,
guiLeft - 150,
guiTop + 22,
150,
20,
"Patreon Badge: " + (contributor.patreonBadgeEnabled ? "Enabled" : "Disabled")));
if (contributor.contributionLevel >= 1) buttonList.add(
new GuiButton(
0,
guiLeft - 150,
guiTop,
150,
20,
"Contributor Wings: " + (contributor.contributorWingsEnabled ? "Enabled" : "Disabled")));
if (contributor.contribution.toLowerCase().contains("patreon")) buttonList.add(
new GuiButton(
1,
guiLeft - 150,
guiTop + 22,
150,
20,
"Patreon Badge: " + (contributor.patreonBadgeEnabled ? "Enabled" : "Disabled")));
}
}
@@ -81,52 +91,61 @@ public class GUIToolConfig extends GUIBase {
protected void actionPerformed(GuiButton button) {
super.actionPerformed(button);
if (ContributorHandler.contributors.containsKey(player.getCommandSenderName())) {
ContributorHandler.Contributor contributor =
ContributorHandler.contributors.get(player.getCommandSenderName());
ContributorHandler.Contributor contributor = ContributorHandler.contributors
.get(player.getCommandSenderName());
if (!contributor.isUserValid(player)) return;
if (button.id == 0) {
contributor.contributorWingsEnabled = !contributor.contributorWingsEnabled;
button.displayString =
"Contributor Wings: " + (contributor.contributorWingsEnabled ? "Enabled" : "Disabled");
button.displayString = "Contributor Wings: "
+ (contributor.contributorWingsEnabled ? "Enabled" : "Disabled");
} else if (button.id == 1) {
contributor.patreonBadgeEnabled = !contributor.patreonBadgeEnabled;
button.displayString = "Patreon Badge: " + (contributor.patreonBadgeEnabled ? "Enabled" : "Disabled");
}
DraconicEvolution.network.sendToServer(new ContributorPacket(
player.getCommandSenderName(),
contributor.contributorWingsEnabled,
contributor.patreonBadgeEnabled));
DraconicEvolution.network.sendToServer(
new ContributorPacket(
player.getCommandSenderName(),
contributor.contributorWingsEnabled,
contributor.patreonBadgeEnabled));
}
}
@Override
protected ComponentCollection assembleComponents() {
ComponentCollection c = new ComponentCollection(0, 0, xSize, ySize, this).setOpenBoarders();
c.addComponent(new ComponentTexturedRect(0, -15, 198, 20, inventoryTexture))
.setGroup("TEXT_TAB");
c.addComponent(new ComponentTexturedRect(0, 0, 198, 89, inventoryTexture))
.setGroup("BACKGROUND");
c.addComponent(new ComponentTexturedRect(0, -15, 198, 20, inventoryTexture)).setGroup("TEXT_TAB");
c.addComponent(new ComponentTexturedRect(0, 0, 198, 89, inventoryTexture)).setGroup("BACKGROUND");
c.addComponent(new ComponentTexturedRect(0, 13, 0, 9, 198, 80, inventoryTexture, false))
.setGroup("BACKGROUND_EXTENSION");
c.addComponent(new ComponentButton(3, 26, 20, 12, 0, this, "<=", StatCollector.translateToLocal("gui.back")))
.setGroup("BUTTONS")
.setName("BACK_BUTTON");
c.addComponent(new ComponentButton(
3, 39, 20, 12, 1, this, "Inv", StatCollector.translateToLocal("gui.de.itemInventory.txt")))
.setGroup("BUTTONS")
.setName("INVENTORY_BUTTON");
c.addComponent(new ComponentFieldAdjuster(4, 34, null, this))
.setGroup("FIELD_BUTTONS")
.setGroup("BUTTONS").setName("BACK_BUTTON");
c.addComponent(
new ComponentButton(
3,
39,
20,
12,
1,
this,
"Inv",
StatCollector.translateToLocal("gui.de.itemInventory.txt")))
.setGroup("BUTTONS").setName("INVENTORY_BUTTON");
c.addComponent(new ComponentFieldAdjuster(4, 34, null, this)).setGroup("FIELD_BUTTONS")
.setName("FIELD_CONFIG_BUTTON_ARRAY");
c.addComponent(new ComponentButton(
0, ySize, xSize, 14, 2, this, StatCollector.translateToLocal("gui.de.configureGuiElements.txt"))
.setGroup("INV_SCREEN"));
c.addComponent(
new ComponentButton(
0,
ySize,
xSize,
14,
2,
this,
StatCollector.translateToLocal("gui.de.configureGuiElements.txt")).setGroup("INV_SCREEN"));
ComponentTextField textField = (ComponentTextField) new ComponentTextField(this, 3, -12, 191, 12)
.setLabel(StatCollector.translateToLocal("gui.de.profile.txt") + ":", 0xE0E0E0)
.setGroup("TEXT_TAB")
.setLabel(StatCollector.translateToLocal("gui.de.profile.txt") + ":", 0xE0E0E0).setGroup("TEXT_TAB")
.setName("PROFILE_TEXT_FIELD");
c.addComponent(textField);
return c;
@@ -134,22 +153,18 @@ public class GUIToolConfig extends GUIBase {
protected void addDependentComponents() {
for (int x = 0; x < 9; x++) {
collection
.addComponent(new ComponentConfigItemButton(29 + 18 * x, 64, x, player))
.setGroup("INV_SCREEN");
collection.addComponent(new ComponentConfigItemButton(29 + 18 * x, 64, x, player)).setGroup("INV_SCREEN");
}
for (int y = 0; y < 3; y++) {
for (int x = 0; x < 9; x++) {
collection
.addComponent(new ComponentConfigItemButton(29 + 18 * x, 7 + y * 18, x + y * 9 + 9, player))
collection.addComponent(new ComponentConfigItemButton(29 + 18 * x, 7 + y * 18, x + y * 9 + 9, player))
.setGroup("INV_SCREEN");
}
}
for (int y = 0; y < 4; y++) {
collection
.addComponent(new ComponentConfigItemButton(6, 7 + y * 19, 39 - y, player))
collection.addComponent(new ComponentConfigItemButton(6, 7 + y * 19, 39 - y, player))
.setGroup("INV_SCREEN");
}
@@ -174,8 +189,7 @@ public class GUIToolConfig extends GUIBase {
int fieldOffsetY = 5;
for (ComponentBase component : collection.getComponents()) {
if (component.isEnabled()
&& component instanceof ComponentConfigItemButton
if (component.isEnabled() && component instanceof ComponentConfigItemButton
&& component.isMouseOver(x - this.guiLeft, y - this.guiTop)
&& ((ComponentConfigItemButton) component).hasValidItem) {
ItemStack stack = player.inventory.getStackInSlot(((ComponentConfigItemButton) component).slot);
@@ -186,8 +200,7 @@ public class GUIToolConfig extends GUIBase {
setEditingItem(stack, ((ComponentConfigItemButton) component).slot);
setLevel(1);
for (ItemConfigField field : item.getFields(stack, ((ComponentConfigItemButton) component).slot)) {
collection
.addComponent(new ComponentFieldButton(fieldOffsetX, fieldOffsetY, player, field, this))
collection.addComponent(new ComponentFieldButton(fieldOffsetX, fieldOffsetY, player, field, this))
.setGroup("LIST_SCREEN");
fieldOffsetY += 12;
}
@@ -218,8 +231,8 @@ public class GUIToolConfig extends GUIBase {
} else if (id == 1 && editingItem != null) { // inventory button
setLevel(3);
Minecraft.getMinecraft().displayGuiScreen(new GUIToolInventory(player, container, this));
// LogHelper.info("Pre send container " + Minecraft.getMinecraft().thePlayer.openContainer);
// DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOLINVENTORY, false));
// LogHelper.info("Pre send container " + Minecraft.getMinecraft().thePlayer.openContainer);
// DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOLINVENTORY, false));
} else if (id == 2) {
Minecraft.getMinecraft().displayGuiScreen(new GuiHudConfig(this));
}
@@ -238,22 +251,19 @@ public class GUIToolConfig extends GUIBase {
collection.setOnlyGroupEnabled("LIST_SCREEN");
collection.setGroupEnabled("BACKGROUND", true);
collection.setGroupEnabled("BACKGROUND_EXTENSION", true);
if (editingItem != null
&& editingItem.getItem() instanceof IConfigurableItem
if (editingItem != null && editingItem.getItem() instanceof IConfigurableItem
&& ((IConfigurableItem) editingItem.getItem()).hasProfiles())
collection.setGroupEnabled("TEXT_TAB", true);
collection.setComponentEnabled("BACK_BUTTON", true);
if (editingItem != null && editingItem.getItem() instanceof IInventoryTool)
collection.setComponentEnabled("INVENTORY_BUTTON", true);
if (collection.getComponent("BACK_BUTTON") != null)
collection.getComponent("BACK_BUTTON").setY(26);
if (collection.getComponent("BACK_BUTTON") != null) collection.getComponent("BACK_BUTTON").setY(26);
} else if (level == 2) { // field screen
collection.setOnlyGroupEnabled("FIELD_BUTTONS");
collection.setGroupEnabled("BACKGROUND", true);
collection.setComponentEnabled("BACK_BUTTON", true);
if (collection.getComponent("BACK_BUTTON") != null)
collection.getComponent("BACK_BUTTON").setY(3);
// slot = -1;
if (collection.getComponent("BACK_BUTTON") != null) collection.getComponent("BACK_BUTTON").setY(3);
// slot = -1;
} else if (level == 3) { // inventory screen
}
@@ -301,23 +311,26 @@ public class GUIToolConfig extends GUIBase {
super.drawGuiContainerForegroundLayer(mouseX, mouseY);
if (slot > -1) editingItem = player.inventory.getStackInSlot(slot);
if (slot > -1
&& editingItem != null
&& editingItem.getUnlocalizedName().toLowerCase().contains("bow")) {
if (slot > -1 && editingItem != null && editingItem.getItem() instanceof IEnergyContainerBowItem) {
BowHandler.BowProperties properties = new BowHandler.BowProperties(editingItem, player);
if (!properties.canFire()
&& properties.cantFireMessage != null
&& !properties.cantFireMessage.equals("msg.de.outOfArrows.name")) {
if (!properties.canFire() && properties.cantFireMessage != null
&& !properties.cantFireMessage.equals("msg.de.outOfArrows.txt")) {
fontRendererObj.drawSplitString(
StatCollector.translateToLocal(properties.cantFireMessage), 0, ySize + 5, xSize, 0xFF0000);
StatCollector.translateToLocal(properties.cantFireMessage),
0,
ySize + 5,
xSize,
0xFF0000);
}
List<String> list = new ArrayList<String>();
list.add(StatCollector.translateToLocal("gui.de.rfPerShot.txt") + ": "
+ Utills.addCommas(properties.calculateEnergyCost()));
list.add(StatCollector.translateToLocal("gui.de.maxDamage.txt") + ": "
+ properties.arrowDamage * (properties.arrowSpeed * 3));
list.add(
StatCollector.translateToLocal("gui.de.rfPerShot.txt") + ": "
+ formatNumber(properties.calculateEnergyCost()));
list.add(
StatCollector.translateToLocal("gui.de.maxDamage.txt") + ": "
+ properties.arrowDamage * (properties.arrowSpeed * 3));
drawHoveringText(list, xSize - 8, 0, fontRendererObj);
}
}
@@ -1,20 +1,27 @@
package com.brandon3055.draconicevolution.client.gui.componentguis;
import com.brandon3055.brandonscore.client.gui.guicomponents.*;
import com.brandon3055.draconicevolution.common.container.ContainerAdvTool;
import com.brandon3055.draconicevolution.common.lib.References;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentButton;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentCollection;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentItemRenderer;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentSlotBackground;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentTexturedRect;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIBase;
import com.brandon3055.draconicevolution.common.container.ContainerAdvTool;
import com.brandon3055.draconicevolution.common.lib.References;
/**
* Created by Brandon on 13/01/2015.
*/
public class GUIToolInventory extends GUIBase {
private static final ResourceLocation inventoryTexture =
new ResourceLocation(References.RESOURCESPREFIX + "textures/gui/ToolConfig.png");
private static final ResourceLocation inventoryTexture = new ResourceLocation(
References.RESOURCESPREFIX + "textures/gui/ToolConfig.png");
private ContainerAdvTool container;
private String inventoryName;
@@ -38,10 +45,8 @@ public class GUIToolInventory extends GUIBase {
@Override
protected ComponentCollection assembleComponents() {
ComponentCollection c = new ComponentCollection(0, 0, xSize, ySize, this);
c.addComponent(new ComponentTexturedRect(0, 130 - 89, 198, 89, inventoryTexture))
.setGroup("BACKGROUND");
c.addComponent(new ComponentTexturedRect(0, 0, 198, 80, inventoryTexture))
.setGroup("BACKGROUND");
c.addComponent(new ComponentTexturedRect(0, 130 - 89, 198, 89, inventoryTexture)).setGroup("BACKGROUND");
c.addComponent(new ComponentTexturedRect(0, 0, 198, 80, inventoryTexture)).setGroup("BACKGROUND");
c.addComponent(new ComponentButton(172, 3, 18, 12, 0, this, "<=", "Back"));
for (int i = 0; i < 5; i++) {
@@ -68,8 +73,7 @@ public class GUIToolInventory extends GUIBase {
collection.addComponent(new ComponentSlotBackground(7 + x * 18, 18)).setGroup("INVENTORY");
ComponentSlotBackground.addInventorySlots(collection, 7, 44, container.inventoryItemSlot);
if (container.inventoryItemSlot > 35)
collection
.addComponent(new ComponentItemRenderer(6, 18, container.inventoryTool.inventoryItem))
collection.addComponent(new ComponentItemRenderer(6, 18, container.inventoryTool.inventoryItem))
.setGroup("INVENTORY");
}
@@ -1,9 +1,11 @@
package com.brandon3055.draconicevolution.client.gui.componentguis;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import net.minecraft.util.StatCollector;
import org.apache.commons.io.FilenameUtils;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
/**
* Created by Brandon on 7/03/2015.
*/
@@ -29,24 +31,23 @@ public class ManualPage {
}
public String getImageResourceName(String url) {
// try
// {
// try
// {
LogHelper.info(url);
return FilenameUtils.getName(url);
// String fileName = new URL(url).getFile();
// return fileName.substring(fileName.indexOf("/") + 1);
// }
// catch (MalformedURLException e)
// {
// e.printStackTrace();
// return "";
// }
// }
// catch (MalformedURLException e)
// {
// e.printStackTrace();
// return "";
// }
}
public String getLocalizedName() {
if (nameL != null) return nameL;
return (name.contains("item.") || name.contains("tile."))
? StatCollector.translateToLocal(name + ".name")
return (name.contains("item.") || name.contains("tile.")) ? StatCollector.translateToLocal(name + ".name")
: name.contains("info.") ? name.substring(name.indexOf("info.") + 5) : "Invalid Name Data";
}
}
@@ -1,25 +1,27 @@
package com.brandon3055.draconicevolution.client.gui.guicomponents;
import com.brandon3055.brandonscore.client.gui.guicomponents.ComponentBase;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utills.IInventoryTool;
import com.brandon3055.draconicevolution.common.utills.ItemConfigField;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentBase;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utils.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utils.IInventoryTool;
import com.brandon3055.draconicevolution.common.utils.ItemConfigField;
/**
* Created by Brandon on 29/12/2014.
*/
public class ComponentConfigItemButton extends ComponentBase {
private static final ResourceLocation texture =
new ResourceLocation(References.RESOURCESPREFIX + "textures/gui/Widgets.png");
private static final ResourceLocation texture = new ResourceLocation(
References.RESOURCESPREFIX + "textures/gui/Widgets.png");
public int slot;
private InventoryPlayer inventory;
public boolean hasValidItem = false;
@@ -34,10 +36,8 @@ public class ComponentConfigItemButton extends ComponentBase {
public void refreshState() {
hasValidItem = (inventory.getStackInSlot(slot) != null
&& ((inventory.getStackInSlot(slot).getItem() instanceof IConfigurableItem
&& !((IConfigurableItem)
inventory.getStackInSlot(slot).getItem())
.getFields(inventory.getStackInSlot(slot), slot)
.isEmpty())
&& !((IConfigurableItem) inventory.getStackInSlot(slot).getItem())
.getFields(inventory.getStackInSlot(slot), slot).isEmpty())
|| inventory.getStackInSlot(slot).getItem() instanceof IInventoryTool));
}
@@ -70,8 +70,7 @@ public class ComponentConfigItemButton extends ComponentBase {
public void renderFinal(Minecraft minecraft, int offsetX, int offsetY, int mouseX, int mouseY) {
if (isMouseOver(mouseX, mouseY) && hasValidItem) {
List<String> list = new ArrayList<String>();
List<ItemConfigField> fields = ((IConfigurableItem)
inventory.getStackInSlot(slot).getItem())
List<ItemConfigField> fields = ((IConfigurableItem) inventory.getStackInSlot(slot).getItem())
.getFields(inventory.getStackInSlot(slot), slot);
for (ItemConfigField field : fields) {
list.add(field.getLocalizedName() + ": " + field.getFormattedValue());
@@ -83,8 +82,7 @@ public class ComponentConfigItemButton extends ComponentBase {
@Override
public void mouseClicked(int x, int y, int button) {
if (hasValidItem) {
Minecraft.getMinecraft()
.getSoundHandler()
Minecraft.getMinecraft().getSoundHandler()
.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
}
}
@@ -1,16 +1,10 @@
package com.brandon3055.draconicevolution.client.gui.guicomponents;
import com.brandon3055.brandonscore.client.gui.guicomponents.ComponentScrollingBase;
import com.brandon3055.brandonscore.client.gui.guicomponents.GUIScrollingBase;
import com.brandon3055.brandonscore.client.utills.ClientUtills;
import com.brandon3055.brandonscore.common.utills.InfoHelper;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler.Contributor;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.gui.GuiConfirmOpenLink;
@@ -20,8 +14,17 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.util.StringUtils;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.ClientUtils;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentScrollingBase;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIScrollingBase;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler.Contributor;
import com.brandon3055.draconicevolution.common.utils.InfoHelper;
/**
* Created by brandon3055 on 5/11/2015.
*/
@@ -40,7 +43,7 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
@Override
public void handleScrollInput(int direction) {
// page.scrollOffset += direction * 10;
// page.scrollOffset += direction * 10;
scrollOffset += direction * (InfoHelper.isShiftKeyDown() ? 30 : 10);
if (scrollOffset < 0) scrollOffset = 0;
if (scrollOffset > pageLength - getHeight()) scrollOffset = pageLength - getHeight();
@@ -82,8 +85,7 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
if (!(yOffset > 25 && yOffset < 324)) continue;
if (mouseX > 15
&& mouseX < 245
if (mouseX > 15 && mouseX < 245
&& mouseY < yOffset + 5
&& mouseY > yOffset - 25
&& !patreonButtonHighlighted) {
@@ -101,10 +103,10 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
renderPlayer(contributor.ign);
GL11.glPopMatrix();
fontRendererObj.drawStringWithShadow(
EnumChatFormatting.GOLD + contributor.name, 50, yOffset - 20, 0x000000);
fontRendererObj.drawString(
EnumChatFormatting.DARK_BLUE + contributor.contribution, 50, yOffset - 10, 0x000000);
fontRendererObj
.drawStringWithShadow(EnumChatFormatting.GOLD + contributor.name, 50, yOffset - 20, 0x000000);
fontRendererObj
.drawString(EnumChatFormatting.DARK_BLUE + contributor.contribution, 50, yOffset - 10, 0x000000);
}
}
@@ -120,8 +122,7 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
if (!(yOffset > 20 && yOffset < 330)) continue;
if (mouseX > 15
&& mouseX < 245
if (mouseX > 15 && mouseX < 245
&& mouseY < yOffset + 5
&& mouseY > yOffset - 25
&& !patreonButtonHighlighted) {
@@ -142,17 +143,17 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
if (!StringUtils.isNullOrEmpty(contributor.website)) {
list.add("");
list.add("Website: " + EnumChatFormatting.BLUE + contributor.website);
list.add(EnumChatFormatting.GRAY
+ StatCollector.translateToLocal("info.de.manual.clickToGoToSite.txt"));
list.add(
EnumChatFormatting.GRAY
+ StatCollector.translateToLocal("info.de.manual.clickToGoToSite.txt"));
}
drawHoveringText(list, offsetX - 7, offsetY + yOffset + 20, fontRendererObj);
}
}
if (!ContributorHandler.successfulLoad)
fontRendererObj.drawString(
"[Error] Failed to download contributors list", offsetX + 20, offsetY + 40, 0xFF0000);
if (!ContributorHandler.successfulLoad) fontRendererObj
.drawString("[Error] Failed to download contributors list", offsetX + 20, offsetY + 40, 0xFF0000);
}
@Override
@@ -174,8 +175,7 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
if (!(yOffset > 20 && yOffset < 330) || patreonButtonHighlighted) continue;
if (x > 15
&& x < 245
if (x > 15 && x < 245
&& y < yOffset + 5
&& y > yOffset - 25
&& !StringUtils.isNullOrEmpty(contributor.website)) {
@@ -188,7 +188,7 @@ public class ComponentContributorsPage extends ComponentScrollingBase implements
@Override
public void confirmClicked(boolean confirmed, int button) {
mc.displayGuiScreen(this.gui);
if (confirmed) ClientUtills.openLink(lastClickURL);
if (confirmed) ClientUtils.openLink(lastClickURL);
}
private static ModelBiped modelBiped = new ModelBiped(0.0265F);
@@ -1,24 +1,26 @@
package com.brandon3055.draconicevolution.client.gui.guicomponents;
import com.brandon3055.brandonscore.client.gui.guicomponents.ComponentBase;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.brandonscore.common.utills.DataUtills;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIToolConfig;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utills.ItemConfigField;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIToolConfig;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentBase;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utils.DataUtils;
import com.brandon3055.draconicevolution.common.utils.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utils.ItemConfigField;
/**
* Created by Brandon on 1/01/2015.
*/
public class ComponentFieldAdjuster extends ComponentBase {
private static final ResourceLocation widgets =
new ResourceLocation(References.RESOURCESPREFIX + "textures/gui/Widgets.png");
private static final ResourceLocation widgets = new ResourceLocation(
References.RESOURCESPREFIX + "textures/gui/Widgets.png");
protected static final ResourceLocation buttonTextures = new ResourceLocation("textures/gui/widgets.png");
public ItemConfigField field;
@@ -103,20 +105,19 @@ public class ComponentFieldAdjuster extends ComponentBase {
fieldValue = String.valueOf((double) Math.round(d * 100f) / 100D);
}
// if (field.datatype == References.FLOAT_ID) {
// float d = (Float)field.value;
// fieldValue = String.valueOf((double)Math.round((double)(d*100f)) / 100D);
// float d = (Float)field.value;
// fieldValue = String.valueOf((double)Math.round((double)(d*100f)) / 100D);
// }
int centre = fontRendererObj.getStringWidth(fieldName) / 2;
fontRendererObj.drawString(fieldName, x + getWidth() / 2 - centre, y - 12, 0x00000);
drawCenteredString(fontRendererObj, fieldValue, x + getWidth() / 2, y + 6, 0xffffff);
if (field.modifier == null || field.modifier.equals("AOE"))
drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.max.txt") + " " + field.getMaxFormattedValue(),
x + getWidth() / 2,
y + 20,
0xFFFFFF);
if (field.modifier == null || field.modifier.equals("AOE")) drawCenteredString(
fontRendererObj,
StatCollector.translateToLocal("gui.de.max.txt") + " " + field.getMaxFormattedValue(),
x + getWidth() / 2,
y + 20,
0xFFFFFF);
if (isDecimal() || isNonDecimal()) {
fontRendererObj.drawString("---", 7, y + 6, 0x000000);
@@ -207,13 +208,15 @@ public class ComponentFieldAdjuster extends ComponentBase {
field.value = !(Boolean) field.value;
break;
}
Minecraft.getMinecraft()
.getSoundHandler()
Minecraft.getMinecraft().getSoundHandler()
.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
ItemStack stack = gui.player.inventory.getStackInSlot(field.slot);
if (stack != null && stack.getItem() instanceof IConfigurableItem) {
DataUtills.writeObjectToCompound(
IConfigurableItem.ProfileHelper.getProfileCompound(stack), field.value, field.datatype, field.name);
DataUtils.writeObjectToCompound(
IConfigurableItem.ProfileHelper.getProfileCompound(stack),
field.value,
field.datatype,
field.name);
}
field.sendChanges();
}
@@ -225,12 +228,22 @@ public class ComponentFieldAdjuster extends ComponentBase {
this.drawTexturedModalRect(x, y, 0, 46 + k * 20, xSize / 2, 20 - Math.max(0, 20 - ySize));
this.drawTexturedModalRect(
x + xSize / 2, y, 200 - xSize / 2, 46 + k * 20, xSize / 2, 20 - Math.max(0, 20 - ySize));
x + xSize / 2,
y,
200 - xSize / 2,
46 + k * 20,
xSize / 2,
20 - Math.max(0, 20 - ySize));
if (ySize < 20) {
this.drawTexturedModalRect(x, y + 3, 0, (46 + k * 20) + 20 - ySize + 3, xSize - 1, ySize - 3);
this.drawTexturedModalRect(
x + xSize / 2, y + 3, 200 - xSize / 2, (46 + k * 20) + 20 - ySize + 3, xSize / 2, ySize - 3);
x + xSize / 2,
y + 3,
200 - xSize / 2,
(46 + k * 20) + 20 - ySize + 3,
xSize / 2,
ySize - 3);
}
}
@@ -239,8 +252,7 @@ public class ComponentFieldAdjuster extends ComponentBase {
}
private boolean isNonDecimal() {
return field.datatype == References.INT_ID
|| field.datatype == References.SHORT_ID
return field.datatype == References.INT_ID || field.datatype == References.SHORT_ID
|| field.datatype == References.BYTE_ID;
}
@@ -1,26 +1,28 @@
package com.brandon3055.draconicevolution.client.gui.guicomponents;
import com.brandon3055.brandonscore.client.gui.guicomponents.ComponentBase;
import com.brandon3055.brandonscore.common.utills.DataUtills;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIToolConfig;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utills.ItemConfigField;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIToolConfig;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentBase;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utils.DataUtils;
import com.brandon3055.draconicevolution.common.utils.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utils.ItemConfigField;
/**
* Created by Brandon on 31/12/2014.
*/
public class ComponentFieldButton extends ComponentBase {
private static final ResourceLocation widgets =
new ResourceLocation(References.RESOURCESPREFIX + "textures/gui/Widgets.png");
private static final ResourceLocation widgets = new ResourceLocation(
References.RESOURCESPREFIX + "textures/gui/Widgets.png");
public EntityPlayer player;
public int slot;
@@ -87,15 +89,14 @@ public class ComponentFieldButton extends ComponentBase {
@Override
public void mouseClicked(int x, int y, int button) {
Minecraft.getMinecraft()
.getSoundHandler()
Minecraft.getMinecraft().getSoundHandler()
.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
if (field.datatype == References.BOOLEAN_ID) {
field.value = !(Boolean) field.value;
field.sendChanges();
ItemStack stack = gui.player.inventory.getStackInSlot(field.slot);
if (stack != null && stack.getItem() instanceof IConfigurableItem) {
DataUtills.writeObjectToCompound(
DataUtils.writeObjectToCompound(
IConfigurableItem.ProfileHelper.getProfileCompound(stack),
field.value,
field.datatype,
@@ -1,15 +1,17 @@
package com.brandon3055.draconicevolution.client.gui.guicomponents;
import com.brandon3055.brandonscore.client.gui.guicomponents.ComponentScrollingBase;
import com.brandon3055.brandonscore.client.gui.guicomponents.GUIScrollingBase;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.client.gui.componentguis.ManualPage;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import net.minecraft.client.Minecraft;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.gui.componentguis.ManualPage;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentScrollingBase;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIScrollingBase;
import com.brandon3055.draconicevolution.common.utils.Utils;
/**
* Created by Brandon on 7/03/2015.
*/
@@ -21,7 +23,7 @@ public class ComponentIndexButton extends ComponentScrollingBase {
public ComponentIndexButton(int x, int y, GUIScrollingBase gui, ManualPage page) {
super(x, y, gui);
this.page = page;
stack = Utills.getStackFromName(page.name, page.meta);
stack = Utils.getStackFromName(page.name, page.meta);
}
@Override
@@ -1,32 +1,40 @@
package com.brandon3055.draconicevolution.client.gui.guicomponents;
import com.brandon3055.brandonscore.client.gui.guicomponents.ComponentScrollingBase;
import com.brandon3055.brandonscore.client.gui.guicomponents.GUIScrollingBase;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.brandonscore.common.utills.InfoHelper;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.client.gui.componentguis.ManualPage;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utill.CustomResourceLocation;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.*;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import org.apache.commons.io.FilenameUtils;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.gui.componentguis.ManualPage;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.utils.CustomResourceLocation;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.client.utils.guicomponents.ComponentScrollingBase;
import com.brandon3055.draconicevolution.client.utils.guicomponents.GUIScrollingBase;
import com.brandon3055.draconicevolution.common.utils.InfoHelper;
import com.brandon3055.draconicevolution.common.utils.Utils;
/**
* Created by Brandon on 19/03/2015.
*/
public class ComponentManualPage extends ComponentScrollingBase {
public ManualPage page;
public List<ContentComponent> contentList = new ArrayList<ContentComponent>();
private int pageLength = 0;
@@ -40,7 +48,7 @@ public class ComponentManualPage extends ComponentScrollingBase {
super(x, y, gui);
this.page = page;
pageLength = 25;
stack = Utills.getStackFromName(page.name, page.meta);
stack = Utils.getStackFromName(page.name, page.meta);
ContentComponent title = new ContentComponent("title." + page.getLocalizedName(), pageLength, this);
pageLength += title.getHeight();
contentList.add(title);
@@ -56,7 +64,7 @@ public class ComponentManualPage extends ComponentScrollingBase {
@Override
public void handleScrollInput(int direction) {
// scrollOffset += direction * 10;
// scrollOffset += direction * 10;
scrollOffset += direction * (InfoHelper.isShiftKeyDown() ? 30 : 10);
if (scrollOffset < 0) scrollOffset = 0;
if (scrollOffset > pageLength - getHeight()) scrollOffset = pageLength - getHeight();
@@ -149,13 +157,12 @@ public class ComponentManualPage extends ComponentScrollingBase {
} else if (type == 2) {
String s = content.substring(content.indexOf("[c]") + 3);
String name = s.substring(0, s.lastIndexOf(":"));
ItemStack stack = Utills.getStackFromName(name, Integer.parseInt(s.substring(s.lastIndexOf(":") + 1)));
ItemStack stack = Utils.getStackFromName(name, Integer.parseInt(s.substring(s.lastIndexOf(":") + 1)));
result = stack;
if (stack != null) {
for (IRecipe recipe :
(List<IRecipe>) CraftingManager.getInstance().getRecipeList()) {
for (IRecipe recipe : (List<IRecipe>) CraftingManager.getInstance().getRecipeList()) {
if (recipe == null) continue;
ItemStack result = recipe.getRecipeOutput();
@@ -167,10 +174,7 @@ public class ComponentManualPage extends ComponentScrollingBase {
recipes.add(recipe);
}
Iterator iterator = FurnaceRecipes.smelting()
.getSmeltingList()
.entrySet()
.iterator();
Iterator iterator = FurnaceRecipes.smelting().getSmeltingList().entrySet().iterator();
Map.Entry entry;
while (iterator.hasNext()) {
@@ -184,10 +188,8 @@ public class ComponentManualPage extends ComponentScrollingBase {
}
public int getHeight() {
if (type == 1
&& (ResourceHandler.downloadedImages.containsKey(FilenameUtils.getName(content))
|| (slide
&& ResourceHandler.downloadedImages.containsKey(FilenameUtils.getName(content))))) {
if (type == 1 && (ResourceHandler.downloadedImages.containsKey(FilenameUtils.getName(content))
|| (slide && ResourceHandler.downloadedImages.containsKey(FilenameUtils.getName(content))))) {
CustomResourceLocation texture = slide
? ResourceHandler.downloadedImages.get(FilenameUtils.getName(content))
: ResourceHandler.downloadedImages.get(FilenameUtils.getName(content));
@@ -211,7 +213,11 @@ public class ComponentManualPage extends ComponentScrollingBase {
int y = yPos - page.scrollOffset;
if (y > 310 || y < 5) return;
page.drawCenteredString(
page.fontRendererObj, content.substring(content.indexOf("title.") + 6), 128, y, 0x00ffff);
page.fontRendererObj,
content.substring(content.indexOf("title.") + 6),
128,
y,
0x00ffff);
if ((page.page.name.contains("tile.") || page.page.name.contains("item.")) && page.stack != null) {
ResourceHandler.bindResource("textures/gui/Widgets.png");
@@ -229,8 +235,9 @@ public class ComponentManualPage extends ComponentScrollingBase {
}
private void renderImage() {
CustomResourceLocation image =
null; // slide ? ResourceHandler.downloadedImages.get(slides.get(page.slideTick % slides.size() -
CustomResourceLocation image = null; // slide ?
// ResourceHandler.downloadedImages.get(slides.get(page.slideTick %
// slides.size() -
// 1)) : ResourceHandler.downloadedImages.get(content);
if (slide) {
int index = (page.slideTick / 20) % (slides.size());
@@ -297,13 +304,13 @@ public class ComponentManualPage extends ComponentScrollingBase {
if (y + yDown + posY < 0 || y + yDown + posY > 305) continue;
page.drawTexturedModalRect(x + posX, y + yDown + posY, 138, 0, 18, 18);
ItemStack stack = (ItemStack)
(getRecipeInput(recipe).length > i && getRecipeInput(recipe)[i] instanceof ItemStack
ItemStack stack = (ItemStack) (getRecipeInput(recipe).length > i
&& getRecipeInput(recipe)[i] instanceof ItemStack
? getRecipeInput(recipe)[i]
: getRecipeInput(recipe).length > i
&& getRecipeInput(recipe)[i] instanceof ArrayList
? ((ArrayList) getRecipeInput(recipe)[i]).get(0)
: null);
&& getRecipeInput(recipe)[i] instanceof ArrayList
? ((ArrayList) getRecipeInput(recipe)[i]).get(0)
: null);
if (stack != null) {
if (stack.getItemDamage() == OreDictionary.WILDCARD_VALUE) stack.setItemDamage(0);
@@ -341,13 +348,13 @@ public class ComponentManualPage extends ComponentScrollingBase {
int y = i / 3 * 18;
if (y + yDown + posY < 0 || y + yDown + posY > 305) continue;
ItemStack stack = (ItemStack)
(getRecipeInput(recipe).length > i && getRecipeInput(recipe)[i] instanceof ItemStack
ItemStack stack = (ItemStack) (getRecipeInput(recipe).length > i
&& getRecipeInput(recipe)[i] instanceof ItemStack
? getRecipeInput(recipe)[i]
: getRecipeInput(recipe).length > i
&& getRecipeInput(recipe)[i] instanceof ArrayList
? ((ArrayList) getRecipeInput(recipe)[i]).get(0)
: null);
&& getRecipeInput(recipe)[i] instanceof ArrayList
? ((ArrayList) getRecipeInput(recipe)[i]).get(0)
: null);
if (stack != null) {
if (GuiHelper.isInRect(1 + x + posX, 1 + y + yDown + posY, 18, 18, mouseX, mouseY)) {
@@ -403,8 +410,7 @@ public class ComponentManualPage extends ComponentScrollingBase {
}
private Object[] getRecipeInput(IRecipe recipe) {
if (recipe instanceof ShapelessOreRecipe)
return ((ShapelessOreRecipe) recipe).getInput().toArray();
if (recipe instanceof ShapelessOreRecipe) return ((ShapelessOreRecipe) recipe).getInput().toArray();
else if (recipe instanceof ShapedOreRecipe) return getShapedOreRecipe((ShapedOreRecipe) recipe);
else if (recipe instanceof ShapedRecipes) return ((ShapedRecipes) recipe).recipeItems;
else if (recipe instanceof ShapelessRecipes)
@@ -1,151 +1,98 @@
package com.brandon3055.draconicevolution.client.handler;
import com.brandon3055.brandonscore.common.utills.DataUtills.XZPair;
import java.util.Random;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.event.FOVUpdateEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.handler.ContributorHandler;
import com.brandon3055.draconicevolution.common.items.armor.CustomArmorHandler;
import com.brandon3055.draconicevolution.common.items.armor.ArmorSummary;
import com.brandon3055.draconicevolution.common.items.armor.DraconicArmor;
import com.brandon3055.draconicevolution.common.items.armor.WyvernArmor;
import com.brandon3055.draconicevolution.common.items.weapons.BowHandler;
import com.brandon3055.draconicevolution.common.items.weapons.DraconicBow;
import com.brandon3055.draconicevolution.common.items.weapons.WyvernBow;
import com.brandon3055.draconicevolution.common.network.MountUpdatePacket;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
import cpw.mods.fml.common.eventhandler.EventPriority;
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 java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemArmor;
import net.minecraftforge.client.event.FOVUpdateEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
/**
* Created by Brandon on 28/10/2014.
*/
public class ClientEventHandler {
public static Map<EntityPlayer, XZPair<Float, Integer>> playerShieldStatus =
new HashMap<EntityPlayer, XZPair<Float, Integer>>();
public final class ClientEventHandler {
public static int elapsedTicks;
private static float previousFOB = 0f;
public static float previousSensitivity = 0;
public static boolean bowZoom = false;
public static boolean lastTickBowZoom = false;
public static int tickSet = 0;
public static ItemDisplayManager statusDisplayManager = new ItemDisplayManager(60);
private static int remountTicksRemaining = 0;
private static int remountEntityID = 0;
public static float energyCrystalAlphaValue = 0f;
public static float energyCrystalAlphaTarget = 0f;
public static boolean playerHoldingWrench = false;
public static Minecraft mc;
private static Random rand = new Random();
private static IModelCustom shieldSphere;
private static final Random RANDOM = new Random();
public ClientEventHandler() {
shieldSphere = AdvancedModelLoader.loadModel(ResourceHandler.getResource("models/shieldSphere.obj"));
}
private int elapsedTicks;
private int remountTicksRemaining = 0;
private int remountEntityID = 0;
private float energyCrystalAlphaValue = 0f;
private float energyCrystalAlphaTarget = 0f;
@SubscribeEvent
public void tickEnd(TickEvent.ClientTickEvent event) {
if (event.phase != TickEvent.Phase.START || event.type != TickEvent.Type.CLIENT || event.side != Side.CLIENT)
if (event.phase != TickEvent.Phase.START) {
return;
for (Iterator<Map.Entry<EntityPlayer, XZPair<Float, Integer>>> i =
playerShieldStatus.entrySet().iterator();
i.hasNext(); ) {
Map.Entry<EntityPlayer, XZPair<Float, Integer>> entry = i.next();
if (elapsedTicks - entry.getValue().getValue() > 5) i.remove();
}
if (mc == null) mc = Minecraft.getMinecraft();
else if (mc.theWorld != null) {
final Minecraft mc = Minecraft.getMinecraft();
if (mc.theWorld != null) {
elapsedTicks++;
HudHandler.clientTick();
if (bowZoom && !lastTickBowZoom) {
previousSensitivity = Minecraft.getMinecraft().gameSettings.mouseSensitivity;
Minecraft.getMinecraft().gameSettings.mouseSensitivity = previousSensitivity / 3;
} else if (!bowZoom && lastTickBowZoom) {
Minecraft.getMinecraft().gameSettings.mouseSensitivity = previousSensitivity;
}
lastTickBowZoom = bowZoom;
if (elapsedTicks - tickSet > 10) bowZoom = false;
if (energyCrystalAlphaValue < energyCrystalAlphaTarget) energyCrystalAlphaValue += 0.01f;
if (energyCrystalAlphaValue > energyCrystalAlphaTarget) energyCrystalAlphaValue -= 0.01f;
if (Math.abs(energyCrystalAlphaTarget - energyCrystalAlphaValue) <= 0.02f)
energyCrystalAlphaTarget = rand.nextFloat();
playerHoldingWrench = mc.thePlayer.getHeldItem() != null
&& mc.thePlayer.getHeldItem().getItem() == ModItems.wrench;
if (Math.abs(energyCrystalAlphaTarget - energyCrystalAlphaValue) <= 0.02f) {
energyCrystalAlphaTarget = RANDOM.nextFloat();
}
searchForPlayerMount();
}
statusDisplayManager.tick();
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void renderGameOverlayEvent(final RenderGameOverlayEvent.Post event) {
if (event.type == RenderGameOverlayEvent.ElementType.ALL) {
statusDisplayManager.drawItemStack();
}
}
@SubscribeEvent(priority = EventPriority.LOW)
public void fovUpdate(FOVUpdateEvent event) {
// region Bow FOV Update
if (event.entity.getHeldItem() != null
&& (event.entity.getHeldItem().getItem() instanceof WyvernBow
|| event.entity.getHeldItem().getItem() instanceof DraconicBow)
final ItemStack heldItem = event.entity.getHeldItem();
if (heldItem != null && (heldItem.getItem() instanceof WyvernBow || heldItem.getItem() instanceof DraconicBow)
&& Minecraft.getMinecraft().gameSettings.keyBindUseItem.getIsKeyPressed()) {
BowHandler.BowProperties properties =
new BowHandler.BowProperties(event.entity.getHeldItem(), event.entity);
BowHandler.BowProperties properties = new BowHandler.BowProperties(heldItem, event.entity);
event.newfov = ((6 - properties.zoomModifier) / 6) * event.fov;
// if (ItemNBTHelper.getString(event.entity.getItemInUse(), "mode", "").equals("sharpshooter")){
// if (event.entity.getItemInUse().getItem() instanceof WyvernBow) zMax = 1.35f;
// else if (event.entity.getItemInUse().getItem() instanceof DraconicBow) zMax = 2.5f;
// bowZoom = true;
// tickSet = elapsedTicks;
// }
// if (ItemNBTHelper.getString(event.entity.getItemInUse(), "mode", "").equals("sharpshooter")){
// if (event.entity.getItemInUse().getItem() instanceof WyvernBow) zMax = 1.35f;
// else if (event.entity.getItemInUse().getItem() instanceof DraconicBow) zMax = 2.5f;
// bowZoom = true;
// tickSet = elapsedTicks;
// }
}
// endregion
// region Armor move speed FOV effect cancellation
CustomArmorHandler.ArmorSummery summery = new CustomArmorHandler.ArmorSummery().getSummery(event.entity);
final ArmorSummary summary = ArmorSummary.get(event.entity);
if (summery != null && summery.speedModifier > 0) {
IAttributeInstance iattributeinstance =
event.entity.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
float f = (float)
((iattributeinstance.getAttributeValue() / (double) event.entity.capabilities.getWalkSpeed() + 1.0D)
/ 2.0D);
if (summary != null && summary.speedModifier > 0) {
IAttributeInstance iattributeinstance = event.entity
.getEntityAttribute(SharedMonsterAttributes.movementSpeed);
float f = (float) ((iattributeinstance.getAttributeValue()
/ (double) event.entity.capabilities.getWalkSpeed() + 1.0D) / 2.0D);
event.newfov /= f;
}
@@ -169,7 +116,7 @@ public class ClientEventHandler {
}
}
public static void tryRepositionPlayerOnMount(int id) {
public void tryRepositionPlayerOnMount(int id) {
if (remountTicksRemaining == 500) return;
remountTicksRemaining = 500;
remountEntityID = id;
@@ -183,7 +130,7 @@ public class ClientEventHandler {
@SubscribeEvent
public void renderArmorEvent(RenderPlayerEvent.SetArmorModel event) {
if (ConfigHandler.useOriginal3DArmorModel || ConfigHandler.useOldArmorModel || event.isCanceled()) return;
if (ConfigHandler.useOriginal3DArmorModel || ConfigHandler.useOldArmorModel) return;
if (event.stack != null
&& (event.stack.getItem() instanceof DraconicArmor || event.stack.getItem() instanceof WyvernArmor)) {
ItemArmor itemarmor = (ItemArmor) event.stack.getItem();
@@ -196,53 +143,11 @@ public class ClientEventHandler {
}
}
@SubscribeEvent
public void renderPlayerEvent(RenderPlayerEvent.Post event) {
if (playerShieldStatus.containsKey(event.entityPlayer)) {
GL11.glPushMatrix();
GL11.glDepthMask(false);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_LIGHTING);
ResourceHandler.bindResource("textures/models/shieldSphere.png");
public int getElapsedTicks() {
return elapsedTicks;
}
float p = playerShieldStatus.get(event.entityPlayer).getKey();
EntityPlayer viewingPlayer = Minecraft.getMinecraft().thePlayer;
int i = 5
- (elapsedTicks - playerShieldStatus.get(event.entityPlayer).getValue());
GL11.glColor4f(1F - p, 0F, p, i / 5F);
if (viewingPlayer != event.entityPlayer) {
double translationXLT = event.entityPlayer.prevPosX - viewingPlayer.prevPosX;
double translationYLT = event.entityPlayer.prevPosY - viewingPlayer.prevPosY;
double translationZLT = event.entityPlayer.prevPosZ - viewingPlayer.prevPosZ;
double translationX = translationXLT
+ (((event.entityPlayer.posX - viewingPlayer.posX) - translationXLT) * event.partialRenderTick);
double translationY = translationYLT
+ (((event.entityPlayer.posY - viewingPlayer.posY) - translationYLT) * event.partialRenderTick);
double translationZ = translationZLT
+ (((event.entityPlayer.posZ - viewingPlayer.posZ) - translationZLT) * event.partialRenderTick);
GL11.glTranslated(translationX, translationY + 1.1, translationZ);
} else {
GL11.glTranslated(0, -0.5, 0);
}
GL11.glScaled(1, 1.5, 1);
shieldSphere.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDepthMask(true);
GL11.glPopMatrix();
}
public float getEnergyCrystalAlpha() {
return energyCrystalAlphaValue;
}
}
@@ -1,17 +1,10 @@
package com.brandon3055.draconicevolution.client.handler;
import com.brandon3055.brandonscore.client.utills.GuiHelper;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.client.gui.GuiHudConfig;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.items.armor.CustomArmorHandler;
import com.brandon3055.draconicevolution.common.utills.IHudDisplayBlock;
import com.brandon3055.draconicevolution.common.utills.IHudDisplayItem;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import static com.gtnewhorizon.gtnhlib.util.numberformatting.NumberFormatUtil.formatNumber;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiChat;
@@ -20,39 +13,47 @@ import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.StatCollector;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.gui.GuiHudConfig;
import com.brandon3055.draconicevolution.client.utils.GuiHelper;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.items.armor.ArmorSummary;
import com.brandon3055.draconicevolution.common.utils.IHudDisplayBlock;
import com.brandon3055.draconicevolution.common.utils.IHudDisplayItem;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
/**
* Created by Brandon on 26/01/2015.
*/
public class HudHandler {
public final class HudHandler {
private static List<String> hudList = null;
private static List<String> ltHudList = null;
private static float toolTipFadeOut = 0F;
private static float armorStatsFadeOut = 0F;
private static boolean showShieldHud = false;
private static int shieldPercentCharge = 0;
private static float shieldPoints = 0F;
private static float maxShieldPoints = 0F;
private static float shieldEntropy = 0F;
private static int rfCharge = 0;
private static long rfTotal = 0;
int width;
int height;
private List<String> hudList = null;
private List<String> ltHudList = null;
private float toolTipFadeOut = 0F;
private float armorStatsFadeOut = 0F;
private boolean showShieldHud = false;
private int shieldPercentCharge = 0;
private float shieldPoints = 0F;
private float maxShieldPoints = 0F;
private float shieldEntropy = 0F;
private int rfCharge = 0;
private long rfTotal = 0;
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void drawHUD(RenderGameOverlayEvent.Post event) {
Minecraft mc = Minecraft.getMinecraft();
if (event.type != RenderGameOverlayEvent.ElementType.ALL
|| mc.gameSettings.showDebugInfo
|| mc.currentScreen instanceof GuiChat) return;
if (event.type != RenderGameOverlayEvent.ElementType.ALL || mc.gameSettings.showDebugInfo
|| mc.currentScreen instanceof GuiChat) {
return;
}
ScaledResolution resolution = event.resolution;
width = resolution.getScaledWidth();
height = resolution.getScaledHeight();
final int width = resolution.getScaledWidth();
final int height = resolution.getScaledHeight();
FontRenderer fontRenderer = mc.fontRenderer;
if (ConfigHandler.hudSettings[10] == 1 && hudList != null && toolTipFadeOut > 0) {
@@ -81,13 +82,20 @@ public class HudHandler {
}
}
// x, y, x, y, scale, scale, fademode, fademode, rotateArmor, armorText
@SideOnly(Side.CLIENT)
public static void clientTick() {
@SubscribeEvent
public void tickEnd(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.END && Minecraft.getMinecraft().theWorld != null) {
this.clientTick();
}
}
private void clientTick() {
if (ConfigHandler.hudSettings[6] > 0 && toolTipFadeOut > 1F - ((float) ConfigHandler.hudSettings[6] * 0.25F)) {
toolTipFadeOut -= 0.1F;
}
if (hudList != null && (ltHudList == null || !hudList.equals(ltHudList))) toolTipFadeOut = 5F;
if (hudList != null && !hudList.equals(ltHudList)) {
toolTipFadeOut = 5F;
}
if (ConfigHandler.hudSettings[7] > 0
&& armorStatsFadeOut > 1F - ((float) ConfigHandler.hudSettings[7] * 0.25F)) {
armorStatsFadeOut -= 0.1F;
@@ -103,7 +111,7 @@ public class HudHandler {
if (mc.currentScreen != null) {
if (mc.currentScreen instanceof GuiHudConfig) {
hudList = new ArrayList<String>();
hudList = new ArrayList<>();
hudList.add(StatCollector.translateToLocal("info.de.hudDisplayConfigTxt1.txt"));
hudList.add("");
hudList.add("");
@@ -112,40 +120,54 @@ public class HudHandler {
toolTipFadeOut = 1F;
armorStatsFadeOut = 1F;
}
} else if (mc.thePlayer.getHeldItem() != null
&& mc.thePlayer.getHeldItem().getItem() instanceof IHudDisplayItem) {
hudList =
((IHudDisplayItem) mc.thePlayer.getHeldItem().getItem()).getDisplayData(mc.thePlayer.getHeldItem());
}
} else
if (mc.thePlayer.getHeldItem() != null && mc.thePlayer.getHeldItem().getItem() instanceof IHudDisplayItem) {
hudList = ((IHudDisplayItem) mc.thePlayer.getHeldItem().getItem())
.getDisplayData(mc.thePlayer.getHeldItem());
}
MovingObjectPosition mop = mc.thePlayer.rayTrace(5, 0);
if (mop != null
&& mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK
if (mop != null && mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK
&& mc.theWorld.getBlock(mop.blockX, mop.blockY, mop.blockZ) instanceof IHudDisplayBlock) {
hudList = ((IHudDisplayBlock) mc.theWorld.getBlock(mop.blockX, mop.blockY, mop.blockZ))
.getDisplayData(mc.theWorld, mop.blockX, mop.blockY, mop.blockZ);
}
CustomArmorHandler.ArmorSummery summery = new CustomArmorHandler.ArmorSummery().getSummery(mc.thePlayer);
final ArmorSummary summary = ArmorSummary.get(mc.thePlayer);
if (summery == null) {
if (summary == null) {
showShieldHud = false;
return;
}
if (!shouldDisplayArmorHud(summary)) {
showShieldHud = false;
armorStatsFadeOut = 0F;
maxShieldPoints = 0F;
shieldPoints = 0F;
shieldPercentCharge = 0;
shieldEntropy = 0F;
rfCharge = 0;
rfTotal = 0;
return;
}
showShieldHud = armorStatsFadeOut > 0F;
if (maxShieldPoints != summery.maxProtectionPoints
|| shieldPoints != summery.protectionPoints
|| shieldEntropy != summery.entropy
|| rfTotal != summery.totalEnergyStored) armorStatsFadeOut = 5F;
if (maxShieldPoints != summary.maxProtectionPoints || shieldPoints != summary.protectionPoints
|| shieldEntropy != summary.entropy
|| rfTotal != summary.totalEnergyStored)
armorStatsFadeOut = 5F;
maxShieldPoints = summery.maxProtectionPoints;
shieldPoints = summery.protectionPoints;
shieldPercentCharge = (int) (summery.protectionPoints / summery.maxProtectionPoints * 100D);
shieldEntropy = summery.entropy;
rfCharge = (int)
((double) summery.totalEnergyStored / Math.max((double) summery.maxTotalEnergyStorage, 1D) * 100D);
rfTotal = summery.totalEnergyStored;
maxShieldPoints = summary.maxProtectionPoints;
shieldPoints = summary.protectionPoints;
shieldPercentCharge = (int) (summary.protectionPoints / summary.maxProtectionPoints * 100D);
shieldEntropy = summary.entropy;
rfCharge = (int) ((double) summary.totalEnergyStored / Math.max((double) summary.maxTotalEnergyStorage, 1D)
* 100D);
rfTotal = summary.totalEnergyStored;
}
private boolean shouldDisplayArmorHud(ArmorSummary summary) {
return summary.maxProtectionPoints > 0F || summary.maxTotalEnergyStorage > 0;
}
private void drawArmorHUD(int x, int y, boolean rotated, double scale) {
@@ -192,7 +214,16 @@ public class HudHandler {
0,
GuiHelper.PXL128);
GuiHelper.drawTexturedRect(
x + 13, y + 2 + 100 - rfCharge, 2, rfCharge, 28, 100 - rfCharge, 2, rfCharge, 0, GuiHelper.PXL128);
x + 13,
y + 2 + 100 - rfCharge,
2,
rfCharge,
28,
100 - rfCharge,
2,
rfCharge,
0,
GuiHelper.PXL128);
if (ConfigHandler.hudSettings[9] == 1) {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
@@ -201,15 +232,15 @@ public class HudHandler {
GL11.glTranslated(-x, -y, 0);
String shield = Math.round(shieldPoints) + "/" + (int) maxShieldPoints;
String entropy = "EN: " + (int) shieldEntropy + "%";
String energy = "RF: " + Utills.formatNumber(rfTotal);
String energy = "RF: " + formatNumber(rfTotal);
float fade = Math.min(armorStatsFadeOut, 1F);
if (!rotated) {
fontRenderer.drawStringWithShadow(
shield, x + 18, y + 74, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer.drawStringWithShadow(
energy, x + 18, y + 84, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer.drawStringWithShadow(
entropy, x + 18, y + 94, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer
.drawStringWithShadow(shield, x + 18, y + 74, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer
.drawStringWithShadow(energy, x + 18, y + 84, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer
.drawStringWithShadow(entropy, x + 18, y + 94, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
} else {
fontRenderer.drawString(
shield,
@@ -221,8 +252,8 @@ public class HudHandler {
x - fontRenderer.getStringWidth(entropy),
y + 18,
((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer.drawStringWithShadow(
energy, x - 102, y + 18, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
fontRenderer
.drawStringWithShadow(energy, x - 102, y + 18, ((int) (fade * 240F) + 0x10 << 24) | 0x00FFFFFF);
}
}
@@ -235,42 +266,42 @@ public class HudHandler {
}
// GL11.glPushMatrix();
// GL11.glEnable(GL11.GL_ALPHA_TEST);
// ResourceHandler.bindResource("textures/gui/HUD.png");
// GL11.glEnable(GL11.GL_ALPHA_TEST);
// ResourceHandler.bindResource("textures/gui/HUD.png");
//
// if (rotated){
// GuiHelper.drawTexturedRect(x-(12*scale), y+scale, (int)(11*scale), (int)(13*scale), 2, 0, 11, 13, 0,
// if (rotated){
// GuiHelper.drawTexturedRect(x-(12*scale), y+scale, (int)(11*scale), (int)(13*scale), 2, 0, 11, 13, 0,
// GuiHelper.PXL128);
// x+=(104*scale);
// GL11.glTranslated(x, y, 0);
// GL11.glRotated(-90, 0, 0, -1);
// GL11.glTranslated(-x, -y, 0);
// }
// else GuiHelper.drawTexturedRect(x+(1*scale), y+(104*scale)+1, (int)(13*scale), (int)(15*scale), 2, 0, 11, 13, 0,
// x+=(104*scale);
// GL11.glTranslated(x, y, 0);
// GL11.glRotated(-90, 0, 0, -1);
// GL11.glTranslated(-x, -y, 0);
// }
// else GuiHelper.drawTexturedRect(x+(1*scale), y+(104*scale)+1, (int)(13*scale), (int)(15*scale), 2, 0, 11, 13, 0,
// GuiHelper.PXL128);
//
// GuiHelper.drawTexturedRect(x, y, (int)(17*scale), (int)(104*scale), 0, 15, 17, 104, 0, GuiHelper.PXL128);
// GuiHelper.drawTexturedRect(x+(2*scale), y+(2*scale)+(100-shieldPercentCharge), (int)(7*scale), shieldPercentCharge
// GuiHelper.drawTexturedRect(x, y, (int)(17*scale), (int)(104*scale), 0, 15, 17, 104, 0, GuiHelper.PXL128);
// GuiHelper.drawTexturedRect(x+(2*scale), y+(2*scale)+(100-shieldPercentCharge), (int)(7*scale), shieldPercentCharge
// *scale, 17, 100-shieldPercentCharge, 7, shieldPercentCharge, 0, GuiHelper.PXL128);
// GuiHelper.drawTexturedRect(x+(10*scale), y+(2+(100-(int)shieldEntropy) * scale), (int)(2*scale), (int)shieldEntropy
// GuiHelper.drawTexturedRect(x+(10*scale), y+(2+(100-(int)shieldEntropy) * scale), (int)(2*scale), (int)shieldEntropy
// * scale, 25, 100-(int)shieldEntropy, 2, (int)shieldEntropy, 0, GuiHelper.PXL128);
//
// if (ConfigHandler.hudSettings[9] == 1) {
// FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
// GL11.glTranslated(x, y, 0);
// GL11.glScaled(scale, scale, 1);
// if (rotated) GL11.glRotated(90, 0, 0, -1);
// GL11.glTranslated(-x, -y, 0);
// if (!rotated) {
// fontRenderer.drawStringWithShadow(Math.round(shieldPoints) + "/" + (int)maxShieldPoints, x + 16, y + 84, 0xFFFFFF);
// fontRenderer.drawStringWithShadow((int)shieldEntropy + "%", x + 16, y + 94, 0xFFFFFF);
// }else {
// fontRenderer.drawStringWithShadow(Math.round(shieldPoints) + "/" + (int)maxShieldPoints, x - 102, y + 16, 0xFFFFFF);
// fontRenderer.drawStringWithShadow((int)shieldEntropy + "%", x - fontRenderer.getStringWidth((int)shieldEntropy +
// if (ConfigHandler.hudSettings[9] == 1) {
// FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
// GL11.glTranslated(x, y, 0);
// GL11.glScaled(scale, scale, 1);
// if (rotated) GL11.glRotated(90, 0, 0, -1);
// GL11.glTranslated(-x, -y, 0);
// if (!rotated) {
// fontRenderer.drawStringWithShadow(Math.round(shieldPoints) + "/" + (int)maxShieldPoints, x + 16, y + 84, 0xFFFFFF);
// fontRenderer.drawStringWithShadow((int)shieldEntropy + "%", x + 16, y + 94, 0xFFFFFF);
// }else {
// fontRenderer.drawStringWithShadow(Math.round(shieldPoints) + "/" + (int)maxShieldPoints, x - 102, y + 16, 0xFFFFFF);
// fontRenderer.drawStringWithShadow((int)shieldEntropy + "%", x - fontRenderer.getStringWidth((int)shieldEntropy +
// "%"), y + 16, 0xFFFFFF);
// }
// }
// }
// }
//
// ResourceHandler.bindTexture(ResourceHandler.getResourceWOP("minecraft:textures/gui/icons.png"));
// GL11.glDisable(GL11.GL_ALPHA_TEST);
// GL11.glPopMatrix();
// ResourceHandler.bindTexture(ResourceHandler.getResourceWOP("minecraft:textures/gui/icons.png"));
// GL11.glDisable(GL11.GL_ALPHA_TEST);
// GL11.glPopMatrix();
@@ -2,60 +2,64 @@ package com.brandon3055.draconicevolution.client.handler;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
public final class ItemDisplayManager {
private static final RenderItem renderItem = new RenderItem();
private static final FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
private static final TextureManager textureManager = Minecraft.getMinecraft().getTextureManager();
private final int ticks;
private ItemStack itemStack;
private int ticksCounter;
private static final RenderItem renderItem = new RenderItem();
private static final FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
private static final TextureManager textureManager =
Minecraft.getMinecraft().getTextureManager();
public ItemDisplayManager(int ticks) {
this.ticks = ticks;
}
public void startDrawing(ItemStack itemStack) {
this.itemStack = itemStack;
this.itemStack = itemStack == null ? null : itemStack.copy();
ticksCounter = ticks;
}
public void tick() {
if (--ticksCounter == 0) {
itemStack = null;
@SubscribeEvent
public void tickEnd(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.END) {
if (--ticksCounter == 0) {
itemStack = null;
}
}
}
public void drawItemStack() {
if (ticksCounter > 0 && itemStack != null && itemStack.getItem() != null) {
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
RenderHelper.enableGUIStandardItemLighting();
@SubscribeEvent
public void renderGameOverlayEvent(RenderGameOverlayEvent.Post event) {
if (event.type == RenderGameOverlayEvent.ElementType.ALL) {
if (ticksCounter > 0 && itemStack != null && itemStack.getItem() != null) {
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
RenderHelper.enableGUIStandardItemLighting();
GL11.glPushMatrix();
GL11.glPushMatrix();
final int y = event.resolution.getScaledHeight();
GL11.glTranslatef(7.0f, y * 0.25f, 0);
renderItem.renderItemAndEffectIntoGUI(fontRenderer, textureManager, itemStack, 0, 0);
GL11.glPopMatrix();
final Minecraft mc = Minecraft.getMinecraft();
final ScaledResolution res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
final int y = res.getScaledHeight();
GL11.glTranslatef(7.0f, y * 0.25f, 0);
renderItem.renderItemAndEffectIntoGUI(fontRenderer, textureManager, itemStack, 0, 0);
GL11.glPopMatrix();
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glDisable(GL11.GL_BLEND);
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glDisable(GL11.GL_BLEND);
}
}
}
}
@@ -1,29 +1,22 @@
package com.brandon3055.draconicevolution.client.handler;
import com.brandon3055.draconicevolution.client.render.particle.ParticleDistortion;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.world.World;
import com.brandon3055.draconicevolution.client.render.particle.ParticleDistortion;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ParticleHandler {
private static Minecraft mc = Minecraft.getMinecraft();
private static World theWorld = mc.theWorld;
public final class ParticleHandler {
public static EntityFX spawnParticle(
String particleName,
double x,
double y,
double z,
double motionX,
double motionY,
double motionZ,
float scale) {
public static EntityFX spawnParticle(String particleName, double x, double y, double z, double motionX,
double motionY, double motionZ, float scale) {
final Minecraft mc = Minecraft.getMinecraft();
if (mc != null && mc.renderViewEntity != null && mc.effectRenderer != null) {
int var14 = mc.gameSettings.particleSetting;
if (var14 == 1 && theWorld.rand.nextInt(3) == 0) {
if (var14 == 1 && mc.theWorld.rand.nextInt(3) == 0) {
var14 = 2;
}
double var15 = mc.renderViewEntity.posX - x;
@@ -38,7 +31,14 @@ public class ParticleHandler {
} else {
if (particleName.equals("distortionParticle")) {
var21 = new ParticleDistortion(
theWorld, x, y, z, (float) motionX, (float) motionY, (float) motionZ, scale);
mc.theWorld,
x,
y,
z,
(float) motionX,
(float) motionY,
(float) motionZ,
scale);
}
mc.effectRenderer.addEffect(var21);
@@ -53,9 +53,10 @@ public class ParticleHandler {
}
public static EntityFX spawnCustomParticle(EntityFX particle, double vewRange) {
final Minecraft mc = Minecraft.getMinecraft();
if (mc != null && mc.renderViewEntity != null && mc.effectRenderer != null) {
int var14 = mc.gameSettings.particleSetting;
if (var14 == 1 && theWorld.rand.nextInt(3) == 0) {
if (var14 == 1 && mc.theWorld.rand.nextInt(3) == 0) {
var14 = 2;
}
if (!isInRange(particle.posX, particle.posY, particle.posZ, vewRange)) {
@@ -71,14 +72,12 @@ public class ParticleHandler {
}
public static boolean isInRange(double x, double y, double z, double vewRange) {
final Minecraft mc = Minecraft.getMinecraft();
if (mc == null || mc.renderViewEntity == null || mc.effectRenderer == null) return false;
double var15 = mc.renderViewEntity.posX - x;
double var17 = mc.renderViewEntity.posY - y;
double var19 = mc.renderViewEntity.posZ - z;
if (var15 * var15 + var17 * var17 + var19 * var19 > vewRange * vewRange) {
return false;
}
return true;
return !(var15 * var15 + var17 * var17 + var19 * var19 > vewRange * vewRange);
}
}
@@ -1,39 +1,55 @@
package com.brandon3055.draconicevolution.client.handler;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.imageio.ImageIO;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EffectRenderer;
import net.minecraft.client.resources.FolderResourcePack;
import net.minecraft.util.ResourceLocation;
import org.apache.commons.io.FilenameUtils;
import com.brandon3055.draconicevolution.client.gui.componentguis.GUIManual;
import com.brandon3055.draconicevolution.client.utill.CustomResourceLocation;
import com.brandon3055.draconicevolution.client.utils.CustomResourceLocation;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
import com.google.common.io.ByteStreams;
import com.google.gson.stream.JsonWriter;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.relauncher.ReflectionHelper;
import java.awt.image.BufferedImage;
import java.io.*;
import java.lang.reflect.Field;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
import javax.imageio.ImageIO;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EffectRenderer;
import net.minecraft.client.resources.FolderResourcePack;
import net.minecraft.util.ResourceLocation;
import org.apache.commons.io.FilenameUtils;
/**
* Created by Brandon on 8/02/2015.
*/
public class ResourceHandler {
public static ResourceHandler instance = new ResourceHandler();
private static ResourceLocation defaultParticles;
private static ResourceLocation particles =
new ResourceLocation(References.RESOURCESPREFIX + "textures/particle/particles.png");
private static ResourceLocation particles = new ResourceLocation(
References.RESOURCESPREFIX + "textures/particle/particles.png");
private static Map<String, ResourceLocation> cachedResources = new HashMap<String, ResourceLocation>();
public static Map<String, CustomResourceLocation> downloadedImages = new HashMap<String, CustomResourceLocation>();
public static Map<String, CustomResourceLocation> downloadedImages = new ConcurrentHashMap<>();
private static String savePath;
private static File saveFolder;
@@ -49,7 +65,6 @@ public class ResourceHandler {
if (downloadThread.isReloadRequired()) LogHelper.info("Image Download Finished");
downloadStatus = downloadThread.wasSuccessful ? 1 : 2;
FMLCommonHandler.instance().bus().unregister(this);
addRSPack(event != null);
downloadThread = null;
}
}
@@ -57,9 +72,12 @@ public class ResourceHandler {
public static void init(FMLPreInitializationEvent event) {
FMLCommonHandler.instance().bus().register(instance);
if (event != null)
savePath = event.getModConfigurationDirectory().getParentFile().getAbsolutePath()
+ "/config/draconicevolution";
if (event != null) savePath = event.getModConfigurationDirectory().getParentFile().getAbsolutePath()
+ "/config/draconicevolution";
// Register the namespace before FML's final reload; folder-pack files are resolved on demand.
getImagesFolder();
addRSPack();
GUIManual.loadPages();
downloadThread = new DownloadThread(GUIManual.imageURLs);
@@ -67,8 +85,9 @@ public class ResourceHandler {
}
public static class DownloadThread extends Thread {
private List<String> imageURLs;
private boolean isFinished = false;
private volatile boolean isFinished = false;
private boolean wasSuccessful = true;
private boolean reloadRequired = false;
@@ -90,7 +109,9 @@ public class ResourceHandler {
downloadedImages.put(
FilenameUtils.getName(fileName),
new CustomResourceLocation(
FilenameUtils.getName(fileName), bi.getWidth(), bi.getHeight()));
FilenameUtils.getName(fileName),
bi.getWidth(),
bi.getHeight()));
} catch (MalformedURLException e) {
LogHelper.error("Image Read Failed");
e.printStackTrace();
@@ -154,7 +175,7 @@ public class ResourceHandler {
}
}
private static void addRSPack(boolean refreash) {
private static void addRSPack() {
File rspack = new File(getConfigFolder(), "/resources");
if (!rspack.exists()) return;
@@ -183,7 +204,6 @@ public class ResourceHandler {
f.set(Minecraft.getMinecraft(), defaultResourcePacks);
LogHelper.info("RS Added");
if (refreash) Minecraft.getMinecraft().refreshResources();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
@@ -219,10 +239,9 @@ public class ResourceHandler {
public static void bindDefaultParticles() {
if (defaultParticles == null) {
try {
defaultParticles = (ResourceLocation) ReflectionHelper.getPrivateValue(
EffectRenderer.class, null, "particleTextures", "field_110737_b");
} catch (Exception e) {
}
defaultParticles = (ResourceLocation) ReflectionHelper
.getPrivateValue(EffectRenderer.class, null, "particleTextures", "field_110737_b");
} catch (Exception e) {}
}
if (defaultParticles != null) bindTexture(defaultParticles);
}
@@ -0,0 +1,98 @@
package com.brandon3055.draconicevolution.client.handler;
import java.util.HashMap;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import net.minecraftforge.event.world.WorldEvent;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.utils.DataUtils;
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;
public final class ShieldRenderHandler {
private static final IModelCustom SHIELD_SPHERE = AdvancedModelLoader
.loadModel(ResourceHandler.getResource("models/shieldSphere.obj"));
private final HashMap<EntityPlayer, DataUtils.XZPair<Float, Integer>> shieldStatus = new HashMap<>();
@SubscribeEvent
public void onWorldUnload(WorldEvent.Unload event) {
if (event.world.isRemote) {
this.shieldStatus.clear();
}
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void tickEnd(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.END && !shieldStatus.isEmpty()) {
final int ticks = DraconicEvolution.clientProxy().getElapsedTicks();
shieldStatus.entrySet().removeIf(entry -> ticks - entry.getValue().getValue() > 5);
}
}
@SubscribeEvent
public void renderPlayerEvent(RenderPlayerEvent.Post event) {
final DataUtils.XZPair<Float, Integer> pair = shieldStatus.get(event.entityPlayer);
if (pair != null) {
GL11.glPushMatrix();
GL11.glDepthMask(false);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_LIGHTING);
ResourceHandler.bindResource("textures/models/shieldSphere.png");
final float p = pair.getKey();
final EntityPlayer viewingPlayer = Minecraft.getMinecraft().thePlayer;
final int ticks = DraconicEvolution.clientProxy().getElapsedTicks();
final int i = 5 - (ticks - pair.getValue());
GL11.glColor4f(1F - p, 0F, p, i / 5F);
if (viewingPlayer != event.entityPlayer) {
double translationXLT = event.entityPlayer.prevPosX - viewingPlayer.prevPosX;
double translationYLT = event.entityPlayer.prevPosY - viewingPlayer.prevPosY;
double translationZLT = event.entityPlayer.prevPosZ - viewingPlayer.prevPosZ;
double translationX = translationXLT
+ (((event.entityPlayer.posX - viewingPlayer.posX) - translationXLT) * event.partialRenderTick);
double translationY = translationYLT
+ (((event.entityPlayer.posY - viewingPlayer.posY) - translationYLT) * event.partialRenderTick);
double translationZ = translationZLT
+ (((event.entityPlayer.posZ - viewingPlayer.posZ) - translationZLT) * event.partialRenderTick);
GL11.glTranslated(translationX, translationY + 1.1, translationZ);
} else {
GL11.glTranslated(0, -0.5, 0);
}
GL11.glScaled(1, 1.5, 1);
SHIELD_SPHERE.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDepthMask(true);
GL11.glPopMatrix();
}
}
public void renderShield(EntityPlayer player, float shieldPowerF) {
final int ticks = DraconicEvolution.clientProxy().getElapsedTicks();
this.shieldStatus.put(player, new DataUtils.XZPair<>(shieldPowerF, ticks));
}
}
@@ -1,39 +0,0 @@
package com.brandon3055.draconicevolution.client.keybinding;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.settings.KeyBinding;
import org.lwjgl.input.Keyboard;
/**
* Created by Brandon on 14/08/2014.
*/
@SideOnly(Side.CLIENT)
public final class KeyBindings {
public static final KeyBinding placeItem;
public static final KeyBinding toolConfig;
public static final KeyBinding toolProfileChange;
public static final KeyBinding toggleFlight;
public static final KeyBinding toggleMagnet;
static {
placeItem = new KeyBinding("key.placeItem", Keyboard.KEY_P, References.MODNAME);
toolConfig = new KeyBinding("key.toolConfig", Keyboard.KEY_C, References.MODNAME);
toolProfileChange = new KeyBinding("key.toolProfileChange", Keyboard.KEY_BACKSLASH, References.MODNAME);
toggleFlight = new KeyBinding("key.toggleFlight", Keyboard.KEY_NONE, References.MODNAME);
toggleMagnet = new KeyBinding("key.toggleMagnet", Keyboard.KEY_NONE, References.MODNAME);
}
private KeyBindings() {}
public static void init() {
ClientRegistry.registerKeyBinding(placeItem);
ClientRegistry.registerKeyBinding(toolConfig);
ClientRegistry.registerKeyBinding(toolProfileChange);
ClientRegistry.registerKeyBinding(toggleFlight);
ClientRegistry.registerKeyBinding(toggleMagnet);
}
}
@@ -1,70 +1,133 @@
package com.brandon3055.draconicevolution.client.keybinding;
import com.brandon3055.brandonscore.common.utills.ItemNBTHelper;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nonnull;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.items.tools.Magnet;
import com.brandon3055.draconicevolution.common.items.tools.baseclasses.ToolHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.network.ButtonPacket;
import com.brandon3055.draconicevolution.common.network.MagnetTogglePacket;
import com.brandon3055.draconicevolution.common.network.MagnetToggleSelfPickupPacket;
import com.brandon3055.draconicevolution.common.network.PlacedItemPacket;
import com.brandon3055.draconicevolution.common.network.TeleporterPacket;
import com.brandon3055.draconicevolution.common.utills.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utils.IConfigurableItem;
import com.brandon3055.draconicevolution.common.utils.InventoryUtils;
import com.brandon3055.draconicevolution.common.utils.ItemNBTHelper;
import com.brandon3055.draconicevolution.integration.ModHelper;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.InputEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import org.lwjgl.input.Mouse;
/**
* Created by Brandon on 14/08/2014.
*/
public class KeyInputHandler {
@SideOnly(Side.CLIENT)
public final class KeyInputHandler {
private final KeyBinding placeItem;
private final KeyBinding toolConfig;
private final KeyBinding toolProfileChange;
private final KeyBinding toggleFlight;
private final KeyBinding toggleMagnet;
private final KeyBinding toggleMagnetSelfPickup;
public KeyInputHandler() {
placeItem = new KeyBinding("key.placeItem", Keyboard.KEY_V, References.MODNAME);
toolConfig = new KeyBinding("key.toolConfig", Keyboard.KEY_NONE, References.MODNAME);
toolProfileChange = new KeyBinding("key.toolProfileChange", Keyboard.KEY_NONE, References.MODNAME);
toggleFlight = new KeyBinding("key.toggleFlight", Keyboard.KEY_NONE, References.MODNAME);
toggleMagnet = new KeyBinding("key.toggleMagnet", Keyboard.KEY_NONE, References.MODNAME);
if (ModHelper.isHodgepodgeLoaded) {
toggleMagnetSelfPickup = new KeyBinding(
"key.toggleMagnetSelfPickup",
Keyboard.KEY_NONE,
References.MODNAME);
} else {
toggleMagnetSelfPickup = null;
}
ClientRegistry.registerKeyBinding(placeItem);
ClientRegistry.registerKeyBinding(toolConfig);
ClientRegistry.registerKeyBinding(toolProfileChange);
ClientRegistry.registerKeyBinding(toggleFlight);
ClientRegistry.registerKeyBinding(toggleMagnet);
if (toggleMagnetSelfPickup != null) {
ClientRegistry.registerKeyBinding(toggleMagnetSelfPickup);
}
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onKeyInput(InputEvent.KeyInputEvent event) {
if (KeyBindings.placeItem.isPressed()) handlePlaceItemKey();
else if (KeyBindings.toolConfig.isPressed()) {
DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOLCONFIG, false));
} else if (KeyBindings.toolProfileChange.isPressed()
&& Minecraft.getMinecraft().thePlayer != null
&& Minecraft.getMinecraft().thePlayer.getItemInUse() == null) {
DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOL_PROFILE_CHANGE, false));
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItem();
if (stack != null
&& stack.getItem() instanceof IConfigurableItem
&& ((IConfigurableItem) stack.getItem()).hasProfiles()) {
int preset = ItemNBTHelper.getInteger(stack, "ConfigProfile", 0);
if (++preset >= 5) preset = 0;
ItemNBTHelper.setInteger(stack, "ConfigProfile", preset);
}
} else if (KeyBindings.toggleFlight.isPressed()) {
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
if (player.capabilities.allowFlying) {
if (player.capabilities.isFlying) {
player.capabilities.isFlying = false;
player.sendPlayerAbilities();
} else {
player.capabilities.isFlying = true;
if (player.onGround) {
player.setPosition(player.posX, player.posY + 0.05D, player.posZ);
player.motionY = 0;
}
player.sendPlayerAbilities();
if (this.placeItem.isPressed()) {
handlePlaceItemKey();
} else if (this.toolConfig.isPressed()) {
handleToolConfigKey();
} else if (this.toolProfileChange.isPressed() && player != null && player.getItemInUse() == null) {
handleToolProfileChangeKey(player);
} else if (this.toggleFlight.isPressed() && player != null) {
handleToggleFlightKey(player);
} else if (this.toggleMagnet.isPressed()) {
handleToggleMagnetKey(player);
} else if (this.toggleMagnetSelfPickup != null && this.toggleMagnetSelfPickup.isPressed()) {
handleToggleMagnetSelfPickup(player);
}
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onMouseInput(InputEvent.MouseInputEvent event) {
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
if (this.placeItem.isPressed()) {
handlePlaceItemKey();
} else if (this.toolConfig.isPressed()) {
handleToolConfigKey();
} else if (this.toolProfileChange.isPressed() && player != null) {
handleToolProfileChangeKey(player);
} else if (this.toggleFlight.isPressed() && player != null) {
handleToggleFlightKey(player);
} else if (this.toggleMagnet.isPressed()) {
handleToggleMagnetKey(player);
} else if (this.toggleMagnetSelfPickup != null && this.toggleMagnetSelfPickup.isPressed()) {
handleToggleMagnetSelfPickup(player);
}
if (player != null) {
int change = Mouse.getEventDWheel();
if (change == 0 || !player.isSneaking()) return;
if (change > 0) {
ItemStack item = player.inventory.getStackInSlot(previousSlot(1, player.inventory.currentItem));
if (item != null && Objects.equals(item.getItem(), ModItems.teleporterMKII)) {
player.inventory.currentItem = previousSlot(1, player.inventory.currentItem);
DraconicEvolution.network.sendToServer(new TeleporterPacket(TeleporterPacket.SCROLL, -1, false));
}
} else {
ItemStack item = player.inventory.getStackInSlot(previousSlot(-1, player.inventory.currentItem));
if (item != null && Objects.equals(item.getItem(), ModItems.teleporterMKII)) {
player.inventory.currentItem = previousSlot(-1, player.inventory.currentItem);
DraconicEvolution.network.sendToServer(new TeleporterPacket(TeleporterPacket.SCROLL, 1, false));
}
}
} else if (KeyBindings.toggleMagnet.isPressed()) {
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
if (player.inventory.hasItem(ModItems.magnet)) {
DraconicEvolution.network.sendToServer(new MagnetTogglePacket());
}
}
}
@@ -73,54 +136,68 @@ public class KeyInputHandler {
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
WorldClient world = Minecraft.getMinecraft().theWorld;
MovingObjectPosition mop = ToolHandler.raytraceFromEntity(world, player, 4.5D);
if (mop != null)
DraconicEvolution.network.sendToServer(
new PlacedItemPacket((byte) mop.sideHit, mop.blockX, mop.blockY, mop.blockZ));
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onMouseInput(InputEvent.MouseInputEvent event) {
if (KeyBindings.placeItem.isPressed()) handlePlaceItemKey();
else if (KeyBindings.toolConfig.isPressed()) {
DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOLCONFIG, false));
} else if (KeyBindings.toolProfileChange.isPressed() && Minecraft.getMinecraft().thePlayer != null) {
DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOL_PROFILE_CHANGE, false));
ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItem();
if (stack != null
&& stack.getItem() instanceof IConfigurableItem
&& ((IConfigurableItem) stack.getItem()).hasProfiles()) {
int preset = ItemNBTHelper.getInteger(stack, "ConfigProfile", 0);
if (++preset >= 5) preset = 0;
ItemNBTHelper.setInteger(stack, "ConfigProfile", preset);
}
}
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
int change = Mouse.getEventDWheel();
if (change == 0 || !player.isSneaking()) return;
if (change > 0) {
ItemStack item = player.inventory.getStackInSlot(previouseSlot(1, player.inventory.currentItem));
if (item != null && item.getItem().equals(ModItems.teleporterMKII)) {
player.inventory.currentItem = previouseSlot(1, player.inventory.currentItem);
DraconicEvolution.network.sendToServer(new TeleporterPacket(TeleporterPacket.SCROLL, -1, false));
}
} else if (change < 0) {
ItemStack item = player.inventory.getStackInSlot(previouseSlot(-1, player.inventory.currentItem));
if (item != null && item.getItem().equals(ModItems.teleporterMKII)) {
player.inventory.currentItem = previouseSlot(-1, player.inventory.currentItem);
DraconicEvolution.network.sendToServer(new TeleporterPacket(TeleporterPacket.SCROLL, 1, false));
}
if (mop != null) {
DraconicEvolution.network
.sendToServer(new PlacedItemPacket((byte) mop.sideHit, mop.blockX, mop.blockY, mop.blockZ));
}
}
private int previouseSlot(int i, int c) {
private void handleToolConfigKey() {
DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOLCONFIG, false));
}
private void handleToolProfileChangeKey(@Nonnull EntityClientPlayerMP player) {
DraconicEvolution.network.sendToServer(new ButtonPacket(ButtonPacket.ID_TOOL_PROFILE_CHANGE, false));
ItemStack stack = player.getHeldItem();
if (stack != null && stack.getItem() instanceof IConfigurableItem
&& ((IConfigurableItem) stack.getItem()).hasProfiles()) {
int preset = ItemNBTHelper.getInteger(stack, "ConfigProfile", 0);
if (++preset >= 5) preset = 0;
ItemNBTHelper.setInteger(stack, "ConfigProfile", preset);
}
}
private void handleToggleFlightKey(@Nonnull EntityClientPlayerMP player) {
if (player.capabilities.allowFlying) {
if (player.capabilities.isFlying) {
player.capabilities.isFlying = false;
} else {
player.capabilities.isFlying = true;
if (player.onGround) {
player.setPosition(player.posX, player.posY + 0.05D, player.posZ);
player.motionY = 0;
}
}
player.sendPlayerAbilities();
}
}
private void handleToggleMagnetKey(EntityClientPlayerMP player) {
Optional<ItemStack> magnetOptional = InventoryUtils.getItemInAnyPlayerInventory(player, Magnet.class);
if (magnetOptional.isPresent()) {
DraconicEvolution.network.sendToServer(new MagnetTogglePacket());
}
}
private void handleToggleMagnetSelfPickup(EntityClientPlayerMP player) {
Optional<ItemStack> magnetOptional = InventoryUtils.getItemInAnyPlayerInventory(player, Magnet.class);
if (magnetOptional.isPresent()) {
DraconicEvolution.network.sendToServer(new MagnetToggleSelfPickupPacket());
}
}
private int previousSlot(int i, int c) {
if (c > 0 && c < 8) return c + i;
if (c == 0 && i < 0) return 8;
if (c == 8 && i > 0) return 0;
if (c == 150 && i < 0) return 152;
return c + i;
}
public int toolConfigKeycode() {
return this.toolConfig.getKeyCode();
}
}
@@ -3,13 +3,14 @@ package com.brandon3055.draconicevolution.client.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
/**
* ModelChaosCrystal - Mojang-(Original) modified by brandon3055
* Created using Tabula 5.0.0
* ModelChaosCrystal - Mojang-(Original) modified by brandon3055 Created using Tabula 5.0.0
*/
public class ModelChaosCrystal extends ModelBase {
public ModelRenderer base;
public ModelRenderer glass;
public ModelRenderer cube;
@@ -1,9 +1,14 @@
package com.brandon3055.draconicevolution.client.model;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.integration.ModHelper;
import xonin.backhand.api.core.BackhandUtils;
public class ModelDraconicArmor extends ModelBiped {
@@ -172,7 +177,14 @@ public class ModelDraconicArmor extends ModelBiped {
bipedRightLeg.rotateAngleZ = 0F;
setRotationAngles(0, 0, 0, 0, 0, 0, null);
} else super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
} else {
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
if (entity instanceof EntityPlayer) {
if (ModHelper.isBackhandLoaded) {
BackhandHelper.applyFix(this, (EntityPlayer) entity);
}
}
}
this.bipedHead.render(1F / 13F);
this.bipedRightArm.render(1F / 15F);
@@ -182,14 +194,8 @@ public class ModelDraconicArmor extends ModelBiped {
this.bipedLeftLeg.render(1F / 16F);
}
public void setRotationAngles(
float p_78087_1_,
float p_78087_2_,
float p_78087_3_,
float p_78087_4_,
float p_78087_5_,
float p_78087_6_,
Entity p_78087_7_) {
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_,
float p_78087_5_, float p_78087_6_, Entity p_78087_7_) {
this.bipedRightArm.rotateAngleZ = 0.0F;
this.bipedLeftArm.rotateAngleZ = 0.0F;
this.bipedRightArm.rotationPointZ = 0.0F;
@@ -210,4 +216,14 @@ public class ModelDraconicArmor extends ModelBiped {
this.bipedRightArm.rotateAngleZ = 0.0F;
this.bipedLeftArm.rotateAngleZ = 0.0F;
}
private static class BackhandHelper {
public static void applyFix(ModelDraconicArmor model, EntityPlayer player) {
if (BackhandUtils.getOffhandItem(player) != null) {
model.bipedLeftArm.rotateAngleX = model.bipedLeftArm.rotateAngleX * 0.5F - ((float) Math.PI / 10F);
model.bipedLeftArm.rotateAngleY = 0.0F;
}
}
}
}
@@ -5,16 +5,16 @@ import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
/**
* Draconic Armor.tcn - TechneToTabulaImporter
* Created using Tabula 5.0.0
* Draconic Armor.tcn - TechneToTabulaImporter Created using Tabula 5.0.0
*/
public class ModelDraconicArmorOld extends ModelBiped { //
// public ModelRenderer bipedHead;
// public ModelRenderer bipedBody;
// public ModelRenderer bipedRightArm;
// public ModelRenderer bipedLeftArm;
// public ModelRenderer bipedRightLeg;/
// public ModelRenderer bipedLeftLeg;
// public ModelRenderer bipedHead;
// public ModelRenderer bipedBody;
// public ModelRenderer bipedRightArm;
// public ModelRenderer bipedLeftArm;
// public ModelRenderer bipedRightLeg;/
// public ModelRenderer bipedLeftLeg;
public ModelRenderer MainHelmPieceRight1;
public ModelRenderer MainHelmPieceRight2;
public ModelRenderer MainHelmPieceLeft1;
@@ -108,8 +108,8 @@ public class ModelDraconicArmorOld extends ModelBiped { //
private boolean isDraconic;
public ModelDraconicArmorOld(
float f, boolean isHelmet, boolean isChestPiece, boolean isLeggings, boolean isdBoots, boolean isDraconic) {
public ModelDraconicArmorOld(float f, boolean isHelmet, boolean isChestPiece, boolean isLeggings, boolean isdBoots,
boolean isDraconic) {
super(f, 0.0f, 128, 128);
this.textureWidth = 256;
this.textureHeight = 128;
@@ -271,7 +271,10 @@ public class ModelDraconicArmorOld extends ModelBiped { //
this.DrChestDecorationPiece1.setRotationPoint(0.0F, -0.5F, -4.0F);
this.DrChestDecorationPiece1.addBox(0.0F, 0.0F, -0.5F, 5, 5, 1, 0.0F);
this.setRotateAngle(
DrChestDecorationPiece1, 0.1426609064282019F, -0.13533507716461618F, 0.7946695004338321F);
DrChestDecorationPiece1,
0.1426609064282019F,
-0.13533507716461618F,
0.7946695004338321F);
this.ChestDecorationPiece2 = new ModelRenderer(this, 229, 38);
this.ChestDecorationPiece2.setRotationPoint(-3.0F, 7.0F, -3.0F);
@@ -4,13 +4,14 @@ import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
/**
* ModelReactorPowerInjector - brandon3055
* Created using Tabula 5.0.0
* ModelReactorPowerInjector - brandon3055 Created using Tabula 5.0.0
*/
public class ModelReactorEnergyInjector extends ModelBase {
public ModelRenderer BasePlate;
public ModelRenderer shape14;
public ModelRenderer coreSupports;
@@ -167,7 +168,9 @@ public class ModelReactorEnergyInjector extends ModelBase {
float colour = Math.min(2F, (brightness * 2F) + 0.5F);
if (brightness > 0F) GL11.glDisable(GL11.GL_LIGHTING);
OpenGlHelper.setLightmapTextureCoords(
OpenGlHelper.lightmapTexUnit, Math.min(200F, lastBrightnessX + b), Math.min(200F, lastBrightnessY + b));
OpenGlHelper.lightmapTexUnit,
Math.min(200F, lastBrightnessX + b),
Math.min(200F, lastBrightnessY + b));
GL11.glColor4f(colour, colour, colour, 1F);
this.element1.render(f5);
GL11.glColor4f(1F, 1F, 1F, 1F);
@@ -4,13 +4,14 @@ import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
/**
* ReactorStabilizerCore - brandon3055
* Created using Tabula 5.0.0
* ReactorStabilizerCore - brandon3055 Created using Tabula 5.0.0
*/
public class ModelReactorStabilizerCore extends ModelBase {
public ModelRenderer hub1;
public ModelRenderer hub2;
public ModelRenderer rotor1R;
@@ -270,7 +271,9 @@ public class ModelReactorStabilizerCore extends ModelBase {
if (brightness > 0F) GL11.glDisable(GL11.GL_LIGHTING);
OpenGlHelper.setLightmapTextureCoords(
OpenGlHelper.lightmapTexUnit, Math.min(200F, lastBrightnessX + b), Math.min(200F, lastBrightnessY + b));
OpenGlHelper.lightmapTexUnit,
Math.min(200F, lastBrightnessX + b),
Math.min(200F, lastBrightnessY + b));
GL11.glColor4f(colour, colour, colour, 1F);
this.rotor2R.render(f5);
GL11.glRotatef(rotation * 2F, 0F, 0F, 1F);
@@ -4,13 +4,14 @@ import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
/**
* EnergyStabilizer - brandon3055
* Created using Tabula 5.0.0
* EnergyStabilizer - brandon3055 Created using Tabula 5.0.0
*/
public class ModelReactorStabilizerRing extends ModelBase {
public ModelRenderer ringElement1;
public ModelRenderer ringElement2;
public ModelRenderer ringElement3;
@@ -114,8 +115,8 @@ public class ModelReactorStabilizerRing extends ModelBase {
}
@Override
public void render(
Entity entity, float embitterRotation, float brightness, float f2, float f3, float f4, float scale) {
public void render(Entity entity, float embitterRotation, float brightness, float f2, float f3, float f4,
float scale) {
this.ringElement1.render(scale);
this.ringElement2.render(scale);
@@ -187,9 +188,9 @@ public class ModelReactorStabilizerRing extends ModelBase {
this.hing4.render(scale);
GL11.glPopMatrix();
// float lastBrightnessX = OpenGlHelper.lastBrightnessX;
// float lastBrightnessY = OpenGlHelper.lastBrightnessY;
// OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 200F, 200F);
// float lastBrightnessX = OpenGlHelper.lastBrightnessX;
// float lastBrightnessY = OpenGlHelper.lastBrightnessY;
// OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 200F, 200F);
float lastBrightnessX = OpenGlHelper.lastBrightnessX;
float lastBrightnessY = OpenGlHelper.lastBrightnessY;
@@ -197,7 +198,9 @@ public class ModelReactorStabilizerRing extends ModelBase {
float colour = Math.min(2F, (brightness * 2F) + 0.1F);
OpenGlHelper.setLightmapTextureCoords(
OpenGlHelper.lightmapTexUnit, Math.min(200F, lastBrightnessX + b), Math.min(200F, lastBrightnessY + b));
OpenGlHelper.lightmapTexUnit,
Math.min(200F, lastBrightnessX + b),
Math.min(200F, lastBrightnessY + b));
GL11.glColor4f(colour, colour, colour, 1F);
if (brightness > 0F) GL11.glDisable(GL11.GL_LIGHTING);
@@ -1,18 +1,21 @@
package com.brandon3055.draconicevolution.client.model;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.GLAllocation;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
/**
* Created by brandon3055 on 16/9/2015.
*/
public class ModelRenderOBJ extends ModelRenderer {
private IModelCustom model;
private ResourceLocation texture;
private int displayList;
@@ -32,6 +35,7 @@ public class ModelRenderOBJ extends ModelRenderer {
this.compileDisplayList(scale);
}
ResourceHandler.bindTexture(texture);
GL11.glTranslatef(this.offsetX, this.offsetY, this.offsetZ);
if (this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F) {
@@ -39,15 +43,21 @@ public class ModelRenderOBJ extends ModelRenderer {
GL11.glCallList(this.displayList);
} else {
GL11.glTranslatef(
this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
this.rotationPointX * scale,
this.rotationPointY * scale,
this.rotationPointZ * scale);
GL11.glCallList(this.displayList);
GL11.glTranslatef(
-this.rotationPointX * scale, -this.rotationPointY * scale, -this.rotationPointZ * scale);
-this.rotationPointX * scale,
-this.rotationPointY * scale,
-this.rotationPointZ * scale);
}
} else {
GL11.glPushMatrix();
GL11.glTranslatef(
this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
this.rotationPointX * scale,
this.rotationPointY * scale,
this.rotationPointZ * scale);
if (this.rotateAngleZ != 0.0F) {
GL11.glRotatef(this.rotateAngleZ * 57.295776F, 0.0F, 0.0F, 1.0F);
}
@@ -75,7 +85,6 @@ public class ModelRenderOBJ extends ModelRenderer {
GL11.glNewList(this.displayList, GL11.GL_COMPILE);
GL11.glPushMatrix();
ResourceHandler.bindTexture(texture);
// scale = 1F/15F;
GL11.glScalef(scale, scale, scale);
GL11.glRotatef(180, -1, 0, 1);
@@ -93,6 +102,7 @@ public class ModelRenderOBJ extends ModelRenderer {
this.compileDisplayList(scale);
}
ResourceHandler.bindTexture(texture);
GL11.glPushMatrix();
GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
if (this.rotateAngleY != 0.0F) {
@@ -115,18 +125,22 @@ public class ModelRenderOBJ extends ModelRenderer {
@Override
public void postRender(float scale) {
if (!this.isHidden && this.showModel) {
// if(!this.compiled) {
// this.compileDisplayList(scale);
// }
// if(!this.compiled) {
// this.compileDisplayList(scale);
// }
if (this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F) {
if (this.rotationPointX != 0.0F || this.rotationPointY != 0.0F || this.rotationPointZ != 0.0F) {
GL11.glTranslatef(
this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
this.rotationPointX * scale,
this.rotationPointY * scale,
this.rotationPointZ * scale);
}
} else {
GL11.glTranslatef(
this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
this.rotationPointX * scale,
this.rotationPointY * scale,
this.rotationPointZ * scale);
if (this.rotateAngleZ != 0.0F) {
GL11.glRotatef(this.rotateAngleZ * 57.295776F, 0.0F, 0.0F, 1.0F);
}
@@ -1,10 +1,11 @@
package com.brandon3055.draconicevolution.client.model;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
public class ModelWyvernArmor extends ModelBiped {
public ModelRenderOBJ head;
@@ -179,14 +180,8 @@ public class ModelWyvernArmor extends ModelBiped {
this.bipedLeftLeg.render(1F / 16F);
}
public void setRotationAngles(
float p_78087_1_,
float p_78087_2_,
float p_78087_3_,
float p_78087_4_,
float p_78087_5_,
float scale,
Entity p_78087_7_) {
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_,
float p_78087_5_, float scale, Entity p_78087_7_) {
this.bipedRightArm.rotateAngleZ = 0.0F;
this.bipedLeftArm.rotateAngleZ = 0.0F;
this.bipedRightArm.rotationPointZ = 0.0F;
@@ -1,16 +1,18 @@
package com.brandon3055.draconicevolution.client.model.special;
import com.brandon3055.draconicevolution.client.handler.ClientEventHandler;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
/**
* DragonWings - brandon3055
* Created using Tabula 5.0.0
* DragonWings - brandon3055 Created using Tabula 5.0.0
*/
public class ModelContributorWings extends ModelBase {
public ModelRenderer rightBaseStem;
public ModelRenderer leftBaseStem;
public ModelRenderer rightOuterStem;
@@ -68,7 +70,8 @@ public class ModelContributorWings extends ModelBase {
float baseRot = 0.45906584F;
float outerRot = 0.61086524F;
float animation = (float) Math.sin(((float) ClientEventHandler.elapsedTicks + partialTick) / 20);
final int ticks = DraconicEvolution.clientProxy().getElapsedTicks();
float animation = (float) Math.sin(((float) ticks + partialTick) / 20);
if (entity.isSneaking()) {
this.leftBaseStem.rotateAngleX = 0.5F;
@@ -3,14 +3,15 @@ package com.brandon3055.draconicevolution.client.model.special;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
/**
* Staff of the Great One - brandon3055
* Created using Tabula 5.0.0
* Staff of the Great One - brandon3055 Created using Tabula 5.0.0
*/
public class ModelStaffOfTheGreatOne extends ModelBase {
public double[] modelScale = new double[] {2.0D, 2.0D, 2.0D};
public double[] modelScale = new double[] { 2.0D, 2.0D, 2.0D };
public ModelRenderer staff;
public ModelRenderer edge1;
public ModelRenderer edge1_1;
@@ -337,11 +338,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge1.offsetX, this.edge1.offsetY, this.edge1.offsetZ);
GL11.glTranslated(
this.edge1.rotationPointX * f5, this.edge1.rotationPointY * f5, this.edge1.rotationPointZ * f5);
this.edge1.rotationPointX * f5,
this.edge1.rotationPointY * f5,
this.edge1.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge1.offsetX, -this.edge1.offsetY, -this.edge1.offsetZ);
GL11.glTranslated(
-this.edge1.rotationPointX * f5, -this.edge1.rotationPointY * f5, -this.edge1.rotationPointZ * f5);
-this.edge1.rotationPointX * f5,
-this.edge1.rotationPointY * f5,
-this.edge1.rotationPointZ * f5);
this.edge1.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -361,7 +366,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge2_1.offsetX, this.edge2_1.offsetY, this.edge2_1.offsetZ);
GL11.glTranslated(
this.edge2_1.rotationPointX * f5, this.edge2_1.rotationPointY * f5, this.edge2_1.rotationPointZ * f5);
this.edge2_1.rotationPointX * f5,
this.edge2_1.rotationPointY * f5,
this.edge2_1.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge2_1.offsetX, -this.edge2_1.offsetY, -this.edge2_1.offsetZ);
GL11.glTranslated(
@@ -401,21 +408,29 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.tope2.offsetX, this.tope2.offsetY, this.tope2.offsetZ);
GL11.glTranslated(
this.tope2.rotationPointX * f5, this.tope2.rotationPointY * f5, this.tope2.rotationPointZ * f5);
this.tope2.rotationPointX * f5,
this.tope2.rotationPointY * f5,
this.tope2.rotationPointZ * f5);
GL11.glScaled(0.9D, 0.5D, 0.9D);
GL11.glTranslated(-this.tope2.offsetX, -this.tope2.offsetY, -this.tope2.offsetZ);
GL11.glTranslated(
-this.tope2.rotationPointX * f5, -this.tope2.rotationPointY * f5, -this.tope2.rotationPointZ * f5);
-this.tope2.rotationPointX * f5,
-this.tope2.rotationPointY * f5,
-this.tope2.rotationPointZ * f5);
this.tope2.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(this.tope1.offsetX, this.tope1.offsetY, this.tope1.offsetZ);
GL11.glTranslated(
this.tope1.rotationPointX * f5, this.tope1.rotationPointY * f5, this.tope1.rotationPointZ * f5);
this.tope1.rotationPointX * f5,
this.tope1.rotationPointY * f5,
this.tope1.rotationPointZ * f5);
GL11.glScaled(1.2D, 0.5D, 1.2D);
GL11.glTranslated(-this.tope1.offsetX, -this.tope1.offsetY, -this.tope1.offsetZ);
GL11.glTranslated(
-this.tope1.rotationPointX * f5, -this.tope1.rotationPointY * f5, -this.tope1.rotationPointZ * f5);
-this.tope1.rotationPointX * f5,
-this.tope1.rotationPointY * f5,
-this.tope1.rotationPointZ * f5);
this.tope1.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -435,11 +450,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.shape4.offsetX, this.shape4.offsetY, this.shape4.offsetZ);
GL11.glTranslated(
this.shape4.rotationPointX * f5, this.shape4.rotationPointY * f5, this.shape4.rotationPointZ * f5);
this.shape4.rotationPointX * f5,
this.shape4.rotationPointY * f5,
this.shape4.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.shape4.offsetX, -this.shape4.offsetY, -this.shape4.offsetZ);
GL11.glTranslated(
-this.shape4.rotationPointX * f5, -this.shape4.rotationPointY * f5, -this.shape4.rotationPointZ * f5);
-this.shape4.rotationPointX * f5,
-this.shape4.rotationPointY * f5,
-this.shape4.rotationPointZ * f5);
this.shape4.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -529,11 +548,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge3.offsetX, this.edge3.offsetY, this.edge3.offsetZ);
GL11.glTranslated(
this.edge3.rotationPointX * f5, this.edge3.rotationPointY * f5, this.edge3.rotationPointZ * f5);
this.edge3.rotationPointX * f5,
this.edge3.rotationPointY * f5,
this.edge3.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge3.offsetX, -this.edge3.offsetY, -this.edge3.offsetZ);
GL11.glTranslated(
-this.edge3.rotationPointX * f5, -this.edge3.rotationPointY * f5, -this.edge3.rotationPointZ * f5);
-this.edge3.rotationPointX * f5,
-this.edge3.rotationPointY * f5,
-this.edge3.rotationPointZ * f5);
this.edge3.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -609,7 +632,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge5_2.offsetX, this.edge5_2.offsetY, this.edge5_2.offsetZ);
GL11.glTranslated(
this.edge5_2.rotationPointX * f5, this.edge5_2.rotationPointY * f5, this.edge5_2.rotationPointZ * f5);
this.edge5_2.rotationPointX * f5,
this.edge5_2.rotationPointY * f5,
this.edge5_2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge5_2.offsetX, -this.edge5_2.offsetY, -this.edge5_2.offsetZ);
GL11.glTranslated(
@@ -621,11 +646,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge5.offsetX, this.edge5.offsetY, this.edge5.offsetZ);
GL11.glTranslated(
this.edge5.rotationPointX * f5, this.edge5.rotationPointY * f5, this.edge5.rotationPointZ * f5);
this.edge5.rotationPointX * f5,
this.edge5.rotationPointY * f5,
this.edge5.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge5.offsetX, -this.edge5.offsetY, -this.edge5.offsetZ);
GL11.glTranslated(
-this.edge5.rotationPointX * f5, -this.edge5.rotationPointY * f5, -this.edge5.rotationPointZ * f5);
-this.edge5.rotationPointX * f5,
-this.edge5.rotationPointY * f5,
-this.edge5.rotationPointZ * f5);
this.edge5.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -659,7 +688,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge1_1.offsetX, this.edge1_1.offsetY, this.edge1_1.offsetZ);
GL11.glTranslated(
this.edge1_1.rotationPointX * f5, this.edge1_1.rotationPointY * f5, this.edge1_1.rotationPointZ * f5);
this.edge1_1.rotationPointX * f5,
this.edge1_1.rotationPointY * f5,
this.edge1_1.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge1_1.offsetX, -this.edge1_1.offsetY, -this.edge1_1.offsetZ);
GL11.glTranslated(
@@ -727,7 +758,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge4_2.offsetX, this.edge4_2.offsetY, this.edge4_2.offsetZ);
GL11.glTranslated(
this.edge4_2.rotationPointX * f5, this.edge4_2.rotationPointY * f5, this.edge4_2.rotationPointZ * f5);
this.edge4_2.rotationPointX * f5,
this.edge4_2.rotationPointY * f5,
this.edge4_2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge4_2.offsetX, -this.edge4_2.offsetY, -this.edge4_2.offsetZ);
GL11.glTranslated(
@@ -753,7 +786,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge3_3.offsetX, this.edge3_3.offsetY, this.edge3_3.offsetZ);
GL11.glTranslated(
this.edge3_3.rotationPointX * f5, this.edge3_3.rotationPointY * f5, this.edge3_3.rotationPointZ * f5);
this.edge3_3.rotationPointX * f5,
this.edge3_3.rotationPointY * f5,
this.edge3_3.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge3_3.offsetX, -this.edge3_3.offsetY, -this.edge3_3.offsetZ);
GL11.glTranslated(
@@ -765,11 +800,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.shape3.offsetX, this.shape3.offsetY, this.shape3.offsetZ);
GL11.glTranslated(
this.shape3.rotationPointX * f5, this.shape3.rotationPointY * f5, this.shape3.rotationPointZ * f5);
this.shape3.rotationPointX * f5,
this.shape3.rotationPointY * f5,
this.shape3.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.shape3.offsetX, -this.shape3.offsetY, -this.shape3.offsetZ);
GL11.glTranslated(
-this.shape3.rotationPointX * f5, -this.shape3.rotationPointY * f5, -this.shape3.rotationPointZ * f5);
-this.shape3.rotationPointX * f5,
-this.shape3.rotationPointY * f5,
-this.shape3.rotationPointZ * f5);
this.shape3.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -915,21 +954,29 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.tope3.offsetX, this.tope3.offsetY, this.tope3.offsetZ);
GL11.glTranslated(
this.tope3.rotationPointX * f5, this.tope3.rotationPointY * f5, this.tope3.rotationPointZ * f5);
this.tope3.rotationPointX * f5,
this.tope3.rotationPointY * f5,
this.tope3.rotationPointZ * f5);
GL11.glScaled(0.6D, 0.6D, 0.6D);
GL11.glTranslated(-this.tope3.offsetX, -this.tope3.offsetY, -this.tope3.offsetZ);
GL11.glTranslated(
-this.tope3.rotationPointX * f5, -this.tope3.rotationPointY * f5, -this.tope3.rotationPointZ * f5);
-this.tope3.rotationPointX * f5,
-this.tope3.rotationPointY * f5,
-this.tope3.rotationPointZ * f5);
this.tope3.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(this.shape5.offsetX, this.shape5.offsetY, this.shape5.offsetZ);
GL11.glTranslated(
this.shape5.rotationPointX * f5, this.shape5.rotationPointY * f5, this.shape5.rotationPointZ * f5);
this.shape5.rotationPointX * f5,
this.shape5.rotationPointY * f5,
this.shape5.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.shape5.offsetX, -this.shape5.offsetY, -this.shape5.offsetZ);
GL11.glTranslated(
-this.shape5.rotationPointX * f5, -this.shape5.rotationPointY * f5, -this.shape5.rotationPointZ * f5);
-this.shape5.rotationPointX * f5,
-this.shape5.rotationPointY * f5,
-this.shape5.rotationPointZ * f5);
this.shape5.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -963,7 +1010,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge5_3.offsetX, this.edge5_3.offsetY, this.edge5_3.offsetZ);
GL11.glTranslated(
this.edge5_3.rotationPointX * f5, this.edge5_3.rotationPointY * f5, this.edge5_3.rotationPointZ * f5);
this.edge5_3.rotationPointX * f5,
this.edge5_3.rotationPointY * f5,
this.edge5_3.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge5_3.offsetX, -this.edge5_3.offsetY, -this.edge5_3.offsetZ);
GL11.glTranslated(
@@ -975,7 +1024,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge3_1.offsetX, this.edge3_1.offsetY, this.edge3_1.offsetZ);
GL11.glTranslated(
this.edge3_1.rotationPointX * f5, this.edge3_1.rotationPointY * f5, this.edge3_1.rotationPointZ * f5);
this.edge3_1.rotationPointX * f5,
this.edge3_1.rotationPointY * f5,
this.edge3_1.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge3_1.offsetX, -this.edge3_1.offsetY, -this.edge3_1.offsetZ);
GL11.glTranslated(
@@ -987,11 +1038,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.shape7.offsetX, this.shape7.offsetY, this.shape7.offsetZ);
GL11.glTranslated(
this.shape7.rotationPointX * f5, this.shape7.rotationPointY * f5, this.shape7.rotationPointZ * f5);
this.shape7.rotationPointX * f5,
this.shape7.rotationPointY * f5,
this.shape7.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.shape7.offsetX, -this.shape7.offsetY, -this.shape7.offsetZ);
GL11.glTranslated(
-this.shape7.rotationPointX * f5, -this.shape7.rotationPointY * f5, -this.shape7.rotationPointZ * f5);
-this.shape7.rotationPointX * f5,
-this.shape7.rotationPointY * f5,
-this.shape7.rotationPointZ * f5);
this.shape7.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -1025,7 +1080,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge2_3.offsetX, this.edge2_3.offsetY, this.edge2_3.offsetZ);
GL11.glTranslated(
this.edge2_3.rotationPointX * f5, this.edge2_3.rotationPointY * f5, this.edge2_3.rotationPointZ * f5);
this.edge2_3.rotationPointX * f5,
this.edge2_3.rotationPointY * f5,
this.edge2_3.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge2_3.offsetX, -this.edge2_3.offsetY, -this.edge2_3.offsetZ);
GL11.glTranslated(
@@ -1051,7 +1108,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge1_2.offsetX, this.edge1_2.offsetY, this.edge1_2.offsetZ);
GL11.glTranslated(
this.edge1_2.rotationPointX * f5, this.edge1_2.rotationPointY * f5, this.edge1_2.rotationPointZ * f5);
this.edge1_2.rotationPointX * f5,
this.edge1_2.rotationPointY * f5,
this.edge1_2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge1_2.offsetX, -this.edge1_2.offsetY, -this.edge1_2.offsetZ);
GL11.glTranslated(
@@ -1063,7 +1122,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge2_2.offsetX, this.edge2_2.offsetY, this.edge2_2.offsetZ);
GL11.glTranslated(
this.edge2_2.rotationPointX * f5, this.edge2_2.rotationPointY * f5, this.edge2_2.rotationPointZ * f5);
this.edge2_2.rotationPointX * f5,
this.edge2_2.rotationPointY * f5,
this.edge2_2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge2_2.offsetX, -this.edge2_2.offsetY, -this.edge2_2.offsetZ);
GL11.glTranslated(
@@ -1075,11 +1136,15 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge2.offsetX, this.edge2.offsetY, this.edge2.offsetZ);
GL11.glTranslated(
this.edge2.rotationPointX * f5, this.edge2.rotationPointY * f5, this.edge2.rotationPointZ * f5);
this.edge2.rotationPointX * f5,
this.edge2.rotationPointY * f5,
this.edge2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge2.offsetX, -this.edge2.offsetY, -this.edge2.offsetZ);
GL11.glTranslated(
-this.edge2.rotationPointX * f5, -this.edge2.rotationPointY * f5, -this.edge2.rotationPointZ * f5);
-this.edge2.rotationPointX * f5,
-this.edge2.rotationPointY * f5,
-this.edge2.rotationPointZ * f5);
this.edge2.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -1099,7 +1164,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge5_1.offsetX, this.edge5_1.offsetY, this.edge5_1.offsetZ);
GL11.glTranslated(
this.edge5_1.rotationPointX * f5, this.edge5_1.rotationPointY * f5, this.edge5_1.rotationPointZ * f5);
this.edge5_1.rotationPointX * f5,
this.edge5_1.rotationPointY * f5,
this.edge5_1.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge5_1.offsetX, -this.edge5_1.offsetY, -this.edge5_1.offsetZ);
GL11.glTranslated(
@@ -1125,7 +1192,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge4_1.offsetX, this.edge4_1.offsetY, this.edge4_1.offsetZ);
GL11.glTranslated(
this.edge4_1.rotationPointX * f5, this.edge4_1.rotationPointY * f5, this.edge4_1.rotationPointZ * f5);
this.edge4_1.rotationPointX * f5,
this.edge4_1.rotationPointY * f5,
this.edge4_1.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge4_1.offsetX, -this.edge4_1.offsetY, -this.edge4_1.offsetZ);
GL11.glTranslated(
@@ -1151,7 +1220,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge3_2.offsetX, this.edge3_2.offsetY, this.edge3_2.offsetZ);
GL11.glTranslated(
this.edge3_2.rotationPointX * f5, this.edge3_2.rotationPointY * f5, this.edge3_2.rotationPointZ * f5);
this.edge3_2.rotationPointX * f5,
this.edge3_2.rotationPointY * f5,
this.edge3_2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge3_2.offsetX, -this.edge3_2.offsetY, -this.edge3_2.offsetZ);
GL11.glTranslated(
@@ -1219,7 +1290,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge1_3.offsetX, this.edge1_3.offsetY, this.edge1_3.offsetZ);
GL11.glTranslated(
this.edge1_3.rotationPointX * f5, this.edge1_3.rotationPointY * f5, this.edge1_3.rotationPointZ * f5);
this.edge1_3.rotationPointX * f5,
this.edge1_3.rotationPointY * f5,
this.edge1_3.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge1_3.offsetX, -this.edge1_3.offsetY, -this.edge1_3.offsetZ);
GL11.glTranslated(
@@ -1245,32 +1318,44 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.shape2.offsetX, this.shape2.offsetY, this.shape2.offsetZ);
GL11.glTranslated(
this.shape2.rotationPointX * f5, this.shape2.rotationPointY * f5, this.shape2.rotationPointZ * f5);
this.shape2.rotationPointX * f5,
this.shape2.rotationPointY * f5,
this.shape2.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.shape2.offsetX, -this.shape2.offsetY, -this.shape2.offsetZ);
GL11.glTranslated(
-this.shape2.rotationPointX * f5, -this.shape2.rotationPointY * f5, -this.shape2.rotationPointZ * f5);
-this.shape2.rotationPointX * f5,
-this.shape2.rotationPointY * f5,
-this.shape2.rotationPointZ * f5);
this.shape2.render(f5);
GL11.glPopMatrix();
this.staff.render(f5);
GL11.glPushMatrix();
GL11.glTranslated(this.shape6.offsetX, this.shape6.offsetY, this.shape6.offsetZ);
GL11.glTranslated(
this.shape6.rotationPointX * f5, this.shape6.rotationPointY * f5, this.shape6.rotationPointZ * f5);
this.shape6.rotationPointX * f5,
this.shape6.rotationPointY * f5,
this.shape6.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.shape6.offsetX, -this.shape6.offsetY, -this.shape6.offsetZ);
GL11.glTranslated(
-this.shape6.rotationPointX * f5, -this.shape6.rotationPointY * f5, -this.shape6.rotationPointZ * f5);
-this.shape6.rotationPointX * f5,
-this.shape6.rotationPointY * f5,
-this.shape6.rotationPointZ * f5);
this.shape6.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(this.edge4.offsetX, this.edge4.offsetY, this.edge4.offsetZ);
GL11.glTranslated(
this.edge4.rotationPointX * f5, this.edge4.rotationPointY * f5, this.edge4.rotationPointZ * f5);
this.edge4.rotationPointX * f5,
this.edge4.rotationPointY * f5,
this.edge4.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge4.offsetX, -this.edge4.offsetY, -this.edge4.offsetZ);
GL11.glTranslated(
-this.edge4.rotationPointX * f5, -this.edge4.rotationPointY * f5, -this.edge4.rotationPointZ * f5);
-this.edge4.rotationPointX * f5,
-this.edge4.rotationPointY * f5,
-this.edge4.rotationPointZ * f5);
this.edge4.render(f5);
GL11.glPopMatrix();
GL11.glPushMatrix();
@@ -1304,7 +1389,9 @@ public class ModelStaffOfTheGreatOne extends ModelBase {
GL11.glPushMatrix();
GL11.glTranslated(this.edge5_4.offsetX, this.edge5_4.offsetY, this.edge5_4.offsetZ);
GL11.glTranslated(
this.edge5_4.rotationPointX * f5, this.edge5_4.rotationPointY * f5, this.edge5_4.rotationPointZ * f5);
this.edge5_4.rotationPointX * f5,
this.edge5_4.rotationPointY * f5,
this.edge5_4.rotationPointZ * f5);
GL11.glScaled(0.7D, 0.7D, 0.7D);
GL11.glTranslated(-this.edge5_4.offsetX, -this.edge5_4.offsetY, -this.edge5_4.offsetZ);
GL11.glTranslated(
@@ -1,14 +1,16 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileEnergyRelay;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileEnergyTransceiver;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileWirelessEnergyTransceiver;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileEnergyRelay;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileEnergyTransceiver;
import com.brandon3055.draconicevolution.common.tileentities.energynet.TileWirelessEnergyTransceiver;
/**
* Created by Brandon on 16/02/2015.
*/
@@ -55,14 +57,10 @@ public class RenderCrystal implements IItemRenderer {
}
int meta = item.getItemDamage();
TileEntityRendererDispatcher.instance.renderTileEntityAt(
meta == 0
? relay1
: meta == 1
? relay2
: meta == 2
? transceiver1
: meta == 3
? transceiver2
meta == 0 ? relay1
: meta == 1 ? relay2
: meta == 2 ? transceiver1
: meta == 3 ? transceiver2
: meta == 4 ? wirelessTransceiver1 : wirelessTransceiver2,
0.0D,
0.0D,
@@ -1,13 +1,15 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.tileentities.TileDraconiumChest;
import com.brandon3055.draconicevolution.common.utills.ICustomItemData;
import net.minecraft.client.model.ModelChest;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.tileentities.TileDraconiumChest;
import com.brandon3055.draconicevolution.common.utils.ICustomItemData;
/**
* Created by Brandon on 16/11/2014.
*/
@@ -1,10 +1,12 @@
package com.brandon3055.draconicevolution.client.render.block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileEarth;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
/**
* Created by brandon3055 on 30/7/2015.
@@ -1,12 +1,15 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.tileentities.TileEnergyInfuser;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.tileentities.TileEnergyInfuser;
public class RenderEnergyInfuser implements IItemRenderer {
private TileEnergyInfuser tile;
public RenderEnergyInfuser() {
@@ -1,14 +1,16 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.tileentities.TileParticleGenerator;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.tileentities.TileParticleGenerator;
public class RenderParticleGen implements IItemRenderer {
private TileEntity tile;
public RenderParticleGen() {
@@ -31,7 +33,6 @@ public class RenderParticleGen implements IItemRenderer {
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
if (type == IItemRenderer.ItemRenderType.ENTITY) GL11.glTranslatef(-0.5F, 0.0F, -0.5F);
TileEntityRendererDispatcher.instance.renderTileEntityAt(tile, 0.0D, 0.0D, 0.0D, 0.0F);
RenderHelper.disableStandardItemLighting();
GL11.glPopAttrib();
GL11.glPopMatrix();
}
@@ -1,8 +1,5 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.ModBlocks;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
@@ -10,16 +7,22 @@ import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import com.brandon3055.draconicevolution.common.ModBlocks;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
/**
* Created by Brandon on 25/5/2015.
*/
public class RenderPortal implements ISimpleBlockRenderingHandler {
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {}
@Override
public boolean renderWorldBlock(
IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId,
RenderBlocks renderer) {
Tessellator tess = Tessellator.instance;
int meta = world.getBlockMetadata(x, y, z);
@@ -1,10 +1,12 @@
package com.brandon3055.draconicevolution.client.render.block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileReactorCore;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
/**
* Created by brandon3055 on 30/7/2015.
@@ -1,10 +1,12 @@
package com.brandon3055.draconicevolution.client.render.block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileReactorEnergyInjector;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
/**
* Created by brandon3055 on 30/7/2015.
@@ -1,10 +1,12 @@
package com.brandon3055.draconicevolution.client.render.block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.render.tile.RenderTileReactorStabilizer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
/**
* Created by brandon3055 on 30/7/2015.
@@ -1,14 +1,17 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileTeleporterStand;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
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 com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.tileentities.TileTeleporterStand;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
/**
* Created by Brandon on 25/10/2014.
*/
@@ -23,8 +26,8 @@ public class RenderTeleporterStand implements ISimpleBlockRenderingHandler {
}
@Override
public boolean renderWorldBlock(
IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId,
RenderBlocks renderer) {
return false;
}
@@ -1,12 +1,15 @@
package com.brandon3055.draconicevolution.client.render.block;
import com.brandon3055.draconicevolution.common.tileentities.TileUpgradeModifier;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.tileentities.TileUpgradeModifier;
public class RenderUpgradeModifier implements IItemRenderer {
private TileUpgradeModifier tile;
public RenderUpgradeModifier() {
@@ -1,8 +1,5 @@
package com.brandon3055.draconicevolution.client.render.entity;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.model.ModelChaosCrystal;
import com.brandon3055.draconicevolution.common.entity.EntityChaosCrystal;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
@@ -11,12 +8,18 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityEnderCrystal;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.model.ModelChaosCrystal;
import com.brandon3055.draconicevolution.common.entity.EntityChaosCrystal;
/**
* Created by brandon3055 on 30/8/2015.
*/
public class RenderChaosCrystal extends Render {
private ModelBase model;
public RenderChaosCrystal() {
@@ -100,12 +103,7 @@ public class RenderChaosCrystal extends Render {
return this.getEntityTexture((EntityChaosCrystal) p_110775_1_);
}
public void doRender(
Entity p_76986_1_,
double p_76986_2_,
double p_76986_4_,
double p_76986_6_,
float p_76986_8_,
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
this.doRender((EntityChaosCrystal) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
}
@@ -1,11 +1,12 @@
package com.brandon3055.draconicevolution.client.render.entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Created by Brandon on 14/09/2014.
*/
@@ -1,10 +1,7 @@
package com.brandon3055.draconicevolution.client.render.entity;
import com.brandon3055.draconicevolution.common.entity.EntityChaosGuardian;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Random;
import net.minecraft.client.model.ModelDragon;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
@@ -17,23 +14,31 @@ import net.minecraft.entity.boss.BossStatus;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.entity.EntityChaosGuardian;
import com.brandon3055.draconicevolution.common.lib.References;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Created by Brandon on 11/08/2014.
*/
@SideOnly(Side.CLIENT)
public class RenderDragon extends RenderLiving {
private static final ResourceLocation enderDragonExplodingTextures =
new ResourceLocation("textures/entity/enderdragon/dragon_exploding.png");
private static final ResourceLocation enderDragonCrystalBeamTextures =
new ResourceLocation("textures/entity/endercrystal/endercrystal_beam.png");
private static final ResourceLocation enderDragonEyesTextures =
new ResourceLocation("textures/entity/enderdragon/dragon_eyes.png");
private static final ResourceLocation enderDragonTextures =
new ResourceLocation(References.RESOURCESPREFIX + "textures/entity/de_dragon.png");
private static final ResourceLocation enderDragonTextures2 =
new ResourceLocation(References.RESOURCESPREFIX + "textures/entity/de_chaos_dragon.png");
private static final ResourceLocation enderDragonExplodingTextures = new ResourceLocation(
"textures/entity/enderdragon/dragon_exploding.png");
private static final ResourceLocation enderDragonCrystalBeamTextures = new ResourceLocation(
"textures/entity/endercrystal/endercrystal_beam.png");
private static final ResourceLocation enderDragonEyesTextures = new ResourceLocation(
"textures/entity/enderdragon/dragon_eyes.png");
private static final ResourceLocation enderDragonTextures = new ResourceLocation(
References.RESOURCESPREFIX + "textures/entity/de_dragon.png");
private static final ResourceLocation enderDragonTextures2 = new ResourceLocation(
References.RESOURCESPREFIX + "textures/entity/de_chaos_dragon.png");
/**
* An instance of the dragon model in RenderDragon
*/
@@ -47,8 +52,8 @@ public class RenderDragon extends RenderLiving {
protected void rotateCorpse(EntityDragon p_77043_1_, float p_77043_2_, float p_77043_3_, float p_77043_4_) {
float f3 = (float) p_77043_1_.getMovementOffsets(7, p_77043_4_)[0];
float f4 = (float)
(p_77043_1_.getMovementOffsets(5, p_77043_4_)[1] - p_77043_1_.getMovementOffsets(10, p_77043_4_)[1]);
float f4 = (float) (p_77043_1_.getMovementOffsets(5, p_77043_4_)[1]
- p_77043_1_.getMovementOffsets(10, p_77043_4_)[1]);
GL11.glRotatef(-f3, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(f4 * 10.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(0.0F, 0.0F, 1.0F);
@@ -68,14 +73,8 @@ public class RenderDragon extends RenderLiving {
/**
* Renders the model in RenderLiving
*/
protected void renderModel(
EntityDragon p_77036_1_,
float p_77036_2_,
float p_77036_3_,
float p_77036_4_,
float p_77036_5_,
float p_77036_6_,
float p_77036_7_) {
protected void renderModel(EntityDragon p_77036_1_, float p_77036_2_, float p_77036_3_, float p_77036_4_,
float p_77036_5_, float p_77036_6_, float p_77036_7_) {
if (p_77036_1_.deathTicks > 0) {
float f6 = (float) p_77036_1_.deathTicks / 200.0F;
GL11.glDepthFunc(GL11.GL_LEQUAL);
@@ -109,12 +108,7 @@ public class RenderDragon extends RenderLiving {
* (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
*/
public void doRender(
EntityDragon dragon,
double p_76986_2_,
double p_76986_4_,
double p_76986_6_,
float p_76986_8_,
public void doRender(EntityDragon dragon, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
BossStatus.setBossStatus(dragon, false);
super.doRender((EntityLiving) dragon, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
@@ -123,16 +117,13 @@ public class RenderDragon extends RenderLiving {
float f2 = (float) dragon.healingEnderCrystal.innerRotation + p_76986_9_;
float f3 = MathHelper.sin(f2 * 0.2F) / 2.0F + 0.5F;
f3 = (f3 * f3 + f3) * 0.2F;
float f4 = (float) (dragon.healingEnderCrystal.posX
- dragon.posX
float f4 = (float) (dragon.healingEnderCrystal.posX - dragon.posX
- (dragon.prevPosX - dragon.posX) * (double) (1.0F - p_76986_9_));
float f5 = (float) ((double) f3
+ dragon.healingEnderCrystal.posY
float f5 = (float) ((double) f3 + dragon.healingEnderCrystal.posY
- 1.0D
- dragon.posY
- (dragon.prevPosY - dragon.posY) * (double) (1.0F - p_76986_9_));
float f6 = (float) (dragon.healingEnderCrystal.posZ
- dragon.posZ
float f6 = (float) (dragon.healingEnderCrystal.posZ - dragon.posZ
- (dragon.prevPosZ - dragon.posZ) * (double) (1.0F - p_76986_9_));
float f7 = MathHelper.sqrt_float(f4 * f4 + f6 * f6);
float f8 = MathHelper.sqrt_float(f4 * f4 + f5 * f5 + f6 * f6);
@@ -165,7 +156,11 @@ public class RenderDragon extends RenderLiving {
float f13 = (float) (i % b0) * 1.0F / (float) b0;
tessellator.setColorOpaque_I(0);
tessellator.addVertexWithUV(
(double) (f11 * 0.2F), (double) (f12 * 0.2F), 0.0D, (double) f13, (double) f10);
(double) (f11 * 0.2F),
(double) (f12 * 0.2F),
0.0D,
(double) f13,
(double) f10);
tessellator.setColorOpaque_I(16777215);
tessellator.addVertexWithUV((double) f11, (double) f12, (double) f8, (double) f13, (double) f9);
}
@@ -182,18 +177,15 @@ public class RenderDragon extends RenderLiving {
: 0;
float f3 = MathHelper.sin(f2 * 0.2F) / 2.0F + 0.5F;
f3 = (f3 * f3 + f3) * 0.2F;
float f4 = (float) (((EntityChaosGuardian) dragon).crystalX
+ 0.5
float f4 = (float) (((EntityChaosGuardian) dragon).crystalX + 0.5
- dragon.posX
- (dragon.prevPosX - dragon.posX) * (double) (1.0F - p_76986_9_));
float f5 = (float) ((double) f3
+ ((EntityChaosGuardian) dragon).crystalY
float f5 = (float) ((double) f3 + ((EntityChaosGuardian) dragon).crystalY
+ 0.5
- 1.0D
- dragon.posY
- (dragon.prevPosY - dragon.posY) * (double) (1.0F - p_76986_9_));
float f6 = (float) (((EntityChaosGuardian) dragon).crystalZ
+ 0.5
float f6 = (float) (((EntityChaosGuardian) dragon).crystalZ + 0.5
- dragon.posZ
- (dragon.prevPosZ - dragon.posZ) * (double) (1.0F - p_76986_9_));
float f7 = MathHelper.sqrt_float(f4 * f4 + f6 * f6);
@@ -227,7 +219,11 @@ public class RenderDragon extends RenderLiving {
float f13 = (float) (i % b0) * 1.0F / (float) b0;
tessellator.setColorOpaque_I(0);
tessellator.addVertexWithUV(
(double) (f11 * 0.2F), (double) (f12 * 0.2F), 0.0D, (double) f13, (double) f10);
(double) (f11 * 0.2F),
(double) (f12 * 0.2F),
0.0D,
(double) f13,
(double) f10);
tessellator.setColorOpaque_I(0xFF0000);
tessellator.addVertexWithUV((double) f11, (double) f12, (double) f8, (double) f13, (double) f9);
}
@@ -238,55 +234,55 @@ public class RenderDragon extends RenderLiving {
RenderHelper.enableStandardItemLighting();
GL11.glPopMatrix();
}
// } else if (dragon instanceof EntityChaosGuardian && ((EntityChaosGuardian) dragon).healingChaosCrystal !=
// } else if (dragon instanceof EntityChaosGuardian && ((EntityChaosGuardian) dragon).healingChaosCrystal !=
// null){
//
//
// float f2 = (float)((EntityChaosGuardian) dragon).healingChaosCrystal.innerRotation + p_76986_9_;
// float f3 = MathHelper.sin(f2 * 0.2F) / 2.0F + 0.5F;
// f3 = (f3 * f3 + f3) * 0.2F;
// float f4 = (float)(((EntityChaosGuardian) dragon).healingChaosCrystal.posX - dragon.posX - (dragon.prevPosX
// float f2 = (float)((EntityChaosGuardian) dragon).healingChaosCrystal.innerRotation + p_76986_9_;
// float f3 = MathHelper.sin(f2 * 0.2F) / 2.0F + 0.5F;
// f3 = (f3 * f3 + f3) * 0.2F;
// float f4 = (float)(((EntityChaosGuardian) dragon).healingChaosCrystal.posX - dragon.posX - (dragon.prevPosX
// - dragon.posX) * (double)(1.0F - p_76986_9_));
// float f5 = (float)((double)f3 + ((EntityChaosGuardian) dragon).healingChaosCrystal.posY - 1.0D -
// float f5 = (float)((double)f3 + ((EntityChaosGuardian) dragon).healingChaosCrystal.posY - 1.0D -
// dragon.posY - (dragon.prevPosY - dragon.posY) * (double)(1.0F - p_76986_9_));
// float f6 = (float)(((EntityChaosGuardian) dragon).healingChaosCrystal.posZ - dragon.posZ - (dragon.prevPosZ
// float f6 = (float)(((EntityChaosGuardian) dragon).healingChaosCrystal.posZ - dragon.posZ - (dragon.prevPosZ
// - dragon.posZ) * (double)(1.0F - p_76986_9_));
// float f7 = MathHelper.sqrt_float(f4 * f4 + f6 * f6);
// float f8 = MathHelper.sqrt_float(f4 * f4 + f5 * f5 + f6 * f6);
// GL11.glPushMatrix();
// GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_ + 2.0F, (float)p_76986_6_);
// GL11.glRotatef((float)(-Math.atan2((double)f6, (double)f4)) * 180.0F / (float)Math.PI - 90.0F, 0.0F, 1.0F,
// float f7 = MathHelper.sqrt_float(f4 * f4 + f6 * f6);
// float f8 = MathHelper.sqrt_float(f4 * f4 + f5 * f5 + f6 * f6);
// GL11.glPushMatrix();
// GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_ + 2.0F, (float)p_76986_6_);
// GL11.glRotatef((float)(-Math.atan2((double)f6, (double)f4)) * 180.0F / (float)Math.PI - 90.0F, 0.0F, 1.0F,
// 0.0F);
// GL11.glRotatef((float)(-Math.atan2((double)f7, (double)f5)) * 180.0F / (float)Math.PI - 90.0F, 1.0F, 0.0F,
// GL11.glRotatef((float)(-Math.atan2((double)f7, (double)f5)) * 180.0F / (float)Math.PI - 90.0F, 1.0F, 0.0F,
// 0.0F);
// Tessellator tessellator = Tessellator.instance;
// RenderHelper.disableStandardItemLighting();
// GL11.glDisable(GL11.GL_CULL_FACE);
// this.bindTexture(enderDragonCrystalBeamTextures);
// GL11.glShadeModel(GL11.GL_SMOOTH);
// float f9 = 0.0F - ((float)dragon.ticksExisted + p_76986_9_) * 0.01F;
// float f10 = MathHelper.sqrt_float(f4 * f4 + f5 * f5 + f6 * f6) / 32.0F - ((float)dragon.ticksExisted +
// Tessellator tessellator = Tessellator.instance;
// RenderHelper.disableStandardItemLighting();
// GL11.glDisable(GL11.GL_CULL_FACE);
// this.bindTexture(enderDragonCrystalBeamTextures);
// GL11.glShadeModel(GL11.GL_SMOOTH);
// float f9 = 0.0F - ((float)dragon.ticksExisted + p_76986_9_) * 0.01F;
// float f10 = MathHelper.sqrt_float(f4 * f4 + f5 * f5 + f6 * f6) / 32.0F - ((float)dragon.ticksExisted +
// p_76986_9_) * 0.01F;
// tessellator.startDrawing(5);
// byte b0 = 8;
// tessellator.startDrawing(5);
// byte b0 = 8;
//
// for (int i = 0; i <= b0; ++i)
// {
// float f11 = MathHelper.sin((float)(i % b0) * (float)Math.PI * 2.0F / (float)b0) * 0.75F;
// float f12 = MathHelper.cos((float)(i % b0) * (float)Math.PI * 2.0F / (float)b0) * 0.75F;
// float f13 = (float)(i % b0) * 1.0F / (float)b0;
// tessellator.setColorOpaque_I(0);
// tessellator.addVertexWithUV((double)(f11 * 0.2F), (double)(f12 * 0.2F), 0.0D, (double)f13, (double)f10);
// tessellator.setColorOpaque_I(0xFF0000);
// tessellator.addVertexWithUV((double)f11, (double)f12, (double)f8, (double)f13, (double)f9);
// }
// for (int i = 0; i <= b0; ++i)
// {
// float f11 = MathHelper.sin((float)(i % b0) * (float)Math.PI * 2.0F / (float)b0) * 0.75F;
// float f12 = MathHelper.cos((float)(i % b0) * (float)Math.PI * 2.0F / (float)b0) * 0.75F;
// float f13 = (float)(i % b0) * 1.0F / (float)b0;
// tessellator.setColorOpaque_I(0);
// tessellator.addVertexWithUV((double)(f11 * 0.2F), (double)(f12 * 0.2F), 0.0D, (double)f13, (double)f10);
// tessellator.setColorOpaque_I(0xFF0000);
// tessellator.addVertexWithUV((double)f11, (double)f12, (double)f8, (double)f13, (double)f9);
// }
//
// tessellator.draw();
// GL11.glEnable(GL11.GL_CULL_FACE);
// GL11.glShadeModel(GL11.GL_FLAT);
// RenderHelper.enableStandardItemLighting();
// GL11.glPopMatrix();
// }
// tessellator.draw();
// GL11.glEnable(GL11.GL_CULL_FACE);
// GL11.glShadeModel(GL11.GL_FLAT);
// RenderHelper.enableStandardItemLighting();
// GL11.glPopMatrix();
// }
}
/**
@@ -387,13 +383,8 @@ public class RenderDragon extends RenderLiving {
* (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
*/
public void doRender(
EntityLiving p_76986_1_,
double p_76986_2_,
double p_76986_4_,
double p_76986_6_,
float p_76986_8_,
float p_76986_9_) {
public void doRender(EntityLiving p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_,
float p_76986_8_, float p_76986_9_) {
this.doRender((EntityDragon) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
}
@@ -415,16 +406,16 @@ public class RenderDragon extends RenderLiving {
/**
* Renders the model in RenderLiving
*/
protected void renderModel(
EntityLivingBase p_77036_1_,
float p_77036_2_,
float p_77036_3_,
float p_77036_4_,
float p_77036_5_,
float p_77036_6_,
float p_77036_7_) {
protected void renderModel(EntityLivingBase p_77036_1_, float p_77036_2_, float p_77036_3_, float p_77036_4_,
float p_77036_5_, float p_77036_6_, float p_77036_7_) {
this.renderModel(
(EntityDragon) p_77036_1_, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, p_77036_7_);
(EntityDragon) p_77036_1_,
p_77036_2_,
p_77036_3_,
p_77036_4_,
p_77036_5_,
p_77036_6_,
p_77036_7_);
}
/**
@@ -433,13 +424,8 @@ public class RenderDragon extends RenderLiving {
* (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
*/
public void doRender(
EntityLivingBase p_76986_1_,
double p_76986_2_,
double p_76986_4_,
double p_76986_6_,
float p_76986_8_,
float p_76986_9_) {
public void doRender(EntityLivingBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_,
float p_76986_8_, float p_76986_9_) {
this.doRender((EntityDragon) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
}
@@ -456,12 +442,7 @@ public class RenderDragon extends RenderLiving {
* (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
*/
public void doRender(
Entity p_76986_1_,
double p_76986_2_,
double p_76986_4_,
double p_76986_6_,
float p_76986_8_,
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
this.doRender((EntityDragon) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
}
@@ -1,9 +1,5 @@
package com.brandon3055.draconicevolution.client.render.entity;
import com.brandon3055.draconicevolution.client.handler.ClientEventHandler;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.entity.EntityDragonHeart;
import com.brandon3055.draconicevolution.common.lib.References;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
@@ -13,21 +9,29 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.DraconicEvolution;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.entity.EntityDragonHeart;
import com.brandon3055.draconicevolution.common.lib.References;
/**
* Created by Brandon on 21/11/2014.
*/
public class RenderDragonHeart extends Render {
private static final ResourceLocation texture =
new ResourceLocation(References.RESOURCESPREFIX + "textures/items/dragonHeart.png");
private static final ResourceLocation texture = new ResourceLocation(
References.RESOURCESPREFIX + "textures/items/dragonHeart.png");
private void doRender(EntityDragonHeart entity, double x, double y, double z, float f) {
float sine = (float) Math.abs(Math.cos(ClientEventHandler.elapsedTicks / 1000D));
final int ticks = DraconicEvolution.clientProxy().getElapsedTicks();
float sine = (float) Math.abs(Math.cos(ticks / 1000D));
{ // Draw Item
// GL11.glRotatef((((float) ClientEventHandler.elapsedTicks) + f) * entity.rotationSpeed, 0f, 1f, 0f);
// GL11.glRotatef((((float) ticks) + f) * entity.rotationSpeed, 0f, 1f, 0f);
GL11.glRotatef(entity.rotation + f * entity.rotationInc, 0f, 1f, 0f);
EntityItem itemEntity = new EntityItem(entity.worldObj, 0, 0, 0, new ItemStack(ModItems.dragonHeart));
itemEntity.hoverStart = 0.0F;
@@ -1,14 +1,16 @@
package com.brandon3055.draconicevolution.client.render.entity;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.entity.EntityDragonProjectile;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.entity.EntityDragonProjectile;
/**
* Created by brandon3055 on 24/8/2015.
*/
@@ -53,8 +55,8 @@ public class RenderDragonProjectile extends Render {
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);
GL11.glDisable(GL11.GL_LIGHTING);
// GL11.glDepthMask(false);
// GL11.glEnable(GL11.GL_CULL_FACE);
// GL11.glDepthMask(false);
// GL11.glEnable(GL11.GL_CULL_FACE);
float f2 = entity.type == EntityDragonProjectile.MINI_CHAOS_CHASER ? entity.power / 10 : entity.power / 5;
GL11.glScalef(f2 / 1.0F, f2 / 1.0F, f2 / 1.0F);
Tessellator tessellator = Tessellator.instance;
@@ -1,25 +1,28 @@
package com.brandon3055.draconicevolution.client.render.entity;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.entity.EntityChaosVortex;
import com.brandon3055.draconicevolution.common.lib.References;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.entity.EntityChaosVortex;
import com.brandon3055.draconicevolution.common.lib.References;
/**
* Created by brandon3055 on 3/10/2015.
*/
public class RenderEntityChaosVortex extends Render {
public static IModelCustom uvSphere;
public RenderEntityChaosVortex() {
uvSphere = AdvancedModelLoader.loadModel(
new ResourceLocation(References.MODID.toLowerCase(), "models/reactorCoreModel.obj"));
uvSphere = AdvancedModelLoader
.loadModel(new ResourceLocation(References.MODID.toLowerCase(), "models/reactorCoreModel.obj"));
}
public void doRender(EntityChaosVortex entity, double x, double y, double z, float f1, float tick) {
@@ -1,22 +1,25 @@
package com.brandon3055.draconicevolution.client.render.entity;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.entity.EntityCustomArrow;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.entity.EntityCustomArrow;
/**
* Created by brandon3055 on 3/3/2016.
*/
public class RenderEntityCustomArrow extends Render {
private IModelCustom arrow =
AdvancedModelLoader.loadModel(ResourceHandler.getResource("models/tools/ArrowCommon.obj"));
private IModelCustom arrow = AdvancedModelLoader
.loadModel(ResourceHandler.getResource("models/tools/ArrowCommon.obj"));
public void doRender(EntityCustomArrow entityArrow, double x, double y, double z, float f1, float f2) {
this.bindEntityTexture(entityArrow);
@@ -71,8 +74,7 @@ public class RenderEntityCustomArrow extends Render {
* Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
*/
protected ResourceLocation getEntityTexture(EntityCustomArrow arrow) {
return arrow.bowProperties.energyBolt
? ResourceHandler.getResource("textures/models/reactorCore.png")
return arrow.bowProperties.energyBolt ? ResourceHandler.getResource("textures/models/reactorCore.png")
: ResourceHandler.getResource("textures/models/tools/ArrowCommon.png");
}
@@ -89,12 +91,7 @@ public class RenderEntityCustomArrow extends Render {
* (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1,
* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
*/
public void doRender(
Entity p_76986_1_,
double p_76986_2_,
double p_76986_4_,
double p_76986_6_,
float p_76986_8_,
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
this.doRender((EntityCustomArrow) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
}
@@ -1,13 +1,15 @@
package com.brandon3055.draconicevolution.client.render.item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.handler.ConfigHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
/**
* Created by brandon3055 on 17/8/2015.
@@ -40,15 +42,17 @@ public class RenderArmor implements IItemRenderer {
}
GL11.glPushMatrix();
ResourceHandler.bindResource(
armor.getArmorTexture(stack, null, 0, null).replace(References.RESOURCESPREFIX, ""));
ResourceHandler
.bindResource(armor.getArmorTexture(stack, null, 0, null).replace(References.RESOURCESPREFIX, ""));
if (type == ItemRenderType.EQUIPPED_FIRST_PERSON || type == ItemRenderType.EQUIPPED) {
GL11.glTranslated(0.5, 0.5, 0.5);
GL11.glRotated(180, 0, 1, 0);
}
GL11.glTranslated(
0, armor.armorType == 0 ? -0.25 : armor.armorType == 1 ? 0.42 : armor.armorType == 2 ? 1.05 : 1.5, 0);
0,
armor.armorType == 0 ? -0.25 : armor.armorType == 1 ? 0.42 : armor.armorType == 2 ? 1.05 : 1.5,
0);
GL11.glRotated(180, -1, 0, 1);
armor.getArmorModel(null, stack, 0).render(null, 0f, 0f, 0f, 0f, 0f, 0.0625f);
@@ -18,10 +18,12 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
public class RenderBow implements IItemRenderer {
private Minecraft mc;
public RenderBow() {
@@ -89,85 +91,92 @@ public class RenderBow implements IItemRenderer {
IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(par2ItemStack, type);
if (customRenderer != null) {
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
ForgeHooksClient.renderEquippedItem(
type, customRenderer, renderBlocksIr, par1EntityLivingBase, par2ItemStack);
} else if (par2ItemStack.getItemSpriteNumber() == 0
&& item instanceof ItemBlock
ForgeHooksClient
.renderEquippedItem(type, customRenderer, renderBlocksIr, par1EntityLivingBase, par2ItemStack);
} else if (par2ItemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock
&& RenderBlocks.renderItemIn3d(block.getRenderType())) {
texturemanager.bindTexture(texturemanager.getResourceLocation(0));
texturemanager.bindTexture(texturemanager.getResourceLocation(0));
if (par2ItemStack != null && par2ItemStack.getItem() instanceof ItemCloth) {
GL11.glEnable(GL11.GL_BLEND);
GL11.glDepthMask(false);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
renderBlocksIr.renderBlockAsItem(block, par2ItemStack.getItemDamage(), 1.0F);
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_BLEND);
} else {
renderBlocksIr.renderBlockAsItem(block, par2ItemStack.getItemDamage(), 1.0F);
}
} else {
IIcon iicon = par1EntityLivingBase.getItemIcon(par2ItemStack, par3);
if (par2ItemStack != null && par2ItemStack.getItem() instanceof ItemCloth) {
GL11.glEnable(GL11.GL_BLEND);
GL11.glDepthMask(false);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
renderBlocksIr.renderBlockAsItem(block, par2ItemStack.getItemDamage(), 1.0F);
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_BLEND);
} else {
renderBlocksIr.renderBlockAsItem(block, par2ItemStack.getItemDamage(), 1.0F);
}
} else {
IIcon iicon = par1EntityLivingBase.getItemIcon(par2ItemStack, par3);
if (iicon == null) {
GL11.glPopMatrix();
return;
}
if (iicon == null) {
GL11.glPopMatrix();
return;
}
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
// TextureUtil.func_147950_a(false, false);
Tessellator tessellator = Tessellator.instance;
float f = iicon.getMinU();
float f1 = iicon.getMaxU();
float f2 = iicon.getMinV();
float f3 = iicon.getMaxV();
float f4 = 0.0F;
float f5 = 0.3F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslatef(-f4, -f5, 0.0F);
float f6 = 1.5F;
GL11.glScalef(f6, f6, f6);
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
ItemRenderer.renderItemIn2D(
tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
// TextureUtil.func_147950_a(false, false);
Tessellator tessellator = Tessellator.instance;
float f = iicon.getMinU();
float f1 = iicon.getMaxU();
float f2 = iicon.getMinV();
float f3 = iicon.getMaxV();
float f4 = 0.0F;
float f5 = 0.3F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslatef(-f4, -f5, 0.0F);
float f6 = 1.5F;
GL11.glScalef(f6, f6, f6);
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
ItemRenderer.renderItemIn2D(
tessellator,
f1,
f2,
f,
f3,
iicon.getIconWidth(),
iicon.getIconHeight(),
0.0625F);
if (par2ItemStack.hasEffect(par3)) {
ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
GL11.glDepthFunc(GL11.GL_EQUAL);
GL11.glDisable(GL11.GL_LIGHTING);
texturemanager.bindTexture(RES_ITEM_GLINT);
GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(768, 1, 1, 0);
float f7 = 0.76F;
GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glPushMatrix();
float f8 = 0.125F;
GL11.glScalef(f8, f8, f8);
float f9 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
GL11.glTranslatef(f9, 0.0F, 0.0F);
GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(f8, f8, f8);
f9 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
GL11.glTranslatef(-f9, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDepthFunc(GL11.GL_LEQUAL);
}
if (par2ItemStack.hasEffect(par3)) {
ResourceLocation RES_ITEM_GLINT = new ResourceLocation(
"textures/misc/enchanted_item_glint.png");
GL11.glDepthFunc(GL11.GL_EQUAL);
GL11.glDisable(GL11.GL_LIGHTING);
texturemanager.bindTexture(RES_ITEM_GLINT);
GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(768, 1, 1, 0);
float f7 = 0.76F;
GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glPushMatrix();
float f8 = 0.125F;
GL11.glScalef(f8, f8, f8);
float f9 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
GL11.glTranslatef(f9, 0.0F, 0.0F);
GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(f8, f8, f8);
f9 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
GL11.glTranslatef(-f9, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDepthFunc(GL11.GL_LEQUAL);
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
TextureUtil.func_147945_b();
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
TextureUtil.func_147945_b();
}
GL11.glPopMatrix();
}
@@ -1,18 +1,21 @@
package com.brandon3055.draconicevolution.client.render.item;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.items.weapons.BowHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.items.weapons.BowHandler;
/**
* Created by brandon3055 on 29/10/2015.
*/
public class RenderBowModel implements IItemRenderer {
private boolean draconic;
private IModelCustom[] wyvernModels = new IModelCustom[4];
private IModelCustom[] draconicModels = new IModelCustom[4];
@@ -21,12 +24,10 @@ public class RenderBowModel implements IItemRenderer {
public RenderBowModel(boolean draconic) {
this.draconic = draconic;
for (int i = 0; i < 4; i++)
wyvernModels[i] =
AdvancedModelLoader.loadModel(ResourceHandler.getResource("models/tools/WyvernBow0" + i + ".obj"));
for (int i = 0; i < 4; i++)
draconicModels[i] = AdvancedModelLoader.loadModel(
ResourceHandler.getResource("models/tools/DraconicBow0" + i + ".obj"));
for (int i = 0; i < 4; i++) wyvernModels[i] = AdvancedModelLoader
.loadModel(ResourceHandler.getResource("models/tools/WyvernBow0" + i + ".obj"));
for (int i = 0; i < 4; i++) draconicModels[i] = AdvancedModelLoader
.loadModel(ResourceHandler.getResource("models/tools/DraconicBow0" + i + ".obj"));
this.arrow = AdvancedModelLoader.loadModel(ResourceHandler.getResource("models/tools/ArrowCommon.obj"));
}
@@ -80,8 +81,8 @@ public class RenderBowModel implements IItemRenderer {
GL11.glPopMatrix();
}
private void doRender(
IModelCustom modelCustom, ItemRenderType type, int drawState, BowHandler.BowProperties properties) {
private void doRender(IModelCustom modelCustom, ItemRenderType type, int drawState,
BowHandler.BowProperties properties) {
if (type == ItemRenderType.EQUIPPED) {
GL11.glScaled(0.8, 0.8, 0.8);
@@ -109,7 +110,9 @@ public class RenderBowModel implements IItemRenderer {
if (drawState != -1) {
GL11.glTranslated(
0.3, 0.151, -0.2 + (drawState == 1 ? 0 : drawState == 2 ? 0.55 : drawState == 3 ? 1 : -0.7));
0.3,
0.151,
-0.2 + (drawState == 1 ? 0 : drawState == 2 ? 0.55 : drawState == 3 ? 1 : -0.7));
GL11.glRotatef(90, 0, 0, 1);
if (properties != null && properties.energyBolt) {
@@ -1,19 +1,22 @@
package com.brandon3055.draconicevolution.client.render.item;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.model.special.ModelStaffOfTheGreatOne;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.model.special.ModelStaffOfTheGreatOne;
/**
* Created by brandon3055 on 1/10/2015.
*/
public class RenderChaosFragment implements IItemRenderer {
private static IModelCustom model =
AdvancedModelLoader.loadModel(ResourceHandler.getResource("models/chaosCrystalShard.obj"));
private static IModelCustom model = AdvancedModelLoader
.loadModel(ResourceHandler.getResource("models/chaosCrystalShard.obj"));
private static ModelStaffOfTheGreatOne staff = new ModelStaffOfTheGreatOne();
@@ -1,18 +1,21 @@
package com.brandon3055.draconicevolution.client.render.item;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
/**
* Created by brandon3055 on 1/10/2015.
*/
public class RenderChaosShard implements IItemRenderer {
private static IModelCustom model =
AdvancedModelLoader.loadModel(ResourceHandler.getResource("models/chaosCrystalShard.obj"));
private static IModelCustom model = AdvancedModelLoader
.loadModel(ResourceHandler.getResource("models/chaosCrystalShard.obj"));
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
@@ -1,7 +1,5 @@
package com.brandon3055.draconicevolution.client.render.item;
import com.brandon3055.brandonscore.common.utills.ItemNBTHelper;
import com.brandon3055.draconicevolution.common.utills.LogHelper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
@@ -9,32 +7,24 @@ import net.minecraft.entity.EntityList;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.common.utils.ItemNBTHelper;
import com.brandon3055.draconicevolution.common.utils.LogHelper;
public class RenderMobSoul implements IItemRenderer {
private Minecraft mc;
private Entity randomEntity = null;
private String[] randomEntitys = new String[] {
"Pig",
"Sheep",
"Enderman",
"Zombie",
"Creeper",
"Cow",
"Chicken",
"Ozelot",
"Witch",
"Wolf",
"MushroomCow",
"Squid",
"EntityHorse",
"Spider",
"Skeleton",
"Blaze",
"Bat",
"Villager",
"Silverfish"
};
public static volatile boolean applyTimeRotation = true;
public static float getRotationAngle() {
return (float) (Minecraft.getSystemTime() / -10);
}
private final Minecraft mc;
private final String[] randomEntities = new String[] { "Pig", "Sheep", "Enderman", "Zombie", "Creeper", "Cow",
"Chicken", "Ozelot", "Witch", "Wolf", "MushroomCow", "Squid", "EntityHorse", "Spider", "Skeleton", "Blaze",
"Bat", "Villager", "Silverfish" };
public RenderMobSoul() {
this.mc = Minecraft.getMinecraft();
@@ -42,8 +32,7 @@ public class RenderMobSoul implements IItemRenderer {
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return type == ItemRenderType.EQUIPPED
|| type == ItemRenderType.EQUIPPED_FIRST_PERSON
return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON
|| type == ItemRenderType.INVENTORY
|| type == ItemRenderType.ENTITY;
}
@@ -56,8 +45,8 @@ public class RenderMobSoul implements IItemRenderer {
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
Entity mob = EntityList.createEntityByName(ItemNBTHelper.getString(item, "Name", "Pig"), mc.theWorld);
randomEntity = EntityList.createEntityByName(
randomEntitys[(int) ((Minecraft.getSystemTime() / 1000) % 18)], mc.theWorld);
Entity randomEntity = EntityList
.createEntityByName(randomEntities[(int) ((Minecraft.getSystemTime() / 1000) % 18)], mc.theWorld);
if (ItemNBTHelper.getString(item, "Name", "Pig").equals("Any")) mob = randomEntity;
if (mob instanceof EntitySkeleton)
((EntitySkeleton) mob).setSkeletonType(ItemNBTHelper.getInteger(item, "SkeletonType", 0));
@@ -75,7 +64,7 @@ public class RenderMobSoul implements IItemRenderer {
GL11.glScalef(13F, 13F, 13F);
GL11.glTranslated(1.2, 2.2, 0);
GL11.glRotatef(180F, 1F, 0F, 0F);
GL11.glRotatef(mc.getSystemTime() / -10, 0F, 1F, 0F);
if (applyTimeRotation) GL11.glRotatef(getRotationAngle(), 0F, 1F, 0F);
GL11.glRotatef(-20F, 1F, 0F, 0F);
RenderManager.instance.renderEntityWithPosYaw(mob, 0, 0, 0, 0F, 1F);
GL11.glPopMatrix();
@@ -84,7 +73,7 @@ public class RenderMobSoul implements IItemRenderer {
GL11.glScalef(0.8F, 0.8F, 0.8F);
GL11.glTranslated(2, 0.5, 0);
GL11.glRotatef(20F, 0F, 0F, 1F);
GL11.glRotatef(mc.getSystemTime() / -10, 0F, 1F, 0F);
if (applyTimeRotation) GL11.glRotatef(getRotationAngle(), 0F, 1F, 0F);
GL11.glRotatef(-20F, 1F, 0F, 0F);
RenderManager.instance.renderEntityWithPosYaw(mob, 0, 0, 0, 0F, 1F);
GL11.glPopMatrix();
@@ -93,14 +82,14 @@ public class RenderMobSoul implements IItemRenderer {
GL11.glScalef(0.8F, 0.8F, 0.8F);
GL11.glTranslated(1, 0.5, 0);
GL11.glRotatef(20F, 0F, 0F, 1F);
GL11.glRotatef(mc.getSystemTime() / -10, 0F, 1F, 0F);
if (applyTimeRotation) GL11.glRotatef(getRotationAngle(), 0F, 1F, 0F);
GL11.glRotatef(-20F, 1F, 0F, 0F);
RenderManager.instance.renderEntityWithPosYaw(mob, 0, 0, 0, 0F, 1F);
GL11.glPopMatrix();
} else {
GL11.glPushMatrix();
GL11.glScalef(1.5F, 1.5F, 1.5F);
GL11.glRotatef(mc.getSystemTime() / -10, 0F, 1F, 0F);
if (applyTimeRotation) GL11.glRotatef(getRotationAngle(), 0F, 1F, 0F);
GL11.glRotatef(-20F, 1F, 0F, 0F);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
@@ -1,11 +1,13 @@
package com.brandon3055.draconicevolution.client.render.item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.model.ModelReactorStabilizerCore;
import com.brandon3055.draconicevolution.client.model.ModelReactorStabilizerRing;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
/**
* Created by brandon3055 on 2/10/2015.
@@ -39,8 +41,8 @@ public class RenderStabilizerPart implements IItemRenderer {
break;
case 1: // rotor inner
ResourceHandler.bindResource("textures/models/reactorStabilizerCore.png");
// GL11.glScaled(2, 2, 2);
// GL11.glTranslated(-0.2, 0, 0);
// GL11.glScaled(2, 2, 2);
// GL11.glTranslated(-0.2, 0, 0);
modelBaseRotors.rotor1R.childModels.clear();
modelBaseRotors.rotor1R.render(0.0625F);
modelBaseRotors.rotor1R_1.render(0.0625F);
@@ -50,8 +52,8 @@ public class RenderStabilizerPart implements IItemRenderer {
break;
case 2: // rotor outer
ResourceHandler.bindResource("textures/models/reactorStabilizerCore.png");
// GL11.glScaled(2, 2, 2);
// GL11.glTranslated(-0.3, 0, 0);
// GL11.glScaled(2, 2, 2);
// GL11.glTranslated(-0.3, 0, 0);
modelBaseRotors.rotor2R.childModels.clear();
modelBaseRotors.rotor2R.render(0.0625F);
modelBaseRotors.rotor2R_1.render(0.0625F);
@@ -61,8 +63,8 @@ public class RenderStabilizerPart implements IItemRenderer {
break;
case 3: // rotor assembly
ResourceHandler.bindResource("textures/models/reactorStabilizerCore.png");
// GL11.glScaled(1.5, 1.5, 1.5);
// GL11.glTranslated(-0.05, 0, 0);
// GL11.glScaled(1.5, 1.5, 1.5);
// GL11.glTranslated(-0.05, 0, 0);
GL11.glRotatef(30F, 0F, 0F, 1F);
modelBase.rotor1R.render(0.0625F);
modelBase.hub1.render(0.0625F);
@@ -1,17 +1,20 @@
package com.brandon3055.draconicevolution.client.render.item;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.render.IRenderTweak;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.client.render.IRenderTweak;
/**
* Created by brandon3055 on 29/10/2015.
*/
public class RenderTool implements IItemRenderer {
private IModelCustom toolModel;
private String toolTexture;
private IRenderTweak tool;
@@ -1,13 +1,16 @@
package com.brandon3055.draconicevolution.client.render.particle;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.world.World;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ParticleCustom extends EntityFX {
public int red = 0;
public int green = 0;
public int blue = 0;
@@ -16,17 +19,8 @@ public class ParticleCustom extends EntityFX {
public int fadeLength = 0;
public float gravity = 0F;
public ParticleCustom(
World world,
double spawnX,
double spawnY,
double spawnZ,
float spawnMotionX,
float spawnMotionY,
float spawnMotionZ,
float scale,
boolean canCollide,
int index) {
public ParticleCustom(World world, double spawnX, double spawnY, double spawnZ, float spawnMotionX,
float spawnMotionY, float spawnMotionZ, float scale, boolean canCollide, int index) {
super(world, spawnX, spawnY, spawnZ, 0.0D, 0.0D, 0.0D);
this.motionX = spawnMotionX; // initial motion value X
this.motionY = spawnMotionY; // initial motion value Y
@@ -60,13 +54,7 @@ public class ParticleCustom extends EntityFX {
@Override
@SideOnly(Side.CLIENT)
public void renderParticle(
Tessellator tesselator,
float par2,
float par3,
float par4,
float par5,
float par6,
public void renderParticle(Tessellator tesselator, float par2, float par3, float par4, float par5, float par6,
float par7) { // Note U=X V=Y
tesselator.draw();
@@ -1,31 +1,26 @@
package com.brandon3055.draconicevolution.client.render.particle;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.world.World;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ParticleDistortion extends EntityFX {
double originalX;
double originalZ;
public ParticleDistortion(
World par1World, double par2, double par4, double par6, float par8, float par9, float par10, float scale) {
public ParticleDistortion(World par1World, double par2, double par4, double par6, float par8, float par9,
float par10, float scale) {
this(par1World, par2, par4, par6, 1.0F, par8, par9, par10, scale);
}
public ParticleDistortion(
World world,
double par2,
double par4,
double par6,
float par8,
float par9,
float par10,
float par11,
float scale) {
public ParticleDistortion(World world, double par2, double par4, double par6, float par8, float par9, float par10,
float par11, float scale) {
super(world, par2, par4, par6, 0.0D, 0.0D, 0.0D);
this.motionX = par9; // initial motion value X
this.motionY = par10; // initial motion value Y
@@ -46,8 +41,8 @@ public class ParticleDistortion extends EntityFX {
// this.particleScale *= par8;
this.particleScale = scale;
this.particleMaxAge =
40 + world.rand.nextInt(40); // how soon the particle dies. You can use randomizer for this
this.particleMaxAge = 40 + world.rand.nextInt(40); // how soon the particle dies. You can use randomizer for
// this
this.noClip = true; // does your particle collide with blocks?
}
@@ -69,13 +64,7 @@ public class ParticleDistortion extends EntityFX {
@Override
@SideOnly(Side.CLIENT)
public void renderParticle(
Tessellator tessellator,
float par2,
float par3,
float par4,
float par5,
float par6,
public void renderParticle(Tessellator tessellator, float par2, float par3, float par4, float par5, float par6,
float par7) { // Note U=X V=Y
tessellator.draw();
@@ -1,11 +1,13 @@
package com.brandon3055.draconicevolution.client.render.particle;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.world.World;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
public class ParticleEnergy extends EntityFX {
public double originalX;
public double originalY;
public double originalZ;
@@ -15,8 +17,8 @@ public class ParticleEnergy extends EntityFX {
public int particle;
public boolean expand = true;
public ParticleEnergy(
World world, double x, double y, double z, double tX, double tY, double tZ, int particle, boolean expand) {
public ParticleEnergy(World world, double x, double y, double z, double tX, double tY, double tZ, int particle,
boolean expand) {
this(world, x, y, z, tX, tY, tZ, particle);
this.expand = expand;
this.particleRed = 185F / 255F;
@@ -78,8 +80,7 @@ public class ParticleEnergy extends EntityFX {
motionY = (targetY - posY) * ySpeedMultiplyer;
motionZ = (targetZ - posZ) * speedMultiplyer;
}
if (expand
&& Math.abs(targetX - posX) < 0.01
if (expand && Math.abs(targetX - posX) < 0.01
&& Math.abs(targetY - posY) < 0.01
&& Math.abs(targetZ - posZ) < 0.01) {
motionX = 0;
@@ -95,13 +96,7 @@ public class ParticleEnergy extends EntityFX {
@Override
// @SideOnly(Side.CLIENT)
public void renderParticle(
Tessellator tesselator,
float par2,
float par3,
float par4,
float par5,
float par6,
public void renderParticle(Tessellator tesselator, float par2, float par3, float par4, float par5, float par6,
float par7) { // Note U=X V=Y
tesselator.draw();
@@ -1,22 +1,27 @@
package com.brandon3055.draconicevolution.client.render.particle;
import com.brandon3055.brandonscore.common.utills.Utills;
import com.brandon3055.draconicevolution.client.handler.ClientEventHandler;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.lib.References;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
import com.brandon3055.draconicevolution.client.handler.ResourceHandler;
import com.brandon3055.draconicevolution.common.ModItems;
import com.brandon3055.draconicevolution.common.lib.References;
import com.brandon3055.draconicevolution.common.utils.Utils;
/**
* Created by Brandon on 8/02/2015.
*/
public class ParticleEnergyBeam extends EntityFX {
/**
* Power flow integer Ranges from 0 to 100
*/
@@ -25,19 +30,19 @@ public class ParticleEnergyBeam extends EntityFX {
/**
* Beam Target X
*/
private double tX = 0.0D;
private double tX;
/**
* Beam Target Y
*/
private double tY = 0.0D;
private double tY;
/**
* Beam Target Z
*/
private double tZ = 0.0D;
private double tZ;
/**
* Modified Target X
*/
private boolean advanced;
private final boolean advanced;
private boolean renderParticle = true;
private float length = 0.0F;
@@ -49,26 +54,18 @@ public class ParticleEnergyBeam extends EntityFX {
// todo make sure not dyrectly up or down on y axis, Set dead when player goes out of range, PaRTICLE eNGINE
private static ResourceLocation beamTextureBasic =
new ResourceLocation(References.MODID.toLowerCase(), "textures/models/EnergyBeamBlue.png");
private static ResourceLocation beamTextureAdvanced =
new ResourceLocation(References.MODID.toLowerCase(), "textures/models/EnergyBeamRed.png");
private static final ResourceLocation beamTextureBasic = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/models/EnergyBeamBlue.png");
private static final ResourceLocation beamTextureAdvanced = new ResourceLocation(
References.MODID.toLowerCase(),
"textures/models/EnergyBeamRed.png");
/**
* @param offsetMode 0 = no offset, 1 = offset target end, 2 = offset start end, 3 offset both ends
*/
public ParticleEnergyBeam(
World world,
double x,
double y,
double z,
double tX,
double tY,
double tZ,
int maxAge,
int flow,
boolean advanced,
int offsetMode) {
public ParticleEnergyBeam(World world, double x, double y, double z, double tX, double tY, double tZ, int maxAge,
int flow, boolean advanced, int offsetMode) {
super(world, x, y, z, 0.0D, 0.0D, 0.0D);
this.particleRed = 1F;
this.particleGreen = 1F;
@@ -88,14 +85,13 @@ public class ParticleEnergyBeam extends EntityFX {
this.tZ = tZ;
if (offsetMode > 0) {
double dist = Utills.getDistanceAtoB(x, z, tX, tZ);
double dist = Utils.getDistanceAtoB(x, z, tX, tZ);
if (dist == 0) dist = 0.1;
double xDist = x - tX;
double zDist = z - tZ;
double xOff = xDist / dist;
double zOff = zDist / dist;
if (xOff == 0 && zOff == 0) xOff = 1;
// LogHelper.info(xOff + " " + zOff);
double offM = 0.4D;
if (offsetMode == 2 || offsetMode == 3) setPosition(posX - xOff * offM, posY, posZ - zOff * offM);
@@ -116,8 +112,8 @@ public class ParticleEnergyBeam extends EntityFX {
@Override
public void onUpdate() {
// 1.570797f
// double sin = Math.sin(-1f + (float)(particleAge % 360) / 180f * 1.570797f);
// LogHelper.info(sin + " " + particleAge % 360);
// double sin = Math.sin(-1f + (float)(particleAge % 360) / 180f * 1.570797f);
// LogHelper.info(sin + " " + particleAge % 360);
this.prevPosX = this.posX;
this.prevPosY = this.posY;
@@ -149,8 +145,8 @@ public class ParticleEnergyBeam extends EntityFX {
}
@Override
public void renderParticle(
Tessellator tessellator, float partialTick, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
public void renderParticle(Tessellator tessellator, float partialTick, float rotX, float rotXZ, float rotZ,
float rotYZ, float rotXY) {
if (!renderParticle) return;
tessellator.draw();
GL11.glPushMatrix();
@@ -198,9 +194,9 @@ public class ParticleEnergyBeam extends EntityFX {
GL11.glRotatef(t * 90.0F, 0.0F, -1.0F, 0.0F);
}
if (ClientEventHandler.playerHoldingWrench) {
var44 = -0.15D * (double) 1;
var17 = 0.15D * (double) 1;
if (isPlayerHoldingWrench()) {
var44 = -0.15D;
var17 = 0.15D;
// GL11.glColor4f(1f, 1f, 1f, 1f);
// GL11.glTranslated(0.1, 0, 0);
@@ -226,7 +222,7 @@ public class ParticleEnergyBeam extends EntityFX {
// GL11.glDepthMask(true);
GL11.glBlendFunc(770, 771);
GL11.glEnable(GL11.GL_CULL_FACE);
// GL11.glPopAttrib();
// GL11.glPopAttrib();
GL11.glPopMatrix();
ResourceHandler.bindDefaultParticles();
@@ -240,4 +236,13 @@ public class ParticleEnergyBeam extends EntityFX {
public void setFlow(int flow) {
this.flow = flow;
}
private static boolean isPlayerHoldingWrench() {
final EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
if (player != null) {
final ItemStack heldItem = player.getHeldItem();
return heldItem != null && heldItem.getItem() == ModItems.wrench;
}
return false;
}
}
Loaded 100 of 665 files, more files were not shown because too many files have changed in this diff. Show more