Compare commits

...
24 Commits
Author SHA1 Message Date
Dream-Master 030a91397a bump version 2020-03-12 22:05:37 +01:00
Dream-Master be2a33caf6 bump version 2020-03-12 22:04:10 +01:00
Dream-Master 2286835f18 update gitignore 2020-03-12 22:02:06 +01:00
Martin Robertz 819c765b27 Merge pull request #8 from Zoko061602/master
Fixed Upgrades
2020-03-12 21:59:25 +01:00
Zoko061602 ab0de22156 Fixed Upgrades 2020-03-12 21:51:15 +01:00
Dream-Master a833d33948 bump version 2020-02-08 23:26:01 +01:00
Martin Robertz 8bf700dae1 Merge pull request #7 from Zoko061602/master
EnderIO 1.12 stuff
2020-02-08 23:10:56 +01:00
Zoko061602 06d0749766 Fixed missing localization 2020-02-08 21:33:51 +01:00
Zoko061602 fb64552ca4 Added more 1.12 content
- Added Generators
- Added Fluids
- made grindingBalls seperate Items
- Added solar Panel 3
2020-02-08 03:20:54 +01:00
Zoko061602 548d8d3d17 Add EndSteel Armor
- Added EndSteel Armor
- Added Capacitor
- Added Empowered 5
2020-02-05 01:25:27 +01:00
Dream-Master 7b02c75145 make gradle working 2020-02-03 23:45:14 +01:00
Dream-Master 91fe33272b Revert "update gradle"
This reverts commit d1a124e2be.
2020-02-03 23:24:01 +01:00
Dream-Master d1a124e2be update gradle 2020-02-03 23:20:59 +01:00
Dream-Master 0c3604467e bump version 2020-02-03 23:15:07 +01:00
Martin Robertz 921ab91124 Merge pull request #6 from Zoko061602/master
Added Grinding Balls and End Steel
2020-02-03 23:13:09 +01:00
Zoko061602 3ae96b3f35 Added Grinding Balls and End Steel 2020-02-03 22:38:49 +01:00
Martin Robertz d05257522e Merge pull request #5 from GTNewHorizons/revert-4-patch-3
Revert "Allow Galacticraft handles SoulBound itself"
2018-01-25 09:03:12 +01:00
Martin Robertz 3af0cb5421 Revert "Allow Galacticraft handles SoulBound itself" 2018-01-25 09:03:01 +01:00
Martin Robertz ca6f5954f3 Merge pull request #4 from Ugachaga/patch-3
Allow Galacticraft handles SoulBound itself
2018-01-25 07:17:32 +01:00
Ugachaga a5a61f9fe5 Allow Galacticraft handles SoulBound itself 2018-01-25 13:07:41 +07:00
Dream-Master 037e9a47ec bump version 2017-03-06 21:40:27 +01:00
Martin Robertz b646a594c4 Merge pull request #3 from Ugachaga/patch-2
Allow Baubles handle SoulBound itself
2017-03-06 21:36:20 +01:00
Ugachaga d5f78ad1f3 Allow Baubles handle SoulBound itself 2017-03-07 03:18:41 +07:00
Ugachaga 246633ca7b Fixed Googles chat message 2017-03-04 08:45:33 +07:00
135 changed files with 1988 additions and 521 deletions

No files matched your search

+8
View File
@@ -27,6 +27,14 @@
## gedit
*~
## minecraft files
/asm
/config
/saves
/logs
/crash-reports
## translation reports
resources/assets/enderio/lang/*.lang.txt
*.bat
libs/
+1 -2
View File
@@ -49,11 +49,10 @@ repositories {
mavenCentral()
maven { url = "http://mobiusstrip.eu/maven" }
maven { url = "http://chickenbones.net/maven/" }
maven { url = "http://dl.tsr.me/artifactory/libs-release-local" }
maven { url = "http://maven.tterrag.com" }
maven { url = "http://maven.ic2.player.to" }
maven { url = "http://maven.cil.li/" }
mavenLocal()
maven { url = "https://gregtech.overminddl1.com/" }
}
dependencies {
+3 -3
View File
@@ -1,8 +1,8 @@
minecraft_version=1.7.10
forge_version=10.13.4.1448-1.7.10
forgeDep_version=10.13.4.1448
forge_version=10.13.4.1614-1.7.10
forgeDep_version=10.13.4.1614
mod_version=2.3.0.431_beta
mod_version=2.3.1.0_beta
#Comment out this line to get rid of the appendix
#mod_appendix=beta
Binary file not shown.
+1 -2
View File
@@ -1,6 +1,5 @@
#Tue Aug 19 17:12:51 CDT 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip
@@ -136,6 +136,16 @@
<output>
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="7" exp="0.7" />
</output>
</recipe>
<recipe name="End Steel" energyCost="20000">
<input>
<itemStack modID="minecraft" itemName="end_stone" />
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="6" />
<itemStack modID="minecraft" itemName="obsidian" />
</input>
<output>
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="8" exp="0.7" />
</output>
</recipe>
<recipe name="Fused Quartz" energyCost="5000" >
<input>
@@ -236,6 +236,38 @@
<output>
<itemStack oreDictionary="dustEnderPearl" number="1" />
</output>
</recipe>
<recipe name="PulsatingCrystal" energyCost="1600" >
<input>
<itemStack oreDictionary="itemPulsatingCrystal" />
</input>
<output>
<itemStack oreDictionary="itemPulsatingPowder" number="1" />
</output>
</recipe>
<recipe name="VibrantCrystal" energyCost="1600" >
<input>
<itemStack oreDictionary="itemVibrantCrystal" />
</input>
<output>
<itemStack oreDictionary="itemVibrantPowder" number="1" />
</output>
</recipe>
<recipe name="Ender Crystal" energyCost="1600" >
<input>
<itemStack oreDictionary="itemEnderCrystal" />
</input>
<output>
<itemStack oreDictionary="itemEnderCrystalPowder" number="1" />
</output>
</recipe>
<recipe name="PrescienceCrystal" energyCost="1600" >
<input>
<itemStack oreDictionary="itemPrecientCrystal" />
</input>
<output>
<itemStack oreDictionary="itemPrecientPowder" number="1" />
</output>
</recipe>
</recipeGroup>
@@ -2959,12 +2991,50 @@
</recipeGroup>
<grindingBalls>
<grindingBall id="Flint" grindingMultiplier="1.2" chanceMultiplier="1.25" powerMultiplier="0.85" durationRF="24000" >
<itemStack oreDictionary="itemFlint" />
</grindingBall>
<grindingBall id="DarkSteelBall" grindingMultiplier="1.5" chanceMultiplier="2" powerMultiplier="0.7" durationRF="100000" >
<grindingBall id="DarkSteelBall2" grindingMultiplier="1.5" chanceMultiplier="2" powerMultiplier="0.7" durationRF="100000" >
<itemStack oreDictionary="itemDarkGrindingBall" />
</grindingBall>
<grindingBall id="ElectricalSteelBall" grindingMultiplier="1.2" chanceMultiplier="1.65" powerMultiplier="0.8" durationRF="40000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="0" />
</grindingBall>
<grindingBall id="EnergeticAlloyBall" grindingMultiplier="1.6" chanceMultiplier="1.1" powerMultiplier="1.1" durationRF="80000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="1" />
</grindingBall>
<grindingBall id="VibrantAlloyBall" grindingMultiplier="1.75" chanceMultiplier="1.35" powerMultiplier="1.35" durationRF="80000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="2" />
</grindingBall>
<grindingBall id="RedstoneAlloyBall" grindingMultiplier="1.00" chanceMultiplier="1.00" powerMultiplier="0.35" durationRF="30000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="3" />
</grindingBall>
<grindingBall id="ConductiveIronBall" grindingMultiplier="1.35" chanceMultiplier="1.00" powerMultiplier="1.0" durationRF="40000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="4" />
</grindingBall>
<grindingBall id="PulsatingIronBall" grindingMultiplier="1.0" chanceMultiplier="1.85" powerMultiplier="1.0" durationRF="100000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="5" />
</grindingBall>
<grindingBall id="DarkSteelBall" grindingMultiplier="1.5" chanceMultiplier="2" powerMultiplier="0.7" durationRF="100000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="6" />
</grindingBall>
<grindingBall id="SoulariumBall" grindingMultiplier="1.2" chanceMultiplier="2.15" powerMultiplier="0.9" durationRF="80000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="7" />
</grindingBall>
<grindingBall id="EndSteelBall" grindingMultiplier="1.4" chanceMultiplier="2.4" powerMultiplier="0.7" durationRF="75000" >
<itemStack modID="EnderIO" itemName="itemGrindingBall" itemMeta="8" />
</grindingBall>
<excludes>
<itemStack modID="minecraft" itemName="glowstone" />
@@ -61,6 +61,32 @@
<output>
<itemStack modID="EnderIO" itemName="itemFrankenSkull" itemMeta="3" />
</output>
</recipe>
<recipe name="Skeletal Contractor" energyCost="20000" >
<input>
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="7" slot="0" />
<itemStack modID="minecraft" itemName="skull" itemMeta="0" slot="1" />
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="7" slot="2" />
<itemStack modID="minecraft" itemName="rotten_flesh" itemMeta="0" slot="3" />
<itemStack oreDictionary="itemSilicon" slot="4" />
<itemStack modID="minecraft" itemName="rotten_flesh" itemMeta="0" slot="5" />
</input>
<output>
<itemStack modID="EnderIO" itemName="itemFrankenSkull" itemMeta="5" />
</output>
</recipe>
<recipe name="Guardian Diode" energyCost="20000" >
<input>
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="1" slot="0" />
<itemStack oreDictionary="gemDiamond" slot="1" />
<itemStack modID="EnderIO" itemName="itemAlloy" itemMeta="1" slot="2" />
<itemStack modID="EnderIO" itemName="itemMaterial" itemMeta="5" slot="3" />
<itemStack oreDictionary="itemSilicon" slot="4" />
<itemStack modID="EnderIO" itemName="itemMaterial" itemMeta="5" slot="5" />
</input>
<output>
<itemStack modID="EnderIO" itemName="itemFrankenSkull" itemMeta="6" />
</output>
</recipe>
</recipeGroup>
@@ -127,6 +127,26 @@
<output>
<fluidStack name="cloud_seed_concentrated" />
</output>
</recipe>
<recipe name="Ender Distillation" energyCost="15000">
<input>
<itemStack oreDictionary="itemPulsatingPowder" slot="0" multiplier="2" />
<itemStack oreDictionary="itemEnderCrystalPowder" slot="1" multiplier="2" />
<fluidStack name="nutrient_distillation" multiplier="1" />
</input>
<output>
<fluidStack name="ender_distillation" />
</output>
</recipe>
<recipe name="Vapor of Levity" energyCost="20000" >
<input>
<itemStack oreDictionary="itemPulsatingPowder" slot="0" multiplier="1" />
<itemStack oreDictionary="itemPrecientPowder" slot="1" multiplier="1" />
<fluidStack name="ender_distillation" multiplier="1" />
</input>
<output>
<fluidStack name="vapor_of_levity" />
</output>
</recipe>
</recipeGroup>
+87 -2
View File
@@ -127,6 +127,8 @@ enderio.conduitBinder.name=Conduit Binder
enderio.binderComposite.name=Binder Composite
enderio.phasedIronNugget.name=Pulsating Iron Nugget
tile.blockDarkIronBars.name=Dark Iron Bars
tile.blockSoulariumBars.name=Soularium Bars
tile.blockEndSteelBars.name=End Steel Bars
tile.blockEndermanSkull.name=Enderman Skull
tile.blockEndermanSkull.base.name=Enderman Head
tile.blockEndermanSkull.reanimated.name=Reanimated Enderman Head
@@ -173,6 +175,14 @@ fluid.cloud_seed_concentrated=Concentrated Cloud Seed
tile.fluid.cloud_seed_concentrated.name=Concentrated Cloud Seed
item.bucketCloud_seed_concentrated.name=Concentrated Cloud Seed Bucket
fluid.ender_distillation=Dew of the Void
tile.fluid.ender_distillation.name=Dew of the Void
item.bucketEnder_distillation.name=Dew of the Void Bucket
fluid.vapor_of_levity=Vapor of Levity
tile.fluid.vapor_of_levity.name=Vapor of Levity
item.bucketVapor_of_levity.name=Vapor of Levity Bucket
fluid.eio.xpjuice=Liquid XP
tile.fluid.eio.xpjuice.name=Liquid XP
item.bucketXpjuice.name=XP Bucket
@@ -190,16 +200,27 @@ enderio.gas.gasTick=Gas/t
enderio.itemMachinePart.name=Machine Parts
enderio.machineChassi.name=Machine Chassis
enderio.basicGear.name=Basic Gear
enderio.soulMachineChassi.name=Soul Machine Chassis
enderio.endSteelMachineChassi.name=End Steel Chassis
enderio.pulsatingCrystal.name=Pulsating Crystal
enderio.vibrantCrystal.name=Vibrant Crystal
enderio.enderCrystal.name=Ender Crystal
enderio.attractorCrystal.name=Enticing Crystal
enderio.weatherCrystal.name=Weather Crystal
enderio.darkGrindingBall.name=Dark Steel Ball
enderio.electricalGrindingBall.name=Electrical Steel Ball
enderio.energeticGrindingBall.name=Energetic Alloy Ball
enderio.vibrantGrindingBall.name=Vibrant Alloy Ball
enderio.redstoneGrindingBall.name=Redstone Alloy Ball
enderio.conductiveGrindingBall.name=Conductive Iron Ball
enderio.pulsatingGrindingBall.name=Pulsating Iron Ball
enderio.soulariumGrindingBall.name=Soularium Ball
enderio.endSteelGrindingBall.name=End Steel Ball
enderio.darkGrindingBall.tooltip.detailed.line1=SAG Mill Grinding Ball
enderio.darkGrindingBall.tooltip.detailed.line2=Main Output
enderio.darkGrindingBall.tooltip.detailed.line3=Bonus Output
enderio.darkGrindingBall.tooltip.detailed.line4=Power Reduction
enderio.darkSteelRod.name=Dark Steel Rod
tile.blockReinforcedObsidian.name=Reinforced Obsidian
tile.blockReinforcedObsidian.tooltip.common.line1=Wither Proof
@@ -227,6 +248,25 @@ enderio.phasedIron.name=Pulsating Iron
enderio.vibrantNugget.name=Vibrant Alloy Nugget
enderio.darkSteel.name=Dark Steel
enderio.soularium.name=Soularium
enderio.endSteel.name=End Steel
enderio.endSteelNugget.name=End Steel Nugget
enderio.precientCrystal.name=Precient Crystal
enderio.pulsatingPowder.name=Grains of Piezallity
enderio.vibrantPowder.name=Grains of Vibrancy
enderio.enderCrystalPowder.name=Grains of the End
enderio.precientPowder.name=Grains of Prescience
//Balls
enderio.electricalSteel_ball.name=Electrical Steel Ball
enderio.energeticAlloy_ball.name=Energetic Alloy Ball
enderio.phasedGold_ball.name=Vibrant Alloy Ball
enderio.redstoneAlloy_ball.name=Redstone Alloy Ball
enderio.conductiveIron_ball.name=Conductive Iron Ball
enderio.phasedIron_ball.name=Pulsating Iron Ball
enderio.vibrantNugget_ball.name=Vibrant Alloy Nugget Ball
enderio.darkSteel_ball.name=Dark Steel Ball
enderio.soularium_ball.name=Soularium Ball
enderio.endSteel_ball.name=End Steel Ball
tile.blockIngotStorage.name=Ingot Storage
tile.enderio.electricalSteel.name=Electrical Steel Block
@@ -238,6 +278,7 @@ tile.enderio.phasedIron.name=Pulsating Iron Block
tile.enderio.vibrantNugget.name=Vibrant Nugget Block
tile.enderio.darkSteel.name=Dark Steel Block
tile.enderio.soularium.name=Soularium Block
tile.enderio.endSteel.name=End Steel Block
//Powder / Ingot
enderio.powderCoal.name=Coal Powder
@@ -254,6 +295,7 @@ enderio.itemBasicCapacitor.name=Capacitor
enderio.basicCapacitor.name=Basic Capacitor
enderio.activatedCapacitor.name=Double-Layer Capacitor
enderio.enderCapacitor.name=Octadic Capacitor
enderio.melodicCapacitor.name=Melodic Capacitor
enderio.machine.tooltip.upgrade=Machine Upgrade
enderio.machine.tooltip.upgrade.tooltip.detailed.line1=Increases energy storage and
@@ -283,6 +325,7 @@ tile.blockAlloySmelter.tooltip.detailed.line5=speed and energy storage
tile.blockSolarPanel.name=Photovoltaic Cell
tile.blockSolarPanel.advanced.name=Advanced Photovoltaic Cell
tile.blockSolarPanel.vibrant.name=Vibrant Photovoltaic Cell
tile.blockSolarPanel.tooltip.common.line1=Solar Power!
tile.blockSolarPanel.tooltip.detailed.line1=Produces power during daylight hours
tile.blockSolarPanel.tooltip.detailed.line2=Must have a clear line of sight to
@@ -412,6 +455,16 @@ tile.blockZombieGenerator.tooltip.detailed.line2=to generate power
enderio.zombieGenerator.fuelTank=Nutrient Tank
enderio.gui.fluid.minReq=%s Required for activation
tile.blockFrankenzombieGenerator.name=Frank'N'Zombie Generator
tile.blockFrankenzombieGenerator.tooltip.detailed.line1=Consumes Nutrient Distillation
tile.blockFrankenzombieGenerator.tooltip.detailed.line2=to generate even more power
enderio.frankenzombieGenerator.fuelTank=Nutrient Tank
tile.blockEnderGenerator.name=Ender Generator
tile.blockEnderGenerator.tooltip.detailed.line1=Consumes Dew of the Void
tile.blockEnderGenerator.tooltip.detailed.line2=to generate power
enderio.enderGenerator.fuelTank=Void Tank
tile.blockKillerJoe.name=Killer Joe
tile.blockKillerJoe.tooltip.detailed.line1=Attacks nearby creatures when
tile.blockKillerJoe.tooltip.detailed.line2=supplied with a sword and
@@ -698,6 +751,8 @@ skullZombieController.name=Z-Logic Controller
skullZombieFrankenstien.name=Frank'N'Zombie
skullEnderResonator.name=Ender Resonator
skullSentientEnder.name=Sentient Ender
skullSkeletalContractor.name=Skeletal Contractor
skullGuardianDiode.name=Guardian Diode
item.itemSpawnEggEnderIO.name=Spawn
@@ -711,13 +766,28 @@ item.darkSteel_pickaxe.name=Dark Pick
item.darkSteel_axe.name=Dark Axe
item.darkSteel_shears.name=Dark Shears
//End Steel
item.endSteel_helmet.name=End Steel Helm
item.endSteel_chestplate.name=End Steel Plate
item.endSteel_leggings.name=End Steel Leggings
item.endSteel_boots.name=End Steel Boots
item.endSteel_sword.name=The Ender MKII
item.endSteel_pickaxe.name=End Steel Pick
item.endSteel_axe.name=End Steel Axe
enderio.item.darkSteel.tooltip.lvs=lvs
enderio.item.darkSteel_pickaxe.tooltip.effPowered=Efficiency when powered
enderio.item.darkSteel_pickaxe.tooltip.effObs=Efficiency breaking obsidian
enderio.item.darkSteel_pickaxe.tooltip.cost=cost
enderio.item.endSteel_pickaxe.tooltip.effPowered=Efficiency when powered
enderio.item.endSteel_pickaxe.tooltip.effObs=Efficiency breaking obsidian
enderio.item.endSteel_pickaxe.tooltip.cost=cost
enderio.item.darkSteel_axe.tooltip.multiHarvest=Sneak to harvest multiple logs
enderio.item.endSteel_axe.tooltip.multiHarvest=Sneak to harvest multiple logs
enderio.item.darkSteel_shears.tooltip.multiHarvest=Shears multiple blocks/sheep when empowered
@@ -725,11 +795,18 @@ enderio.item.darkSteel_sword.tooltip.line1=Increased skull and ender pearl drops
enderio.item.darkSteel_sword.tooltip.line2=Endermen can't teleport once hit
enderio.item.darkSteel_sword.tooltip.line3=+2 Damage when Powered
enderio.item.endSteel_sword.tooltip.line1=Increased skull and ender pearl drops
enderio.item.endSteel_sword.tooltip.line2=Endermen can't teleport once hit
enderio.item.endSteel_sword.tooltip.line3=+2 Damage when Powered
enderio.item.darkSteel_armor.tooltip.line1=Diamond level protection
enderio.item.darkSteel_armor.tooltip.line2=when powered
enderio.item.darkSteel_boots.tooltip.line1=Fall damage negated
enderio.item.darkSteel_boots.tooltip.line2=when powered
enderio.item.endSteel_armor.tooltip.line1=Diamond+ level protection
enderio.item.endSteel_armor.tooltip.line2=when powered
enderio.item.endSteel_boots.tooltip.line1=Fall damage negated
enderio.item.endSteel_boots.tooltip.line2=when powered
enderio.darksteel.upgrade.empowered_one.name=Empowered
enderio.darksteel.upgrade.empowered_one.tooltip.detailed.line1=Power: $P
@@ -751,6 +828,11 @@ enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line1=Power: $P
enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line2=$D% damage absorbed
enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line3=by power
enderio.darksteel.upgrade.empowered_five.name=Empowered V
enderio.darksteel.upgrade.empowered_five.tooltip.detailed.line1=Power: $P
enderio.darksteel.upgrade.empowered_five.tooltip.detailed.line2=$D% damage absorbed
enderio.darksteel.upgrade.empowered_five.tooltip.detailed.line3=by power
enderio.darksteel.upgrade.travel.name=Travel
enderio.darksteel.upgrade.travel.tooltip.detailed.line1=Hold shift and R-Click to teleport or
enderio.darksteel.upgrade.travel.tooltip.detailed.line2=activate a travel anchor or Ender IO
@@ -834,6 +916,9 @@ enderio.darksteel.upgrade.solar_one.tooltip.detailed.line1=Generates power from
enderio.darksteel.upgrade.solar_two.name=Solar II
enderio.darksteel.upgrade.solar_two.tooltip.detailed.line1=Generates power from the sun.
enderio.darksteel.upgrade.solar_three.name=Solar III
enderio.darksteel.upgrade.solar_three.tooltip.detailed.line1=Generates power from the sun.
//------GUI
enderio.gui.simple.in=Max In:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

@@ -0,0 +1,3 @@
{
"animation": {}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

@@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

@@ -0,0 +1,4 @@
{
"animation": {
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

@@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,27 @@
{
"animation": {
"frametime": 1,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

@@ -0,0 +1,33 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
2,
3,
4,
5,
5,
4,
3,
2,
1,
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 B

@@ -0,0 +1,10 @@
{
"animation": {
"frames": [
{"index":0, "time":140},
{"index":1, "time":2},
{"index":0, "time":155},
{"index":1, "time":3}
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -151,12 +151,12 @@ public class ClientProxy extends CommonProxy {
// @formatter:off
public static int[][] sideAndFacingToSpriteOffset = new int[][] {
{ 3, 2, 0, 0, 0, 0 },
{ 2, 3, 1, 1, 1, 1 },
{ 1, 1, 3, 2, 5, 4 },
{ 0, 0, 2, 3, 4, 5 },
{ 4, 5, 4, 5, 3, 2 },
{ 5, 4, 5, 4, 2, 3 }
{ 3, 2, 0, 0, 0, 0 },
{ 2, 3, 1, 1, 1, 1 },
{ 1, 1, 3, 2, 5, 4 },
{ 0, 0, 2, 3, 4, 5 },
{ 4, 5, 4, 5, 3, 2 },
{ 5, 4, 5, 4, 2, 3 }
};
// @formatter:on
@@ -201,7 +201,7 @@ public class ClientProxy extends CommonProxy {
public void setCbr(ConduitBundleRenderer cbr) {
this.cbr = cbr;
}
@Override
public void loadIcons() {
RedstoneConduit.initIcons();
@@ -295,6 +295,8 @@ public class ClientProxy extends CommonProxy {
ZombieGeneratorRenderer zgr = new ZombieGeneratorRenderer();
ClientRegistry.bindTileEntitySpecialRenderer(TileZombieGenerator.class, zgr);
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(EnderIO.blockZombieGenerator), zgr);
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(EnderIO.blockFrankenZombieGenerator), zgr);
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(EnderIO.blockEnderGenerator), zgr);
KillerJoeRenderer kjr = new KillerJoeRenderer();
ClientRegistry.bindTileEntitySpecialRenderer(TileKillerJoe.class, kjr);
+78 -37
View File
@@ -48,6 +48,7 @@ import crazypants.enderio.conduit.item.ItemExtractSpeedUpgrade;
import crazypants.enderio.conduit.item.ItemFunctionUpgrade;
import crazypants.enderio.conduit.item.ItemItemConduit;
import crazypants.enderio.conduit.item.filter.ItemBasicItemFilter;
import crazypants.enderio.conduit.item.filter.ItemBigItemFilter;
import crazypants.enderio.conduit.item.filter.ItemExistingItemFilter;
import crazypants.enderio.conduit.item.filter.ItemModItemFilter;
import crazypants.enderio.conduit.item.filter.ItemPowerItemFilter;
@@ -92,6 +93,8 @@ import crazypants.enderio.machine.farm.FarmersRegistry;
import crazypants.enderio.machine.generator.combustion.BlockCombustionGenerator;
import crazypants.enderio.machine.generator.stirling.BlockStirlingGenerator;
import crazypants.enderio.machine.generator.zombie.BlockZombieGenerator;
import crazypants.enderio.machine.generator.zombie.BlockZombieGenerator.BlockEnderGenerator;
import crazypants.enderio.machine.generator.zombie.BlockZombieGenerator.BlockFrankenZombieGenerator;
import crazypants.enderio.machine.generator.zombie.PacketNutrientTank;
import crazypants.enderio.machine.hypercube.BlockHyperCube;
import crazypants.enderio.machine.hypercube.HyperCubeRegister;
@@ -134,13 +137,16 @@ import crazypants.enderio.machine.vat.BlockVat;
import crazypants.enderio.machine.vat.VatRecipeManager;
import crazypants.enderio.machine.wireless.BlockWirelessCharger;
import crazypants.enderio.material.Alloy;
import crazypants.enderio.material.BlockDarkIronBars;
import crazypants.enderio.material.BlockDarkSteelBars;
import crazypants.enderio.material.BlockDarkSteelBars.BlockEndSteelBars;
import crazypants.enderio.material.BlockDarkSteelBars.BlockSoulariumBars;
import crazypants.enderio.material.BlockFusedQuartz;
import crazypants.enderio.material.BlockIngotStorage;
import crazypants.enderio.material.ItemAlloy;
import crazypants.enderio.material.ItemCapacitor;
import crazypants.enderio.material.ItemFrankenSkull;
import crazypants.enderio.material.ItemFusedQuartzFrame;
import crazypants.enderio.material.ItemGrindingBall;
import crazypants.enderio.material.ItemMachinePart;
import crazypants.enderio.material.ItemMaterial;
import crazypants.enderio.material.ItemPowderIngot;
@@ -189,13 +195,16 @@ public class EnderIO {
// Materials
public static ItemCapacitor itemBasicCapacitor;
public static ItemAlloy itemAlloy;
public static ItemAlloy itemGrindingBall;
public static BlockFusedQuartz blockFusedQuartz;
public static ItemFusedQuartzFrame itemFusedQuartzFrame;
public static ItemMachinePart itemMachinePart;
public static ItemPowderIngot itemPowderIngot;
public static ItemMaterial itemMaterial;
public static BlockIngotStorage blockIngotStorage;
public static BlockDarkIronBars blockDarkIronBars;
public static BlockDarkSteelBars blockDarkIronBars;
public static BlockSoulariumBars blockSoulariumBars;
public static BlockEndSteelBars blockEndSteelBars;
public static ItemEnderFood itemEnderFood;
// Enderface
@@ -231,6 +240,7 @@ public class EnderIO {
public static ItemMEConduit itemMEConduit;
public static ItemOCConduit itemOCConduit;
public static ItemBasicItemFilter itemBasicFilterUpgrade;
public static ItemBigItemFilter itemBigFilterUpgrade;
public static ItemExistingItemFilter itemExistingItemFilter;
public static ItemModItemFilter itemModItemFilter;
public static ItemPowerItemFilter itemPowerItemFilter;
@@ -241,6 +251,8 @@ public class EnderIO {
public static BlockStirlingGenerator blockStirlingGenerator;
public static BlockCombustionGenerator blockCombustionGenerator;
public static BlockZombieGenerator blockZombieGenerator;
public static BlockFrankenZombieGenerator blockFrankenZombieGenerator;
public static BlockEnderGenerator blockEnderGenerator;
public static BlockSolarPanel blockSolarPanel;
public static BlockReservoir blockReservoir;
public static BlockAlloySmelter blockAlloySmelter;
@@ -299,19 +311,27 @@ public class EnderIO {
public static Fluid fluidFireWater;
public static BlockFluidEio blockFireWater;
public static ItemBucketEio itemBucketFireWater;
public static Fluid fluidLiquidSunshine;
public static Fluid fluidCloudSeed;
public static Fluid fluidCloudSeedConcentrated;
public static BlockFluidEio blockLiquidSunshine;
public static BlockFluidEio blockCloudSeed;
public static BlockFluidEio blockCloudSeedConcentrated;
public static Fluid fluidLiquidSunshine;
public static BlockFluidEio blockLiquidSunshine;
public static ItemBucketEio itemBucketLiquidSunshine;
public static Fluid fluidCloudSeed;
public static BlockFluidEio blockCloudSeed;
public static ItemBucketEio itemBucketCloudSeed;
public static Fluid fluidCloudSeedConcentrated;
public static BlockFluidEio blockCloudSeedConcentrated;
public static ItemBucketEio itemBucketCloudSeedConcentrated;
public static Fluid fluidEnderDistillation;
public static BlockFluidEio blockEnderDistillation;
public static ItemBucketEio itemBucketEnderDistillation;
public static Fluid fluidVapourOfLevity;
public static BlockFluidEio blockVapourOfLevity;
public static ItemBucketEio itemBucketVapourOfLevity;
//Open block compatable liquid XP
public static Fluid fluidXpJuice;
public static ItemBucketEio itemBucketXpJuice;
@@ -328,11 +348,11 @@ public class EnderIO {
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
EnderIOCrashCallable.create();
Config.load(event);
proxy.loadIcons();
ConduitGeometryUtil.setupBounds((float) Config.conduitScale);
@@ -340,6 +360,8 @@ public class EnderIO {
blockStirlingGenerator = BlockStirlingGenerator.create();
blockCombustionGenerator = BlockCombustionGenerator.create();
blockZombieGenerator = BlockZombieGenerator.create();
blockFrankenZombieGenerator = BlockFrankenZombieGenerator.create();
blockEnderGenerator = BlockEnderGenerator.create();
blockSolarPanel = BlockSolarPanel.create();
blockCrusher = BlockCrusher.create();
@@ -422,6 +444,7 @@ public class EnderIO {
itemOCConduit = ItemOCConduit.create();
itemBasicFilterUpgrade = ItemBasicItemFilter.create();
// itemBigFilterUpgrade = ItemBigItemFilter.create();
itemExistingItemFilter = ItemExistingItemFilter.create();
itemModItemFilter = ItemModItemFilter.create();
itemPowerItemFilter = ItemPowerItemFilter.create();
@@ -432,6 +455,7 @@ public class EnderIO {
itemMachinePart = ItemMachinePart.create();
itemMaterial = ItemMaterial.create();
itemAlloy = ItemAlloy.create();
itemGrindingBall = ItemGrindingBall.create();
itemPowderIngot = ItemPowderIngot.create();
registerFluids();
@@ -447,8 +471,11 @@ public class EnderIO {
blockIngotStorage = BlockIngotStorage.create();
blockDarkIronBars = BlockDarkIronBars.create();
blockDarkIronBars = BlockDarkSteelBars.create();
blockSoulariumBars = BlockSoulariumBars.create();
blockEndSteelBars = BlockEndSteelBars.create();
itemEnderFood = ItemEnderFood.create();
DarkSteelItems.createDarkSteelArmorItems();
@@ -467,52 +494,63 @@ public class EnderIO {
}
private void registerFluids() {
Fluid f = new Fluid(Fluids.NUTRIENT_DISTILLATION_NAME).setDensity(1500).setViscosity(3000);
Fluid f = new Fluid(Fluids.NUTRIENT_DISTILLATION).setDensity(1500).setViscosity(3000);
FluidRegistry.registerFluid(f);
fluidNutrientDistillation = FluidRegistry.getFluid(f.getName());
blockNutrientDistillation = BlockFluidEio.create(fluidNutrientDistillation, Material.water);
blockNutrientDistillation = BlockFluidEio.NutrientDistillation.create(fluidNutrientDistillation, Material.water);
PacketHandler.INSTANCE.registerMessage(PacketNutrientTank.class, PacketNutrientTank.class, PacketHandler.nextID(), Side.CLIENT);
f = new Fluid(Fluids.HOOTCH_NAME).setDensity(900).setViscosity(1000);
f = new Fluid(Fluids.HOOTCH).setDensity(900).setViscosity(1000);
FluidRegistry.registerFluid(f);
fluidHootch = FluidRegistry.getFluid(f.getName());
blockHootch = BlockFluidEio.create(fluidHootch, Material.water);
blockHootch = BlockFluidEio.Hootch.create(fluidHootch, Material.water);
FluidFuelRegister.instance.addFuel(f, Config.hootchPowerPerCycleRF, Config.hootchPowerTotalBurnTime);
FMLInterModComms.sendMessage("Railcraft", "boiler-fuel-liquid", Fluids.HOOTCH_NAME + "@"
FMLInterModComms.sendMessage("Railcraft", "boiler-fuel-liquid", Fluids.HOOTCH + "@"
+ (Config.hootchPowerPerCycleRF / 10 * Config.hootchPowerTotalBurnTime));
f = new Fluid(Fluids.ROCKET_FUEL_NAME).setDensity(900).setViscosity(1000);
f = new Fluid(Fluids.ROCKET_FUEL).setDensity(900).setViscosity(1000);
FluidRegistry.registerFluid(f);
fluidRocketFuel = FluidRegistry.getFluid(f.getName());
blockRocketFuel = BlockFluidEio.create(fluidRocketFuel, Material.water);
blockRocketFuel = BlockFluidEio.RocketFuel.create(fluidRocketFuel, Material.water);
FluidFuelRegister.instance.addFuel(f, Config.rocketFuelPowerPerCycleRF, Config.rocketFuelPowerTotalBurnTime);
FMLInterModComms.sendMessage("Railcraft", "boiler-fuel-liquid", Fluids.ROCKET_FUEL_NAME + "@"
FMLInterModComms.sendMessage("Railcraft", "boiler-fuel-liquid", Fluids.ROCKET_FUEL + "@"
+ (Config.rocketFuelPowerPerCycleRF / 10 * Config.rocketFuelPowerTotalBurnTime));
f = new Fluid(Fluids.FIRE_WATER_NAME).setDensity(900).setViscosity(1000).setTemperature(FluidRegistry.LAVA.getTemperature() * 2);
f = new Fluid(Fluids.FIRE_WATER).setDensity(900).setViscosity(1000).setTemperature(FluidRegistry.LAVA.getTemperature() * 2);
FluidRegistry.registerFluid(f);
fluidFireWater = FluidRegistry.getFluid(f.getName());
blockFireWater = BlockFluidEio.create(fluidFireWater, Material.lava);
blockFireWater = BlockFluidEio.FireWater.create(fluidFireWater, Material.lava);
FluidFuelRegister.instance.addFuel(f, Config.fireWaterPowerPerCycleRF, Config.fireWaterPowerTotalBurnTime);
FMLInterModComms.sendMessage("Railcraft", "boiler-fuel-liquid", Fluids.FIRE_WATER_NAME + "@"
FMLInterModComms.sendMessage("Railcraft", "boiler-fuel-liquid", Fluids.FIRE_WATER + "@"
+ (Config.fireWaterPowerPerCycleRF / 10 * Config.fireWaterPowerTotalBurnTime));
f = new Fluid(Fluids.LIQUID_SUNSHINE_NAME).setDensity(200).setViscosity(400);
f = new Fluid(Fluids.LIQUID_SUNSHINE).setDensity(200).setViscosity(400);
FluidRegistry.registerFluid(f);
fluidLiquidSunshine = FluidRegistry.getFluid(f.getName());
blockLiquidSunshine = BlockFluidEio.create(fluidLiquidSunshine, Material.water);
f = new Fluid(Fluids.CLOUD_SEED_NAME).setDensity(500).setViscosity(800);
f = new Fluid(Fluids.CLOUD_SEED).setDensity(500).setViscosity(800);
FluidRegistry.registerFluid(f);
fluidCloudSeed = FluidRegistry.getFluid(f.getName());
blockCloudSeed = BlockFluidEio.create(fluidCloudSeed, Material.water);
f = new Fluid(Fluids.CLOUD_SEED_CONCENTRATED_NAME).setDensity(1000).setViscosity(1200);
f = new Fluid(Fluids.CLOUD_SEED_CONCENTRATED).setDensity(1000).setViscosity(1200);
FluidRegistry.registerFluid(f);
fluidCloudSeedConcentrated = FluidRegistry.getFluid(f.getName());
blockCloudSeedConcentrated = BlockFluidEio.create(fluidCloudSeedConcentrated, Material.water);
blockCloudSeedConcentrated = BlockFluidEio.CloudSeedConcentrated.create(fluidCloudSeedConcentrated, Material.water);
f = new Fluid(Fluids.ENDER_DISTILLATION).setDensity(200).setViscosity(1000).setTemperature(175);
FluidRegistry.registerFluid(f);
fluidEnderDistillation = FluidRegistry.getFluid(f.getName());
blockEnderDistillation = BlockFluidEio.create(fluidEnderDistillation, Material.water);
f = new Fluid(Fluids.VAPOR_OF_LEVITY).setDensity(-10).setViscosity(100).setTemperature(5).setGaseous(true);
FluidRegistry.registerFluid(f);
fluidVapourOfLevity = FluidRegistry.getFluid(f.getName());
blockVapourOfLevity = BlockFluidEio.VapourOfLevity.create(fluidVapourOfLevity, Material.water);
FluidFuelRegister.instance.addCoolant(f, 0.0314f);
if (!Loader.isModLoaded("OpenBlocks")) {
Log.info("XP Juice registered by Ender IO.");
fluidXpJuice = new Fluid(Config.xpJuiceName).setLuminosity(10).setDensity(800).setViscosity(1500).setUnlocalizedName("eio.xpjuice");
@@ -529,6 +567,9 @@ public class EnderIO {
itemBucketLiquidSunshine = ItemBucketEio.create(fluidLiquidSunshine);
itemBucketCloudSeed = ItemBucketEio.create(fluidCloudSeed);
itemBucketCloudSeedConcentrated = ItemBucketEio.create(fluidCloudSeedConcentrated);
itemBucketEnderDistillation = ItemBucketEio.create(fluidEnderDistillation);
itemBucketVapourOfLevity = ItemBucketEio.create(fluidVapourOfLevity);
}
@EventHandler
@@ -617,7 +658,7 @@ public class EnderIO {
ItemRecipes.addRecipes();
TeleportRecipes.addRecipes();
EE3Util.registerMiscRecipes();
proxy.load();
}
@@ -628,7 +669,7 @@ public class EnderIO {
//Regsiter the enchants
Enchantments.getInstance();
//This must be loaded before parsing the recipes so we get the preferred outputs
OreDictionaryPreferences.loadConfig();
@@ -641,7 +682,7 @@ public class EnderIO {
SoulBinderRecipeManager.getInstance().addDefaultRecipes();
PaintSourceValidator.instance.loadConfig();
if(fluidXpJuice == null) { //should have been registered by open blocks
if(fluidXpJuice == null) { //should have been registered by open blocks
fluidXpJuice = FluidRegistry.getFluid(getXPJuiceName());
if(fluidXpJuice == null) {
Log.error("Liquid XP Juice registration left to open blocks but could not be found.");
@@ -667,7 +708,7 @@ public class EnderIO {
}
addModIntegration();
//Register villagers
FMLInterModComms.sendMessage("EnderStructures", "addResourcePath", "/assets/enderio/villagers");
FMLInterModComms.sendMessage("EnderStructures", "registerVillageGenerator", "enderioMobDropVillager");
@@ -714,7 +755,7 @@ public class EnderIO {
Log.info("Failed to registered Capacitor Banks as Tinkers Construct Flux Upgrades");
}
}
ThaumcraftCompat.load();
}
@@ -13,8 +13,9 @@ public enum ModObject {
itemItemConduit,
itemGasConduit,
itemMEConduit,
itemOCConduit,
itemOCConduit,
itemBasicFilterUpgrade,
itemBigFilterUpgrade,
itemExistingItemFilter,
itemModItemFilter,
itemPowerItemFilter,
@@ -30,17 +31,22 @@ public enum ModObject {
// Materials
itemBasicCapacitor,
itemAlloy,
itemGrindingBall,
itemMaterial,
itemMachinePart,
itemPowderIngot,
blockFusedQuartz,
itemFusedQuartzFrame,
blockDarkIronBars,
blockSoulariumBars,
blockEndSteelBars,
// Machines
blockStirlingGenerator,
blockCombustionGenerator,
blockZombieGenerator,
blockFrankenzombieGenerator,
blockEnderGenerator,
blockReservoir,
blockAlloySmelter,
blockSolarPanel,
@@ -104,12 +110,12 @@ public enum ModObject {
itemTravelStaff,
itemMagnet,
itemGliderWing,
blockEndermanSkull,
itemSoulVessel,
itemFrankenSkull,
blockEndermanSkull,
itemSoulVessel,
itemFrankenSkull,
blockEnderRail,
itemEnderFood;
public final String unlocalisedName;
@@ -0,0 +1,64 @@
package crazypants.enderio.conduit.item.filter;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.EnderIOTab;
import crazypants.enderio.ModObject;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
public class ItemBigItemFilter extends ItemBasicItemFilter {
public static ItemBigItemFilter create() {
ItemBigItemFilter result = new ItemBigItemFilter();
result.init();
return result;
}
private final IIcon[] icons;
protected ItemBigItemFilter() {
setCreativeTab(EnderIOTab.tabEnderIO);
setUnlocalizedName(ModObject.itemBigFilterUpgrade.unlocalisedName);
setHasSubtypes(true);
setMaxDamage(0);
setMaxStackSize(64);
icons = new IIcon[2];
}
protected void init() {
GameRegistry.registerItem(this, ModObject.itemBigFilterUpgrade.unlocalisedName);
}
@Override
public IItemFilter createFilterFromStack(ItemStack stack) {
int damage = MathHelper.clamp_int(stack.getItemDamage(), 0, 1);
ItemFilter filter;
if(damage == 0) {
filter = new ItemFilter(30,false);
} else {
filter = new ItemFilter(30,true);
}
if(stack.stackTagCompound != null && stack.stackTagCompound.hasKey("filter")) {
filter.readFromNBT(stack.stackTagCompound.getCompoundTag("filter"));
}
return filter;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister IIconRegister) {
icons[0] = IIconRegister.registerIcon("enderio:filterUpgradeBig");
icons[1] = IIconRegister.registerIcon("enderio:filterUpgradeBigAdvanced");
}
@Override
public String getUnlocalizedName(ItemStack par1ItemStack) {
int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, 1);
return i == 0 ? "enderio.filterUpgradeBig" : "enderio.filterUpgradeBigAdvanced";
}
}
@@ -49,7 +49,7 @@ public class ItemFilter implements IInventory, IItemFilter {
final List<int[]> oreIds;
private boolean isAdvanced;
private boolean isAdvanced;
public void copyFrom(ItemFilter o) {
isBlacklist = o.isBlacklist;
@@ -67,12 +67,12 @@ public class ItemFilter implements IInventory, IItemFilter {
public ItemFilter() {
this(5, false);
}
public ItemFilter(boolean advanced) {
this(advanced ? 10 : 5, advanced);
}
private ItemFilter(int numItems, boolean isAdvanced) {
public ItemFilter(int numItems, boolean isAdvanced) {
this.isAdvanced = isAdvanced;
items = new ItemStack[numItems];
oreIds = new ArrayList<int[]>(numItems);
@@ -119,7 +119,7 @@ public class ItemFilter implements IInventory, IItemFilter {
matched = false;
} else if(matchNBT && !isNBTMatch(item, it)) {
matched = false;
}
}
}
if(!matched && useOreDict && isOreDicMatch(i, item)) {
matched = true;
@@ -147,10 +147,10 @@ public class ItemFilter implements IInventory, IItemFilter {
return true;
}
}
}
}
return false;
}
private boolean isNBTMatch(ItemStack filter, ItemStack item)
{
if (filter.stackTagCompound == null && item.stackTagCompound == null) return true;
@@ -163,7 +163,7 @@ public class ItemFilter implements IInventory, IItemFilter {
return filterTag.equals(itemTag);
}
private int[] getCachedIds(int filterItemIndex) {
private int[] getCachedIds(int filterItemIndex) {
int[] res = oreIds.get(filterItemIndex);
if(res == null) {
ItemStack item = items[filterItemIndex];
@@ -280,13 +280,13 @@ public class ItemFilter implements IInventory, IItemFilter {
isAdvanced = nbtRoot.getBoolean("isAdvanced");
fuzzyMode = FuzzyMode.values()[nbtRoot.getByte("fuzzyMode") & 255];
int numItems = isAdvanced ? 10 : 5;
int numItems = items.length;
items = new ItemStack[numItems];
oreIds.clear();
for(int i=0;i<numItems;i++) {
oreIds.add(null);
}
for (int i = 0; i < numItems; i++) {
for (int i = 0; i < numItems; i++) {
NBTBase tag = nbtRoot.getTag("item" + i);
if(tag instanceof NBTTagCompound) {
items[i] = ItemStack.loadItemStackFromNBT((NBTTagCompound) tag);
@@ -366,7 +366,7 @@ public class ItemFilter implements IInventory, IItemFilter {
}
@Override
public void markDirty() {
public void markDirty() {
}
@Override
@@ -391,8 +391,8 @@ public class ItemFilter implements IInventory, IItemFilter {
public void createGhostSlots(List<GhostSlot> slots, int xOffset, int yOffset, Runnable cb) {
int topY = yOffset;
int leftX = xOffset;
int index = 0;
int numRows = isAdvanced ? 2 : 1;
int index = 0;
int numRows = (int) Math.ceil(items.length/5);
for (int row = 0; row < numRows; ++row) {
for (int col = 0; col < 5; ++col) {
int x = leftX + col * 18;
@@ -404,14 +404,14 @@ public class ItemFilter implements IInventory, IItemFilter {
}
@Override
public int getSlotCount() {
public int getSlotCount() {
return getSizeInventory();
}
public boolean isAdvanced() {
public boolean isAdvanced() {
return isAdvanced;
}
public boolean isDefault() {
return !isAdvanced && !isValid() && isBlacklist == DEFAULT_BLACKLIST &&
matchMeta == DEFAULT_META &&
@@ -116,7 +116,7 @@ public final class Config {
public static boolean useSneakMouseWheelYetaWrench = true;
public static boolean useSneakRightClickYetaWrench = false;
public static int yetaWrenchOverlayMode = 0;
public static boolean itemConduitUsePhyscialDistance = false;
public static int enderFluidConduitExtractRate = 200;
@@ -157,11 +157,13 @@ public final class Config {
public static int enderIoRange = 8;
public static boolean enderIoMeAccessEnabled = true;
public static double[] darkSteelPowerDamgeAbsorptionRatios = {0.5, 0.6, 0.75, 0.95};
public static double[] darkSteelPowerDamgeAbsorptionRatios = {0.5, 0.6, 0.7, 0.85, 0.95};
public static int darkSteelPowerStorageBase = 100000;
public static int darkSteelPowerStorageLevelOne = 150000;
public static int darkSteelPowerStorageLevelTwo = 250000;
public static int darkSteelPowerStorageLevelThree = 1000000;
public static int darkSteelPowerStorageLevelFour = 2500000;
public static float darkSteelSpeedOneWalkModifier = 0.1f;
public static float darkSteelSpeedTwoWalkMultiplier = 0.2f;
@@ -225,6 +227,7 @@ public final class Config {
public static int darkSteelUpgradePowerOneCost = 10;
public static int darkSteelUpgradePowerTwoCost = 15;
public static int darkSteelUpgradePowerThreeCost = 20;
public static int darkSteelUpgradePowerFourCost = 25;
public static int darkSteelGliderCost = 10;
public static double darkSteelGliderHorizontalSpeed = 0.03;
@@ -250,6 +253,9 @@ public final class Config {
public static int darkSteelSolarOneCost = 15;
public static int darkSteelSolarTwoGen = 40;
public static int darkSteelSolarTwoCost = 30;
public static int darkSteelSolarThreeGen = 160;
public static int darkSteelSolarThreeCost = 40;
public static boolean darkSteelSolarChargeOthers = true;
public static float darkSteelAnvilDamageChance = 0.024f;
@@ -266,9 +272,16 @@ public final class Config {
public static int maxPhotovoltaicOutputRF = 10;
public static int maxPhotovoltaicAdvancedOutputRF = 40;
public static int maxPhotovoltaicVibrantOutputRF = 160;
public static int zombieGeneratorRfPerTick = 80;
public static int zombieGeneratorTicksPerBucketFuel = 10000;
public static int zombieGeneratorTicksPerBucketFuel = 12000;
public static int frankenzombieGeneratorRfPerTick = 120;
public static int frankenzombieGeneratorTicksPerBucketFuel = 12000;
public static int enderGeneratorRfPerTick = 360;
public static int enderGeneratorTicksPerBucketFuel = 96000;
public static int stirlingGeneratorBaseRfPerTick = 20;
public static float stirlingGeneratorEnergyMultiplierT1 = 1f;
@@ -336,7 +349,7 @@ public final class Config {
public static boolean magnetAllowDeactivatedInBaublesSlot = false;
public static boolean magnetAllowPowerExtraction = false;
public static String magnetBaublesType = "AMULET";
public static boolean useCombustionGenModel = false;
public static int crafterRfPerCraft = 2500;
@@ -417,6 +430,8 @@ public final class Config {
public static int soulBinderReanimationLevels = 10;
public static int soulBinderEnderCystalRF = 100000;
public static int soulBinderEnderCystalLevels = 10;
public static int soulBinderPrecientCystalRF = 100000;
public static int soulBinderPrecientCystalLevels = 10;
public static int soulBinderAttractorCystalRF = 100000;
public static int soulBinderAttractorCystalLevels = 10;
public static int soulBinderEnderRailRF = 100000;
@@ -505,7 +520,7 @@ public final class Config {
public static float inventoryPanelExtractCostPerItem = 12.0f;
public static float inventoryPanelExtractCostPerOperation = 32.0f;
public static void load(FMLPreInitializationEvent event) {
PacketHandler.INSTANCE.registerMessage(PacketConfigSync.class, PacketConfigSync.class, PacketHandler.nextID(), Side.CLIENT);
@@ -816,6 +831,8 @@ public final class Config {
"Amount of power stored by dark steel items with a level 2 upgrade.").getInt(darkSteelPowerStorageLevelTwo);
darkSteelPowerStorageLevelThree = config.get(sectionDarkSteel.name, "darkSteelPowerStorageLevelThree", darkSteelPowerStorageLevelThree,
"Amount of power stored by dark steel items with a level 3 upgrade.").getInt(darkSteelPowerStorageLevelThree);
darkSteelPowerStorageLevelFour = config.get(sectionDarkSteel.name, "darkSteelPowerStorageLevelFour", darkSteelPowerStorageLevelFour,
"Amount of power stored by dark steel items with a level 4 upgrade.").getInt(darkSteelPowerStorageLevelFour);
darkSteelUpgradeVibrantCost = config.get(sectionDarkSteel.name, "darkSteelUpgradeVibrantCost", darkSteelUpgradeVibrantCost,
"Number of levels required for the 'Empowered.").getInt(darkSteelUpgradeVibrantCost);
@@ -825,6 +842,8 @@ public final class Config {
"Number of levels required for the 'Power 2.").getInt(darkSteelUpgradePowerTwoCost);
darkSteelUpgradePowerThreeCost = config.get(sectionDarkSteel.name, "darkSteelUpgradePowerThreeCost", darkSteelUpgradePowerThreeCost,
"Number of levels required for the 'Power 3' upgrade.").getInt(darkSteelUpgradePowerThreeCost);
darkSteelUpgradePowerFourCost = config.get(sectionDarkSteel.name, "darkSteelUpgradePowerFourCost", darkSteelUpgradePowerFourCost,
"Number of levels required for the 'Power 4' upgrade.").getInt(darkSteelUpgradePowerFourCost);
darkSteelJumpOneCost = config.get(sectionDarkSteel.name, "darkSteelJumpOneCost", darkSteelJumpOneCost,
"Number of levels required for the 'Jump 1' upgrade.").getInt(darkSteelJumpOneCost);
@@ -1030,6 +1049,16 @@ public final class Config {
zombieGeneratorTicksPerBucketFuel = config.get(sectionPower.name, "zombieGeneratorTicksPerMbFuel", zombieGeneratorTicksPerBucketFuel,
"The number of ticks one bucket of fuel lasts.").getInt(zombieGeneratorTicksPerBucketFuel);
frankenzombieGeneratorRfPerTick = config.get(sectionPower.name, "frankenzombieGeneratorRfPerTick", frankenzombieGeneratorRfPerTick,
"The amount of power generated per tick.").getInt(frankenzombieGeneratorRfPerTick);
frankenzombieGeneratorTicksPerBucketFuel = config.get(sectionPower.name, "frankenzombieGeneratorTicksPerMbFuel", frankenzombieGeneratorTicksPerBucketFuel,
"The number of ticks one bucket of fuel lasts.").getInt(frankenzombieGeneratorTicksPerBucketFuel);
enderGeneratorRfPerTick = config.get(sectionPower.name, "enderGeneratorRfPerTick", enderGeneratorRfPerTick,
"The amount of power generated per tick.").getInt(enderGeneratorRfPerTick);
enderGeneratorTicksPerBucketFuel = config.get(sectionPower.name, "enderGeneratorTicksPerMbFuel", enderGeneratorTicksPerBucketFuel,
"The number of ticks one bucket of fuel lasts.").getInt(enderGeneratorTicksPerBucketFuel);
stirlingGeneratorBaseRfPerTick = config.get(sectionPower.name, "stirlingGeneratorBaseRfPerTick", stirlingGeneratorBaseRfPerTick,
"The amount of power generated per tick.").getInt(stirlingGeneratorBaseRfPerTick);
@@ -1097,7 +1126,7 @@ public final class Config {
"The amount of saplings the farm has to have in reserve to switch to shearing all leaves. If there are less " +
"saplings in store, it will only shear part the leaves and break the others for spalings. Set this to 0 to " +
"always shear all leaves.").getInt(farmSaplingReserveAmount);
combustionGeneratorUseOpaqueModel = config.get(sectionAesthetic.name, "combustionGeneratorUseOpaqueModel", combustionGeneratorUseOpaqueModel,
"If set to true: fluid will not be shown in combustion generator tanks. Improves FPS. ").getBoolean(combustionGeneratorUseOpaqueModel);
@@ -1115,18 +1144,18 @@ public final class Config {
magnetAllowInMainInventory = config.get(sectionMagnet.name, "magnetAllowInMainInventory", magnetAllowInMainInventory,
"If true the magnet will also work in the main inventory, not just the hotbar").getBoolean(magnetAllowInMainInventory);
magnetAllowInBaublesSlot = config.get(sectionMagnet.name, "magnetAllowInBaublesSlot", magnetAllowInBaublesSlot,
"If true the magnet can be put into the 'amulet' Baubles slot (requires Baubles to be installed)").getBoolean(magnetAllowInBaublesSlot);
magnetAllowDeactivatedInBaublesSlot = config.get(sectionMagnet.name, "magnetAllowDeactivatedInBaublesSlot", magnetAllowDeactivatedInBaublesSlot,
"If true the magnet can be put into the 'amulet' Baubles slot even if switched off (requires Baubles to be installed and magnetAllowInBaublesSlot to be on)").getBoolean(magnetAllowDeactivatedInBaublesSlot);
magnetAllowPowerExtraction = config.get(sectionMagnet.name, "magnetAllowPowerExtraction", magnetAllowPowerExtraction,
"If true the magnet can be used as a battery.").getBoolean(magnetAllowPowerExtraction);
magnetBaublesType = config.get(sectionMagnet.name, "magnetBaublesType", magnetBaublesType,
"The BaublesType the magnet should be, 'AMULET', 'RING' or 'BELT' (requires Baubles to be installed and magnetAllowInBaublesSlot to be on)").getString();
useCombustionGenModel = config.get(sectionAesthetic.name, "useCombustionGenModel", useCombustionGenModel,
"If set to true: WIP Combustion Generator model will be used").getBoolean(useCombustionGenModel);
@@ -1206,7 +1235,7 @@ public final class Config {
"Allows OC conduits. Only has an effect with OpenComputers installed.");
enableOCConduitsAnimatedTexture = config.getBoolean("enableOCConduitsAnimatedTexture", sectionItems.name,
enableOCConduitsAnimatedTexture, "Use the animated texture for OC conduits.");
soulVesselBlackList = config.getStringList("soulVesselBlackList", sectionSoulBinder.name, soulVesselBlackList,
"Entities listed here will can not be captured in a Soul Vial");
@@ -1225,6 +1254,8 @@ public final class Config {
"The number of RF required to to re-animated a mob head.").getInt(soulBinderReanimationRF);
soulBinderEnderCystalRF = config.get(sectionSoulBinder.name, "soulBinderEnderCystalRF", soulBinderEnderCystalRF,
"The number of RF required to create an ender crystal.").getInt(soulBinderEnderCystalRF);
soulBinderPrecientCystalRF = config.get(sectionSoulBinder.name, "soulBinderPrecientCystalRF", soulBinderPrecientCystalRF,
"The number of RF required to create an precient crystal.").getInt(soulBinderPrecientCystalRF);
soulBinderAttractorCystalRF = config.get(sectionSoulBinder.name, "soulBinderAttractorCystalRF", soulBinderAttractorCystalRF,
"The number of RF required to create an attractor crystal.").getInt(soulBinderAttractorCystalRF);
soulBinderEnderRailRF = config.get(sectionSoulBinder.name, "soulBinderEnderRailRF", soulBinderEnderRailRF,
@@ -1234,6 +1265,8 @@ public final class Config {
"The number of levels required to create an attractor crystal.").getInt(soulBinderAttractorCystalLevels);
soulBinderEnderCystalLevels = config.get(sectionSoulBinder.name, "soulBinderEnderCystalLevels", soulBinderEnderCystalLevels,
"The number of levels required to create an ender crystal.").getInt(soulBinderEnderCystalLevels);
soulBinderPrecientCystalLevels = config.get(sectionSoulBinder.name, "soulBinderPrecientCystalLevels", soulBinderPrecientCystalLevels,
"The number of levels required to create an precient crystal.").getInt(soulBinderPrecientCystalLevels);
soulBinderReanimationLevels = config.get(sectionSoulBinder.name, "soulBinderReanimationLevels", soulBinderReanimationLevels,
"The number of levels required to re-animate a mob head.").getInt(soulBinderReanimationLevels);
soulBinderBrokenSpawnerLevels = config.get(sectionSoulBinder.name, "soulBinderBrokenSpawnerLevels", soulBinderBrokenSpawnerLevels,
@@ -89,7 +89,7 @@ public class EnchantmentSoulBound extends Enchantment implements IAdvancedEnchan
// wait for that because gravestone mods also listen to this event. So we have
// to fetch Baubles items ourselves here.
// For the same reason we cannot put the items into Baubles slots.
IInventory baubles = BaublesUtil.instance().getBaubles(evt.entityPlayer);
/*IInventory baubles = BaublesUtil.instance().getBaubles(evt.entityPlayer);
if (baubles != null) {
for (int i = 0; i < baubles.getSizeInventory(); i++) {
ItemStack item = baubles.getStackInSlot(i);
@@ -99,7 +99,7 @@ public class EnchantmentSoulBound extends Enchantment implements IAdvancedEnchan
}
}
}
}
}*/
// Galacticraft. Again we are too early for those items. We just dump the
// stuff into the normal inventory to not have to keep a separate list.
@@ -1,28 +1,203 @@
package crazypants.enderio.fluid;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
import java.util.Random;
import org.apache.commons.lang3.StringUtils;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.EnderIO;
import crazypants.enderio.config.Config;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
public class BlockFluidEio extends BlockFluidClassic {
public static class FireWater extends BlockFluidEio {
protected FireWater(Fluid fluid, Material material) {
super(fluid, material);
}
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if (!world.isRemote){
entity.setFire(50);
super.onEntityCollidedWithBlock(world, x, y, z, entity);
}
}
@Override
public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return true;
}
@Override
public boolean isFireSource(World world, int x, int y, int z, ForgeDirection side) {
return true;
}
@Override
public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return 60;
}
}
public static class Hootch extends BlockFluidEio {
protected Hootch(Fluid fluid, Material material) {
super(fluid, material);
}
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if (!world.isRemote && entity instanceof EntityLivingBase)
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 150, 0, true));
super.onEntityCollidedWithBlock(world, x, y, z, entity);
}
@Override
public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return true;
}
@Override
public boolean isFireSource(World world, int x, int y, int z, ForgeDirection side) {
return true;
}
@Override
public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return 1;
}
@Override
public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return 60;
}
}
public static class RocketFuel extends BlockFluidEio {
protected RocketFuel(Fluid fluid, Material material) {
super(fluid, material);
}
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if (!world.isRemote && entity instanceof EntityLivingBase)
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.jump.id, 150, 3, true));
super.onEntityCollidedWithBlock(world, x, y, z, entity);
}
@Override
public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return true;
}
@Override
public boolean isFireSource(World world, int x, int y, int z, ForgeDirection side) {
return true;
}
@Override
public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return 1;
}
@Override
public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) {
return 60;
}
}
public static class NutrientDistillation extends BlockFluidEio {
private static final String EIO_LAST_FOOD_BOOST = "eioLastFoodBoost";
protected NutrientDistillation(Fluid fluid, Material material) {
super(fluid, material);
}
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if (!world.isRemote && entity instanceof EntityLivingBase) {
long time = entity.worldObj.getTotalWorldTime();
EntityPlayerMP player = (EntityPlayerMP) entity;
if(time % Config.nutrientFoodBoostDelay == 0 && player.getEntityData().getLong(EIO_LAST_FOOD_BOOST) != time) {
player.getFoodStats().addStats(1, 0.1f);
player.getEntityData().setLong(EIO_LAST_FOOD_BOOST, time);
}
super.onEntityCollidedWithBlock(world, x, y, z, entity);
}
}
}
public static class CloudSeedConcentrated extends BlockFluidEio {
protected CloudSeedConcentrated(Fluid fluid, Material material) {
super(fluid, material);
}
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if (!world.isRemote && entity instanceof EntityLivingBase) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.blindness.id, 40, 0, true));
}
super.onEntityCollidedWithBlock(world, x, y, z, entity);
}
}
public static class VapourOfLevity extends BlockFluidEio {
private static final int[] COLORS = { 0x0c82d0, 0x90c8ec, 0x5174ed, 0x0d2f65, 0x4accee };
protected VapourOfLevity(Fluid fluid, Material material, int fogColor) {
super(fluid, material);
}
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if (entity instanceof EntityPlayer || (!world.isRemote && entity instanceof EntityLivingBase)) {
((EntityLivingBase) entity).motionY += 0.1;
}
super.onEntityCollidedWithBlock(world, x, y, z, entity);
}
@Override
public void randomDisplayTick(World world, int x, int y, int z, Random rand) {
if (rand.nextFloat() < .5f) {
int col = COLORS[rand.nextInt(COLORS.length)];
world.spawnParticle("reddust", x, y, z, (col >> 16 & 255) / 255d, (col >> 8 & 255) / 255d, (col & 255) / 255d);
}
}
}
public static BlockFluidEio create(Fluid fluid, Material material) {
BlockFluidEio res = new BlockFluidEio(fluid, material);
res.init();
@@ -76,28 +251,4 @@ public class BlockFluidEio extends BlockFluidClassic {
return super.displaceIfPossible(world, x, y, z);
}
@Override
public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) {
if(entity.worldObj.isRemote) {
super.onEntityCollidedWithBlock(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, entity);
return;
}
if(this == EnderIO.blockFireWater) {
entity.setFire(50);
} else if(this == EnderIO.blockRocketFuel && entity instanceof EntityLivingBase) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.jump.id, 150, 3, true));
} else if(this == EnderIO.blockNutrientDistillation && entity instanceof EntityPlayerMP) {
long time = entity.worldObj.getTotalWorldTime();
EntityPlayerMP player = (EntityPlayerMP) entity;
if(time % Config.nutrientFoodBoostDelay == 0 && player.getEntityData().getLong("eioLastFoodBoost") != time) {
player.getFoodStats().addStats(1, 0.1f);
player.getEntityData().setLong("eioLastFoodBoost", time);
}
} else if (this == EnderIO.blockHootch && entity instanceof EntityLivingBase) {
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 150, 0, true));
}
super.onEntityCollidedWithBlock(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, entity);
}
}
@@ -1,32 +1,29 @@
package crazypants.enderio.fluid;
import net.minecraftforge.fluids.IFluidTank;
import crazypants.enderio.EnderIO;
import net.minecraftforge.fluids.IFluidTank;
public class Fluids {
public static final String NUTRIENT_DISTILLATION_NAME = "nutrient_distillation";
public static final String NUTRIENT_DISTILLATION = "nutrient_distillation";
public static final String HOOTCH = "hootch";
public static final String ROCKET_FUEL = "rocket_fuel";
public static final String FIRE_WATER = "fire_water";
public static final String LIQUID_SUNSHINE = "liquid_sunshine";
public static final String CLOUD_SEED = "cloud_seed";
public static final String CLOUD_SEED_CONCENTRATED = "cloud_seed_concentrated";
public static final String ENDER_DISTILLATION = "ender_distillation";
public static final String VAPOR_OF_LEVITY = "vapor_of_levity";
public static final String HOOTCH_NAME = "hootch";
public static final String ROCKET_FUEL_NAME = "rocket_fuel";
public static final String FIRE_WATER_NAME = "fire_water";
public static final String LIQUID_SUNSHINE_NAME = "liquid_sunshine";
public static final String CLOUD_SEED_NAME = "cloud_seed";
public static final String CLOUD_SEED_CONCENTRATED_NAME = "cloud_seed_concentrated";
public static String toCapactityString(IFluidTank tank) {
if(tank == null) {
return "0/0 " + MB();
}
return tank.getFluidAmount() + "/" + tank.getCapacity() + " " + MB();
}
public static String MB() {
return EnderIO.lang.localize("fluid.millibucket.abr");
}
public static String toCapactityString(IFluidTank tank) {
if(tank == null) {
return "0/0 " + MB();
}
return tank.getFluidAmount() + "/" + tank.getCapacity() + " " + MB();
}
public static String MB() {
return EnderIO.lang.localize("fluid.millibucket.abr");
}
}
@@ -7,6 +7,7 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
import cpw.mods.fml.common.registry.GameRegistry;
import crazypants.enderio.EnderIO;
import crazypants.enderio.item.darksteel.DarkSteelItems;
import crazypants.enderio.material.FrankenSkull;
import crazypants.enderio.material.MachinePart;
import static crazypants.enderio.material.Alloy.*;
@@ -17,12 +18,15 @@ public class ItemRecipes {
public static void addRecipes() {
ItemStack basicGear = new ItemStack(EnderIO.itemMachinePart, 1, MachinePart.BASIC_GEAR.ordinal());
ItemStack diode = new ItemStack(EnderIO.itemFrankenSkull,1,FrankenSkull.GUARDIAN_DIODE.ordinal());
String electricalSteel = ELECTRICAL_STEEL.getOreIngot();
String conductiveIron = CONDUCTIVE_IRON.getOreIngot();
String vibCry = VIBRANT_CYSTAL.oreDict;
String enAlloy = ENERGETIC_ALLOY.getOreIngot();
String darkSteel = DARK_STEEL.getOreIngot();
String soularium = SOULARIUM.getOreIngot();
String endSteel = END_STEEL.getOreIngot();
// Wrench
ItemStack wrench = new ItemStack(EnderIO.itemYetaWench, 1, 0);
@@ -39,6 +43,12 @@ public class ItemRecipes {
addShaped(DarkSteelItems.itemDarkSteelLeggings.createItemStack(), "sss", "s s", "s s", 's', darkSteel);
addShaped(DarkSteelItems.itemDarkSteelBoots.createItemStack(), "s s", "s s", 's', darkSteel);
//End Steel
addShaped(DarkSteelItems.itemEndSteelHelmet.createItemStack(), "sss", "sds", 's', endSteel, 'd', diode);
addShaped(DarkSteelItems.itemEndSteelChestplate.createItemStack(), "sds", "sss", "sss", 's', endSteel, 'd', diode);
addShaped(DarkSteelItems.itemEndSteelLeggings.createItemStack(), "sss", "sds", "s s", 's', endSteel, 'd', diode);
addShaped(DarkSteelItems.itemEndSteelBoots.createItemStack(), "s s", "sds", 's', endSteel, 'd', diode);
ItemStack wing = new ItemStack(DarkSteelItems.itemGliderWing, 1, 0);
addShaped(wing, " s", " sl", "sll", 's', darkSteel, 'l', Items.leather);
addShaped(new ItemStack(DarkSteelItems.itemGliderWing, 1, 1), " s ", "wsw", " ", 's', darkSteel, 'w', wing);
@@ -58,6 +68,7 @@ public class ItemRecipes {
//XP Rod
addShaped(new ItemStack(EnderIO.itemXpTransfer), " s", " v ", "s ", 's', soularium, 'v', enAlloy);
// DS Tools
addShaped(DarkSteelItems.itemDarkSteelSword.createItemStack(), " s ", " s ", " w ", 's', darkSteel, 'w', "stickWood");
addShaped(DarkSteelItems.itemDarkSteelSword.createItemStack(), " s ", " s ", " w ", 's', darkSteel, 'w', "woodStick");
@@ -65,5 +76,14 @@ public class ItemRecipes {
addShaped(DarkSteelItems.itemDarkSteelPickaxe.createItemStack(), "sss", " w ", " w ", 's', darkSteel, 'w', "woodStick");
addShaped(DarkSteelItems.itemDarkSteelAxe.createItemStack(), "ss ", "sw ", " w ", 's', darkSteel, 'w', "woodStick");
addShaped(DarkSteelItems.itemDarkSteelAxe.createItemStack(), "ss ", "sw ", " w ", 's', darkSteel, 'w', "stickWood");
// ES Tools
addShaped(DarkSteelItems.itemEndSteelSword.createItemStack(), " s ", " s ", " w ", 's', endSteel, 'w', "stickDarkSteel");
addShaped(DarkSteelItems.itemEndSteelSword.createItemStack(), " s ", " s ", " w ", 's', endSteel, 'w', "itemDarkSteelRod");
addShaped(DarkSteelItems.itemEndSteelPickaxe.createItemStack(), "sss", " w ", " w ", 's', endSteel, 'w', "stickDarkSteel");
addShaped(DarkSteelItems.itemEndSteelPickaxe.createItemStack(), "sss", " w ", " w ", 's', endSteel, 'w', "itemDarkSteelRod");
addShaped(DarkSteelItems.itemEndSteelAxe.createItemStack(), "ss ", "sw ", " w ", 's', endSteel, 'w', "stickDarkSteel");
addShaped(DarkSteelItems.itemEndSteelAxe.createItemStack(), "ss ", "sw ", " w ", 's', endSteel, 'w', "itemDarkSteelRod");
}
}
@@ -165,7 +165,7 @@ public class KeyTracker {
}
if(gogglesKey.isPressed()) {
boolean isActive = !DarkSteelItems.itemDarkSteelHelmet.isGogglesUgradeActive();
sendEnabledChatMessage("darksteel.upgrade.goggles", isActive);
sendEnabledChatMessage("darksteel.upgrade.gogglesOfRevealing", isActive);
DarkSteelItems.itemDarkSteelHelmet.setGogglesUgradeActive(isActive);
}
}
@@ -68,7 +68,7 @@ public class DarkSteelController {
private final AttributeModifier[] sprintModifiers = new AttributeModifier[] {
new AttributeModifier(new UUID(12879874982l, 320981923), "generic.movementSpeed", SpeedUpgrade.SPRINT_MULTIPLIERS[0], 1),
new AttributeModifier(new UUID(12879874982l, 320981923), "generic.movementSpeed", SpeedUpgrade.SPRINT_MULTIPLIERS[1], 1),
new AttributeModifier(new UUID (12879874982l, 320981923), "generic.movementSpeed", SpeedUpgrade.SPRINT_MULTIPLIERS[2], 1),
new AttributeModifier(new UUID(12879874982l, 320981923), "generic.movementSpeed", SpeedUpgrade.SPRINT_MULTIPLIERS[2], 1),
};
private final AttributeModifier swordDamageModifierPowered = new AttributeModifier(new UUID(63242325, 320981923), "Weapon modifier",
@@ -121,19 +121,19 @@ public class DarkSteelController {
public boolean isGlideActive(EntityPlayer player) {
return isActive(player, Type.GLIDE);
}
public boolean isSpeedActive(EntityPlayer player) {
return isActive(player, Type.SPEED);
}
public boolean isStepAssistActive(EntityPlayer player) {
return isActive(player, Type.STEP_ASSIST);
}
public boolean isJumpActive(EntityPlayer player) {
return isActive(player, Type.JUMP);
}
@SubscribeEvent
public void onPlayerTick(TickEvent.PlayerTickEvent event) {
EntityPlayer player = event.player;
@@ -151,9 +151,9 @@ public class DarkSteelController {
updateGlide(player);
updateSwim(player);
updateSolar(player);
}
}
@@ -163,18 +163,18 @@ public class DarkSteelController {
if (player.worldObj.isRemote) {
return;
}
ItemStack helm = player.getEquipmentInSlot(4);
SolarUpgrade upgrade = SolarUpgrade.loadFromItem(helm);
if(upgrade == null) {
return;
}
int RFperSecond = Math.round((float) upgrade.getRFPerSec() * TileEntitySolarPanel.calculateLightRatio(player.worldObj, MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY + 1), MathHelper.floor_double(player.posZ)));
int leftover = RFperSecond % 20;
boolean addExtraRF = player.worldObj.getTotalWorldTime() % 20 < leftover;
int toAdd = (RFperSecond / 20) + (addExtraRF ? 1 : 0);
if(toAdd != 0) {
@@ -188,7 +188,7 @@ public class DarkSteelController {
}
nextIndex = (nextIndex + 1) % 4;
}
player.getEntityData().setInteger("dsarmor:solar", nextIndex);
}
}
@@ -286,7 +286,7 @@ public class DarkSteelController {
ItemStack leggings = player.getEquipmentInSlot(2);
SpeedUpgrade speedUpgrade = SpeedUpgrade.loadFromItem(leggings);
if(leggings != null && leggings.getItem() == DarkSteelItems.itemDarkSteelLeggings && speedUpgrade != null && isSpeedActive(player)) {
if(leggings != null && DarkSteelItems.isArmorPart(leggings.getItem(),2) && speedUpgrade != null && isSpeedActive(player)) {
double horzMovement = Math.abs(player.distanceWalkedModified - player.prevDistanceWalkedModified);
double costModifier = player.isSprinting() ? Config.darkSteelSprintPowerCost : Config.darkSteelWalkPowerCost;
@@ -308,7 +308,7 @@ public class DarkSteelController {
private void updateStepHeightAndFallDistance(EntityPlayer player) {
ItemStack boots = player.getEquipmentInSlot(1);
if(boots != null && boots.getItem() == DarkSteelItems.itemDarkSteelBoots && !player.capabilities.allowFlying) {
if(boots != null && !DarkSteelItems.isArmorPart(boots.getItem(), 3) && !player.capabilities.allowFlying) {
int costedDistance = (int) player.fallDistance;
if(costedDistance > 0) {
int energyCost = costedDistance * Config.darkSteelFallDistanceCost;
@@ -339,7 +339,7 @@ public class DarkSteelController {
IEnergyContainerItem cont = (IEnergyContainerItem) stack.getItem();
int used = cont.extractEnergy(stack, remaining, false);
remaining -= used;
if(remaining <= 0) {
if(remaining <= 0) {
return;
}
}
@@ -370,7 +370,7 @@ public class DarkSteelController {
}
return res;
}
@SubscribeEvent
public void onStartTracking(PlayerEvent.StartTracking event) {
if (event.target instanceof EntityPlayerMP) {
@@ -462,11 +462,11 @@ public class DarkSteelController {
if (!isJumpActive(player)) {
return;
}
ItemStack boots = player.getEquipmentInSlot(1);
JumpUpgrade jumpUpgrade = JumpUpgrade.loadFromItem(boots);
if(jumpUpgrade == null || boots == null || boots.getItem() != DarkSteelItems.itemDarkSteelBoots) {
if(jumpUpgrade == null || boots == null || !DarkSteelItems.isArmorPart(boots.getItem(), 3)) {
return;
}
@@ -490,12 +490,12 @@ public class DarkSteelController {
}
}
private void updateNightvision(EntityPlayer player) {
if(isNightVisionUpgradeOrEnchEquipped(player) && nightVisionActive) {
player.addPotionEffect(new PotionEffect(Potion.nightVision.getId(), 210, 0, true));
}
}
if(!isNightVisionUpgradeOrEnchEquipped(player) && nightVisionActive) {
nightVisionActive = false;
removeNightvision = true;
@@ -541,14 +541,14 @@ public class DarkSteelController {
public boolean isNightVisionUpgradeOrEnchEquipped(EntityPlayer player) {
ItemStack helmet = player.getEquipmentInSlot(4);
return (NightVisionUpgrade.loadFromItem(helmet) != null || isNightVisionEnch(helmet));
return (NightVisionUpgrade.loadFromItem(helmet) != null || isNightVisionEnch(helmet));
}
public void setNightVisionActive(boolean isNightVisionActive) {
if(nightVisionActive && !isNightVisionActive) {
removeNightvision = true;
}
this.nightVisionActive = isNightVisionActive;
this.nightVisionActive = isNightVisionActive;
}
public boolean isNightVisionActive() {
@@ -1,5 +1,6 @@
package crazypants.enderio.item.darksteel;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraftforge.client.MinecraftForgeClient;
@@ -22,6 +23,14 @@ public class DarkSteelItems {
public static ItemDarkSteelAxe itemDarkSteelAxe;
public static ItemDarkSteelShears itemDarkSteelShears;
public static ItemEndSteelArmor itemEndSteelHelmet;
public static ItemEndSteelArmor itemEndSteelChestplate;
public static ItemEndSteelArmor itemEndSteelLeggings;
public static ItemEndSteelArmor itemEndSteelBoots;
public static ItemEndSteelSword itemEndSteelSword;
public static ItemEndSteelPickaxe itemEndSteelPickaxe;
public static ItemEndSteelAxe itemEndSteelAxe;
public static ItemMagnet itemMagnet;
private DarkSteelItems() {
@@ -40,7 +49,27 @@ public class DarkSteelItems {
itemDarkSteelAxe = ItemDarkSteelAxe.create();
itemDarkSteelShears = ItemDarkSteelShears.create();
itemEndSteelHelmet = ItemEndSteelArmor.create(0);
itemEndSteelChestplate = ItemEndSteelArmor.create(1);
itemEndSteelLeggings = ItemEndSteelArmor.create(2);
itemEndSteelBoots = ItemEndSteelArmor.create(3);
itemEndSteelSword = ItemEndSteelSword.create();
itemEndSteelPickaxe = ItemEndSteelPickaxe.create();
itemEndSteelAxe = ItemEndSteelAxe.create();
itemMagnet = ItemMagnet.create();
}
public static boolean isArmorPart(Item item, int type){
switch(type){
case 0:return item == itemDarkSteelHelmet||item == itemEndSteelHelmet;
case 1:return item == itemDarkSteelChestplate||item == itemEndSteelChestplate;
case 2:return item == itemDarkSteelLeggings||item == itemEndSteelLeggings;
case 3:return item == itemDarkSteelBoots||item == itemEndSteelBoots;
default: return false;
}
}
public static void addLoot() {
@@ -70,5 +99,13 @@ public class DarkSteelItems {
MinecraftForgeClient.registerItemRenderer(itemDarkSteelPickaxe, dsr);
MinecraftForgeClient.registerItemRenderer(itemDarkSteelAxe, dsr);
MinecraftForgeClient.registerItemRenderer(itemDarkSteelShears, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelBoots, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelLeggings, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelChestplate, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelHelmet, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelSword, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelPickaxe, dsr);
MinecraftForgeClient.registerItemRenderer(itemEndSteelAxe, dsr);
}
}
@@ -20,6 +20,7 @@ import com.google.common.collect.ImmutableList;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import crazypants.enderio.EnderIO;
import crazypants.enderio.item.darksteel.IDarkSteelItem.IEndSteelItem;
import crazypants.enderio.item.darksteel.upgrade.ApiaristArmorUpgrade;
import crazypants.enderio.item.darksteel.upgrade.EnergyUpgrade;
import crazypants.enderio.item.darksteel.upgrade.GliderUpgrade;
@@ -47,6 +48,7 @@ public class DarkSteelRecipeManager {
upgrades.add(EnergyUpgrade.EMPOWERED_TWO);
upgrades.add(EnergyUpgrade.EMPOWERED_THREE);
upgrades.add(EnergyUpgrade.EMPOWERED_FOUR);
upgrades.add(EnergyUpgrade.EMPOWERED_FIVE);
upgrades.add(JumpUpgrade.JUMP_ONE);
upgrades.add(JumpUpgrade.JUMP_TWO);
upgrades.add(JumpUpgrade.JUMP_THREE);
@@ -61,6 +63,7 @@ public class DarkSteelRecipeManager {
upgrades.add(SpoonUpgrade.INSTANCE);
upgrades.add(SolarUpgrade.SOLAR_ONE);
upgrades.add(SolarUpgrade.SOLAR_TWO);
upgrades.add(SolarUpgrade.SOLAR_THREE);
if(Loader.isModLoaded("Thaumcraft")) {
ThaumcraftCompat.loadUpgrades(upgrades);
}
@@ -79,9 +82,11 @@ public class DarkSteelRecipeManager {
return;
}
if(evt.left.getItem() instanceof IDarkSteelItem && OreDictionaryHelper.hasName(evt.right, Alloy.DARK_STEEL.getOreIngot())) {
if(evt.left.getItem() instanceof IEndSteelItem && OreDictionaryHelper.hasName(evt.right, Alloy.END_STEEL.getOreIngot())) {
handleRepair(evt);
}else if(evt.left.getItem() instanceof IDarkSteelItem && OreDictionaryHelper.hasName(evt.right, Alloy.DARK_STEEL.getOreIngot())) {
handleRepair(evt);
} else {
} else {
handleUpgrade(evt);
}
}
@@ -89,23 +94,23 @@ public class DarkSteelRecipeManager {
private void handleRepair(AnvilUpdateEvent evt) {
ItemStack targetStack = evt.left;
ItemStack ingots = evt.right;
//repair event
IDarkSteelItem targetItem = (IDarkSteelItem)targetStack.getItem();
int maxIngots = targetItem.getIngotsRequiredForFullRepair();
double damPerc = (double)targetStack.getItemDamage()/ targetStack.getMaxDamage();
int requiredIngots = (int)Math.ceil(damPerc * maxIngots);
if(ingots.stackSize > requiredIngots) {
return;
}
int damageAddedPerIngot = (int)Math.ceil((double)targetStack.getMaxDamage()/maxIngots);
int totalDamageRemoved = damageAddedPerIngot * ingots.stackSize;
ItemStack resultStack = targetStack.copy();
resultStack.setItemDamage(Math.max(0, resultStack.getItemDamage() - totalDamageRemoved));
evt.output = resultStack;
evt.cost = ingots.stackSize + (int)Math.ceil(getEnchantmentRepairCost(resultStack)/2);
}
@@ -3,5 +3,9 @@ package crazypants.enderio.item.darksteel;
public interface IDarkSteelItem {
int getIngotsRequiredForFullRepair();
public interface IEndSteelItem extends IDarkSteelItem{
}
}
@@ -99,24 +99,30 @@ public class ItemDarkSteelArmor extends ItemArmor implements IEnergyContainerIte
}
public static ItemDarkSteelArmor create(int armorType) {
ItemDarkSteelArmor res = new ItemDarkSteelArmor(armorType);
ItemDarkSteelArmor res = new ItemDarkSteelArmor(armorType);
res.init();
return res;
}
private final int powerPerDamagePoint;
protected ItemDarkSteelArmor(int armorType) {
super(MATERIAL, 0, armorType);
setCreativeTab(EnderIOTab.tabEnderIO);
String str = "darkSteel_" + NAMES[armorType];
setUnlocalizedName(str);
setTextureName(EnderIO.DOMAIN+ ":" + str);
protected int powerPerDamagePoint;
protected String name;
public ItemDarkSteelArmor(int armorType) {
this(MATERIAL, "darkSteel", armorType);
powerPerDamagePoint = Config.darkSteelPowerStorageBase / MATERIAL.getDurability(armorType);
}
public ItemDarkSteelArmor(ArmorMaterial mat, String name, int armorType) {
super(mat, 0, armorType);
this.name = name;
setCreativeTab(EnderIOTab.tabEnderIO);
String str = name + "_" + NAMES[armorType];
setUnlocalizedName(str);
setTextureName(EnderIO.DOMAIN+ ":" + str);
}
protected void init() {
GameRegistry.registerItem(this, getUnlocalizedName());
}
@@ -131,7 +137,7 @@ public class ItemDarkSteelArmor extends ItemArmor implements IEnergyContainerIte
is = new ItemStack(this);
EnergyUpgrade.EMPOWERED_FOUR.writeToItem(is);
EnergyUpgrade.setPowerFull(is);
Iterator<IDarkSteelUpgrade> iter = DarkSteelRecipeManager.instance.recipeIterator();
while (iter.hasNext()) {
IDarkSteelUpgrade upgrade = iter.next();
@@ -139,7 +145,7 @@ public class ItemDarkSteelArmor extends ItemArmor implements IEnergyContainerIte
upgrade.writeToItem(is);
}
}
par3List.add(is);
}
@@ -178,11 +184,11 @@ public class ItemDarkSteelArmor extends ItemArmor implements IEnergyContainerIte
list.add(str);
}
if(EnergyUpgrade.itemHasAnyPowerUpgrade(itemstack)) {
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_armor.tooltip.line1"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_armor.tooltip.line2"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_armor.tooltip.line1"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_armor.tooltip.line2"));
if(itemstack.getItem() == DarkSteelItems.itemDarkSteelBoots) {
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_boots.tooltip.line1"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_boots.tooltip.line2"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_boots.tooltip.line1"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_boots.tooltip.line2"));
}
}
DarkSteelRecipeManager.instance.addAdvancedTooltipEntries(itemstack, entityplayer, list, flag);
@@ -196,9 +202,9 @@ public class ItemDarkSteelArmor extends ItemArmor implements IEnergyContainerIte
@Override
public String getArmorTexture(ItemStack itemStack, Entity entity, int slot, String layer) {
if(armorType == 2) {
return "enderio:textures/models/armor/darkSteel_layer_2.png";
return "enderio:textures/models/armor/"+name+"_layer_2.png";
}
return "enderio:textures/models/armor/darkSteel_layer_1.png";
return "enderio:textures/models/armor/"+name+"_layer_1.png";
}
public ItemStack createItemStack() {
@@ -50,7 +50,7 @@ public class ItemDarkSteelAxe extends ItemAxe implements IEnergyContainerItem, I
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemDarkSteelAxe;
return equipped.getItem() instanceof ItemDarkSteelAxe;
}
public static boolean isEquippedAndPowered(EntityPlayer player, int requiredPower) {
@@ -71,34 +71,41 @@ public class ItemDarkSteelAxe extends ItemAxe implements IEnergyContainerItem, I
return res;
}
private int logOreId = -1;
private final MultiHarvestComparator harvestComparator = new MultiHarvestComparator();
protected int logOreId = -1;
protected final MultiHarvestComparator harvestComparator = new MultiHarvestComparator();
protected String name;
protected ItemDarkSteelAxe() {
super(ItemDarkSteelSword.MATERIAL);
setCreativeTab(EnderIOTab.tabEnderIO);
String str = "darkSteel_axe";
setUnlocalizedName(str);
setTextureName(EnderIO.DOMAIN + ":" + str);
this("darkSteel",ItemDarkSteelSword.MATERIAL);
}
protected ItemDarkSteelAxe(String name, ToolMaterial mat) {
super(mat);
this.name = name;
setCreativeTab(EnderIOTab.tabEnderIO);
String str = name+"_axe";
setUnlocalizedName(str);
setTextureName(EnderIO.DOMAIN + ":" + str);
}
@Override
public int getIngotsRequiredForFullRepair() {
return 3;
return 3;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
ItemStack is = new ItemStack(this);
ItemStack is = new ItemStack(this);
par3List.add(is);
is = new ItemStack(this);
EnergyUpgrade.EMPOWERED_FOUR.writeToItem(is);
EnergyUpgrade.setPowerFull(is);
EnergyUpgrade.setPowerFull(is);
par3List.add(is);
}
@Override
public boolean isDamaged(ItemStack stack) {
return false;
@@ -134,17 +141,17 @@ public class ItemDarkSteelAxe extends ItemAxe implements IEnergyContainerItem, I
return false;
}
private boolean doMultiHarvest(EntityPlayer player, World worldObj, BlockCoord bc, Block refBlock, int refMeta) {
private boolean doMultiHarvest(EntityPlayer player, World worldObj, BlockCoord bc, Block refBlock, int refMeta) {
Block block = worldObj.getBlock(bc.x, bc.y, bc.z);
int meta = worldObj.getBlockMetadata(bc.x, bc.y, bc.z);
ItemStack held = player.getCurrentEquippedItem();
ArrayList<ItemStack> itemDrops = block.getDrops(worldObj, bc.x, bc.y, bc.z, meta, 0);
float chance = ForgeEventFactory.fireBlockHarvesting(itemDrops, worldObj, refBlock, bc.x, bc.y, bc.z, refMeta,
float chance = ForgeEventFactory.fireBlockHarvesting(itemDrops, worldObj, refBlock, bc.x, bc.y, bc.z, refMeta,
EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, held), 1,
EnchantmentHelper.getEnchantmentLevel(Enchantment.silkTouch.effectId, held) != 0, player);
worldObj.setBlockToAir(bc.x, bc.y, bc.z);
boolean usedPower = false;
if (itemDrops != null) {
@@ -190,7 +197,7 @@ public class ItemDarkSteelAxe extends ItemAxe implements IEnergyContainerItem, I
super.setDamage(stack, newDamage);
} else {
int damage = newDamage - oldDamage;
if (!absorbDamageWithEnergy(stack, damage * Config.darkSteelAxePowerUsePerDamagePoint)) {
super.setDamage(stack, newDamage);
}
@@ -221,7 +228,7 @@ public class ItemDarkSteelAxe extends ItemAxe implements IEnergyContainerItem, I
private boolean isLog(Block block, int meta) {
if(logOreId == -1) {
logOreId = OreDictionary.getOreID("logWood");
logOreId = OreDictionary.getOreID("logWood");
}
int targetOreId = OreDictionary.getOreID(new ItemStack(block, 1, meta));
//NB: Specifying the wildcard as meta is a work around for forge issue #1103
@@ -279,9 +286,9 @@ public class ItemDarkSteelAxe extends ItemAxe implements IEnergyContainerItem, I
list.add(str);
}
if(EnergyUpgrade.itemHasAnyPowerUpgrade(itemstack)) {
list.add(EnderIO.lang.localize("item.darkSteel_axe.tooltip.multiHarvest"));
list.add(EnderIO.lang.localize("item."+name+"_axe.tooltip.multiHarvest"));
list.add(EnumChatFormatting.WHITE + "+" + Config.darkSteelAxeEffeciencyBoostWhenPowered + " "
+ EnderIO.lang.localize("item.darkSteel_pickaxe.tooltip.effPowered"));
+ EnderIO.lang.localize("item."+name+"_pickaxe.tooltip.effPowered"));
}
DarkSteelRecipeManager.instance.addAdvancedTooltipEntries(itemstack, entityplayer, list, flag);
}
@@ -47,7 +47,7 @@ public class ItemDarkSteelPickaxe extends ItemPickaxe implements IEnergyContaine
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemDarkSteelPickaxe;
return equipped.getItem() instanceof ItemDarkSteelPickaxe;
}
public static boolean isEquippedAndPowered(EntityPlayer player, int requiredPower) {
@@ -65,15 +65,21 @@ public class ItemDarkSteelPickaxe extends ItemPickaxe implements IEnergyContaine
}
private long lastBlickTick = -1;
protected String name;
public ItemDarkSteelPickaxe() {
super(ItemDarkSteelSword.MATERIAL);
public ItemDarkSteelPickaxe(String name, ToolMaterial mat) {
super(mat);
this.name = name;
setCreativeTab(EnderIOTab.tabEnderIO);
String str = "darkSteel_pickaxe";
String str = name+"_pickaxe";
setUnlocalizedName(str);
setTextureName(EnderIO.DOMAIN + ":" + str);
}
public ItemDarkSteelPickaxe(){
this("darkSteel",ItemDarkSteelSword.MATERIAL);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
@@ -153,7 +159,7 @@ public class ItemDarkSteelPickaxe extends ItemPickaxe implements IEnergyContaine
super.setDamage(stack, newDamage);
} else {
int damage = newDamage - oldDamage;
if (!absorbDamageWithEnergy(stack, damage * Config.darkSteelPickPowerUsePerDamagePoint)) {
super.setDamage(stack, newDamage);
}
@@ -171,7 +177,7 @@ public class ItemDarkSteelPickaxe extends ItemPickaxe implements IEnergyContaine
}
}
@Override
public boolean canHarvestBlock(Block block, ItemStack item) {
if(hasSpoonUpgrade(item) && getEnergyStored(item) > 0) {
@@ -283,10 +289,10 @@ public class ItemDarkSteelPickaxe extends ItemPickaxe implements IEnergyContaine
}
if(EnergyUpgrade.itemHasAnyPowerUpgrade(itemstack)) {
list.add(EnumChatFormatting.WHITE + "+" + Config.darkSteelPickEffeciencyBoostWhenPowered + " "
+ EnderIO.lang.localize("item.darkSteel_pickaxe.tooltip.effPowered"));
+ EnderIO.lang.localize("item."+name+"_pickaxe.tooltip.effPowered"));
list.add(EnumChatFormatting.WHITE + "+" + Config.darkSteelPickEffeciencyObsidian + " "
+ EnderIO.lang.localize("item.darkSteel_pickaxe.tooltip.effObs") + " ");
list.add(EnumChatFormatting.WHITE + " " + "(" + EnderIO.lang.localize("item.darkSteel_pickaxe.tooltip.cost") + " "
+ EnderIO.lang.localize("item."+name+"_pickaxe.tooltip.effObs") + " ");
list.add(EnumChatFormatting.WHITE + " " + "(" + EnderIO.lang.localize("item."+name+"_pickaxe.tooltip.cost") + " "
+ PowerDisplayUtil.formatPower(Config.darkSteelPickPowerUseObsidian) + " "
+ PowerDisplayUtil.abrevation() + ")");
}
@@ -45,7 +45,7 @@ public class ItemDarkSteelShears extends ItemShears implements IEnergyContainerI
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemDarkSteelShears;
return equipped.getItem() instanceof ItemDarkSteelShears;
}
public static boolean isEquippedAndPowered(EntityPlayer player, int requiredPower) {
@@ -66,18 +66,24 @@ public class ItemDarkSteelShears extends ItemShears implements IEnergyContainerI
return res;
}
private final MultiHarvestComparator harvestComparator = new MultiHarvestComparator();
private final EntityComparator entityComparator = new EntityComparator();
protected final MultiHarvestComparator harvestComparator = new MultiHarvestComparator();
protected final EntityComparator entityComparator = new EntityComparator();
protected String name;
protected ItemDarkSteelShears() {
protected ItemDarkSteelShears(String name) {
super();
this.name = name;
this.setMaxDamage(this.getMaxDamage() * Config.darkSteelShearsDurabilityFactor);
setCreativeTab(EnderIOTab.tabEnderIO);
String str = "darkSteel_shears";
String str = name+"_shears";
setUnlocalizedName(str);
setTextureName("enderIO:" + str);
}
protected ItemDarkSteelShears() {
this("darkSteel");
}
@Override
public int getIngotsRequiredForFullRepair() {
return 2;
@@ -265,9 +271,9 @@ public class ItemDarkSteelShears extends ItemShears implements IEnergyContainerI
list.add(str);
}
if(EnergyUpgrade.itemHasAnyPowerUpgrade(itemstack)) {
list.add(EnderIO.lang.localize("item.darkSteel_shears.tooltip.multiHarvest"));
list.add(EnderIO.lang.localize("item."+name+"_shears.tooltip.multiHarvest"));
list.add(EnumChatFormatting.WHITE + "+" + Config.darkSteelShearsEffeciencyBoostWhenPowered + " "
+ EnderIO.lang.localize("item.darkSteel_pickaxe.tooltip.effPowered"));
+ EnderIO.lang.localize("item."+name+"_pickaxe.tooltip.effPowered"));
}
DarkSteelRecipeManager.instance.addAdvancedTooltipEntries(itemstack, entityplayer, list, flag);
}
@@ -57,7 +57,7 @@ public class ItemDarkSteelSword extends ItemSword implements IEnergyContainerIte
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemDarkSteelSword;
return equipped.getItem() instanceof ItemDarkSteelSword;
}
public static boolean isEquippedAndPowered(EntityPlayer player, int requiredPower) {
@@ -74,18 +74,24 @@ public class ItemDarkSteelSword extends ItemSword implements IEnergyContainerIte
return res;
}
private final int powerPerDamagePoint = Config.darkSteelPowerStorageBase / MATERIAL.getMaxUses();
private long lastBlickTick = -1;
protected final int powerPerDamagePoint = Config.darkSteelPowerStorageBase / MATERIAL.getMaxUses();
protected long lastBlickTick = -1;
protected String name;
public ItemDarkSteelSword() {
super(MATERIAL);
public ItemDarkSteelSword(String name, ToolMaterial mat) {
super(mat);
this.name = name;
setCreativeTab(EnderIOTab.tabEnderIO);
String str = "darkSteel_sword";
String str = name+"_sword";
setUnlocalizedName(str);
setTextureName(EnderIO.DOMAIN + ":" + str);
}
public ItemDarkSteelSword() {
this("darkSteel",MATERIAL);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
@@ -116,7 +122,7 @@ public class ItemDarkSteelSword extends ItemSword implements IEnergyContainerIte
}
}
//Set priorty to lowest in the hope any other mod adding head drops will have already added them
//Set priorty to lowest in the hope any other mod adding head drops will have already added them
//by the time this is called to prevent multiple head drops
@SubscribeEvent(priority = EventPriority.LOWEST)
public void onEntityDrop(LivingDropsEvent evt) {
@@ -355,10 +361,10 @@ public class ItemDarkSteelSword extends ItemSword implements IEnergyContainerIte
if(str != null) {
list.add(str);
}
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_sword.tooltip.line1"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_sword.tooltip.line1"));
if(EnergyUpgrade.itemHasAnyPowerUpgrade(itemstack)) {
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_sword.tooltip.line2"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item.darkSteel_sword.tooltip.line3"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_sword.tooltip.line2"));
list.add(EnumChatFormatting.WHITE + EnderIO.lang.localize("item."+name+"_sword.tooltip.line3"));
}
DarkSteelRecipeManager.instance.addAdvancedTooltipEntries(itemstack, entityplayer, list, flag);
}
@@ -0,0 +1,73 @@
package crazypants.enderio.item.darksteel;
import java.util.Iterator;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.item.darksteel.IDarkSteelItem.IEndSteelItem;
import crazypants.enderio.item.darksteel.upgrade.EnergyUpgrade;
import crazypants.enderio.item.darksteel.upgrade.IDarkSteelUpgrade;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.EnumHelper;
public class ItemEndSteelArmor extends ItemDarkSteelArmor implements IEndSteelItem {
public static final ArmorMaterial MATERIAL = EnumHelper.addArmorMaterial("endSteel", 50, new int[] { 4, 7, 10, 5 }, 25);
public ItemEndSteelArmor(int armorType) {
super(MATERIAL, "endSteel", armorType);
}
public static ItemEndSteelArmor create(int armorType) {
ItemEndSteelArmor res = new ItemEndSteelArmor(armorType);
res.init();
return res;
}
public static ItemEndSteelArmor forArmorType(int armorType) {
switch (armorType) {
case 0: return DarkSteelItems.itemEndSteelHelmet;
case 1: return DarkSteelItems.itemEndSteelChestplate;
case 2: return DarkSteelItems.itemEndSteelLeggings;
case 3: return DarkSteelItems.itemEndSteelBoots;
}
return null;
}
public static int getPoweredProtectionIncrease(int armorType) {
switch (armorType) {
case 0: return 1;
case 1: return 2;
case 2:
case 3: return 1;
}
return 0;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
ItemStack is = new ItemStack(this);
par3List.add(is);
is = new ItemStack(this);
EnergyUpgrade.EMPOWERED_FIVE.writeToItem(is);
EnergyUpgrade.setPowerFull(is);
Iterator<IDarkSteelUpgrade> iter = DarkSteelRecipeManager.instance.recipeIterator();
while (iter.hasNext()) {
IDarkSteelUpgrade upgrade = iter.next();
if (!(upgrade instanceof EnergyUpgrade) && upgrade.canAddToItem(is)) {
upgrade.writeToItem(is);
}
}
par3List.add(is);
}
}
@@ -0,0 +1,53 @@
package crazypants.enderio.item.darksteel;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.item.darksteel.upgrade.EnergyUpgrade;
import crazypants.enderio.item.darksteel.upgrade.TravelUpgrade;
import crazypants.enderio.item.darksteel.IDarkSteelItem.IEndSteelItem;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
public class ItemEndSteelAxe extends ItemDarkSteelAxe implements IEndSteelItem {
public static boolean isEquipped(EntityPlayer player) {
if(player == null) {
return false;
}
ItemStack equipped = player.getCurrentEquippedItem();
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemEndSteelAxe;
}
public static ItemEndSteelAxe create() {
ItemEndSteelAxe res = new ItemEndSteelAxe();
res.init();
MinecraftForge.EVENT_BUS.register(res);
return res;
}
public ItemEndSteelAxe() {
super("endSteel", ItemEndSteelSword.MATERIAL);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
ItemStack is = new ItemStack(this);
par3List.add(is);
is = new ItemStack(this);
EnergyUpgrade.EMPOWERED_FIVE.writeToItem(is);
EnergyUpgrade.setPowerFull(is);
TravelUpgrade.INSTANCE.writeToItem(is);
par3List.add(is);
}
}
@@ -0,0 +1,53 @@
package crazypants.enderio.item.darksteel;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.item.darksteel.upgrade.EnergyUpgrade;
import crazypants.enderio.item.darksteel.upgrade.TravelUpgrade;
import crazypants.enderio.item.darksteel.IDarkSteelItem.IEndSteelItem;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
public class ItemEndSteelPickaxe extends ItemDarkSteelPickaxe implements IEndSteelItem {
public static boolean isEquipped(EntityPlayer player) {
if(player == null) {
return false;
}
ItemStack equipped = player.getCurrentEquippedItem();
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemEndSteelPickaxe;
}
public static ItemEndSteelPickaxe create() {
ItemEndSteelPickaxe res = new ItemEndSteelPickaxe();
res.init();
MinecraftForge.EVENT_BUS.register(res);
return res;
}
public ItemEndSteelPickaxe() {
super("endSteel", ItemEndSteelSword.MATERIAL);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
ItemStack is = new ItemStack(this);
par3List.add(is);
is = new ItemStack(this);
EnergyUpgrade.EMPOWERED_FIVE.writeToItem(is);
EnergyUpgrade.setPowerFull(is);
TravelUpgrade.INSTANCE.writeToItem(is);
par3List.add(is);
}
}
@@ -0,0 +1,57 @@
package crazypants.enderio.item.darksteel;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.config.Config;
import crazypants.enderio.item.darksteel.upgrade.EnergyUpgrade;
import crazypants.enderio.item.darksteel.upgrade.TravelUpgrade;
import crazypants.enderio.item.darksteel.IDarkSteelItem.IEndSteelItem;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.EnumHelper;
public class ItemEndSteelSword extends ItemDarkSteelSword implements IEndSteelItem {
static final ToolMaterial MATERIAL = EnumHelper.addToolMaterial("endSteel", Config.darkSteelPickMinesTiCArdite ? 5 : 3, 2000, 12, 5, 30);
public static boolean isEquipped(EntityPlayer player) {
if(player == null) {
return false;
}
ItemStack equipped = player.getCurrentEquippedItem();
if(equipped == null) {
return false;
}
return equipped.getItem() == DarkSteelItems.itemEndSteelSword;
}
public static ItemEndSteelSword create() {
ItemEndSteelSword res = new ItemEndSteelSword();
res.init();
MinecraftForge.EVENT_BUS.register(res);
return res;
}
public ItemEndSteelSword() {
super("endSteel",MATERIAL);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
ItemStack is = new ItemStack(this);
par3List.add(is);
is = new ItemStack(this);
EnergyUpgrade.EMPOWERED_FIVE.writeToItem(is);
EnergyUpgrade.setPowerFull(is);
TravelUpgrade.INSTANCE.writeToItem(is);
par3List.add(is);
}
}
@@ -1,11 +1,13 @@
package crazypants.enderio.item.darksteel.upgrade;
import cpw.mods.fml.common.registry.GameRegistry;
import crazypants.enderio.config.Config;
import crazypants.enderio.item.darksteel.DarkSteelItems;
import crazypants.enderio.item.darksteel.ItemDarkSteelArmor;
import crazypants.enderio.item.darksteel.ItemEndSteelArmor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import cpw.mods.fml.common.registry.GameRegistry;
import crazypants.enderio.config.Config;
import crazypants.enderio.item.darksteel.ItemDarkSteelArmor;
public class ApiaristArmorUpgrade extends AbstractUpgrade {
@@ -56,7 +58,7 @@ public class ApiaristArmorUpgrade extends AbstractUpgrade {
@Override
public boolean canAddToItem(ItemStack stack) {
if(stack == null || stack.getItem() != ItemDarkSteelArmor.forArmorType(slot) || getUpgradeItem() == null) {
if(stack == null || ! DarkSteelItems.isArmorPart(stack.getItem(), slot) || getUpgradeItem() == null) {
return false;
}
ApiaristArmorUpgrade up = loadFromItem(stack);
@@ -65,7 +67,7 @@ public class ApiaristArmorUpgrade extends AbstractUpgrade {
@Override
public boolean hasUpgrade(ItemStack stack) {
return super.hasUpgrade(stack) && stack.getItem() == ItemDarkSteelArmor.forArmorType(slot);
return super.hasUpgrade(stack) && stack.getItem() instanceof ItemDarkSteelArmor;
}
@Override
Loaded 100 of 135 files, more files were not shown because too many files have changed in this diff. Show more