summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/ihl/config/adress.xsd20
-rw-r--r--assets/ihl/config/ihl-guidebook.xml148
-rw-r--r--assets/ihl/lang/en_US.lang2
-rw-r--r--assets/ihl/sounds/collectorHurt.oggbin18793 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/ace.pngbin26753 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/blowerBack.pngbin957 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/blowerFront.pngbin879 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/blowerLeft.pngbin1491 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/blowerRight.pngbin1501 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/chargerEjector.pngbin3808 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/cutter.pngbin1441 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/drawingDesk.pngbin1964 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/driver.pngbin18287 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/driverItem.pngbin18287 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/fluidNitroGlycerinFlowing.pngbin0 -> 2891 bytes
-rw-r--r--assets/ihl/textures/blocks/fluidNitroGlycerinStill.pngbin0 -> 2790 bytes
-rw-r--r--assets/ihl/textures/blocks/frequencyGeneratorBack.pngbin965 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/frequencyGeneratorBottom.pngbin506 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/frequencyGeneratorFront.pngbin560 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/frequencyGeneratorLeft.pngbin421 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/frequencyGeneratorRight.pngbin454 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/frequencyGeneratorTop.pngbin799 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/goldFurnaceFront.pngbin1795 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/goldFurnaceSide.pngbin1658 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/goldFurnaceTop.pngbin714 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/goldPrecipitatorCondenser.pngbin2894 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/hydrotransportPulpRegeneratorBack.pngbin941 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/hydrotransportPulpRegeneratorFront.pngbin1164 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/junctionBoxFront.pngbin1022 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/redstoneSignalConverterEmitterSide.pngbin4165 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/redstoneSignalConverterEmptySide.pngbin3886 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/redstoneSignalConverterSensorSide.pngbin4190 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/shield.pngbin28413 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/shieldAU.pngbin13794 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/shieldAU2.pngbin13044 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/shieldAUTop.pngbin5852 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceBack.pngbin1438 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceFront.pngbin1406 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceLeft.pngbin1455 -> 0 bytes
-rw-r--r--assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceRight.pngbin1270 -> 0 bytes
-rw-r--r--assets/ihl/textures/entities/collector.pngbin5698 -> 0 bytes
-rw-r--r--assets/ihl/textures/entities/collectorHeavy.pngbin10855 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIBlower.pngbin2669 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIChargerEjector.pngbin6238 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIDrawingDesk.pngbin3911 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIDrawingDesk.xcfbin32082 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIDriver.pngbin945 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIElectrolysisBath.pngbin13220 -> 5097 bytes
-rw-r--r--assets/ihl/textures/gui/GUIGlassBox.pngbin5925 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIGuidebook.pngbin31178 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIHydrotransportPulpRegenerator.pngbin2391 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIIronWorkbench.pngbin3806 -> 2641 bytes
-rw-r--r--assets/ihl/textures/gui/GUIRedstoneSignalConverter.pngbin6865 -> 0 bytes
-rw-r--r--assets/ihl/textures/gui/GUIThermometer.pngbin3661 -> 0 bytes
-rw-r--r--assets/ihl/textures/guidebook/cable_production.pngbin64339 -> 0 bytes
-rw-r--r--assets/ihl/textures/guidebook/distillation_column.pngbin42440 -> 0 bytes
-rw-r--r--assets/ihl/textures/guidebook/hvdc_line.pngbin26115 -> 0 bytes
-rw-r--r--assets/ihl/textures/guidebook/iron_workbench_gui.pngbin23337 -> 0 bytes
-rw-r--r--assets/ihl/textures/guidebook/sap_gathering.pngbin55354 -> 0 bytes
-rw-r--r--assets/ihl/textures/guidebook/sulphuric_acid.pngbin84090 -> 0 bytes
-rw-r--r--assets/ihl/textures/items/driverItem.pngbin608 -> 0 bytes
-rw-r--r--assets/ihl/textures/items/dustMercuryFulminate.pngbin0 -> 566 bytes
-rw-r--r--assets/ihl/textures/items/itemCellNitroGlycerin.pngbin0 -> 2875 bytes
-rw-r--r--assets/ihl/textures/items/redstoneEmitter.pngbin2922 -> 0 bytes
-rw-r--r--assets/ihl/textures/items/redstoneSensor.pngbin3023 -> 0 bytes
-rw-r--r--ic2/sounds/Machines/IHL Industrial Fan/loop.oggbin20232 -> 0 bytes
-rw-r--r--ic2/sounds/Machines/IHL Industrial Fan/start.oggbin12496 -> 0 bytes
-rw-r--r--ic2/sounds/Machines/IHL Industrial Fan/stop.oggbin89914 -> 0 bytes
-rw-r--r--ic2/sounds/Machines/IHL Tunneling Shield/TS02Loop.oggbin165232 -> 0 bytes
-rw-r--r--ic2/sounds/Machines/IHL Tunneling Shield/TS02Start.oggbin104645 -> 0 bytes
-rw-r--r--ic2/sounds/Machines/IHL Tunneling Shield/TS02Stop.oggbin18552 -> 0 bytes
-rw-r--r--ihl/ClientProxy.java34
-rw-r--r--ihl/IHLMod.java486
-rw-r--r--ihl/IHLModConfig.java99
-rw-r--r--ihl/IHLModInfo.java2
-rw-r--r--ihl/collector/ChargerEjectorBlock.java90
-rw-r--r--ihl/collector/ChargerEjectorContainer.java92
-rw-r--r--ihl/collector/ChargerEjectorGui.java128
-rw-r--r--ihl/collector/ChargerEjectorModel.java150
-rw-r--r--ihl/collector/ChargerEjectorRender.java92
-rw-r--r--ihl/collector/ChargerEjectorTileEntity.java522
-rw-r--r--ihl/collector/CollectorEntity.java959
-rw-r--r--ihl/collector/CollectorHeavyEntity.java305
-rw-r--r--ihl/collector/CollectorHeavyItem.java35
-rw-r--r--ihl/collector/CollectorItem.java203
-rw-r--r--ihl/collector/CollectorItemRender.java112
-rw-r--r--ihl/collector/CollectorModel.java110
-rw-r--r--ihl/collector/CollectorRender.java112
-rw-r--r--ihl/collector/GlassBoxContainer.java45
-rw-r--r--ihl/collector/GlassBoxGui.java44
-rw-r--r--ihl/collector/GlassBoxRender.java47
-rw-r--r--ihl/collector/GlassBoxTileEntity.java193
-rw-r--r--ihl/collector/InvSlotMultiCharge.java96
-rw-r--r--ihl/crop_harvestors/BlowerBlock.java169
-rw-r--r--ihl/crop_harvestors/BlowerContainer.java89
-rw-r--r--ihl/crop_harvestors/BlowerGui.java58
-rw-r--r--ihl/crop_harvestors/BlowerTileEntity.java1065
-rw-r--r--ihl/datanet/Contact.java254
-rw-r--r--ihl/datanet/DataCableItem.java177
-rw-r--r--ihl/datanet/DataGrid.java60
-rw-r--r--ihl/datanet/DataNet.java127
-rw-r--r--ihl/datanet/GuiInvisibleButton.java22
-rw-r--r--ihl/datanet/RedstoneSignalConverterContainer.java100
-rw-r--r--ihl/datanet/RedstoneSignalConverterGui.java139
-rw-r--r--ihl/datanet/RedstoneSignalConverterTileEntity.java508
-rw-r--r--ihl/enviroment/SpotlightTileEntity.java2
-rw-r--r--ihl/explosion/ChunkAndWorldLoadEventHandler.java72
-rw-r--r--ihl/explosion/DetonatorMiniGUI.java76
-rw-r--r--ihl/explosion/ExplosionEntityFX.java2
-rw-r--r--ihl/explosion/ExplosionVectorBlockV2.java686
-rw-r--r--ihl/explosion/ExplosiveBlock.java4
-rw-r--r--ihl/explosion/ExplosiveTileEntity.java97
-rw-r--r--ihl/explosion/PileTileEntity.java83
-rw-r--r--ihl/flexible_cable/IronWorkbenchTileEntity.java393
-rw-r--r--ihl/flexible_cable/SetOfDiesMiniGUI.java81
-rw-r--r--ihl/guidebook/IHLGuidebookContainer.java30
-rw-r--r--ihl/guidebook/IHLGuidebookGui.java276
-rw-r--r--ihl/guidebook/IHLGuidebookInventory.java123
-rw-r--r--ihl/guidebook/IHLGuidebookItem.java63
-rw-r--r--ihl/guidebook/IHLGuidebookSlot.java20
-rw-r--r--ihl/handpump/AdvancedHandPump.java5
-rw-r--r--ihl/handpump/BlockWithCoordinates.java29
-rw-r--r--ihl/handpump/XYZ.java (renamed from ihl/i_hate_liquids/XYZ.java)2
-rw-r--r--ihl/i_hate_liquids/BlockDynamicLiquidPlus.java80
-rw-r--r--ihl/i_hate_liquids/IHLEventHandler.java59
-rw-r--r--ihl/i_hate_liquids/InvisibleMagicanEntity.java458
-rw-r--r--ihl/interfaces/IDataCableHolder.java12
-rw-r--r--ihl/interfaces/IDataNode.java21
-rw-r--r--ihl/interfaces/ItemMiniGUI.java26
-rw-r--r--ihl/items_blocks/FlexibleCableItem.java15
-rw-r--r--ihl/items_blocks/IHLBucketHandler.java (renamed from ihl/i_hate_liquids/IHLBucketHandler.java)3
-rw-r--r--ihl/items_blocks/IHLItemBlock.java43
-rw-r--r--ihl/items_blocks/ItemSubstance.java514
-rw-r--r--ihl/items_blocks/MachineBaseBlock.java150
-rw-r--r--ihl/model/FlexibleCableItemRender.java257
-rw-r--r--ihl/model/IHLToolRenderer.java15
-rw-r--r--ihl/model/RenderGameOverlayEventHandler.java38
-rw-r--r--ihl/model/SwitchBoxBlockRender.java127
-rw-r--r--ihl/nei_integration/ElectrolysisBathRecipeHandler.java7
-rw-r--r--ihl/processing/chemistry/ElectrolysisBathGui.java3
-rw-r--r--ihl/processing/invslots/InvSlotSignalProcessor.java123
-rw-r--r--ihl/processing/metallurgy/CrucibleInventory.java173
-rw-r--r--ihl/processing/metallurgy/CrucibleSlot.java16
-rw-r--r--ihl/processing/metallurgy/MuffleFurnanceTileEntity.java121
-rw-r--r--ihl/processing/metallurgy/PassiveBlock.java99
-rw-r--r--ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java77
-rw-r--r--ihl/processing/metallurgy/VacuumInductionMeltingFurnaceGui.java85
-rw-r--r--ihl/processing/metallurgy/VacuumInductionMeltingFurnaceTileEntity.java200
-rw-r--r--ihl/recipes/RecipeInputOreDictionaryList.java241
-rw-r--r--ihl/recipes/RecipeInputWire.java113
-rw-r--r--ihl/recipes/UniversalRecipeInput.java2
-rw-r--r--ihl/recipes/UniversalRecipeManager.java337
-rw-r--r--ihl/tunneling_shield/DriverBlock.java109
-rw-r--r--ihl/tunneling_shield/DriverContainer.java79
-rw-r--r--ihl/tunneling_shield/DriverEntity.java69
-rw-r--r--ihl/tunneling_shield/DriverGui.java102
-rw-r--r--ihl/tunneling_shield/DriverModel.java161
-rw-r--r--ihl/tunneling_shield/DriverRender.java50
-rw-r--r--ihl/tunneling_shield/DriverRenderEntity.java147
-rw-r--r--ihl/tunneling_shield/DriverTileEntity.java1136
-rw-r--r--ihl/tunneling_shield/HorizontalMiningPipe.java276
-rw-r--r--ihl/tunneling_shield/HydrotransportPulpRegeneratorContainer.java100
-rw-r--r--ihl/tunneling_shield/HydrotransportPulpRegeneratorGui.java59
-rw-r--r--ihl/tunneling_shield/HydrotransportPulpRegeneratorTileEntity.java273
-rw-r--r--ihl/tunneling_shield/IMultiBlock.java7
-rw-r--r--ihl/tunneling_shield/MultiBlockSpacerBlock.java223
-rw-r--r--ihl/utils/BlockItemRender.java (renamed from ihl/tunneling_shield/BlockItemRender.java)2
-rw-r--r--ihl/utils/GuiMultiTextureButton.java (renamed from ihl/collector/GuiMultiTextureButton.java)2
-rw-r--r--ihl/utils/IHLUtils.java1459
-rw-r--r--ihl/utils/IHLXMLParser.java92
-rw-r--r--ihl/utils/PlayerWakeUpEventHandler.java17
-rw-r--r--ihl/worldgen/ores/IHLFluid.java3
172 files changed, 2144 insertions, 14575 deletions
diff --git a/assets/ihl/config/adress.xsd b/assets/ihl/config/adress.xsd
deleted file mode 100644
index f778362..0000000
--- a/assets/ihl/config/adress.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="guidebook">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="section">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="title" type="xs:string" />
- <xs:element name="itemstack" type="xs:string" />
- <xs:element name="text" type="xs:string" />
- <xs:element name="image" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema>
-
diff --git a/assets/ihl/config/ihl-guidebook.xml b/assets/ihl/config/ihl-guidebook.xml
deleted file mode 100644
index 1b81f23..0000000
--- a/assets/ihl/config/ihl-guidebook.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<guidebook xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="adress.xsd">
- <section id="0">
- <title>
- ihl.guidebook.title01
- </title>
- <itemstack damage="0">
- ihl:ironWorkbench
- </itemstack>
- <text>
- ihl.guidebook.section01.1
- </text>
- <image width="110" height="200">
- textures/guidebook/iron_workbench_gui.png
- </image>
- <text>
- ihl.guidebook.section01.2
- </text>
- </section>
- <section id="1">
- <title>
- ihl.guidebook.title02
- </title>
- <itemstack damage="0">
- ihl:fractionatorBottom
- </itemstack>
- <itemstack damage="0">
- ihl:fractionatorSection
- </itemstack>
- <itemstack damage="0">
- ihl:fractionatorCover
- </itemstack>
- <itemstack damage="0">
- ihl:refluxCondenser
- </itemstack>
- <text>
- ihl.guidebook.section02.1
- </text>
- <image width="110" height="200">
- textures/guidebook/distillation_column.png
- </image>
- <text>
- ihl.guidebook.section02.2
- </text>
- </section>
- <section id="2">
- <title>
- ihl.guidebook.title03
- </title>
- <itemstack damage="0">
- ihl:wireMill
- </itemstack>
- <itemstack damage="0">
- ihl:vulcanizationExtrudingMold
- </itemstack>
- <itemstack damage="0">
- ihl:extruder
- </itemstack>
- <itemstack damage="0">
- ihl:coiler
- </itemstack>
- <text>
- ihl.guidebook.section03.1
- </text>
- <image width="110" height="200">
- textures/guidebook/cable_production.png
- </image>
- <text>
- ihl.guidebook.section03.2
- </text>
- </section>
- <section id="3">
- <title>
- ihl.guidebook.title04
- </title>
- <itemstack damage="0">
- ihl:batterySwitchUnit
- </itemstack>
- <itemstack damage="0">
- ihl:rectifierTransformerUnit
- </itemstack>
- <itemstack damage="0">
- ihl:frequencyGenerator
- </itemstack>
- <text>
- ihl.guidebook.section04.1
- </text>
- <image width="110" height="100">
- textures/guidebook/hvdc_line.png
- </image>
- <text>
- ihl.guidebook.section04.2
- </text>
- </section>
- <section id="4">
- <title>
- ihl.guidebook.title05
- </title>
- <itemstack damage="0">
- ihl:goldChimneyKnee
- </itemstack>
- <itemstack damage="0">
- ihl:leadOven
- </itemstack>
- <itemstack damage="0">
- ihl:goldPrecipitatorCondenser
- </itemstack>
- <text>
- ihl.guidebook.section05.1
- </text>
- <image width="110" height="200">
- textures/guidebook/sulphuric_acid.png
- </image>
- <text>
- ihl.guidebook.section05.2
- </text>
- </section>
- <section id="5">
- <title>
- ihl.guidebook.title06
- </title>
- <itemstack damage="0">
- ihl:sackBlock
- </itemstack>
- <itemstack damage="0">
- ihl:evaporatorBlock
- </itemstack>
- <itemstack damage="10018">
- ihl:item.ihlSimpleItem
- </itemstack>
- <itemstack damage="10019">
- ihl:item.ihlSimpleItem
- </itemstack>
- <text>
- ihl.guidebook.section06.1
- </text>
- <image width="110" height="200">
- textures/guidebook/sap_gathering.png
- </image>
- <text>
- ihl.guidebook.section06.2
- </text>
- </section>
-</guidebook>
- <!--
- Hope this XML is well-formed.
- -->
diff --git a/assets/ihl/lang/en_US.lang b/assets/ihl/lang/en_US.lang
index 386b0be..430d7c2 100644
--- a/assets/ihl/lang/en_US.lang
+++ b/assets/ihl/lang/en_US.lang
@@ -16,8 +16,10 @@ catalystRawIronOxide.name=Iron oxide catalyst blank (not sintered)
dustIronOxideCatalystMix.name=Mix for preparing an iron catalyst
dustSodiumFormate.name=Sodium formate
dustMercuryChloride.name=Mercury chloride
+dustMercuryFulminate.name=Mercury fulminate
dustCalciumAcetate.name=Calcium acetate
itemCellMethanol=Methanol cell
+itemCellNitroGlycerin=Nitro glycerin cell
item.skull.name=Wailer remains
item.guidebook.name=IHL manual
diff --git a/assets/ihl/sounds/collectorHurt.ogg b/assets/ihl/sounds/collectorHurt.ogg
deleted file mode 100644
index 679d49e..0000000
--- a/assets/ihl/sounds/collectorHurt.ogg
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/ace.png b/assets/ihl/textures/blocks/ace.png
deleted file mode 100644
index 89faf3f..0000000
--- a/assets/ihl/textures/blocks/ace.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/blowerBack.png b/assets/ihl/textures/blocks/blowerBack.png
deleted file mode 100644
index 69e6ae8..0000000
--- a/assets/ihl/textures/blocks/blowerBack.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/blowerFront.png b/assets/ihl/textures/blocks/blowerFront.png
deleted file mode 100644
index d8b6f5a..0000000
--- a/assets/ihl/textures/blocks/blowerFront.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/blowerLeft.png b/assets/ihl/textures/blocks/blowerLeft.png
deleted file mode 100644
index 5b02326..0000000
--- a/assets/ihl/textures/blocks/blowerLeft.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/blowerRight.png b/assets/ihl/textures/blocks/blowerRight.png
deleted file mode 100644
index 5eddaad..0000000
--- a/assets/ihl/textures/blocks/blowerRight.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/chargerEjector.png b/assets/ihl/textures/blocks/chargerEjector.png
deleted file mode 100644
index 68cdb23..0000000
--- a/assets/ihl/textures/blocks/chargerEjector.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/cutter.png b/assets/ihl/textures/blocks/cutter.png
deleted file mode 100644
index 5fe1531..0000000
--- a/assets/ihl/textures/blocks/cutter.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/drawingDesk.png b/assets/ihl/textures/blocks/drawingDesk.png
deleted file mode 100644
index c4539db..0000000
--- a/assets/ihl/textures/blocks/drawingDesk.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/driver.png b/assets/ihl/textures/blocks/driver.png
deleted file mode 100644
index 27b7857..0000000
--- a/assets/ihl/textures/blocks/driver.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/driverItem.png b/assets/ihl/textures/blocks/driverItem.png
deleted file mode 100644
index 27b7857..0000000
--- a/assets/ihl/textures/blocks/driverItem.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/fluidNitroGlycerinFlowing.png b/assets/ihl/textures/blocks/fluidNitroGlycerinFlowing.png
new file mode 100644
index 0000000..a5870f5
--- /dev/null
+++ b/assets/ihl/textures/blocks/fluidNitroGlycerinFlowing.png
Binary files differ
diff --git a/assets/ihl/textures/blocks/fluidNitroGlycerinStill.png b/assets/ihl/textures/blocks/fluidNitroGlycerinStill.png
new file mode 100644
index 0000000..faa4fb5
--- /dev/null
+++ b/assets/ihl/textures/blocks/fluidNitroGlycerinStill.png
Binary files differ
diff --git a/assets/ihl/textures/blocks/frequencyGeneratorBack.png b/assets/ihl/textures/blocks/frequencyGeneratorBack.png
deleted file mode 100644
index 122fbeb..0000000
--- a/assets/ihl/textures/blocks/frequencyGeneratorBack.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/frequencyGeneratorBottom.png b/assets/ihl/textures/blocks/frequencyGeneratorBottom.png
deleted file mode 100644
index f5c5f8c..0000000
--- a/assets/ihl/textures/blocks/frequencyGeneratorBottom.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/frequencyGeneratorFront.png b/assets/ihl/textures/blocks/frequencyGeneratorFront.png
deleted file mode 100644
index d4bf075..0000000
--- a/assets/ihl/textures/blocks/frequencyGeneratorFront.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/frequencyGeneratorLeft.png b/assets/ihl/textures/blocks/frequencyGeneratorLeft.png
deleted file mode 100644
index c64cffb..0000000
--- a/assets/ihl/textures/blocks/frequencyGeneratorLeft.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/frequencyGeneratorRight.png b/assets/ihl/textures/blocks/frequencyGeneratorRight.png
deleted file mode 100644
index d889dc8..0000000
--- a/assets/ihl/textures/blocks/frequencyGeneratorRight.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/frequencyGeneratorTop.png b/assets/ihl/textures/blocks/frequencyGeneratorTop.png
deleted file mode 100644
index 36eeda9..0000000
--- a/assets/ihl/textures/blocks/frequencyGeneratorTop.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/goldFurnaceFront.png b/assets/ihl/textures/blocks/goldFurnaceFront.png
deleted file mode 100644
index 8876edc..0000000
--- a/assets/ihl/textures/blocks/goldFurnaceFront.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/goldFurnaceSide.png b/assets/ihl/textures/blocks/goldFurnaceSide.png
deleted file mode 100644
index 997aa0f..0000000
--- a/assets/ihl/textures/blocks/goldFurnaceSide.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/goldFurnaceTop.png b/assets/ihl/textures/blocks/goldFurnaceTop.png
deleted file mode 100644
index 366ca1e..0000000
--- a/assets/ihl/textures/blocks/goldFurnaceTop.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/goldPrecipitatorCondenser.png b/assets/ihl/textures/blocks/goldPrecipitatorCondenser.png
deleted file mode 100644
index 8f2f317..0000000
--- a/assets/ihl/textures/blocks/goldPrecipitatorCondenser.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/hydrotransportPulpRegeneratorBack.png b/assets/ihl/textures/blocks/hydrotransportPulpRegeneratorBack.png
deleted file mode 100644
index 0826abf..0000000
--- a/assets/ihl/textures/blocks/hydrotransportPulpRegeneratorBack.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/hydrotransportPulpRegeneratorFront.png b/assets/ihl/textures/blocks/hydrotransportPulpRegeneratorFront.png
deleted file mode 100644
index 09bf946..0000000
--- a/assets/ihl/textures/blocks/hydrotransportPulpRegeneratorFront.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/junctionBoxFront.png b/assets/ihl/textures/blocks/junctionBoxFront.png
deleted file mode 100644
index 95b8dae..0000000
--- a/assets/ihl/textures/blocks/junctionBoxFront.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/redstoneSignalConverterEmitterSide.png b/assets/ihl/textures/blocks/redstoneSignalConverterEmitterSide.png
deleted file mode 100644
index c8b0d1f..0000000
--- a/assets/ihl/textures/blocks/redstoneSignalConverterEmitterSide.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/redstoneSignalConverterEmptySide.png b/assets/ihl/textures/blocks/redstoneSignalConverterEmptySide.png
deleted file mode 100644
index c75016e..0000000
--- a/assets/ihl/textures/blocks/redstoneSignalConverterEmptySide.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/redstoneSignalConverterSensorSide.png b/assets/ihl/textures/blocks/redstoneSignalConverterSensorSide.png
deleted file mode 100644
index 505d40a..0000000
--- a/assets/ihl/textures/blocks/redstoneSignalConverterSensorSide.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/shield.png b/assets/ihl/textures/blocks/shield.png
deleted file mode 100644
index af5ee52..0000000
--- a/assets/ihl/textures/blocks/shield.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/shieldAU.png b/assets/ihl/textures/blocks/shieldAU.png
deleted file mode 100644
index 80ce0d4..0000000
--- a/assets/ihl/textures/blocks/shieldAU.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/shieldAU2.png b/assets/ihl/textures/blocks/shieldAU2.png
deleted file mode 100644
index d55de65..0000000
--- a/assets/ihl/textures/blocks/shieldAU2.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/shieldAUTop.png b/assets/ihl/textures/blocks/shieldAUTop.png
deleted file mode 100644
index 75a87bd..0000000
--- a/assets/ihl/textures/blocks/shieldAUTop.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceBack.png b/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceBack.png
deleted file mode 100644
index d519cd7..0000000
--- a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceBack.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceFront.png b/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceFront.png
deleted file mode 100644
index 10dcd29..0000000
--- a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceFront.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceLeft.png b/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceLeft.png
deleted file mode 100644
index 122e95c..0000000
--- a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceLeft.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceRight.png b/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceRight.png
deleted file mode 100644
index a9347eb..0000000
--- a/assets/ihl/textures/blocks/vacuumInductionMeltingFurnaceRight.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/entities/collector.png b/assets/ihl/textures/entities/collector.png
deleted file mode 100644
index e8e42e8..0000000
--- a/assets/ihl/textures/entities/collector.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/entities/collectorHeavy.png b/assets/ihl/textures/entities/collectorHeavy.png
deleted file mode 100644
index 649bae4..0000000
--- a/assets/ihl/textures/entities/collectorHeavy.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIBlower.png b/assets/ihl/textures/gui/GUIBlower.png
deleted file mode 100644
index f86c1c9..0000000
--- a/assets/ihl/textures/gui/GUIBlower.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIChargerEjector.png b/assets/ihl/textures/gui/GUIChargerEjector.png
deleted file mode 100644
index 942f51f..0000000
--- a/assets/ihl/textures/gui/GUIChargerEjector.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIDrawingDesk.png b/assets/ihl/textures/gui/GUIDrawingDesk.png
deleted file mode 100644
index 5df27c5..0000000
--- a/assets/ihl/textures/gui/GUIDrawingDesk.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIDrawingDesk.xcf b/assets/ihl/textures/gui/GUIDrawingDesk.xcf
deleted file mode 100644
index b0d3e7d..0000000
--- a/assets/ihl/textures/gui/GUIDrawingDesk.xcf
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIDriver.png b/assets/ihl/textures/gui/GUIDriver.png
deleted file mode 100644
index 46bac53..0000000
--- a/assets/ihl/textures/gui/GUIDriver.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIElectrolysisBath.png b/assets/ihl/textures/gui/GUIElectrolysisBath.png
index f8215bf..b53a181 100644
--- a/assets/ihl/textures/gui/GUIElectrolysisBath.png
+++ b/assets/ihl/textures/gui/GUIElectrolysisBath.png
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIGlassBox.png b/assets/ihl/textures/gui/GUIGlassBox.png
deleted file mode 100644
index afc3da8..0000000
--- a/assets/ihl/textures/gui/GUIGlassBox.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIGuidebook.png b/assets/ihl/textures/gui/GUIGuidebook.png
deleted file mode 100644
index fd0daab..0000000
--- a/assets/ihl/textures/gui/GUIGuidebook.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIHydrotransportPulpRegenerator.png b/assets/ihl/textures/gui/GUIHydrotransportPulpRegenerator.png
deleted file mode 100644
index bbf453b..0000000
--- a/assets/ihl/textures/gui/GUIHydrotransportPulpRegenerator.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIIronWorkbench.png b/assets/ihl/textures/gui/GUIIronWorkbench.png
index 99d4a6d..8f036bf 100644
--- a/assets/ihl/textures/gui/GUIIronWorkbench.png
+++ b/assets/ihl/textures/gui/GUIIronWorkbench.png
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIRedstoneSignalConverter.png b/assets/ihl/textures/gui/GUIRedstoneSignalConverter.png
deleted file mode 100644
index fafdbdb..0000000
--- a/assets/ihl/textures/gui/GUIRedstoneSignalConverter.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/gui/GUIThermometer.png b/assets/ihl/textures/gui/GUIThermometer.png
deleted file mode 100644
index 2687a34..0000000
--- a/assets/ihl/textures/gui/GUIThermometer.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/guidebook/cable_production.png b/assets/ihl/textures/guidebook/cable_production.png
deleted file mode 100644
index 6aa6dc3..0000000
--- a/assets/ihl/textures/guidebook/cable_production.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/guidebook/distillation_column.png b/assets/ihl/textures/guidebook/distillation_column.png
deleted file mode 100644
index 6ad8ad0..0000000
--- a/assets/ihl/textures/guidebook/distillation_column.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/guidebook/hvdc_line.png b/assets/ihl/textures/guidebook/hvdc_line.png
deleted file mode 100644
index ad2c91b..0000000
--- a/assets/ihl/textures/guidebook/hvdc_line.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/guidebook/iron_workbench_gui.png b/assets/ihl/textures/guidebook/iron_workbench_gui.png
deleted file mode 100644
index a4752fc..0000000
--- a/assets/ihl/textures/guidebook/iron_workbench_gui.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/guidebook/sap_gathering.png b/assets/ihl/textures/guidebook/sap_gathering.png
deleted file mode 100644
index 93cf661..0000000
--- a/assets/ihl/textures/guidebook/sap_gathering.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/guidebook/sulphuric_acid.png b/assets/ihl/textures/guidebook/sulphuric_acid.png
deleted file mode 100644
index 4434d66..0000000
--- a/assets/ihl/textures/guidebook/sulphuric_acid.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/items/driverItem.png b/assets/ihl/textures/items/driverItem.png
deleted file mode 100644
index 12e668c..0000000
--- a/assets/ihl/textures/items/driverItem.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/items/dustMercuryFulminate.png b/assets/ihl/textures/items/dustMercuryFulminate.png
new file mode 100644
index 0000000..81b572a
--- /dev/null
+++ b/assets/ihl/textures/items/dustMercuryFulminate.png
Binary files differ
diff --git a/assets/ihl/textures/items/itemCellNitroGlycerin.png b/assets/ihl/textures/items/itemCellNitroGlycerin.png
new file mode 100644
index 0000000..e631c59
--- /dev/null
+++ b/assets/ihl/textures/items/itemCellNitroGlycerin.png
Binary files differ
diff --git a/assets/ihl/textures/items/redstoneEmitter.png b/assets/ihl/textures/items/redstoneEmitter.png
deleted file mode 100644
index 4c71fe6..0000000
--- a/assets/ihl/textures/items/redstoneEmitter.png
+++ /dev/null
Binary files differ
diff --git a/assets/ihl/textures/items/redstoneSensor.png b/assets/ihl/textures/items/redstoneSensor.png
deleted file mode 100644
index b2a0d36..0000000
--- a/assets/ihl/textures/items/redstoneSensor.png
+++ /dev/null
Binary files differ
diff --git a/ic2/sounds/Machines/IHL Industrial Fan/loop.ogg b/ic2/sounds/Machines/IHL Industrial Fan/loop.ogg
deleted file mode 100644
index 56b3794..0000000
--- a/ic2/sounds/Machines/IHL Industrial Fan/loop.ogg
+++ /dev/null
Binary files differ
diff --git a/ic2/sounds/Machines/IHL Industrial Fan/start.ogg b/ic2/sounds/Machines/IHL Industrial Fan/start.ogg
deleted file mode 100644
index 9fea28c..0000000
--- a/ic2/sounds/Machines/IHL Industrial Fan/start.ogg
+++ /dev/null
Binary files differ
diff --git a/ic2/sounds/Machines/IHL Industrial Fan/stop.ogg b/ic2/sounds/Machines/IHL Industrial Fan/stop.ogg
deleted file mode 100644
index 1159b40..0000000
--- a/ic2/sounds/Machines/IHL Industrial Fan/stop.ogg
+++ /dev/null
Binary files differ
diff --git a/ic2/sounds/Machines/IHL Tunneling Shield/TS02Loop.ogg b/ic2/sounds/Machines/IHL Tunneling Shield/TS02Loop.ogg
deleted file mode 100644
index 3da452c..0000000
--- a/ic2/sounds/Machines/IHL Tunneling Shield/TS02Loop.ogg
+++ /dev/null
Binary files differ
diff --git a/ic2/sounds/Machines/IHL Tunneling Shield/TS02Start.ogg b/ic2/sounds/Machines/IHL Tunneling Shield/TS02Start.ogg
deleted file mode 100644
index b0f3a09..0000000
--- a/ic2/sounds/Machines/IHL Tunneling Shield/TS02Start.ogg
+++ /dev/null
Binary files differ
diff --git a/ic2/sounds/Machines/IHL Tunneling Shield/TS02Stop.ogg b/ic2/sounds/Machines/IHL Tunneling Shield/TS02Stop.ogg
deleted file mode 100644
index c346ccd..0000000
--- a/ic2/sounds/Machines/IHL Tunneling Shield/TS02Stop.ogg
+++ /dev/null
Binary files differ
diff --git a/ihl/ClientProxy.java b/ihl/ClientProxy.java
index 1a55e27..6b0dac0 100644
--- a/ihl/ClientProxy.java
+++ b/ihl/ClientProxy.java
@@ -8,21 +8,11 @@ import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
-import ihl.collector.ChargerEjectorModel;
-import ihl.collector.ChargerEjectorRender;
-import ihl.collector.ChargerEjectorTileEntity;
-import ihl.collector.CollectorEntity;
-import ihl.collector.CollectorHeavyEntity;
-import ihl.collector.CollectorItemRender;
-import ihl.collector.CollectorRender;
-import ihl.collector.GlassBoxRender;
-import ihl.collector.GlassBoxTileEntity;
import ihl.crop_harvestors.BlobEntityFX;
import ihl.crop_harvestors.BlobEntityFX.FluidType;
import ihl.crop_harvestors.BlobRenderFX;
import ihl.crop_harvestors.SackRender;
import ihl.crop_harvestors.SackTileEntity;
-import ihl.datanet.DataCableItem;
import ihl.enviroment.LightBulbModel;
import ihl.enviroment.LightBulbRender;
import ihl.enviroment.LightBulbTileEntity;
@@ -104,12 +94,7 @@ import ihl.servitor.FlameRenderFX;
import ihl.servitor.LostHeadEntity;
import ihl.servitor.LostHeadRender;
import ihl.servitor.SkullItemRender;
-import ihl.tunneling_shield.BlockItemRender;
-import ihl.tunneling_shield.DriverEntity;
-import ihl.tunneling_shield.DriverModel;
-import ihl.tunneling_shield.DriverRender;
-import ihl.tunneling_shield.DriverRenderEntity;
-import ihl.tunneling_shield.DriverTileEntity;
+import ihl.utils.BlockItemRender;
import ihl.utils.IHLRenderUtils;
import ihl.utils.IHLUtils;
import ihl.worldgen.ores.IHLFluid;
@@ -125,7 +110,6 @@ import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MovingObjectPosition;
@@ -164,25 +148,16 @@ public class ClientProxy extends ServerProxy {
this.renderUtils=new IHLRenderUtils();
MinecraftForge.EVENT_BUS.register(this.renderUtils);
- registerBlockHandler(new ImpregnatingMachineBlockRender(), MachineType.BronzeTub, MachineType.GlassBox);
+ registerBlockHandler(new ImpregnatingMachineBlockRender(), MachineType.BronzeTub);
registerBlockHandler(new RefluxCondenserBlockRender(), MachineType.RefluxCondenser);
- registerBlockHandler(new SwitchBoxBlockRender(), MachineType.RedstoneSignalConverter);
registerBlockHandler(new RectifierTransformerUnitBlockRender(), MachineType.RectifierTransformerUnit);
registerBlockHandler(new IronWorkbenchBlockRender(), MachineType.IronWorkbench);
PileBlockRender pileBlockRender = new PileBlockRender();
RenderingRegistry.registerBlockHandler(pileBlockRender);
ClientRegistry.bindTileEntitySpecialRenderer(PileTileEntity.class, pileBlockRender.pileTileEntityRender);
- RenderingRegistry.registerEntityRenderingHandler(CollectorEntity.class, new CollectorRender(false));
- MinecraftForgeClient.registerItemRenderer(IHLMod.collectorItem, new CollectorItemRender(false));
- RenderingRegistry.registerEntityRenderingHandler(CollectorHeavyEntity.class, new CollectorRender(true));
- MinecraftForgeClient.registerItemRenderer(IHLMod.collectorHeavyItem, new CollectorItemRender(true));
- RenderingRegistry.registerEntityRenderingHandler(DriverEntity.class, new DriverRenderEntity());
RenderingRegistry.registerEntityRenderingHandler(IHLEntityFallingPile.class, new IHLEntityFallingPileRender());
- ClientRegistry.bindTileEntitySpecialRenderer(ChargerEjectorTileEntity.class, new ChargerEjectorRender());
- ClientRegistry.bindTileEntitySpecialRenderer(DriverTileEntity.class, new DriverRender());
ClientRegistry.bindTileEntitySpecialRenderer(SackTileEntity.class, new SackRender());
- ClientRegistry.bindTileEntitySpecialRenderer(GlassBoxTileEntity.class, new GlassBoxRender());
ClientRegistry.bindTileEntitySpecialRenderer(LathePart1TileEntity.class, new UniversalTileRender(new LathePart1Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
ClientRegistry.bindTileEntitySpecialRenderer(LathePart2TileEntity.class, new UniversalTileRender(new LathePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
ClientRegistry.bindTileEntitySpecialRenderer(LoomTileEntity.class, new UniversalTileRender(new LoomModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/detonationSprayingMachine.png")));
@@ -214,8 +189,6 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(SpotlightTileEntity.class, new SpotlightRender());
selectionBoxSpecialRendererRegistry.put(AnchorTileEntity.class, new CableHolderSelectionBoxSpecialRenderer());
selectionBoxSpecialRendererRegistry.put(RectifierTransformerUnitTileEntity.class, new RectifierTransformerUnitSelectionBoxSpecialRenderer());
- MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(IHLMod.driverBlock), new BlockItemRender(new DriverModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/shield.png"), 5, 2, 0F, 0.0F));
- MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(IHLMod.chargerEjectorBlock), new BlockItemRender(new ChargerEjectorModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/chargerEjector.png"), 0, 6, 0.5F, 0.0F));
MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("goldPrecipitatorCondenser"), new BlockItemRender(new PrecipitatorCondenserModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/porcelainBox.png"), 0, 0, 0.0F, 0.0F));
MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("goldChimneyKnee"), new BlockItemRender(new GoldChimneyKneeModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/porcelainBox.png"), 0, 0, 0.0F, 0.0F));
MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("cannonBronze"), new BlockItemRender(new DetonationSprayingMachineModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/detonationSprayingMachine.png"), 0, 0, 0.0F, 0.0F));
@@ -242,15 +215,12 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("spotlight"), new BlockItemRender(new SpotlightModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/spotlight.png"), 0, 1, 0.0F, 0.0F));
MinecraftForgeClient.registerItemRenderer(IHLTool.instance, new IHLToolRenderer());
MinecraftForgeClient.registerItemRenderer(FlexibleCableItem.instance, new FlexibleCableItemRender());
- MinecraftForgeClient.registerItemRenderer(DataCableItem.dataCableInstance, new FlexibleCableItemRender());
RenderingRegistry.registerEntityRenderingHandler(LostHeadEntity.class, new LostHeadRender());
RenderingRegistry.registerEntityRenderingHandler(FlameEntityFX.class, new FlameRenderFX(IHLModInfo.MODID+":textures/particles/flameTongue.png"));
RenderingRegistry.registerEntityRenderingHandler(BlastEntityFX.class, new FlameRenderFX(IHLModInfo.MODID+":textures/particles/blast.png"));
RenderingRegistry.registerEntityRenderingHandler(BlobEntityFX.class, new BlobRenderFX());
RenderingRegistry.registerEntityRenderingHandler(ExplosionEntityFX.class, new ExplosionRenderFX(IHLModInfo.MODID+":textures/particles/explosion.png"));
RenderingRegistry.registerEntityRenderingHandler(NodeEntity.class, new NodeRender());
- MinecraftForge.EVENT_BUS.register(new RenderGameOverlayEventHandler());
-
}
@Override
diff --git a/ihl/IHLMod.java b/ihl/IHLMod.java
index 9635d41..c9470b5 100644
--- a/ihl/IHLMod.java
+++ b/ihl/IHLMod.java
@@ -12,7 +12,6 @@ import javax.xml.parsers.ParserConfigurationException;
import org.apache.logging.log4j.Logger;
-import codechicken.lib.config.ConfigTag;
import codechicken.nei.NEIModContainer;
import gregapi.data.IL;
import gregapi.data.MT;
@@ -33,8 +32,6 @@ import ic2.api.recipe.RecipeInputOreDict;
import ic2.api.recipe.Recipes;
import ic2.core.Ic2Items;
import ic2.core.util.StackUtil;
-import ihl.datanet.DataCableItem;
-import ihl.datanet.DataNet;
import ihl.enviroment.LaserHitMirrorEventHandler;
import ihl.enviroment.LightBulbBlock;
import ihl.enviroment.MirrorBlock;
@@ -50,16 +47,12 @@ import ihl.flexible_cable.IHLENet;
import ihl.flexible_cable.IronWorkbenchTileEntity;
import ihl.flexible_cable.NodeEntity;
import ihl.flexible_cable.PowerCableNodeEntity;
-import ihl.guidebook.IHLGuidebookItem;
import ihl.handpump.AdvancedHandPump;
import ihl.handpump.IHLHandPump;
-import ihl.i_hate_liquids.BlockDynamicLiquidPlus;
-import ihl.i_hate_liquids.IHLBucketHandler;
-import ihl.i_hate_liquids.IHLEventHandler;
import ihl.items_blocks.FiberItem;
import ihl.items_blocks.FlexibleCableItem;
import ihl.items_blocks.FlexiblePipeItem;
-import ihl.items_blocks.IHLItemBlock;
+import ihl.items_blocks.IHLBucketHandler;
import ihl.items_blocks.IHLTool;
import ihl.items_blocks.ItemSubstance;
import ihl.items_blocks.MachineBaseBlock;
@@ -91,25 +84,17 @@ import ihl.processing.metallurgy.GasWeldingStationTileEntity;
import ihl.processing.metallurgy.ImpregnatingMachineTileEntity;
import ihl.processing.metallurgy.InjectionMoldBlock;
import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
-import ihl.processing.metallurgy.PassiveBlock;
import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
import ihl.processing.metallurgy.WireMillTileEntity;
import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
-import ihl.collector.ChargerEjectorBlock;
-import ihl.collector.ChargerEjectorTileEntity;
-import ihl.collector.CollectorHeavyEntity;
-import ihl.collector.CollectorHeavyItem;
-import ihl.collector.CollectorItem;
-import ihl.collector.CollectorEntity;
-import ihl.crop_harvestors.BlowerBlock;
-import ihl.crop_harvestors.BlowerTileEntity;
import ihl.crop_harvestors.RubberTreeBlock;
import ihl.crop_harvestors.SackBlock;
import ihl.crop_harvestors.SackTileEntity;
import ihl.recipes.IronWorkbenchRecipe;
import ihl.recipes.RecipeInputDetonator;
import ihl.recipes.RecipeInputDie;
+import ihl.recipes.RecipeInputOreDictionaryList;
import ihl.recipes.RecipeInputWire;
import ihl.recipes.RecipeOutputItemStack;
import ihl.recipes.UniversalRecipeInput;
@@ -119,14 +104,9 @@ import ihl.servitor.LostHeadEntity;
import ihl.trans_dimensional_item_teleporter.TDITBlock;
import ihl.trans_dimensional_item_teleporter.TDITFrequencyTransmitter;
import ihl.trans_dimensional_item_teleporter.TDITTileEntity;
-import ihl.tunneling_shield.DriverBlock;
-import ihl.tunneling_shield.DriverTileEntity;
-import ihl.tunneling_shield.HorizontalMiningPipe;
-import ihl.tunneling_shield.MultiBlockSpacerBlock;
import ihl.utils.EntityDropEventHandler;
import ihl.utils.FluidDictionary;
import ihl.utils.IHLUtils;
-import ihl.utils.IHLXMLParser;
import ihl.worldgen.IHLWorldGenerator;
import ihl.worldgen.ores.BlockOre;
import ihl.worldgen.ores.DebugScannerBlock;
@@ -171,36 +151,16 @@ public class IHLMod implements IFuelHandler {
// GregTech recipes.
public static boolean isGregTechModLoaded = false;
public static boolean isGT_API_Version_5 = false;
- // This used to determine if CCC presented on server and do not use
- // alternative water blocks if true.
- public static boolean cccFiniteWater = false;
- public static Block driverBlock;
- public static Block blowerBlock;
public static Block cableAnchorBlock;
public static Block sackBlock;
public static Block rubberTreeBlock;
public static Block spruceTreeBlock;
public static Block evaporatorBlock;
public static Block electricEvaporatorBlock;
- public static Block multiBlockSpacerBlock = (new MultiBlockSpacerBlock()).setBlockName("IHLMultiBlockSpacerBlock")
- .setBlockTextureName(IHLModInfo.MODID + ":shieldAU").setHardness(5.0F).setResistance(5.0F);
public static Block boneBlock = (new BoneBlock(Material.coral)).setBlockName("boneBlock").setHardness(2.0F)
.setResistance(2.0F);
public static Item ic2_handpump;
public static Item ic2_advanced_handpump;
- public static Item collectorItem = new CollectorItem().setUnlocalizedName("collector");
- public static Item collectorHeavyItem = new CollectorHeavyItem().setUnlocalizedName("collectorHeavy");
- public static Block horizontalMiningPipeX = (new HorizontalMiningPipe(1)).setBlockName("horizontalMiningPipeX")
- .setBlockTextureName("ic2:machine/blockMiningPipe").setHardness(5.0F).setResistance(5.0F);
- public static Block horizontalMiningPipeZ = (new HorizontalMiningPipe(0)).setBlockName("horizontalMiningPipeZ")
- .setBlockTextureName("ic2:machine/blockMiningPipe").setHardness(5.0F).setResistance(5.0F);
- public static Block flowing_water = (new BlockDynamicLiquidPlus(Material.water)).setHardness(100.0F)
- .setLightOpacity(3).setBlockName("water").setBlockTextureName(IHLModInfo.MODID + ":metalShards");
- public static Block flowing_lava = (new BlockDynamicLiquidPlus(Material.lava)).setHardness(100.0F)
- .setLightLevel(1.0F).setBlockName("lava").setBlockTextureName(IHLModInfo.MODID + ":metalShards");
- public static Block chargerEjectorBlock = (new ChargerEjectorBlock(Material.glass))
- .setBlockName("chargerEjectorBlock").setBlockTextureName(IHLModInfo.MODID + ":ace").setHardness(2.0F)
- .setResistance(2.0F);
public static Item ihlSkull = (new Item()).setUnlocalizedName("skull").setFull3D()
.setCreativeTab(CreativeTabs.tabMisc).setTextureName(IHLModInfo.MODID + ":skull");
public static Block ic2Leaves;
@@ -212,10 +172,8 @@ public class IHLMod implements IFuelHandler {
.setBlockTextureName(IHLModInfo.MODID + ":tditTop");
public static Item crucible;
public static Logger log;
- public static DataNet datanet;
private ItemStack pfaalimestone;
private ItemStack pfaacobblelimestone;
- public static IHLXMLParser xmlparser;
public static FluidDictionary fluidDictionary;
public static Map<String, Integer> moltenAmounts = new HashMap<String, Integer>();
public static ExplosionVectorBlockV2 explosionHandler;
@@ -223,7 +181,6 @@ public class IHLMod implements IFuelHandler {
@EventHandler
public void preInit(FMLPreInitializationEvent evt) throws IOException, ParserConfigurationException {
fluidDictionary = new FluidDictionary();
- xmlparser = new IHLXMLParser();
log = evt.getModLog();
IHLMod.config = new IHLModConfig(evt);
rubberTreeBlock = (new RubberTreeBlock(RubberTreeBlock.TreeType.RUBBERTREE)).setBlockName("rubberTreeBlock")
@@ -232,7 +189,6 @@ public class IHLMod implements IFuelHandler {
.setBlockTextureName(IHLModInfo.MODID + ":blockSpruceFront").setHardness(2.0F).setResistance(5.0F)
.setCreativeTab(IHLCreativeTab.tab);
GameRegistry.registerFuelHandler(this);
- PassiveBlock.init();
FiberItem.init();
FlexiblePipeItem.init();
InjectionMoldBlock.init();
@@ -247,10 +203,6 @@ public class IHLMod implements IFuelHandler {
LightBulbBlock.init();
MachineBaseBlock.init();// must be first
IHLMod.enet = new IHLENet();
- IHLMod.datanet = new DataNet();
- if (config.enableExtendedLiquidPhysics) {
- MinecraftForge.EVENT_BUS.register(new IHLEventHandler());
- }
MinecraftForge.EVENT_BUS.register(new EntityDropEventHandler());
MinecraftForge.EVENT_BUS.register(new LaserHitMirrorEventHandler());
MinecraftForge.EVENT_BUS.register(new IHLBucketHandler());
@@ -261,10 +213,8 @@ public class IHLMod implements IFuelHandler {
cableAnchorBlock = new AnchorBlock("cableAnchor");
List<String> info1 = new ArrayList<String>();
info1.add("non vulcanized rubber insulated");
- DataCableItem.init();
GroundRemoverItem.init();
FlexibleCableItem.init();
- IHLGuidebookItem.init();
ExplosiveBlock.init();
PileBlock.init();
GameRegistry.registerTileEntity(AnchorTileEntity.class, "anchorTileEntity");
@@ -274,11 +224,6 @@ public class IHLMod implements IFuelHandler {
ic2_handpump = new IHLHandPump().setUnlocalizedName("handpump");
ic2_advanced_handpump = new AdvancedHandPump().setUnlocalizedName("advanced_handpump");
tditft = new TDITFrequencyTransmitter().setUnlocalizedName("tditFrequencyTransmitter");
- driverBlock = (new DriverBlock(Material.iron)).setBlockName("IHLDriverBlock")
- .setBlockTextureName(IHLModInfo.MODID + ":driver").setHardness(5.0F).setResistance(5.0F);
-
- blowerBlock = (new BlowerBlock(Material.iron)).setBlockName("blowerBlock")
- .setBlockTextureName(IHLModInfo.MODID + ":shieldAU").setHardness(5.0F).setResistance(5.0F);
evaporatorBlock = (new EvaporatorBlock(Material.iron)).setBlockName("evaporatorBlock")
.setBlockTextureName(IHLModInfo.MODID + ":solidFuelEvaporatorFrontActive").setHardness(5.0F)
@@ -289,35 +234,12 @@ public class IHLMod implements IFuelHandler {
sackBlock = (new SackBlock(Material.iron)).setBlockName("sackBlock")
.setBlockTextureName(IHLModInfo.MODID + ":sackItem").setHardness(0.5F).setResistance(0.5F);
- GameRegistry.registerBlock(horizontalMiningPipeX, "horizontalMiningPipeX");
- GameRegistry.registerBlock(horizontalMiningPipeZ, "horizontalMiningPipeZ");
GameRegistry.registerBlock(boneBlock, "boneBlock");
- GameRegistry.registerBlock(blowerBlock, "blowerBlock");
- GameRegistry.registerTileEntity(BlowerTileEntity.class, "blowerTileEntity");
-
GameRegistry.registerItem(ic2_handpump, "Handpump");
GameRegistry.registerItem(ic2_advanced_handpump, ic2_advanced_handpump.getUnlocalizedName());
GameRegistry.registerItem(ihlSkull, "skull");
- GameRegistry.registerBlock(driverBlock, IHLItemBlock.class, "IHLDriverBlock");
- GameRegistry.registerTileEntity(DriverTileEntity.class, "IHLDriverTileEntity");
-
- GameRegistry.registerBlock(chargerEjectorBlock, IHLItemBlock.class, "chargerEjectorBlock");
- GameRegistry.registerTileEntity(ChargerEjectorTileEntity.class, "ChargerEjectorTileEntity");
-
- GameRegistry.registerBlock(multiBlockSpacerBlock, "IHLShieldBlock");
-
- GameRegistry.registerBlock(flowing_water, "flowing_water");
- GameRegistry.registerBlock(flowing_lava, "flowing_lava");
-
- GameRegistry.registerItem(collectorItem, "collectorItem");
-
- GameRegistry.registerItem(collectorHeavyItem, "collectorHeavyItem");
-
- // NetworkRegistry.INSTANCE.registerGuiHandler(this, new
- // IHLGuiHandler());
-
GameRegistry.registerBlock(rubberTreeBlock, "rubberTreeBlock");
GameRegistry.registerBlock(spruceTreeBlock, "spruceTreeBlock");
GameRegistry.registerBlock(sackBlock, "sackBlock");
@@ -334,6 +256,8 @@ public class IHLMod implements IFuelHandler {
registerEntities();
OreDictionary.registerOre("ingotBrick", Items.brick);
OreDictionary.registerOre("dustGunpowder", Items.gunpowder);
+ OreDictionary.registerOre("toolLighter", Items.flint_and_steel);
+ OreDictionary.registerOre("charcoal", new ItemStack(Items.coal,1,1));
OreDictionary.registerOre("blockDirt", new ItemStack(Blocks.dirt, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("blockDirt", new ItemStack(Blocks.grass, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("platePaper", new ItemStack(Items.paper, 1, OreDictionary.WILDCARD_VALUE));
@@ -349,19 +273,6 @@ public class IHLMod implements IFuelHandler {
public void postInit(FMLPostInitializationEvent evt) throws IOException {
ic2Leaves = StackUtil.getBlock(IC2Items.getItem("rubberLeaves"));
ic2Wood = StackUtil.getBlock(IC2Items.getItem("rubberWood"));
- boolean isCodeChickenCoreLoaded = true;
- try {
- Class.forName("codechicken.core.asm.TweakTransformer");
- } catch (ClassNotFoundException e) {
- isCodeChickenCoreLoaded = false;
- }
- if (isCodeChickenCoreLoaded) {
- codechicken.core.asm.CodeChickenCoreModContainer.loadConfig();
- ConfigTag tweaks = codechicken.core.asm.CodeChickenCoreModContainer.config.getTag("tweaks");
- cccFiniteWater = tweaks.getTag("finiteWater")
- .setComment("If set to true two adjacent water source blocks will not generate a third.")
- .getBooleanValue(true);
- }
if (!IHLMod.config.skipRecipeLoad) {
if (IHLMod.config.enableRubberTreeSack) {
GameRegistry.addRecipe(new ItemStack(sackBlock, 1),
@@ -382,8 +293,6 @@ public class IHLMod implements IFuelHandler {
Character.valueOf('C'), IC2Items.getItem("copperCableItem"), Character.valueOf('A'),
IC2Items.getItem("advancedCircuit") });
}
- GameRegistry.addRecipe(IHLUtils.getThisModItemStack("glassBoxBlock"),
- new Object[] { " ", "G G", "GGG", 'G', new ItemStack(Blocks.glass_pane, 1) });
GameRegistry.addRecipe(new ItemStack(boneBlock, 1),
new Object[] { "XXX", "XYX", "XXX", 'X', Items.bone, 'Y', Items.iron_ingot });
GameRegistry.addRecipe(new ItemStack(boneBlock, 1),
@@ -562,46 +471,6 @@ public class IHLMod implements IFuelHandler {
advBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
chargedReBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
- if (IHLMod.config.enableCollectors) {
- Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"),
- Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'),
- IC2Items.getItem("reBattery"), Character.valueOf('E'),
- new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'),
- IC2Items.getItem("advancedCircuit") });
- Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"),
- Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'),
- chargedReBattery, Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1),
- Character.valueOf('Z'), IC2Items.getItem("advancedCircuit") });
- Recipes.advRecipes.addRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"),
- Character.valueOf('C'), IC2Items.getItem("casingbronze"), Character.valueOf('R'),
- advBattery, Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1),
- Character.valueOf('Z'), IC2Items.getItem("advancedCircuit") });
-
- Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"),
- Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'),
- IC2Items.getItem("reBattery"), Character.valueOf('E'),
- IC2Items.getItem("advancedMachine"), Character.valueOf('Z'),
- IC2Items.getItem("advancedCircuit") });
- Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"),
- Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'),
- chargedReBattery, Character.valueOf('E'), IC2Items.getItem("advancedMachine"),
- Character.valueOf('Z'), IC2Items.getItem("advancedCircuit") });
- Recipes.advRecipes.addRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"),
- Character.valueOf('C'), IC2Items.getItem("casingbronze"), Character.valueOf('R'),
- advBattery, Character.valueOf('E'), IC2Items.getItem("advancedMachine"),
- Character.valueOf('Z'), IC2Items.getItem("advancedCircuit") });
-
- Recipes.advRecipes.addRecipe(new ItemStack(IHLMod.chargerEjectorBlock, 1),
- new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), IC2Items.getItem("platelapi"),
- Character.valueOf('G'), new ItemStack(Blocks.glass, 1), Character.valueOf('C'),
- IC2Items.getItem("glassFiberCableItem"), Character.valueOf('L'), crystal });
- }
if (IHLMod.config.enableHandpump) {
Recipes.advRecipes.addRecipe(((IHLHandPump) ic2_handpump).getItemStack(0),
new Object[] { "T ", " C ", " P", Character.valueOf('T'), IC2Items.getItem("treetap"),
@@ -856,13 +725,13 @@ public class IHLMod implements IFuelHandler {
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("hackSawSteel"),
IHLUtils.getThisModItemStack("setOfFilesSteel") }),
- Arrays.asList(new IRecipeInput[] { new RecipeInputItemStack(IHLUtils.getThisModItemStack("setOfPartsForLVElemotorSteel")),
- new RecipeInputFluidContainer(FluidRegistry.getFluid("spruceresin"),1),
- new RecipeInputWire("Copper", 4, 15),
- new RecipeInputItemStack(new ItemStack(Items.paper)),
- new RecipeInputItemStack(new ItemStack(Blocks.planks,1,OreDictionary.WILDCARD_VALUE)),
+ Arrays.asList(new IRecipeInput[] {
+ new RecipeInputItemStack(IHLUtils.getThisModItemStack("setOfPartsForLVElemotorSteel")),
+ new RecipeInputFluidContainer(FluidRegistry.getFluid("spruceresin"), 1),
+ new RecipeInputWire("Copper", 4, 15), new RecipeInputItemStack(new ItemStack(Items.paper)),
+ new RecipeInputItemStack(new ItemStack(Blocks.planks, 1, OreDictionary.WILDCARD_VALUE)),
new RecipeInputItemStack(IHLUtils.getThisModItemStack("linerIronGraphiteGreased"), 2) }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("electricMotorLVLEDC")})));
+ Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("electricMotorLVLEDC") })));
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("linerIronGraphiteHot"),
IHLUtils.getThisModItemStack("muttonLard") }),
@@ -1186,20 +1055,22 @@ public class IHLMod implements IFuelHandler {
new RecipeInputFluidContainer(FluidRegistry.getFluid("mercury"), 1) }),
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump") }),
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel") }),
- Arrays.asList(new IRecipeInput[] {
- new RecipeInputFluidContainer(FluidRegistry.getFluid("mineraloil"), 1),
- new RecipeInputOreDict("foilMica"), new RecipeInputOreDict("foilCopper"),
- new RecipeInputOreDict("foilSteel") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("highVoltageCapacitor") })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel") }),
- Arrays.asList(new IRecipeInput[] {
- new RecipeInputFluidContainer(FluidRegistry.getFluid("mineraloil"), 1),
- new RecipeInputOreDict("foilMica"), new RecipeInputOreDict("foilGold"),
- new RecipeInputOreDict("foilSteel") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("highVoltageCapacitor") })));
+ IronWorkbenchTileEntity
+ .addRecipe(new IronWorkbenchRecipe(
+ Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel") }),
+ Arrays.asList(new IRecipeInput[] {
+ new RecipeInputFluidContainer(FluidRegistry.getFluid("mineraloil"), 1),
+ new RecipeInputOreDict("foilMica"), new RecipeInputOreDict("foilCopper"),
+ new RecipeInputOreDict("foilSteel") }),
+ Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("highVoltageCapacitor") })));
+ IronWorkbenchTileEntity
+ .addRecipe(new IronWorkbenchRecipe(
+ Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel") }),
+ Arrays.asList(new IRecipeInput[] {
+ new RecipeInputFluidContainer(FluidRegistry.getFluid("mineraloil"), 1),
+ new RecipeInputOreDict("foilMica"), new RecipeInputOreDict("foilGold"),
+ new RecipeInputOreDict("foilSteel") }),
+ Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("highVoltageCapacitor") })));
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel"),
IHLUtils.getThisModItemStack("handDrillBronze"),
@@ -1339,7 +1210,7 @@ public class IHLMod implements IFuelHandler {
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("dustTin"),
new RecipeInputItemStack(new ItemStack(Blocks.glass_pane), 16),
- new RecipeInputFluidContainer(FluidRegistry.getFluid("mercury"),1),
+ new RecipeInputFluidContainer(FluidRegistry.getFluid("mercury"), 1),
new RecipeInputFluidContainer(FluidRegistry.getFluid("turpentine"), 1),
new RecipeInputItemStack(IHLUtils.getThisModItemStack("fabric")) }),
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStackWithSize("mirror", 16) })));
@@ -1389,36 +1260,6 @@ public class IHLMod implements IFuelHandler {
IHLUtils.getInsulatedWire("Copper", 1, 15, "Rubber", 100),
IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Blocks.glass_pane) }),
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("spotlight") })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {
- IHLUtils.getThisModItemStack("hammer"), IHLUtils.getThisModItemStack("tinSnipsSteel"),
- IHLUtils.getThisModItemStack("drillSteelHardened"), IHLUtils.getThisModItemStack("handDrillBronze"),
- IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),
- IHLUtils.getThisModItemStack("hackSawSteel") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getOreDictItemStackWithSize("plateSteel", 8),
- IHLUtils.getThisModItemStackWithSize("incisorSteelDiamondCoated", 8),
- IHLUtils.getThisModItemStackWithSize("boltM10x1Steel", 16),
- IHLUtils.getThisModItemStackWithSize("nutM10x1Steel", 8),
- IHLUtils.getThisModItemStackWithSize("barD10Steel", 4),
- IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
- IHLUtils.getThisModItemStack("foilRubber") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("advancedShieldAssemblyUnitBlock") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel"),
- IHLUtils.getThisModItemStack("hackSawSteel"), IHLUtils.getThisModItemStack("viseSteel"),
- IHLUtils.getThisModItemStack("setOfFilesSteel") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getOreDictItemStackWithSize("plateSteel", 2),
- IHLUtils.getOreDictItemStack("foilSteel"),
- IHLUtils.getThisModItemStackWithSize("boltM10x1Steel", 8),
- IHLUtils.getThisModItemStackWithSize("nutM10x1Steel", 8),
- IHLUtils.getThisModItemStackWithSize("barD10Steel", 16),
- IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
- IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel"),
- IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 4),
- IHLUtils.getThisModItemStack("turboCompressorSetOfMoldedPartsBronze"),
- IHLUtils.getThisModItemStack("foilRubber") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("hydrotransportPulpRegenerator") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(
new IRecipeInput[] { RecipeInputs.cutter, RecipeInputs.saw, RecipeInputs.vise, RecipeInputs.file }),
Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("plateSteel", 2),
@@ -1430,29 +1271,6 @@ public class IHLMod implements IFuelHandler {
RecipeInputs.get("foilRubber") }),
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("paperMachine") }),
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
- Arrays.asList(new IRecipeInput[] { RecipeInputs.cutter, RecipeInputs.saw, RecipeInputs.hammer,
- RecipeInputs.file }),
- Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("plateSteel", 2),
- new RecipeInputOreDict("foilSteel"), new RecipeInputItemStack(Ic2Items.elemotor),
- RecipeInputs.get("boltM10x1Steel", 8), RecipeInputs.get("nutM10x1Steel", 8),
- RecipeInputs.get("linerIronGraphiteGreased", 4),
- RecipeInputs.get("turboCompressorSetOfMoldedPartsBronze", 2) }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("blowerBlock") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
- Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("dyeRed"),
- new RecipeInputWire("Copper", 128, 15, "Rubber", 100, 10000) }),
- Arrays.asList(
- new ItemStack[] { IHLUtils.getThisModWireItemStackWithLength("EightPinDataCable", 16) })));
- IronWorkbenchTileEntity
- .addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] { RecipeInputs.cutter }),
- Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("plateSteel", 2),
- new RecipeInputOreDict("foilSteel"), new RecipeInputOreDict("foilMica"),
- new RecipeInputOreDict("foilCopper"),
- new RecipeInputWire("Copper", 8, 15, "Rubber", 100, 10000) }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("redstoneSignalConverter") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("dustIronOxide", 8),
new RecipeInputOreDict("dustBauxite"), new RecipeInputOreDict("dustPotassiumOxide"), }),
@@ -1567,35 +1385,33 @@ public class IHLMod implements IFuelHandler {
Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze") }),
Arrays.asList(new ItemStack[] { IHLUtils.getInsulatedWire("Steel", 1, 240, "Rubber", 100) }),
Arrays.asList(new ItemStack[] { IHLUtils.getUninsulatedWire("Steel", 1, 240) })));
- IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("tinSnipsSteel") }),
- Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("plateGraphite", 2),
- new RecipeInputItemStack(IHLUtils.getThisModItemStackWithSize("highVoltageCapacitor", 3),3),
- new RecipeInputFluidContainer(IHLFluid.IHLFluidType.MineralOil.fluid, 1),
- new RecipeInputOreDict("dustSolderingAlloy"), new RecipeInputOreDict("foilMica"),
- new RecipeInputWire(IHLUtils.getUninsulatedWire("Copper", 5, 15)),
- new RecipeInputItemStack(IHLUtils.getThisModItemStackWithSize("gu-81m", 4)),
- new RecipeInputOreDict("foilCopper"),
- new RecipeInputItemStack(IHLUtils.getThisModItemStackWithSize("valveTube1C21P", 6)) }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("vacuumInductionMeltingFurnace") }),
- Arrays.asList(new ItemStack[] { IHLUtils.getThisModItemStack("gasWeldingStation") })));
ItemStack detonator = IHLUtils.getItemStackWithTag("detonator", "detonator_delay", 5);
detonator.stackSize = 16;
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
Arrays.asList(new IRecipeInput[] { new RecipeInputOreDict("platePaper", 2),
new RecipeInputItemStack(new ItemStack(Items.string)),
new RecipeInputOreDict("dustGunpowder", 1),
- new RecipeInputOreDict("dustPentaerythritolTetranitrate", 1),
+ new RecipeInputOreDictionaryList(new String[] {"dustPentaerythritolTetranitrate", "dustMercuryFulminate"}, 1),
new RecipeInputOreDict("ingotTarPitch", 1) }),
Arrays.asList(new ItemStack[] { detonator }), null));
IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
Arrays.asList(
new IRecipeInput[] { new RecipeInputOreDict("platePaper", 2),
- new RecipeInputOreDict("dustPentaerythritolTetranitrate", 8),
+ new RecipeInputOreDict("dustPentaerythritolTetranitrate", 4),
+ new RecipeInputOreDict("ingotTarPitch", 1), new RecipeInputDetonator(detonator) }),
+ Arrays.asList(
+ new ItemStack[] { IHLUtils.getItemStackWithTag("ihlExplosive", "explosionPower", 1500) }),
+ null));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
+ Arrays.asList(
+ new IRecipeInput[] { new RecipeInputOreDict("platePaper", 2),
+ new RecipeInputOreDict("dustWood", 4),
+ new RecipeInputFluidContainer(FluidRegistry.getFluid("nitroglycerin"), 1),
new RecipeInputOreDict("ingotTarPitch", 1), new RecipeInputDetonator(detonator) }),
Arrays.asList(
new ItemStack[] { IHLUtils.getItemStackWithTag("ihlExplosive", "explosionPower", 1000) }),
null));
+
AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustSiliconDioxide", 2),
new RecipeInputOreDict("dustCoal", 4), "dustCarborundum");
AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustQuicklime"),
@@ -2090,6 +1906,28 @@ public class IHLMod implements IFuelHandler {
new RecipeOutputItemStack[] { new RecipeOutputItemStack(
IHLUtils.getOreDictItemStack("dustPentaerythritolTetranitrate"), 1f) },
200, false));
+ if(FluidRegistry.isFluidRegistered("bioethanol")){
+ ChemicalReactorTileEntity.addRecipe(
+ new UniversalRecipeInput(
+ new FluidStack[] { IHLUtils.getFluidStackWithSize("bioethanol", 450),
+ IHLUtils.getFluidStackWithSize("mercury", 144),
+ IHLUtils.getFluidStackWithSize("nitricacid", 300)},
+ null),
+ new UniversalRecipeOutput(
+ new FluidStack[] { IHLUtils.getFluidStackWithSize("acetaldehyde", 300) },
+ new RecipeOutputItemStack[] {
+ new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustMercuryFulminate"),1f) },
+ 200));
+ }
+ ChemicalReactorTileEntity.addRecipe(
+ new UniversalRecipeInput(
+ new FluidStack[] { IHLUtils.getFluidStackWithSize("glyceryl", 100),
+ IHLUtils.getFluidStackWithSize("nitricacid", 300)},
+ null),
+ new UniversalRecipeOutput(
+ new FluidStack[] { IHLUtils.getFluidStackWithSize("nitroglycerin", 400) },
+ null,
+ 200));
Crucible.addRecipe("ingotSteel", IHLUtils.getFluidStackWithSize("molten.steel", 144));
Crucible.addRecipe("ingotBronze", IHLUtils.getFluidStackWithSize("molten.bronze", 144));
@@ -2178,14 +2016,11 @@ public class IHLMod implements IFuelHandler {
if (Loader.isModLoaded("NotEnoughItems")) {
NEIModContainer.plugins.add(new NEIIHLConfig());
}
- IHLMod.config.checkLists();
IHLMod.proxy.initBlockRenderer();
IHLMod.log.info("IHL loaded.");
}
private void registerEntities() {
- EntityRegistry.registerModEntity(CollectorEntity.class, "CollectorEntity", 0, this, 80, 3, true);
- EntityRegistry.registerModEntity(CollectorHeavyEntity.class, "CollectorHeavyEntity", 1, this, 80, 3, true);
EntityRegistry.registerModEntity(PowerCableNodeEntity.class, "PowerCableNodeEntity", 2, this, 80, 3, true);
EntityRegistry.registerModEntity(NodeEntity.class, "NodeEntity", 3, this, 80, 3, true);
EntityRegistry.registerModEntity(IHLEntityFallingPile.class, "IHLEntityFallingPile", 4, this, 80, 3, true);
@@ -2218,21 +2053,6 @@ public class IHLMod implements IFuelHandler {
@SuppressWarnings("deprecation")
private void loadGT5Recipes() {
- ItemStack advBattery = ItemList.Hull_MV.get(1L, new Object[] { null });
- ItemStack oreListIterator = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Gold, 1L);
- ItemStack sc = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Silver, 1L);
- ItemStack ec = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Electrum, 1L);
- ItemStack lp = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L);
- ItemStack sp = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L);
- ItemStack rotor_lv = ItemList.Rotor_LV.get(1L, new Object[] { null });
- ItemStack rotor_mv = ItemList.Rotor_MV.get(1L, new Object[] { null });
- ItemStack motor_lv = ItemList.Electric_Motor_LV.get(1L, new Object[] { null });
- ItemStack motor_mv = ItemList.Electric_Motor_MV.get(1L, new Object[] { null });
- ItemStack sensor_lv = ItemList.Sensor_LV.get(1L, new Object[] { null });
- ItemStack sensor_mv = ItemList.Sensor_MV.get(1L, new Object[] { null });
- ItemStack battery_lv_c = ItemList.Battery_RE_LV_Cadmium.get(1L, new Object[] { null });
- ItemStack battery_lv_l = ItemList.Battery_RE_LV_Lithium.get(1L, new Object[] { null });
- ItemStack battery_lv_s = ItemList.Battery_RE_LV_Sodium.get(1L, new Object[] { null });
ItemStack battery_mv_c = ItemList.Battery_RE_MV_Cadmium.get(1L, new Object[] { null });
ItemStack battery_mv_l = ItemList.Battery_RE_MV_Lithium.get(1L, new Object[] { null });
ItemStack battery_mv_s = ItemList.Battery_RE_MV_Sodium.get(1L, new Object[] { null });
@@ -2274,51 +2094,6 @@ public class IHLMod implements IFuelHandler {
OrePrefixes.pipeSmall.get(Materials.TungstenSteel), 'P', pump_hv, 'B', energy_crystal });
}
- if (config.enableTunnelingShield) {
- gregtech.api.util.GT_ModHandler
- .addCraftingRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"),
- gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED,
- new Object[] { "RfR", "BwB", "PPP", 'R', OrePrefixes.stick.get(Materials.Steel), 'B',
- OrePrefixes.bolt.get(Materials.Steel), 'P',
- OrePrefixes.plate.get(Materials.Steel) });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(driverBlock, 1),
- new Object[] { " ", " H ", " M ", 'H', advBattery, 'M', motor_mv });
- }
-
- if (config.enableCollectors) {
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R',
- OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_c });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R',
- OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_l });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R',
- OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_s });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R',
- OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_c });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R',
- OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_l });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R',
- OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_s });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1),
- new Object[] { "PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C',
- oreListIterator, 'L', advBattery });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {
- "PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', sc, 'L', advBattery });
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {
- "PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', ec, 'L', advBattery });
- }
-
- if (config.enableFan) {
- gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(blowerBlock, 1),
- new Object[] { "PIP", "RHR", "IMI", 'P', sp, 'I', new ItemStack(Blocks.iron_bars, 1), 'R', rotor_mv,
- 'H', advBattery, 'M', motor_mv });
- }
-
if (config.enableFlexibleCablesCrafting) {
gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("ironWorkbench"),
new Object[] { "PPS", "RRh", "RRd", 'P', OrePrefixes.plate.get(Materials.Iron), 'S',
@@ -2411,29 +2186,46 @@ public class IHLMod implements IFuelHandler {
IHLUtils.getThisModWireItemStackWithLength("pipeRubberWithSulfur", 16));
}
+ @SuppressWarnings("deprecation")
private void loadGT6Recipes() {
- ItemStack hull_mv = Ic2Items.advancedMachine;
- ItemStack gc = OreDictManager.INSTANCE.getStack(OP.cableGt08, MT.Gold, 1);
- ItemStack sc = OreDictManager.INSTANCE.getStack(OP.cableGt08, MT.Silver, 1);
- ItemStack ec = OreDictManager.INSTANCE.getStack(OP.cableGt08, MT.Electrum, 1);
- ItemStack lp = OreDictManager.INSTANCE.getStack(OP.plate, MT.Lazurite, 1);
- ItemStack sp = OreDictManager.INSTANCE.getStack(OP.plate, MT.Steel, 1);
- ItemStack rotor_lv = OreDictManager.INSTANCE.getStack(OP.rotor, MT.Iron, 1);
- ItemStack rotor_mv = OreDictManager.INSTANCE.getStack(OP.rotor, MT.Aluminium, 1);
- ItemStack motor_lv = IL.Electric_Motor_LV.get(1, (Object) null);
- ItemStack motor_mv = IL.Electric_Motor_MV.get(1, (Object) null);
- ItemStack sensor_lv = IL.Sensor_LV.get(1, (Object) null);
- ItemStack sensor_mv = IL.Sensor_MV.get(1, (Object) null);
- ItemStack battery_lv_c = IL.Battery_RE_LV_Cadmium.get(1, (Object) null);
- ItemStack battery_lv_l = IL.Battery_RE_LV_Lithium.get(1, (Object) null);
- ItemStack battery_lv_s = IL.Battery_RE_LV_Sodium.get(1, (Object) null);
- ItemStack battery_mv_c = IL.Battery_RE_MV_Cadmium.get(1, (Object) null);
- ItemStack battery_mv_l = IL.Battery_RE_MV_Lithium.get(1, (Object) null);
- ItemStack battery_mv_s = IL.Battery_RE_MV_Sodium.get(1, (Object) null);
+ ItemStack battery_mv_c = IL.Battery_RE_MV_Cadmium.get(1);
+ ItemStack battery_mv_l = IL.Battery_RE_MV_Lithium.get(1);
+ ItemStack battery_mv_s = IL.Battery_RE_MV_Sodium.get(1);
ItemStack energy_crystal = IC2Items.getItem("energyCrystal");
ItemStack pump = IL.Electric_Pump_MV.get(1, (Object) null);
ItemStack pump_hv = IL.Electric_Pump_HV.get(1, (Object) null);
+ OreDictionary.registerOre("toolLighter", IL.Tool_Lighter_Invar_Full.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Lighter_Invar_Used.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Lighter_Plastic_Full.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Lighter_Plastic_Used.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Lighter_Platinum_Full.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Lighter_Platinum_Used.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_MatchBox_Full.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_MatchBox_Used.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Matches.get(1));
+ OreDictionary.registerOre("toolLighter", IL.Tool_Fire_Starter.get(1));
+
+ gregapi.util.UT.Crafting.shaped(IHLUtils.getThisModItemStack(MachineBaseBlock.MachineType.ChemicalReactor.unlocalizedName),
+ new Object[] { " R ", "PVP", " Mw",
+ Character.valueOf('R'), gregapi.data.OP.stick.dat(gregapi.data.MT.StainlessSteel),
+ Character.valueOf('V'), gregapi.data.OP.rotor.dat(gregapi.data.MT.StainlessSteel),
+ Character.valueOf('P'), gregapi.data.OP.plateCurved.dat(gregapi.data.MT.StainlessSteel),
+ Character.valueOf('M'), gregapi.data.OP.casingMachine.dat(gregapi.data.MT.Steel)});
+
+ gregapi.util.UT.Crafting.shaped(IHLUtils.getThisModItemStack(MachineBaseBlock.MachineType.CryogenicDistiller.unlocalizedName),
+ new Object[] { " R ", "P P", " Mw",
+ Character.valueOf('R'), gregapi.data.OP.pipeTiny.dat(gregapi.data.MT.Copper),
+ Character.valueOf('P'), gregapi.data.OP.plateCurved.dat(gregapi.data.MT.Copper),
+ Character.valueOf('M'), gregapi.data.OP.casingMachine.dat(gregapi.data.MT.Steel)});
+
+ gregapi.util.UT.Crafting.shaped(IHLUtils.getThisModItemStack(MachineBaseBlock.MachineType.FluidizedBedReactor.unlocalizedName),
+ new Object[] { " ", "RPR", "VMw",
+ Character.valueOf('R'), gregapi.data.OP.pipeTiny.dat(gregapi.data.MT.Titanium),
+ Character.valueOf('P'), gregapi.data.OP.pipeHuge.dat(gregapi.data.MT.Titanium),
+ Character.valueOf('V'), gregapi.data.OP.rotor.dat(gregapi.data.MT.Titanium),
+ Character.valueOf('M'), gregapi.data.OP.casingMachine.dat(gregapi.data.MT.Steel)});
+
IRecipeInput[] dsmInputs1 = new IRecipeInput[3];
ItemStack gregtechfile = IHLUtils.getOtherModItemStackWithDamage("gregtech", "gt.metatool.01", 18, 1);
dsmInputs1[0] = new RecipeInputItemStack(gregtechfile);
@@ -2451,83 +2243,27 @@ public class IHLMod implements IFuelHandler {
}
if (IHLMod.config.enableHandpump) {
- GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0),
+ gregapi.util.UT.Crafting.shaped(((IHLHandPump) ic2_handpump).getItemStack(0),
new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel),
Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_c });
- GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0),
+ gregapi.util.UT.Crafting.shaped(((IHLHandPump) ic2_handpump).getItemStack(0),
new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel),
Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_l });
- GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0),
+ gregapi.util.UT.Crafting.shaped(((IHLHandPump) ic2_handpump).getItemStack(0),
new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel),
Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_s });
- GT_ModHandler.addCraftingRecipe(((AdvancedHandPump) ic2_advanced_handpump).getItemStack(0),
+ gregapi.util.UT.Crafting.shaped(((AdvancedHandPump) ic2_advanced_handpump).getItemStack(0),
new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.TungstenSteel),
Character.valueOf('P'), pump_hv, Character.valueOf('B'), energy_crystal });
}
- if (IHLMod.config.enableTunnelingShield) {
- GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"),
- GT_ModHandler.RecipeBits.BUFFERED,
- new Object[] { "RfR", "BwB", "PPP", Character.valueOf('R'), OP.stick.get(MT.Steel),
- Character.valueOf('B'), OP.bolt.get(MT.Steel), Character.valueOf('P'),
- OP.plate.get(MT.Steel) });
- GT_ModHandler.addCraftingRecipe(new ItemStack(driverBlock, 1),
- new Object[] { " ", " H ", " M ", Character.valueOf('H'), IC2Items.getItem("machine"),
- Character.valueOf('M'), IC2Items.getItem("elemotor") });
- }
- if (IHLMod.config.enableCollectors) {
- GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'),
- sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'),
- motor_mv, Character.valueOf('B'), battery_mv_c });
- GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'),
- sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'),
- motor_mv, Character.valueOf('B'), battery_mv_l });
- GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'),
- sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'),
- motor_mv, Character.valueOf('B'), battery_mv_s });
-
- GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'),
- sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv,
- Character.valueOf('B'), battery_lv_c });
- GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'),
- sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv,
- Character.valueOf('B'), battery_lv_l });
- GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0),
- new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'),
- sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv,
- Character.valueOf('B'), battery_lv_s });
-
- GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock, 1),
- new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'),
- new ItemStack(Blocks.glass, 1), Character.valueOf('C'), gc, Character.valueOf('L'),
- hull_mv });
- GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock, 1),
- new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'),
- new ItemStack(Blocks.glass, 1), Character.valueOf('C'), sc, Character.valueOf('L'),
- hull_mv });
- GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock, 1),
- new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'),
- new ItemStack(Blocks.glass, 1), Character.valueOf('C'), ec, Character.valueOf('L'),
- hull_mv });
- }
- if (IHLMod.config.enableFan) {
- GT_ModHandler.addCraftingRecipe(new ItemStack(blowerBlock, 1),
- new Object[] { "PIP", "RHR", "IMI", Character.valueOf('P'), sp, Character.valueOf('I'),
- new ItemStack(Blocks.iron_bars, 1), Character.valueOf('R'), rotor_mv,
- Character.valueOf('H'), hull_mv, Character.valueOf('M'), motor_mv });
- }
if (IHLMod.config.enableFlexibleCablesCrafting) {
- GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("ironWorkbench"),
+ gregapi.util.UT.Crafting.shaped(IHLUtils.getThisModItemStack("ironWorkbench"),
new Object[] { "PPS", "RRh", "RRd", Character.valueOf('P'), OP.plate.get(MT.Iron),
Character.valueOf('S'), OP.screw.get(MT.Iron), Character.valueOf('R'),
OP.stick.get(MT.Iron) });
- GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"),
+ gregapi.util.UT.Crafting.shaped(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"),
new Object[] { " ", "fPs", " ", Character.valueOf('P'), OP.plate.get(MT.Steel) });
- GT_ModHandler.addCraftingRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm", "transverseSection", 240),
+ gregapi.util.UT.Crafting.shaped(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm", "transverseSection", 240),
new Object[] { " f ", " P ", " s ", Character.valueOf('P'), OP.plate.get(MT.Steel) });
}
if (pfaalimestone != null) {
@@ -2614,6 +2350,7 @@ public class IHLMod implements IFuelHandler {
new FluidStack(FluidRegistry.getFluid("glue"), 240),
new FluidStack(FluidRegistry.getFluid("water"), 100) },
64, 32, 0);
+
ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRubber", 5),
IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1),
IHLUtils.getFluidStackWithSize("molten.rubber", 144 * 5));
@@ -2640,21 +2377,6 @@ public class IHLMod implements IFuelHandler {
crystal.setItemDamage(OreDictionary.WILDCARD_VALUE);
advBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
chargedReBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
- if (IHLMod.config.enableTunnelingShield) {
- Recipes.advRecipes.addRecipe(new ItemStack(driverBlock, 1),
- new Object[] { " ", " E ", " M ", Character.valueOf('E'), IC2Items.getItem("elemotor"),
- Character.valueOf('M'), IC2Items.getItem("machine") });
- Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"),
- new Object[] { "OOO", "PPP", " ", Character.valueOf('O'), IC2Items.getItem("obsidianDust"),
- Character.valueOf('P'), IC2Items.getItem("plateiron") });
- }
- if (IHLMod.config.enableFan) {
- Recipes.advRecipes.addRecipe(new ItemStack(blowerBlock, 1),
- new Object[] { "PBP", "IEI", "PMP", Character.valueOf('P'), IC2Items.getItem("plateiron"),
- Character.valueOf('B'), new ItemStack(Blocks.iron_bars, 1), Character.valueOf('I'),
- new ItemStack(Items.iron_ingot, 1), Character.valueOf('E'), IC2Items.getItem("elemotor"),
- Character.valueOf('M'), IC2Items.getItem("machine") });
- }
if (IHLMod.config.enableRubberTreeSack) {
Recipes.advRecipes.addRecipe(new ItemStack(electricEvaporatorBlock, 1),
new Object[] { "CCC", "CCC", " F ", Character.valueOf('C'), IC2Items.getItem("platecopper"),
diff --git a/ihl/IHLModConfig.java b/ihl/IHLModConfig.java
index f62ca7d..99739c9 100644
--- a/ihl/IHLModConfig.java
+++ b/ihl/IHLModConfig.java
@@ -1,11 +1,9 @@
package ihl;
-import ic2.api.item.IC2Items;
import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.RecipeInputFluidContainer;
import ic2.api.recipe.RecipeInputItemStack;
import ic2.api.recipe.RecipeInputOreDict;
-import ic2.core.util.StackUtil;
import ihl.flexible_cable.IronWorkbenchTileEntity;
import ihl.recipes.IronWorkbenchRecipe;
import ihl.recipes.RecipeInputDie;
@@ -30,10 +28,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
-import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.config.Configuration;
-import net.minecraftforge.common.config.Property;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@@ -41,7 +37,7 @@ import net.minecraft.nbt.NBTTagCompound;
public class IHLModConfig
{
- public int explosionVectorSizeBits=8;
+ public int explosionVectorSizeBits=7;
public int handpumpTier=1;
public int handpumpMaxCharge=30000;
@@ -51,33 +47,12 @@ public class IHLModConfig
public int advancedHandpumpMaxCharge=1000000;
public int advancedHandpumpOperationEUCost=10000;
- public int harvesterTier=1;
- public int harvesterMaxEnergyStorage=110;
- public int harvesterIdleEUCost=1;
- public int harvesterOperationEUCost=100;
-
- public int blowerTier=1;
- public int blowerMaxEnergyStorage=100;
- public int blowerEnergyConsumePerTick=5;
-
public int tditTier=4;
public int tditMaxEnergyStorage=12000;
public int tditEnergyConsumePerStack=12000;
- public int ts02DefaultTier=1;
- public int ts02DefaultMaxEnergyStorage=1000;
- public int ts02DefaultSpeed=400;
- public int ts02DefaultOperationEUCost=5;
- public String[] ts02BlockBlackListString;
- public String[] ts02BlockWhiteListString;
-
- public boolean enableExtendedLiquidPhysics=true;
public boolean enableHandpump=true;
- public boolean enableFan=true;
- public boolean enableTunnelingShield=true;
- public boolean enableHarvester=true;
public boolean enableRubberTreeSack=true;
- public boolean enableCollectors=true;
public boolean enableWailers=true;
public boolean enableTDIT=true;
@@ -104,7 +79,6 @@ public class IHLModConfig
public int mirrorReflectionUpdateSpeed=128;
public String preventMachineBlockRegistrationName="null";
public boolean skipRecipeLoad=false;
- public boolean giveIHLManualOnPlayerWakeUpEvent=true;
public IHLModConfig(FMLPreInitializationEvent evt) throws IOException
{
@@ -112,17 +86,10 @@ public class IHLModConfig
config.load();
skipRecipeLoad = config.get(Configuration.CATEGORY_GENERAL, "skipRecipeLoad", skipRecipeLoad).getBoolean(skipRecipeLoad);
preventMachineBlockRegistrationName = config.get(Configuration.CATEGORY_GENERAL, "preventMachineBlockRegistrationName", preventMachineBlockRegistrationName).getString();
- String[] bl = {"bedrock", "reinforcedStone", "reinforcedGlass", "reinforcedDoorBlock" , "personalSafe", "end_portal_frame"};
- String[] wl = {"brown_mushroom_block", "cake", "fire", "lava", "water", "flowing_lava", "flowing_water", "redstone_torch", "redstone_wire", "web", "torch"};
- enableExtendedLiquidPhysics = config.get(Configuration.CATEGORY_GENERAL, "enableExtendedLiquidPhysics", enableExtendedLiquidPhysics).getBoolean(enableExtendedLiquidPhysics);
enableHandpump = config.get(Configuration.CATEGORY_GENERAL, "enableHandpump", enableHandpump).getBoolean(enableHandpump);
- enableFan = config.get(Configuration.CATEGORY_GENERAL, "enableFan", enableFan).getBoolean(enableFan);
- enableTunnelingShield = config.get(Configuration.CATEGORY_GENERAL, "enableTunnelingShield", enableTunnelingShield).getBoolean(enableTunnelingShield);
enableRubberTreeSack = config.get(Configuration.CATEGORY_GENERAL, "enableRubberTreeSack", enableRubberTreeSack).getBoolean(enableRubberTreeSack);
- enableCollectors = config.get(Configuration.CATEGORY_GENERAL, "enableCollectors", enableCollectors).getBoolean(enableCollectors);
enableWailers = config.get(Configuration.CATEGORY_GENERAL, "enableWailers", enableWailers).getBoolean(enableWailers);
enableTDIT = config.get(Configuration.CATEGORY_GENERAL, "enableTDIT", enableTDIT).getBoolean(enableTDIT);
- giveIHLManualOnPlayerWakeUpEvent = config.get(Configuration.CATEGORY_GENERAL, "giveIHLManualOnPlayerWakeUpEvent", giveIHLManualOnPlayerWakeUpEvent).getBoolean(giveIHLManualOnPlayerWakeUpEvent);
generateApatiteOre = config.get(Configuration.CATEGORY_GENERAL, "generateApatiteOre", generateApatiteOre).getBoolean(generateApatiteOre);
generateSaltpeterOre = config.get(Configuration.CATEGORY_GENERAL, "generateSaltpeterOre", generateSaltpeterOre).getBoolean(generateSaltpeterOre);
@@ -147,23 +114,10 @@ public class IHLModConfig
advancedHandpumpTier = config.get(Configuration.CATEGORY_GENERAL, "advancedHandpumpTier", advancedHandpumpTier).getInt();
advancedHandpumpMaxCharge = config.get(Configuration.CATEGORY_GENERAL, "advancedHandpumpMaxCharge", advancedHandpumpMaxCharge).getInt();
advancedHandpumpOperationEUCost = config.get(Configuration.CATEGORY_GENERAL, "advancedHandpumpOperationEUCost", advancedHandpumpOperationEUCost).getInt();
- blowerTier = config.get(Configuration.CATEGORY_GENERAL, "blowerTier", blowerTier).getInt();
- blowerMaxEnergyStorage = config.get(Configuration.CATEGORY_GENERAL, "blowerMaxEnergyStorage", blowerMaxEnergyStorage).getInt();
- blowerEnergyConsumePerTick = config.get(Configuration.CATEGORY_GENERAL, "blowerEnergyConsumePerTick", blowerEnergyConsumePerTick).getInt();
tditTier = config.get(Configuration.CATEGORY_GENERAL, "tditTier", tditTier).getInt();
tditMaxEnergyStorage = config.get(Configuration.CATEGORY_GENERAL, "tditMaxEnergyStorage", tditMaxEnergyStorage).getInt();
tditEnergyConsumePerStack = config.get(Configuration.CATEGORY_GENERAL, "tditEnergyConsumePerStack", tditEnergyConsumePerStack).getInt();
-
- ts02DefaultTier = config.get(Configuration.CATEGORY_GENERAL, "ts02DefaultTier", ts02DefaultTier).getInt();
- ts02DefaultMaxEnergyStorage = config.get(Configuration.CATEGORY_GENERAL, "ts02DefaultMaxEnergyStorage", ts02DefaultMaxEnergyStorage).getInt();
- ts02DefaultSpeed = config.get(Configuration.CATEGORY_GENERAL, "ts02DefaultSpeed", ts02DefaultSpeed).getInt();
- ts02DefaultOperationEUCost = config.get(Configuration.CATEGORY_GENERAL, "ts02DefaultOperationEUCost", ts02DefaultOperationEUCost).getInt();
-
- harvesterTier = config.get(Configuration.CATEGORY_GENERAL, "harvesterTier", harvesterTier).getInt();
- harvesterMaxEnergyStorage = config.get(Configuration.CATEGORY_GENERAL, "harvesterMaxEnergyStorage", harvesterMaxEnergyStorage).getInt();
- harvesterIdleEUCost = config.get(Configuration.CATEGORY_GENERAL, "harvesterIdleEUCost", harvesterIdleEUCost).getInt();
- harvesterOperationEUCost = config.get(Configuration.CATEGORY_GENERAL, "harvesterOperationEUCost", harvesterOperationEUCost).getInt();
enableFlexibleCablesGridPowerLossCalculations = config.get(Configuration.CATEGORY_GENERAL, "enableFlexibleCablesGridPowerLossCalculations", enableFlexibleCablesGridPowerLossCalculations).getBoolean(enableFlexibleCablesGridPowerLossCalculations);
additionalPowerLossesAtFrequencyGenerator = config.get(Configuration.CATEGORY_GENERAL, "additionalPowerLossesAtFrequencyGenerator", additionalPowerLossesAtFrequencyGenerator).getDouble(additionalPowerLossesAtFrequencyGenerator);
@@ -173,26 +127,6 @@ public class IHLModConfig
explosionVectorSizeBits = config.get(Configuration.CATEGORY_GENERAL, "explosionVectorSizeBits", explosionVectorSizeBits).getInt();
- Property blp = config.get(Configuration.CATEGORY_GENERAL, "ts02BlockBlackList", bl);
- Property wlp = config.get(Configuration.CATEGORY_GENERAL, "ts02BlockWhiteList", wl);
- if(blp.isList())
- {
- ts02BlockBlackListString = config.get(Configuration.CATEGORY_GENERAL, "ts02BlockBlackList", bl).getStringList();
- }
- else
- {
- blp.set(bl);
- ts02BlockBlackListString=bl;
- }
- if(wlp.isList())
- {
- ts02BlockWhiteListString = config.get(Configuration.CATEGORY_GENERAL, "ts02BlockWhiteList", wl).getStringList();
- }
- else
- {
- wlp.set(wl);
- ts02BlockWhiteListString=wl;
- }
config.save();
}
@@ -599,37 +533,6 @@ public class IHLModConfig
loadRecipeConfig(is, false);
}
- public void checkLists()
- {
- for(int i6=0;i6<this.ts02BlockBlackListString.length;i6++)
- {
- String blockName = this.ts02BlockBlackListString[i6];
- Block block = Block.getBlockFromName(blockName);
- if(block==null)
- {
- ItemStack stack = IC2Items.getItem(blockName);
- if(stack!=null)
- {
- block = StackUtil.getBlock(stack);
- }
- }
- }
-
- for(int i7=0;i7<this.ts02BlockWhiteListString.length;i7++)
- {
- String blockName = this.ts02BlockWhiteListString[i7];
- Block block = Block.getBlockFromName(blockName);
- if(block==null)
- {
- ItemStack stack = IC2Items.getItem(blockName);
- if(stack!=null)
- {
- block = StackUtil.getBlock(stack);
- }
- }
- }
- }
-
private static File getFile()
{
File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
diff --git a/ihl/IHLModInfo.java b/ihl/IHLModInfo.java
index a0bc53c..58bd594 100644
--- a/ihl/IHLModInfo.java
+++ b/ihl/IHLModInfo.java
@@ -3,5 +3,5 @@ package ihl;
public class IHLModInfo {
public static final String MODID = "ihl";
public static final String MODNAME = "IHL Tools & Machines for IC2V2";
- public static final String MODVERSION = "0.617";
+ public static final String MODVERSION = "0.619";
}
diff --git a/ihl/collector/ChargerEjectorBlock.java b/ihl/collector/ChargerEjectorBlock.java
deleted file mode 100644
index cfeb567..0000000
--- a/ihl/collector/ChargerEjectorBlock.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package ihl.collector;
-
-import ic2.api.item.IC2Items;
-import ihl.IHLModInfo;
-
-import java.util.Random;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-
-public class ChargerEjectorBlock extends BlockContainer {
-
- public ChargerEjectorBlock(Material material) {
- super(material);
- }
-
- @Override
- public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
- {
- return IC2Items.getItem("glassFiberCableItem").getItem();
- }
-
- @Override
- public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
- {
- }
-
- @Override
- public TileEntity createNewTileEntity(World world, int var2) {
- return new ChargerEjectorTileEntity();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerBlockIcons(IIconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":ace");
- }
-
- @Override
- public boolean hasTileEntity(int metadata)
- {
- return true;
- }
-
- @Override
- public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer entityPlayer,int i,float pos_x,float pos_y,float pos_z){
- if(world.getTileEntity(x,y,z) instanceof ChargerEjectorTileEntity)
- {
- ChargerEjectorTileEntity var10 = (ChargerEjectorTileEntity)world.getTileEntity(x,y,z);
- if (var10 == null || entityPlayer.isSneaking()) {
- return false;
- }
- else
- {
- return var10.getGui(entityPlayer);
- }
- }
- return false;
- }
-
- /**
- * The type of render function that is called for this block
- */
- @Override
- public int getRenderType()
- {
- return -2;
- }
-
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-}
diff --git a/ihl/collector/ChargerEjectorContainer.java b/ihl/collector/ChargerEjectorContainer.java
deleted file mode 100644
index 372f4c5..0000000
--- a/ihl/collector/ChargerEjectorContainer.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package ihl.collector;
-
-import ic2.core.ContainerBase;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class ChargerEjectorContainer extends ContainerBase<ChargerEjectorTileEntity> {
-
- protected ChargerEjectorTileEntity tileEntity;
- public int lastStorage = -1;
- private final static int height=166;
-
- public ChargerEjectorContainer(EntityPlayer entityPlayer, ChargerEjectorTileEntity tileEntity1){
- super(tileEntity1);
- this.tileEntity = tileEntity1;
- int col;
-
- for (col = 0; col < 3; ++col)
- {
- for (int col1 = 0; col1 < 9; ++col1)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
- }
- }
-
- for (col = 0; col < 9; ++col)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
- }
-
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.dischargeSlot, 0, 26, 35));
-
- for(col=0;col<=2;col++)
- {
- for(int row=0;row<=2;row++)
- {
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.chargeSlot, col+row*3, 66+26*col, 11+24*row));
- }
- }
- }
-
- @Override
- public void detectAndSendChanges()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting)this.crafters.get(i);
-
- if (this.tileEntity.getStored() != this.lastStorage)
- {
- icrafting.sendProgressBarUpdate(this, 0, (this.tileEntity.getStored()>>15) & Short.MAX_VALUE);
- icrafting.sendProgressBarUpdate(this, 1, (short)(this.tileEntity.getStored() & Short.MAX_VALUE));
- }
- }
-
- this.lastStorage = this.tileEntity.getStored();
- }
-
- @Override
- public void updateProgressBar(int index, int value)
- {
- super.updateProgressBar(index, value);
-
- switch (index)
- {
- case 0:
- this.tileEntity.setStored((value<<15));
- break;
- case 1:
- this.tileEntity.setStored(this.tileEntity.getStored()+value);
- break;
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-
- @Override
- public void putStackInSlot(int par1, ItemStack par2ItemStack)
- {
- if(par1<44)
- {
- this.getSlot(par1).putStack(par2ItemStack);
- }
- }
-}
diff --git a/ihl/collector/ChargerEjectorGui.java b/ihl/collector/ChargerEjectorGui.java
deleted file mode 100644
index 1836dc9..0000000
--- a/ihl/collector/ChargerEjectorGui.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package ihl.collector;
-
-import cpw.mods.fml.relauncher.Side;
-
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.core.IC2;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-
-import org.lwjgl.opengl.GL11;
-import ic2.core.util.GuiTooltipHelper;
-
-@SideOnly(Side.CLIENT)
-public class ChargerEjectorGui extends GuiContainer {
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIChargerEjector.png");
- private ChargerEjectorContainer container;
- private String title = StatCollector.translateToLocal("ihl.gui.charger_ejector");
- private GuiMultiTextureButton button1;
- private GuiMultiTextureButton button2;
- private GuiMultiTextureButton button3;
- private GuiMultiTextureButton button4;
- private int timer=10;
-
- public ChargerEjectorGui (ChargerEjectorContainer container1) {
- //the container is instanciated and passed to the superclass for handling
- super(container1);
- this.container=container1;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void initGui()
- {
- super.initGui();
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- button1=new GuiMultiTextureButton(0, x+138, y+8, 16, 20, background,183,0,216,0);
- button1.isActive=this.container.tileEntity.autoEject;
- button2=new GuiMultiTextureButton(1, x+155, y+8, 16, 20, background,200,0,233,0);
- button2.isActive=!this.container.tileEntity.autoEject;
- button3=new GuiMultiTextureButton(2, x+138, y+29, 16, 20, background,183,21,216,21);
- button4=new GuiMultiTextureButton(3, x+155, y+29, 16, 20, background,200,21,233,21);
- this.buttonList.add(button1);
- this.buttonList.add(button2);
- this.buttonList.add(button3);
- this.buttonList.add(button4);
- }
-
- @Override
- public void actionPerformed(GuiButton button)
- {
- super.actionPerformed(button);
- IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, button.id);
- if (button.id == 2)
- {
- button3.isActive=true;
- timer=10;
- }
- if (button.id == 3)
- {
- button4.isActive=true;
- timer=10;
- }
-
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int param1, int param2) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- fontRendererObj.drawString(title, 8, 8, 6171880);
- int e = Math.min(this.container.tileEntity.getStored(), this.container.tileEntity.maxStorage)/1000;
- String eStr = String.valueOf(e);
- int w = this.fontRendererObj.getStringWidth(eStr);
- this.fontRendererObj.drawString(eStr + "kEU", 40-w, 62, 4210752);
- this.fontRendererObj.drawString("/" + this.container.tileEntity.maxStorage/1000 + "kEU", 12, 72, 4210752);
- String tooltip1 = StatCollector.translateToLocal("ihl.gui.charger_ejector_auto_eject");
- String tooltip2 = StatCollector.translateToLocal("ihl.gui.charger_ejector_do_not_auto_eject");
- String tooltip3 = StatCollector.translateToLocal("ihl.gui.charger_ejector_call_collectors");
- String tooltip4 = StatCollector.translateToLocal("ihl.gui.charger_ejector_erase_memory");
- GuiTooltipHelper.drawAreaTooltip(param1-90, param2-32, tooltip1, x+46, y-24, x+62, y-4);
- GuiTooltipHelper.drawAreaTooltip(param1-90, param2-32, tooltip2, x+63, y-24, x+79, y-4);
- GuiTooltipHelper.drawAreaTooltip(param1-90, param2-32, tooltip3, x+46, y-2, x+62, y+18);
- GuiTooltipHelper.drawAreaTooltip(param1-90, param2-32, tooltip4, x+63, y-2, x+79, y+18);
- //GuiTooltiphelper.drawAreaTooltip(param1-90, param2-32, tooltip1, x+120, 16, 132, 34);
- //GuiTooltiphelper.drawAreaTooltip(param1-90, param2-32, tooltip2, x+137, 16, 149, 34);
- //GuiTooltiphelper.drawAreaTooltip(param1-90, param2-32, tooltip3, x+120, 37, 132, 55);
- //GuiTooltiphelper.drawAreaTooltip(param1-90, param2-32, tooltip4, 137, 37, 149, 55);
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- button1.isActive=this.container.tileEntity.autoEject;
- button2.isActive=!this.container.tileEntity.autoEject;
- if(timer>0)
- {
- timer--;
- }
- if(timer==1)
- {
- button3.isActive=false;
- button4.isActive=false;
- }
- //charge
- if (this.container.tileEntity.getStored() > 0)
- {
- int chargeLevel=Math.min(Math.round(this.container.tileEntity.getStored()*23.0F/this.container.tileEntity.maxStorage),23);
- this.drawTexturedModalRect(x+12, y+32+23-chargeLevel, xSize, 23-chargeLevel, 7, chargeLevel);
- }
-
- }
-
- @Override
- public void onGuiClosed()
- {
- super.onGuiClosed();
- this.container.tileEntity.isGuiScreenOpened=false;
- }
-} \ No newline at end of file
diff --git a/ihl/collector/ChargerEjectorModel.java b/ihl/collector/ChargerEjectorModel.java
deleted file mode 100644
index 5177fee..0000000
--- a/ihl/collector/ChargerEjectorModel.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package ihl.collector;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-
-public class ChargerEjectorModel extends ModelBase {
- //fields
- ModelRenderer Base;
- ModelRenderer ItemPieces;
- ModelRenderer LightOnA;
- ModelRenderer LightOnB;
- ModelRenderer LightOnC;
- ModelRenderer LightOffA;
- ModelRenderer LightOffB;
- ModelRenderer LightOffC;
-
- public ChargerEjectorModel()
- {
- textureWidth = 64;
- textureHeight = 64;
- setTextureOffset("Base.Shape1", 0, 0);
- setTextureOffset("Base.Shape2", 0, 0);
- setTextureOffset("Base.Shape3", 44, 17);
- setTextureOffset("Base.Shape4", 28, 17);
- setTextureOffset("Base.Shape6", 0, 0);
- setTextureOffset("Base.Shape15", 0, 0);
- setTextureOffset("Base.Shape16", 0, 0);
- setTextureOffset("Base.Shape17", 0, 0);
- setTextureOffset("Base.Shape18", 0, 0);
- setTextureOffset("Base.Shape19", 0, 0);
- setTextureOffset("Base.Shape20", 0, 0);
- setTextureOffset("Base.Shape21", 0, 0);
- setTextureOffset("Base.Shape22", 0, 0);
- setTextureOffset("Base.Shape23", 0, 0);
- setTextureOffset("Base.Shape24", 0, 0);
- setTextureOffset("Base.Shape25", 0, 0);
- setTextureOffset("Base.Shape26", 0, 0);
- setTextureOffset("Base.Shape27", 0, 0);
- setTextureOffset("Base.Shape28", 0, 0);
- setTextureOffset("Base.Shape29", 0, 0);
- setTextureOffset("Base.Shape30", 0, 0);
- setTextureOffset("Base.Shape31", 0, 0);
- setTextureOffset("Base.Shape32", 0, 0);
- setTextureOffset("Base.Shape33", 0, 0);
- setTextureOffset("Base.Shape34", 0, 0);
- setTextureOffset("Base.Shape35", 0, 0);
- setTextureOffset("Base.Shape36", 0, 0);
-
- setTextureOffset("ItemPieces.Shape37", 0, 32);
- setTextureOffset("ItemPieces.Shape38", 0, 32);
- setTextureOffset("ItemPieces.Shape39", 0, 32);
-
- setTextureOffset("LightOnA.Shape7", 0, 17);
- setTextureOffset("LightOnA.Shape5", 0, 24);
- setTextureOffset("LightOnA.Shape8", 14, 19);
- setTextureOffset("LightOnA.Shape9", 14, 17);
- setTextureOffset("LightOnB.Shape10", 14, 21);
- setTextureOffset("LightOnB.Shape11", 14, 23);
- setTextureOffset("LightOnB.Shape12", 14, 25);
- setTextureOffset("LightOnB.Shape13", 14, 28);
- setTextureOffset("LightOnC.Shape14", 20, 25);
-
- setTextureOffset("LightOffA.ShapeA7", 0, 17+14);
- setTextureOffset("LightOffA.ShapeA5", 0, 24+14);
- setTextureOffset("LightOffA.ShapeA8", 14, 19+14);
- setTextureOffset("LightOffA.ShapeA9", 14, 17+14);
- setTextureOffset("LightOffB.ShapeA10", 14, 21+14);
- setTextureOffset("LightOffB.ShapeA11", 14, 23+14);
- setTextureOffset("LightOffB.ShapeA12", 14, 25+14);
- setTextureOffset("LightOffB.ShapeA13", 14, 28+14);
- setTextureOffset("LightOffC.ShapeA14", 20, 25+14);
-
- Base = new ModelRenderer(this, "Base");
- Base.setRotationPoint(0F, 0F, 0F);
- Base.mirror = true;
- Base.addBox("Shape1", -8F, 23F, -8F, 16, 1, 16);
- Base.addBox("Shape2", -8F, 11F, -8F, 16, 1, 16);
- Base.addBox("Shape3", -1F, 0F, -1F, 2, 10, 2);
- Base.addBox("Shape4", -2F, 12F, -2F, 4, 10, 4);
- Base.addBox("Shape6", -4F, -1F, -4F, 8, 1, 8);
- Base.addBox("Shape15", -1F, 22F, -8F, 2, 1, 16);
- Base.addBox("Shape16", 7F, 22F, -8F, 1, 1, 16);
- Base.addBox("Shape17", -8F, 22F, -8F, 1, 1, 16);
- Base.addBox("Shape18", 2F, 22F, -1F, 5, 1, 2);
- Base.addBox("Shape19", -7F, 22F, -1F, 5, 1, 2);
- Base.addBox("Shape20", 1F, 22F, 7F, 6, 1, 1);
- Base.addBox("Shape21", -7F, 22F, 7F, 6, 1, 1);
- Base.addBox("Shape22", 1F, 22F, -8F, 6, 1, 1);
- Base.addBox("Shape23", -7F, 22F, -8F, 6, 1, 1);
- Base.addBox("Shape24", -8F, 10F, -1F, 16, 1, 2);
- Base.addBox("Shape25", -8F, 10F, -8F, 16, 1, 1);
- Base.addBox("Shape26", -8F, 10F, 7F, 16, 1, 1);
- Base.addBox("Shape27", -1F, 10F, 1F, 2, 1, 6);
- Base.addBox("Shape28", -1F, 10F, -7F, 2, 1, 6);
- Base.addBox("Shape29", -8F, 10F, -7F, 1, 1, 6);
- Base.addBox("Shape30", -8F, 10F, 1F, 1, 1, 6);
- Base.addBox("Shape31", 7F, 10F, 1F, 1, 1, 6);
- Base.addBox("Shape32", 7F, 10F, -7F, 1, 1, 6);
- Base.addBox("Shape33", 3F, -2F, -4F, 1, 1, 8);
- Base.addBox("Shape34", -4F, -2F, -4F, 1, 1, 8);
- Base.addBox("Shape35", -3F, -2F, -4F, 6, 1, 1);
- Base.addBox("Shape36", -3F, -2F, 3F, 6, 1, 1);
-
- ItemPieces = new ModelRenderer(this, "ItemPieces");
- ItemPieces.setRotationPoint(0F, 0F, 0F);
- ItemPieces.mirror = true;
- ItemPieces.addBox("Shape37", -3F, -2F, -3F, 6, 1, 6);
- ItemPieces.addBox("Shape38", -7F, 10.1F, -7F, 14, 1, 14);
- ItemPieces.addBox("Shape39", -7F, 22.1F, -7F, 14, 1, 14);
-
- LightOnA = new ModelRenderer(this, "LightOnA");
- LightOnA.setRotationPoint(0F, 0F, 0F);
- LightOnA.mirror = true;
- LightOnA.addBox("Shape7", 6F, 22F, 1F, 1, 1, 6);
- LightOnA.addBox("Shape5", 1F, 22F, 1F, 1, 1, 6);
- LightOnA.addBox("Shape8", 2F, 22F, 1F, 4, 1, 1);
- LightOnA.addBox("Shape9", 2F, 22F, 6F, 4, 1, 1);
- LightOnB = new ModelRenderer(this, "LightOnB");
- LightOnB.setRotationPoint(0F, 0F, 0F);
- LightOnB.mirror = true;
- LightOnB.addBox("Shape10", 2F, 22F, 2F, 4, 1, 1);
- LightOnB.addBox("Shape11", 2F, 22F, 5F, 4, 1, 1);
- LightOnB.addBox("Shape12", 2F, 22F, 3F, 1, 1, 2);
- LightOnB.addBox("Shape13", 5F, 22F, 3F, 1, 1, 2);
- LightOnC = new ModelRenderer(this, "LightOnC");
- LightOnC.setRotationPoint(0F, 0F, 0F);
- LightOnC.mirror = true;
- LightOnC.addBox("Shape14", 3F, 22F, 3F, 2, 1, 2);
-
- LightOffA = new ModelRenderer(this, "LightOffA");
- LightOffA.setRotationPoint(0F, 0F, 0F);
- LightOffA.mirror = true;
- LightOffA.addBox("ShapeA7", 6F, 22F, 1F, 1, 1, 6);
- LightOffA.addBox("ShapeA5", 1F, 22F, 1F, 1, 1, 6);
- LightOffA.addBox("ShapeA8", 2F, 22F, 1F, 4, 1, 1);
- LightOffA.addBox("ShapeA9", 2F, 22F, 6F, 4, 1, 1);
- LightOffB = new ModelRenderer(this, "LightOffB");
- LightOffB.setRotationPoint(0F, 0F, 0F);
- LightOffB.mirror = true;
- LightOffB.addBox("ShapeA10", 2F, 22F, 2F, 4, 1, 1);
- LightOffB.addBox("ShapeA11", 2F, 22F, 5F, 4, 1, 1);
- LightOffB.addBox("ShapeA12", 2F, 22F, 3F, 1, 1, 2);
- LightOffB.addBox("ShapeA13", 5F, 22F, 3F, 1, 1, 2);
- LightOffC = new ModelRenderer(this, "LightOffC");
- LightOffC.setRotationPoint(0F, 0F, 0F);
- LightOffC.mirror = true;
- LightOffC.addBox("ShapeA14", 3F, 22F, 3F, 2, 1, 2);
- }
-
-}
diff --git a/ihl/collector/ChargerEjectorRender.java b/ihl/collector/ChargerEjectorRender.java
deleted file mode 100644
index 07ed0af..0000000
--- a/ihl/collector/ChargerEjectorRender.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package ihl.collector;
-
-import org.lwjgl.opengl.GL11;
-
-import ihl.IHLModInfo;
-import ihl.utils.IHLItemRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ResourceLocation;
-
-public class ChargerEjectorRender extends TileEntitySpecialRenderer {
- private ChargerEjectorModel model = new ChargerEjectorModel();
- private ResourceLocation tex = new ResourceLocation(IHLModInfo.MODID+":textures/blocks/chargerEjector.png");
- private int blink=0;
- private IHLItemRenderer itemRenderer=new IHLItemRenderer();
-
- @Override
- public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8)
- {
- this.renderAModelAt((ChargerEjectorTileEntity)par1TileEntity, par2, par4, par6, par8);
- }
-
- private void renderAModelAt(ChargerEjectorTileEntity te,
- double x, double y, double z, float par8) {
- if(blink<60)
- {
- blink++;
- }
- else
- {
- blink=0;
- }
- int[] x0={0,-8,0,8,0,-8,0,8,-4};
- int[] z0={0,0,-8,0,0,0,8,0,-4};
- int[] y0={0,0,0,0,-12,0,0,0,-12};
- int[] x1={0,-8,-8,0,0,-8,-8, 0,-4};
- int[] z1={0, 0, 8,8,8, 8, 0, 0, 4};
- int[] y1={0, 0, 0,0,6, 6, 6, 6,12};
- for(int i=0;i<9;i++)
- {
- this.itemRenderer.doRender(RenderManager.instance, te.chargeSlot.get(i), x+x1[i]/16F+0.75D, y+y1[i]/16F+0.25D, z+z1[i]/16F+0.25D);
- }
- bindTexture(tex); //texture
- GL11.glPushMatrix();
- GL11.glTranslatef((float)x + 0.5F, (float)y + 12F/16F, (float)z + 0.5F);
- GL11.glScalef(1.0F, -0.5F, -1F);
- model.Base.render(1.0F/16.0F);
- OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 0xf0, 0xf0);
- for(int i=0;i<9;i++)
- {
-
- GL11.glTranslatef(x0[i]/16F, y0[i]/16F, z0[i]/16F);
- if(te.chargeSlotStatus[i]<=0)
- {
- model.LightOffA.render(1F/16F);
- model.LightOffB.render(1F/16F);
- model.LightOffC.render(1F/16F);
- }
- else if(te.chargeSlotStatus[i]==2)
- {
- model.LightOnA.render(1F/16F);
- model.LightOnB.render(1F/16F);
- model.LightOnC.render(1F/16F);
- }
- else
- {
- if(blink<20)
- {
- model.LightOnA.render(1F/16F);
- model.LightOffB.render(1F/16F);
- model.LightOffC.render(1F/16F);
- }
- else if(blink>=20 && blink<40)
- {
- model.LightOffA.render(1F/16F);
- model.LightOnB.render(1F/16F);
- model.LightOffC.render(1F/16F);
- }
- else
- {
- model.LightOffA.render(1F/16F);
- model.LightOffB.render(1F/16F);
- model.LightOnC.render(1F/16F);
- }
- }
- }
- GL11.glPopMatrix(); //end
- }
-
-}
diff --git a/ihl/collector/ChargerEjectorTileEntity.java b/ihl/collector/ChargerEjectorTileEntity.java
deleted file mode 100644
index cda75f4..0000000
--- a/ihl/collector/ChargerEjectorTileEntity.java
+++ /dev/null
@@ -1,522 +0,0 @@
-package ihl.collector;
-
-import java.util.Iterator;
-import java.util.List;
-
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.util.ForgeDirection;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.api.energy.event.EnergyTileLoadEvent;
-import ic2.api.energy.event.EnergyTileUnloadEvent;
-import ic2.api.energy.tile.IEnergySink;
-import ic2.api.item.ElectricItem;
-import ic2.api.network.INetworkClientTileEntityEventListener;
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlot;
-import ic2.core.block.invslot.InvSlot.Access;
-import ihl.IHLMod;
-import ihl.utils.IHLInvSlotDischarge;
-
-public class ChargerEjectorTileEntity extends TileEntityInventory implements IEnergySink, IHasGui, INetworkClientTileEntityEventListener {
-
- private int tier;
- public int maxStorage=10000000;
- private double energy=0D;
- public final IHLInvSlotDischarge dischargeSlot;
- public final InvSlotMultiCharge chargeSlot;
- public boolean addedToEnergyNet = false;
- public int[] chargeSlotStatus = new int[9];
- public int[] prevChargeSlotStatus = new int[9];
- public ItemStack chargeItemStack0;
- public ItemStack chargeItemStack1;
- public ItemStack chargeItemStack2;
- public ItemStack chargeItemStack3;
- public ItemStack chargeItemStack4;
- public ItemStack chargeItemStack5;
- public ItemStack chargeItemStack6;
- public ItemStack chargeItemStack7;
- public ItemStack chargeItemStack8;
- private int slotNumNet=0;
- public boolean isGuiScreenOpened=false;
- public boolean autoEject=true;
- public boolean firstTickUpdate=true;
-
- public ChargerEjectorTileEntity()
- {
- super();
- this.tier=4;
- this.dischargeSlot = new IHLInvSlotDischarge(this, 0, Access.IO, this.tier, InvSlot.InvSide.BOTTOM);
- this.chargeSlot = new InvSlotMultiCharge(this, 1, this.tier,9);
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
- {
- if(this.dischargeSlot.get()!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.dischargeSlot.get()));
- for(int i=0;i<this.chargeSlot.size();i++)
- {
- if(this.chargeSlot.get(i)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.chargeSlot.get(i)));
- }
- ItemStack stack = new ItemStack(IHLMod.chargerEjectorBlock,1);
- stack.stackTagCompound = new NBTTagCompound();
- stack.stackTagCompound.setDouble("energy", this.energy);
- return stack;
- }
-
- @Override
- public List<String> getNetworkedFields()
- {
- List<String> fields = super.getNetworkedFields();
- for(int i=0;i<this.chargeSlot.size();i++)
- {
- fields.add("chargeItemStack"+i);
- }
- return fields;
- }
-
-
- @Override
- public void onLoaded()
- {
- super.onLoaded();
- if (IC2.platform.isSimulating())
- {
- MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this));
- this.addedToEnergyNet = true;
-
- }
- }
-
- @Override
- public void onUnloaded()
- {
- if (IC2.platform.isSimulating() && this.addedToEnergyNet)
- {
- MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this));
- this.addedToEnergyNet = false;
- }
- super.onUnloaded();
- }
-
- public boolean enableUpdateEntity()
- {
- return true;
- }
-
- @Override
- public void updateEntityClient()
- {
- updateChargerSlotStatus();
- if(!this.isGuiScreenOpened)
- {
- for(int i=0;i<this.chargeSlot.size();i++)
- {
- if(this.chargeSlot.get(i)!=this.getChargeISByNum(i))
- {
- this.chargeSlot.put(i,this.getChargeISByNum(i));
- }
- }
- }
- }
-
- public void updateChargerSlotStatus()
- {
- for(int i=0;i<this.chargeSlotStatus.length;i++)
- {
- if(!this.getActive() && this.chargeSlot.get(i)==null)
- {
- this.chargeSlotStatus[i]=0;
- }
- else if(!this.getActive() && this.chargeSlot.get(i)!=null)
- {
- this.chargeSlotStatus[i]=-1;
- }
- else if(this.getActive() && this.chargeSlot.get(i)==null)
- {
- this.chargeSlotStatus[i]=-2;
- }
- else if(this.getActive() && this.chargeSlot.get(i)!=null)
- {
- if(ElectricItem.manager.charge(this.chargeSlot.get(i), 1, this.tier, false, true)>0)
- {
- this.chargeSlotStatus[i]=1;
- }
- else
- {
- this.chargeSlotStatus[i]=2;
- }
- }
- }
-
- }
-
- @Override
- public void updateEntityServer()
- {
- if(this.firstTickUpdate && this.isGuiScreenOpened)
- {
- IC2.network.get().updateTileEntityField(this, "autoEject");
- this.firstTickUpdate=false;
- }
- if(this.energy < 1.0D && this.getActive())
- {
- this.setActive(false);
- }
- else if(this.energy >= 1.0D && !this.getActive())
- {
- this.setActive(true);
- }
- updateChargerSlotStatus();
- {
- List<EntityItem> eItemsList = this.getEItemsList();
- if(eItemsList!=null && eItemsList.size()>0)
- {
- Iterator<EntityItem> ei = eItemsList.iterator();
- while(ei.hasNext())
- {
- EntityItem entity=(EntityItem) ei.next();
- if(!entity.isDead && entity.getEntityItem()!=null && entity.getEntityItem().stackSize>0)
- {
- if(this.chargeSlot.addItemStackToFirstEmptyStack(entity.getEntityItem()))
- {
- entity.setDead();
- }
- }
- else
- {
- entity.setDead();
- }
- }
- }
- EntityPlayer player = this.worldObj.getClosestPlayer(this.xCoord+0.5D, this.yCoord+0.5D, this.zCoord+0.5D, 1.1D);
- if(player!=null && player instanceof EntityPlayerMP)
- {
- for(int i=0;i<this.chargeSlot.size();i++)
- {
- if(this.chargeSlotStatus[i]==2)
- {
- if(player.inventory.getFirstEmptyStack()>=0 && player.inventory.addItemStackToInventory(this.chargeSlot.get(i)))
- {
- this.chargeSlot.put(i, null);
- }
- }
- }
- }
-
- if(this.slotNumNet<this.chargeSlotStatus.length-1)
- {
- this.slotNumNet++;
- }
- else
- {
- this.slotNumNet=0;
- }
- if(this.chargeSlotStatus[slotNumNet]!=this.prevChargeSlotStatus[slotNumNet])
- {
- ItemStack stack1 = this.chargeSlot.get(slotNumNet);
- if(stack1!=null)
- {
- if(this.chargeSlotStatus[slotNumNet]==2 && this.chargeSlot.get(slotNumNet).getItem() instanceof CollectorItem)
- {
- if(this.autoEject)
- {
- CollectorItem item = (CollectorItem) this.chargeSlot.get(slotNumNet).getItem();
- if(item.spawnEntityInWorld(this.worldObj, this.chargeSlot.get(slotNumNet), this.xCoord, this.yCoord, this.zCoord))
- {
- this.setChargeISByNum(slotNumNet, null);
- this.chargeSlot.put(slotNumNet, null);
- }
- else
- {
- this.setChargeISByNum(slotNumNet, this.chargeSlot.get(slotNumNet).copy());
- }
- }
- else
- {
- this.setChargeISByNum(slotNumNet, this.chargeSlot.get(slotNumNet).copy());
- }
- }
- else
- {
- this.setChargeISByNum(slotNumNet, this.chargeSlot.get(slotNumNet).copy());
- }
- }
- else
- {
- this.setChargeISByNum(slotNumNet, null);
- }
- IC2.network.get().updateTileEntityField(this, "chargeItemStack"+slotNumNet);
- this.prevChargeSlotStatus[slotNumNet]=this.chargeSlotStatus[slotNumNet];
- }
- double amount;
- if (this.energy >= 1.0D)
- {
- for(int i=0;i<this.chargeSlotStatus.length;i++)
- {
- amount = this.chargeSlot.charge((int)this.energy,i);
- this.energy -= amount;
- }
- }
- if (this.getDemandedEnergy() > 1.0D)
- {
- amount = this.dischargeSlot.discharge(this.getDemandedEnergy(), false);
- this.energy += amount;
- }
- }
-
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- try
- {
- this.energy = nbttagcompound.getDouble("energy");
- }
- catch (Exception var3)
- {
- this.energy = nbttagcompound.getInteger("energy");
-
- if (this.maxStorage > Integer.MAX_VALUE)
- {
- this.energy *= 10.0D;
- }
- }
- this.autoEject=nbttagcompound.getBoolean("autoeject");
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- nbttagcompound.setDouble("energy", this.energy);
- nbttagcompound.setBoolean("autoeject", this.autoEject);
- }
-
- @Override
- public boolean acceptsEnergyFrom(TileEntity emitter,
- ForgeDirection direction) {
- return direction==ForgeDirection.DOWN;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer arg0, boolean arg1)
- {
- return new ChargerEjectorGui(new ChargerEjectorContainer(arg0, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer arg0) {
- return new ChargerEjectorContainer(arg0, this);
- }
-
- @Override
- public void onGuiClosed(EntityPlayer arg0)
- {
- this.isGuiScreenOpened=false;
- }
-
- @Override
- public String getInventoryName() {
- return "charger_ejector";
- }
-
- public int getStored() {
- return Math.round((float)this.energy);
- }
-
- public void setStored(double value) {
- this.energy=value;
- }
-
- public boolean getGui(EntityPlayer player)
- {
- this.isGuiScreenOpened = this instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(player, this) : true) : false;
- return this.isGuiScreenOpened;
- }
-
- private ItemStack getChargeISByNum(int num)
- {
- switch(num)
- {
- case 0:
- return this.chargeItemStack0;
- case 1:
- return this.chargeItemStack1;
- case 2:
- return this.chargeItemStack2;
- case 3:
- return this.chargeItemStack3;
- case 4:
- return this.chargeItemStack4;
- case 5:
- return this.chargeItemStack5;
- case 6:
- return this.chargeItemStack6;
- case 7:
- return this.chargeItemStack7;
- case 8:
- return this.chargeItemStack8;
- default:
- return this.chargeItemStack0;
- }
- }
-
- private void setChargeISByNum(int num, ItemStack stack)
- {
- switch(num)
- {
- case 0:
- this.chargeItemStack0=stack;
- break;
- case 1:
- this.chargeItemStack1=stack;
- break;
- case 2:
- this.chargeItemStack2=stack;
- break;
- case 3:
- this.chargeItemStack3=stack;
- break;
- case 4:
- this.chargeItemStack4=stack;
- break;
- case 5:
- this.chargeItemStack5=stack;
- break;
- case 6:
- this.chargeItemStack6=stack;
- break;
- case 7:
- this.chargeItemStack7=stack;
- break;
- case 8:
- this.chargeItemStack8=stack;
- break;
- default:
- this.chargeItemStack0=stack;
- }
- }
-
- @SuppressWarnings("unchecked")
- protected List<EntityItem> getEItemsList()
- {
- double range = 0.2D;
- AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.xCoord-range,this.yCoord,this.zCoord-range,this.xCoord+1.0D+range,this.yCoord+1.0D+range,this.zCoord+1.0D+range);
- List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
- return eItemsList;
- }
- //1.7.10 API
- @Override
- public double getDemandedEnergy()
- {
- return this.maxStorage - this.energy;
- }
-
- @Override
- public int getSinkTier()
- {
- return this.tier;
- }
-
- @Override
- public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage)
- {
- if (this.energy >= this.maxStorage)
- {
- return amount;
- }
- else
- {
- this.energy += amount;
- return 0.0D;
- }
- }
-
- @Override
- public void onNetworkEvent(EntityPlayer player, int event)
- {
- switch(event)
- {
- case 0:
- if(!this.autoEject)
- {
- this.autoEject=true;
- IC2.network.get().updateTileEntityField(this, "autoEject");
- }
- break;
- case 1:
- if(this.autoEject)
- {
- this.autoEject=false;
- IC2.network.get().updateTileEntityField(this, "autoEject");
- }
- break;
- case 2:
- callCollectors();
- break;
- case 3:
- eraseMemory();
- break;
- default:
- break;
- }
- }
-
- @SuppressWarnings("unchecked")
- private void callCollectors()
- {
- double range = 64D;
- AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.xCoord-range,this.yCoord,this.zCoord-range,this.xCoord+1.0D+range,this.yCoord+1.0D+range,this.zCoord+1.0D+range);
- List<CollectorEntity> eList = this.worldObj.getEntitiesWithinAABB(CollectorEntity.class, searchArea);
- if(!eList.isEmpty())
- {
- Iterator<CollectorEntity> eListIterator=eList.iterator();
- while(eListIterator.hasNext())
- {
- CollectorEntity fbbe = eListIterator.next();
- fbbe.currentTask=CollectorEntity.Tasks.RECHARGE;
- fbbe.charger=this;
- }
- }
- }
-
- private void eraseMemory()
- {
- for(int i=0;i<this.chargeSlot.size();i++)
- {
- if(this.chargeSlot.get(i)!=null)
- {
- ItemStack item = this.chargeSlot.get(i);
- if(item.getItem() instanceof CollectorItem)
- {
- if(item.stackTagCompound!=null && item.stackTagCompound.hasKey("hopperxyz"))
- {
- int[] clearCoord={0,0,0};
- item.stackTagCompound.setIntArray("hopperxyz",clearCoord);
- }
- }
- }
- }
- }
-
- @Override
- public boolean shouldRenderInPass(int pass)
- {
- return pass==0;
- }
-}
diff --git a/ihl/collector/CollectorEntity.java b/ihl/collector/CollectorEntity.java
deleted file mode 100644
index 55e89c8..0000000
--- a/ihl/collector/CollectorEntity.java
+++ /dev/null
@@ -1,959 +0,0 @@
-package ihl.collector;
-
-import ic2.api.item.ElectricItem;
-import ic2.core.block.generator.tileentity.TileEntityBaseGenerator;
-import ic2.core.block.invslot.InvSlotCharge;
-import ic2.core.block.wiring.TileEntityElectricBlock;
-import ihl.IHL3dPathFinder;
-import ihl.IHLMod;
-import ihl.IHLModInfo;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityFlying;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-
-public class CollectorEntity extends EntityFlying {
- protected int energy = 300;
- private int maxEnergy = 1000;
- public EntityItem target;
- public TileEntity hopper;
- public TileEntity charger;
- protected double lastItemX=0;
- protected double lastItemY=0;
- protected double lastItemZ=0;
- protected ItemStack capturedStack;
- public int courseChangeCooldown;
- public double waypointX;
- public double waypointY;
- public double waypointZ;
- private IHL3dPathFinder pathFinder3D;
- private boolean clientSideNeedEnergyUpdate = true;
- public int hopperx;
- public int hoppery;
- public int hopperz;
- protected int energyConsume=1;
- protected Item thisItem=IHLMod.collectorItem;
- protected List<EntityItem> eItemIgnoreList = new ArrayList<EntityItem>();
- public Tasks currentTask=Tasks.IDLE;
- private int teUpdateTimer = 0;
- private double[] last5TickPosX = new double[5];
- private double[] last5TickPosY = new double[5];
- private double[] last5TickPosZ = new double[5];
-
- public CollectorEntity(World par1World)
- {
- super(par1World);
- //this.preventEntitySpawning = true;
- this.setSize(0.9F, 0.25F);
- this.pathFinder3D=new IHL3dPathFinder(this);
- this.isImmuneToFire=true;
- this.waypointX=this.posX;
- this.waypointY=this.posY;
- this.waypointZ=this.posZ;
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- }
-
- @Override
- protected void applyEntityAttributes()
- {
- super.applyEntityAttributes();
- this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100.0D);
- }
-
- @Override
- protected void entityInit()
- {
- super.entityInit();
- this.dataWatcher.addObject(16, Integer.valueOf(this.maxEnergy));
- this.dataWatcher.addObject(17, Integer.valueOf(this.energy));
- this.dataWatcher.addObjectByDataType(18, 5);
- }
-
- /**
- * Returns a boundingBox used to collide the entity with other entities and blocks. This enables the entity to be
- * pushable on contact, like boats or minecarts.
- */
- @Override
- public AxisAlignedBB getCollisionBox(Entity par1Entity)
- {
- return par1Entity.boundingBox;
- }
-
- /**
- * returns the bounding box for this entity
- */
- @Override
- public AxisAlignedBB getBoundingBox()
- {
- return this.boundingBox;
- }
-
- /**
- * Returns true if this entity should push and be pushed by other entities when colliding.
- */
- @Override
- public boolean canBePushed()
- {
- return true;
- }
-
- public CollectorEntity(World par1World, double par2, double par4, double par6)
- {
- this(par1World);
- this.setPosition(par2, par4, par6);
- this.motionX = 0.0D;
- this.motionY = 0.0D;
- this.motionZ = 0.0D;
- this.prevPosX = par2;
- this.prevPosY = par4;
- this.prevPosZ = par6;
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- this.waypointX=this.posX;
- this.waypointY=this.posY;
- this.waypointZ=this.posZ;
- }
-
-
- /**
- * Returns true if other Entities should be prevented from moving through this Entity.
- */
- @Override
- public boolean canBeCollidedWith()
- {
- return !this.isDead;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void onUpdate()
- {
- super.onUpdate();
- if(teUpdateTimer<120)
- {
- teUpdateTimer++;
- }
- else
- {
- teUpdateTimer=0;
- }
- if(teUpdateTimer % 5 ==0)
- {
- this.last5TickPosX[0]=this.posX;
- this.last5TickPosY[0]=this.posY;
- this.last5TickPosZ[0]=this.posZ;
- }
- else
- {
- this.last5TickPosX[teUpdateTimer % 5]=this.last5TickPosX[teUpdateTimer % 5-1];
- this.last5TickPosY[teUpdateTimer % 5]=this.last5TickPosY[teUpdateTimer % 5-1];
- this.last5TickPosZ[teUpdateTimer % 5]=this.last5TickPosZ[teUpdateTimer % 5-1];
- }
- if(this.worldObj.isRemote && this.clientSideNeedEnergyUpdate)
- {
- this.energy=this.dataWatcher.getWatchableObjectInt(17);
- this.maxEnergy=this.dataWatcher.getWatchableObjectInt(16);
- this.clientSideNeedEnergyUpdate=false;
- }
- if(this.energy>=1)
- {
- this.energy-=this.energyConsume;
- }
- else if(!this.worldObj.isRemote)
- {
- this.dropAsItem();
- }
- if(this.charger==null && teUpdateTimer==20)
- {
- List<TileEntity> teList = this.worldObj.loadedTileEntityList;
- Iterator<TileEntity> teIterator=teList.iterator();
- while(teIterator.hasNext())
- {
- TileEntity te = (TileEntity) teIterator.next();
- if(!te.isInvalid() && this.charger==null && (te instanceof ChargerEjectorTileEntity || te instanceof TileEntityElectricBlock || te instanceof TileEntityBaseGenerator))
- {
- double dist1 =this.getDistanceSq(te.xCoord,te.yCoord,te.zCoord);
- if(dist1<4096D)
- {
- if(te instanceof TileEntityElectricBlock)
- {
- TileEntityElectricBlock charger1 = (TileEntityElectricBlock) te;
- if(charger1.chargeSlot.isEmpty())
- {
- this.charger=charger1;
- }
- }
- else if(te instanceof TileEntityBaseGenerator)
- {
- TileEntityBaseGenerator charger1 = (TileEntityBaseGenerator) te;
- if(charger1.chargeSlot.isEmpty())
- {
- this.charger=charger1;
- }
- }
- else if(te instanceof ChargerEjectorTileEntity)
- {
- ChargerEjectorTileEntity charger1 = (ChargerEjectorTileEntity) te;
- if(charger1.chargeSlot.getFirstEmptyStack()>=0)
- {
- this.charger=charger1;
- }
- }
- }
- }
- else if(!te.isInvalid() && this.charger!=null && (te instanceof ChargerEjectorTileEntity || te instanceof TileEntityElectricBlock || te instanceof TileEntityBaseGenerator))
- {
- double dist1 =this.getDistanceSq(this.charger.xCoord,this.charger.yCoord,this.charger.zCoord);
- double dist2 =this.getDistanceSq(te.xCoord,te.yCoord,te.zCoord);
- if(this.charger instanceof ChargerEjectorTileEntity)
- {
- if(te instanceof ChargerEjectorTileEntity)
- {
- ChargerEjectorTileEntity charger1 = (ChargerEjectorTileEntity) te;
- if(dist2<dist1 && charger1.chargeSlot.getFirstEmptyStack()>=0)
- {
- this.charger=charger1;
- }
- }
- }
- else
- {
- if(te instanceof TileEntityElectricBlock)
- {
- TileEntityElectricBlock charger1 = (TileEntityElectricBlock) te;
- if(dist2<dist1 && charger1.chargeSlot.isEmpty())
- {
- this.charger=charger1;
- }
- }
- else if(te instanceof TileEntityBaseGenerator)
- {
- TileEntityBaseGenerator charger1 = (TileEntityBaseGenerator) te;
- if(dist2<dist1 && charger1.chargeSlot.isEmpty())
- {
- this.charger=charger1;
- }
- }
- else if(te instanceof ChargerEjectorTileEntity)
- {
- ChargerEjectorTileEntity charger1 = (ChargerEjectorTileEntity) te;
- if(dist2<dist1 && charger1.chargeSlot.getFirstEmptyStack()>=0)
- {
- this.charger=charger1;
- }
- }
-
- }
- }
- }
-
- }
-
- if(!this.worldObj.isRemote && hopperx!=0 || hoppery!=0 || hopperz!=0)
- {
- TileEntity te = this.worldObj.getTileEntity(hopperx, hoppery, hopperz);
- if(te!=null && te instanceof IInventory)
- {
- this.hopper=te;
- }
- hopperx=0;
- hoppery=0;
- hopperz=0;
- }
- if(this.hopper==null && teUpdateTimer==10)
- {
- List<TileEntity> teList = this.worldObj.loadedTileEntityList;
- Iterator<TileEntity> teIterator=teList.iterator();
- while(teIterator.hasNext())
- {
- TileEntity te = (TileEntity) teIterator.next();
- if(this.hopper==null && te instanceof IInventory)
- {
- this.hopper=te;
- }
- else if(te instanceof IInventory)
- {
- double dist1 =this.getDistanceSq(this.hopper.xCoord,this.hopper.yCoord,this.hopper.zCoord);
- double dist2 =this.getDistanceSq(te.xCoord,te.yCoord,te.zCoord);
- if(dist2<dist1)
- {
- this.hopper=te;
- }
- }
- }
- }
- }
-
- @Override
- public void readEntityFromNBT(NBTTagCompound nbt)
- {
- try{
- super.readEntityFromNBT(nbt);
- this.energy = nbt.getInteger("energy");
- this.maxEnergy = nbt.getInteger("maxEnergy");
- this.hopperx = nbt.getInteger("hopperx");
- this.hoppery = nbt.getInteger("hoppery");
- this.hopperz = nbt.getInteger("hopperz");
- NBTTagList var2 = nbt.getTagList("Items", 10);
- if(var2!=null)
- {
- NBTTagCompound var4 = var2.getCompoundTagAt(0);
- this.capturedStack = ItemStack.loadItemStackFromNBT(var4);
- if(this.capturedStack!=null)
- {
- this.dataWatcher.updateObject(18, this.capturedStack.copy());
- }
- }
- }
- catch(Throwable e)
- {
- e.printStackTrace();
- }
- }
-
- @Override
- public void writeEntityToNBT(NBTTagCompound nbt)
- {
- try{
- super.writeEntityToNBT(nbt);
- nbt.setInteger("energy", this.energy);
- nbt.setInteger("maxEnergy", this.maxEnergy);
- if(hopper!=null)
- {
- nbt.setInteger("hopperx", hopper.xCoord);
- nbt.setInteger("hoppery", hopper.yCoord);
- nbt.setInteger("hopperz", hopper.zCoord);
- }
- else
- {
- nbt.setInteger("hopperx", hopperx);
- nbt.setInteger("hoppery", hoppery);
- nbt.setInteger("hopperz", hopperz);
- }
- if(this.capturedStack!=null)
- {
- NBTTagList var2 = new NBTTagList();
- NBTTagCompound var4 = new NBTTagCompound();
- var4.setByte("Slot", (byte)0);
- this.capturedStack.writeToNBT(var4);
- var2.appendTag(var4);
- nbt.setTag("Items", var2);
- }
- }
- catch(Throwable e)
- {
- e.printStackTrace();
- }
- }
-
- @Override
- public float getShadowSize()
- {
- return 0.5F;
- }
-
- @Override
- protected String getHurtSound()
- {
- return IHLModInfo.MODID+":collectorHurt";
- }
-
- @Override
- protected String getDeathSound()
- {
- return IHLModInfo.MODID+":collectorHurt";
- }
-
- @Override
- public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
- {
- return super.attackEntityFrom(par1DamageSource, par2);
- }
-
- @Override
- protected void updateEntityActionState()
- {
- double var1 = this.waypointX - this.posX;
- double var3 = this.waypointY - this.posY;
- double var5 = this.waypointZ - this.posZ;
- double var7 = var1 * var1 + var3 * var3 + var5 * var5;
- if(currentTask==Tasks.IDLE)
- {
- if(teUpdateTimer>=12)
- {
- if(this.randomWaypoints())
- {
- currentTask=Tasks.SEARCH_ITEM;
- var7 = 0.5D;
- }
- }
- return;
- }
-
- if(var7 < 1.0D || var7 > 3600.0D)
- {
- if(var7 < 1.0D)
- {
- if(this.energy<1000*this.energyConsume)
- {
- currentTask=Tasks.RECHARGE;
- }
- switch(currentTask)
- {
- case RECHARGE:
- this.rechargeMe();
- if(this.charger!=null)
- {
- if(this.pathFinder3D.findPath(this.charger.xCoord+0.5D,this.charger.yCoord+1.5D, this.charger.zCoord+0.5D))
- {
- this.waypointX=this.pathFinder3D.waypointX;
- this.waypointY=this.pathFinder3D.waypointY;
- this.waypointZ=this.pathFinder3D.waypointZ;
- }
- else
- {
- this.charger=null;
- this.randomWaypoints();
- }
- }
- break;
- case SEARCH_ITEM:
- this.harvest();
- List<EntityItem> eItemsList=this.getEItemsList();
- if(this.target==null)
- {
- if(eItemsList.isEmpty())
- {
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- }
- else
- {
- Iterator<EntityItem> ei = eItemsList.iterator();
- while(ei.hasNext())
- {
- EntityItem newTarget=(EntityItem) ei.next();
- if(!newTarget.isDead && newTarget.getEntityItem()!=null && newTarget.getEntityItem().stackSize>0 && this.canAdd(newTarget.getEntityItem()) && !this.eItemIgnoreList.contains(newTarget))
- {
- if(this.pathFinder3D.findPath(newTarget.posX, newTarget.posY+1.0D, newTarget.posZ))
- {
- this.target=newTarget;
- this.waypointX=this.pathFinder3D.waypointX;
- this.waypointY=this.pathFinder3D.waypointY;
- this.waypointZ=this.pathFinder3D.waypointZ;
- break;
- }
- else
- {
- this.eItemIgnoreList.add(newTarget);
- }
- }
- }
- }
- }
- else
- {
- if(this.target.isDead)
- {
- this.target=null;
- }
- else if(this.pathFinder3D.findPath(target.posX, target.posY+1.0D, target.posZ))
- {
- this.waypointX=this.pathFinder3D.waypointX;
- this.waypointY=this.pathFinder3D.waypointY;
- this.waypointZ=this.pathFinder3D.waypointZ;
- break;
- }
- else
- {
- this.eItemIgnoreList.add(target);
- this.target=null;
- }
- }
- if(this.target==null && this.capturedStack!=null)
- {
- currentTask=Tasks.DROP_ITEM;
- this.waypointX=this.posX;
- this.waypointY=this.posY;
- this.waypointZ=this.posZ;
- }
- else if(this.target==null)
- {
- this.randomWaypoints();
- }
- break;
- case DROP_ITEM:
- this.dropItem();
- if(this.hopper!=null && this.capturedStack!=null)
- {
- this.pathFinder3D.findPath(this.hopper.xCoord,this.hopper.yCoord+2.0D, this.hopper.zCoord);
- this.waypointX=this.pathFinder3D.waypointX;
- this.waypointY=this.pathFinder3D.waypointY;
- this.waypointZ=this.pathFinder3D.waypointZ;
- }
- else
- {
- currentTask=Tasks.SEARCH_ITEM;
- this.waypointX=this.posX;
- this.waypointY=this.posY;
- this.waypointZ=this.posZ;
- }
- break;
- default:
- break;
- }
- }
- }
- if(this.isEntityInsideOpaqueBlock())
- {
- this.noClip=true;
- int xyz[] = {0,0,1,0,0,-1,0,0};
- Block block;
- int x,y,z;
- for(int i=0;i<=5;i++)
- {
- x=MathHelper.floor_double(this.posX)+xyz[i];
- y=MathHelper.floor_double(this.posY)+xyz[i+1];
- z=MathHelper.floor_double(this.posZ)+xyz[i+2];
- block = this.worldObj.getBlock(x,y,z);
- if(block.isAir(this.worldObj, x,y,z))
- {
- double varx=x+0.5D;
- double vary=y+0.5D;
- double varz=z+0.5D;
- this.setPosition(varx, vary, varz);
- this.setHealth(this.getMaxHealth());
- this.noClip=false;
- break;
- }
- }
- }
-
- if(var7>0.01D)
- {
- var7 = MathHelper.sqrt_double(var7);
- this.motionX += var1 / var7 * 0.02D;
- this.motionY += var3 / var7 * 0.02D;
- this.motionZ += var5 / var7 * 0.02D;
- }
- if (this.courseChangeCooldown-- <= 0)
- {
- this.courseChangeCooldown += this.rand.nextInt(5) + 2;
-
- }
- float rYaw=-((float)Math.atan2(this.motionX, this.motionZ)) * 180.0F / (float)Math.PI;
- float rYawD=this.rotationYaw-rYaw;
- this.renderYawOffset = this.rotationYaw -= rYawD*0.1F;
- }
-
- protected boolean canAdd(ItemStack stack)
- {
- if(this.capturedStack==null)
- {
- return true;
- }
- else
- {
- if(this.capturedStack.stackSize<this.capturedStack.getMaxStackSize())
- {
- return this.capturedStack.getItem()==stack.getItem() && this.capturedStack.getItemDamage()==stack.getItemDamage();
- }
- }
- return false;
- }
-
- public int getStored()
- {
- return this.energy;
- }
-
- public void setStored(int value)
- {
- this.energy=value;
- }
-
- public ItemStack getVisibleItemStack()
- {
- return this.dataWatcher.getWatchableObjectItemStack(18);
- }
-
- @SuppressWarnings("unchecked")
- private void harvest()
- {
- double range = 1D;
- AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range-1D,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
- List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
- if(eItemsList!=null && eItemsList.size()>0)
- {
- Iterator<EntityItem> itemIterator = eItemsList.iterator();
- while(itemIterator.hasNext())
- {
- EntityItem eItem = (EntityItem) itemIterator.next();
- if(eItem.getEntityItem()!=null && eItem.getEntityItem().stackSize>0)
- {
- if(this.canAdd(eItem.getEntityItem()))
- {
- this.harvest(eItem);
- }
- }
- else if(eItem.getEntityItem().stackSize<=0)
- {
- if(!this.worldObj.isRemote)eItem.setDead();
- }
- else if(eItem.getEntityItem()==null)
- {
- if(!this.worldObj.isRemote)eItem.setDead();
- }
- }
- }
- }
-
- protected void dropItem()
- {
- if(this.hopper!=null && this.capturedStack!=null)
- {
- double var1 = this.hopper.xCoord - this.posX;
- double var3 = this.hopper.yCoord - this.posY + 2D;
- double var5 = this.hopper.zCoord - this.posZ;
- double var7 = var1 * var1 + var3 * var3 + var5 * var5;
- if (var7 < 2.0D)
- {
- if(this.addItemStackToInventory((IInventory)this.hopper, this.capturedStack))
- {
- this.capturedStack=null;
- this.dataWatcher.updateObject(18, this.capturedStack);
- }
- }
- }
- }
-
- private void rechargeMe()
- {
- if(this.charger!=null)
- {
- double var1 = this.charger.xCoord - this.posX;
- double var3 = this.charger.yCoord - this.posY + 2D;
- double var5 = this.charger.zCoord - this.posZ;
- double var7 = var1 * var1 + var3 * var3 + var5 * var5;
- if (var7 < 2.0D)
- {
- if(this.charger instanceof TileEntityElectricBlock)
- {
- InvSlotCharge chargeSlot =((TileEntityElectricBlock) this.charger).chargeSlot;
- if(chargeSlot.isEmpty())
- {
- ItemStack itemStack = this.getItemStack(this.energy);
- if(this.hopper!=null)
- {
- int[] hopperxyz = {this.hopper.xCoord,this.hopper.yCoord,this.hopper.zCoord};
- if(itemStack.stackTagCompound==null)
- {
- itemStack.stackTagCompound=new NBTTagCompound();
- }
- itemStack.stackTagCompound.setIntArray("hopperxyz", hopperxyz);
- }
-
- chargeSlot.put(itemStack);
- if(this.capturedStack!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack));
- }
- this.setDead();
- }
- else
- {
- this.charger=null;
- }
- }
- else if(this.charger instanceof TileEntityBaseGenerator)
- {
- InvSlotCharge chargeSlot =((TileEntityBaseGenerator) this.charger).chargeSlot;
- if(chargeSlot.isEmpty())
- {
- ItemStack itemStack = this.getItemStack(this.energy);
- if(this.hopper!=null)
- {
- int[] hopperxyz = {this.hopper.xCoord,this.hopper.yCoord,this.hopper.zCoord};
- if(itemStack.stackTagCompound==null)
- {
- itemStack.stackTagCompound=new NBTTagCompound();
- }
- itemStack.stackTagCompound.setIntArray("hopperxyz", hopperxyz);
- }
-
- chargeSlot.put(itemStack);
- if(this.capturedStack!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack));
- }
- this.setDead();
- }
- else
- {
- this.charger=null;
- }
- }
- else if(this.charger instanceof ChargerEjectorTileEntity)
- {
- InvSlotMultiCharge chargeSlot =((ChargerEjectorTileEntity) this.charger).chargeSlot;
- if(chargeSlot.isEmpty())
- {
- ItemStack itemStack = this.getItemStack(this.energy);
- if(this.hopper!=null)
- {
- int[] hopperxyz = {this.hopper.xCoord,this.hopper.yCoord,this.hopper.zCoord};
- if(itemStack.stackTagCompound==null)
- {
- itemStack.stackTagCompound=new NBTTagCompound();
- }
- itemStack.stackTagCompound.setIntArray("hopperxyz", hopperxyz);
- }
- chargeSlot.put(itemStack);
- spawnContainedItems();
- this.setDead();
- }
- else
- {
- this.charger=null;
- }
- }
- else
- {
- this.charger=null;
- return;
- }
- }
- }
- }
-
- private boolean randomWaypoints()
- {
- double wx,wy,wz;
- if(this.hopper!=null)
- {
- double var1 = this.hopper.xCoord - this.posX;
- double var3 = this.hopper.yCoord - this.posY + 1.5D;
- double var5 = this.hopper.zCoord - this.posZ;
- double var7 = var1 * var1 + var3 * var3 + var5 * var5;
- if(var7>4096D)
- {
- wx = (double)this.hopper.xCoord + (double)(this.rand.nextFloat() * 8.0F - 4.0F);
- wy = (double)this.hopper.yCoord + (double)(this.rand.nextFloat() * 8.0F - 4.0F);
- wz = (double)this.hopper.zCoord + (double)(this.rand.nextFloat() * 8.0F - 4.0F);
- }
- else if(var3>16D)
- {
- wx = this.posX + (this.rand.nextFloat() * 8.0F - 4.0F);
- wy = (double)this.hopper.yCoord + (double)(this.rand.nextFloat() * 8.0F - 4.0F);
- wz = this.posZ + (this.rand.nextFloat() * 8.0F - 4.0F);
- }
- else
- {
- wx = this.posX + (this.rand.nextFloat() * 8.0F - 4.0F);
- wy = this.posY + (this.rand.nextFloat() * 8.0F - 4.0F);
- wz = this.posZ + (this.rand.nextFloat() * 8.0F - 4.0F);
- }
- }
- else
- {
- wx = this.posX + (this.rand.nextFloat() * 8.0F - 4.0F);
- wy = this.posY + (this.rand.nextFloat() * 2.0F - 1.0F);
- wz = this.posZ + (this.rand.nextFloat() * 8.0F - 4.0F);
- }
- if(this.pathFinder3D.findPath(wx, wy, wz))
- {
- this.waypointX=this.pathFinder3D.waypointX;
- this.waypointY=this.pathFinder3D.waypointY;
- this.waypointZ=this.pathFinder3D.waypointZ;
- return true;
- }
- else
- {
- return false;
- }
- }
-
-
- protected boolean addItemStackToInventory(IInventory hopper, ItemStack stack)
- {
- int startFrom=0;
- int endWith=hopper.getSizeInventory()-1;
- if(IHLMod.isGregTechModLoaded && IHLMod.isGT_API_Version_5 && hopper instanceof gregtech.api.metatileentity.BaseMetaTileEntity)
- {
- startFrom=endWith=4;
- }
- for(int i=startFrom;i<=endWith;++i)
- {
- if(hopper.isItemValidForSlot(i, stack))
- {
- ItemStack hopperSlot = hopper.getStackInSlot(i);
- if(hopperSlot!=null && hopperSlot.stackSize<hopper.getInventoryStackLimit() && hopperSlot.getItem() == stack.getItem() && hopperSlot.getItemDamage() == stack.getItemDamage())
- {
- if(hopperSlot.stackSize + stack.stackSize<=hopper.getInventoryStackLimit())
- {
- hopperSlot.stackSize+=stack.stackSize;
- return true;
- }
- else
- {
- int newSize=hopper.getInventoryStackLimit()-hopperSlot.stackSize;
- hopperSlot.stackSize=hopper.getInventoryStackLimit();
- stack.stackSize-=newSize;
- }
- }
- else if(hopperSlot==null)
- {
- if(stack.stackSize<=hopper.getInventoryStackLimit())
- {
- hopper.setInventorySlotContents(i, stack);
- return true;
- }
- else
- {
- ItemStack stackAdd = stack.splitStack(hopper.getInventoryStackLimit());
- hopper.setInventorySlotContents(i, stackAdd);
- }
- }
- }
- }
- return false;
- }
-
- public float getRenderEnergyLevel()
- {
- return (float)this.energy/(float)this.maxEnergy;
- }
-
- public void setEnergy(double d, double e)
- {
- if(e<Integer.MAX_VALUE)
- {
- this.maxEnergy=(int) e;
- }
- else
- {
- this.maxEnergy=Integer.MAX_VALUE;
- }
-
- if(d<this.maxEnergy)
- {
- this.energy=(int) d;
- }
- else
- {
- this.energy=this.maxEnergy;
- }
- this.dataWatcher.updateObject(17, Integer.valueOf(this.energy));
- this.dataWatcher.updateObject(16, Integer.valueOf(this.maxEnergy));
- }
-
- @Override
- public boolean interact(EntityPlayer player)
- {
- if(player.inventory.getCurrentItem()==null && !this.worldObj.isRemote)
- {
- this.dropAsItem();
- return true;
- }
- return false;
- }
-
-
- protected void dropAsItem()
- {
- ItemStack itemStack = this.getItemStack(this.energy);
- if(this.hopper!=null)
- {
- int[] hopperxyz = {this.hopper.xCoord,this.hopper.yCoord,this.hopper.zCoord};
- if(itemStack.stackTagCompound==null)
- {
- itemStack.stackTagCompound=new NBTTagCompound();
- }
- itemStack.stackTagCompound.setIntArray("hopperxyz", hopperxyz);
- }
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, itemStack));
- spawnContainedItems();
- this.setDead();
- }
-
- @SuppressWarnings("unchecked")
- protected List<EntityItem> getEItemsList()
- {
- double range = 32D;
- AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.lastItemX-range,this.lastItemY-range,this.lastItemZ-range,this.lastItemX+range,this.lastItemY+range,this.lastItemZ+range);
- List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
- return eItemsList;
- }
-
- public ItemStack getItemStack(int charge)
- {
- ItemStack ret = new ItemStack(this.thisItem);
- ElectricItem.manager.charge(ret, charge, this.maxEnergy, true, false);
- return ret;
- }
-
- public enum Tasks
- {
- RECHARGE,
- SEARCH_ITEM,
- DROP_ITEM,
- IDLE
- }
-
- protected void spawnContainedItems()
- {
- if(this.capturedStack!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack));
- }
- }
-
- protected void harvest(EntityItem eItem)
- {
- if(this.capturedStack==null)
- {
- this.capturedStack=eItem.getEntityItem();
- if(!this.worldObj.isRemote)eItem.setDead();
- this.target=null;
- if(this.capturedStack!=null)
- {
- this.dataWatcher.updateObject(18, this.capturedStack.copy());
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- }
- }
- else if(this.capturedStack.getItem() == eItem.getEntityItem().getItem() && this.capturedStack.getItemDamage() == eItem.getEntityItem().getItemDamage())
- {
- this.capturedStack.stackSize+=eItem.getEntityItem().stackSize;
- if(!this.worldObj.isRemote)eItem.setDead();
- this.target=null;
- this.dataWatcher.updateObject(18, this.capturedStack.copy());
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- }
- }
-
-} \ No newline at end of file
diff --git a/ihl/collector/CollectorHeavyEntity.java b/ihl/collector/CollectorHeavyEntity.java
deleted file mode 100644
index 510e28b..0000000
--- a/ihl/collector/CollectorHeavyEntity.java
+++ /dev/null
@@ -1,305 +0,0 @@
-package ihl.collector;
-
-import ihl.IHLMod;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.world.World;
-
-public class CollectorHeavyEntity extends CollectorEntity {
- private ItemStack capturedStack2;
- private ItemStack capturedStack3;
- private ItemStack capturedStack4;
-
- public CollectorHeavyEntity(World par1World)
- {
- super(par1World);
- this.setSize(0.98F, 0.25F);
- this.energyConsume=4;
- this.thisItem=IHLMod.collectorHeavyItem;
- this.waypointX=this.posX;
- this.waypointY=this.posY;
- this.waypointZ=this.posZ;
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- }
-
- public CollectorHeavyEntity(World par1World, double par2, double par4, double par6)
- {
- this(par1World);
- this.setPosition(par2, par4, par6);
- this.motionX = 0.0D;
- this.motionY = 0.0D;
- this.motionZ = 0.0D;
- this.prevPosX = par2;
- this.prevPosY = par4;
- this.prevPosZ = par6;
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- this.energyConsume=4;
- this.thisItem=IHLMod.collectorHeavyItem;
- }
-
-
- @Override
- protected void entityInit()
- {
- super.entityInit();
- this.dataWatcher.addObjectByDataType(19, 5);
- this.dataWatcher.addObjectByDataType(20, 5);
- this.dataWatcher.addObjectByDataType(21, 5);
- }
-
- @Override
- protected void dropItem()
- {
- if(this.hopper!=null)
- {
- double var1 = this.hopper.xCoord - this.posX;
- double var3 = this.hopper.yCoord - this.posY + 2D;
- double var5 = this.hopper.zCoord - this.posZ;
- double var7 = var1 * var1 + var3 * var3 + var5 * var5;
-
- if (var7 < 2.0D)
- {
- for(int i=0;i<4;i++)
- {
- if(getItemStackNum(i)!=null && this.addItemStackToInventory((IInventory)this.hopper, getItemStackNum(i)))
- {
- setItemStackSlotContent(i,null);
- }
- }
- }
- }
- }
-
- public ItemStack getVisibleItemStack(int num)
- {
- return this.dataWatcher.getWatchableObjectItemStack(18+num);
- }
-
- @Override
- public void readEntityFromNBT(NBTTagCompound nbt)
- {
- super.readEntityFromNBT(nbt);
- try
- {
- NBTTagList var2 = nbt.getTagList("Items", 10);
- if(var2!=null)
- {
- for(int i=1;i<4;i++)
- {
- NBTTagCompound var4 = var2.getCompoundTagAt(i);
- if(var4!=null)
- {
- this.setItemStackSlotContent(i, ItemStack.loadItemStackFromNBT(var4));
- if(this.getItemStackNum(i)!=null)
- {
- this.dataWatcher.updateObject(18+i, this.getItemStackNum(i).copy());
- }
- }
- }
- }
- }
- catch(Throwable e)
- {
- e.printStackTrace();
- }
- }
-
- @Override
- public void writeEntityToNBT(NBTTagCompound nbt)
- {
- super.writeEntityToNBT(nbt);
- try
- {
- NBTTagList var2 = nbt.getTagList("Items", 10);
- if(var2!=null)
- {
- for(int i=1;i<4;i++)
- {
- if(this.getItemStackNum(i)!=null)
- {
- NBTTagCompound var4 = new NBTTagCompound();
- var4.setByte("Slot", (byte)i);
- this.getItemStackNum(i).writeToNBT(var4);
- var2.appendTag(var4);
- }
- }
- }
- }
- catch(Throwable e)
- {
- e.printStackTrace();
- }
- }
-
- @Override
- protected void spawnContainedItems()
- {
- if(this.capturedStack!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack));
- }
- if(this.capturedStack2!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack2));
- }
- if(this.capturedStack3!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack3));
- }
- if(this.capturedStack4!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, this.capturedStack4));
- }
- }
-
- private ItemStack getItemStackNum(int num)
- {
- switch(num)
- {
- case 0:
- return this.capturedStack;
- case 1:
- return this.capturedStack2;
- case 2:
- return this.capturedStack3;
- case 3:
- return this.capturedStack4;
- default:
- return this.capturedStack;
- }
- }
-
- private void setItemStackSlotContent(int num, ItemStack itemStack)
- {
- switch(num)
- {
- case 0:
- this.capturedStack=itemStack;
- if(this.capturedStack!=null)
- {
- this.dataWatcher.updateObject(18, this.capturedStack.copy());
- }
- else
- {
- this.dataWatcher.updateObject(18, this.capturedStack);
- }
- break;
- case 1:
- this.capturedStack2=itemStack;
- if(this.capturedStack2!=null)
- {
- this.dataWatcher.updateObject(19, this.capturedStack2.copy());
- }
- else
- {
- this.dataWatcher.updateObject(19, this.capturedStack2);
- }
- break;
- case 2:
- this.capturedStack3=itemStack;
- if(this.capturedStack3!=null)
- {
- this.dataWatcher.updateObject(20, this.capturedStack3.copy());
- }
- else
- {
- this.dataWatcher.updateObject(20, this.capturedStack3);
- }
- break;
- case 3:
- this.capturedStack4=itemStack;
- if(this.capturedStack4!=null)
- {
- this.dataWatcher.updateObject(21, this.capturedStack4.copy());
- }
- else
- {
- this.dataWatcher.updateObject(21, this.capturedStack4);
- }
- break;
- default:
- break;
- }
- }
-
- private void addItemStackSlotContent(int num, ItemStack itemStack)
- {
- switch(num)
- {
- case 0:
- this.capturedStack.stackSize+=itemStack.stackSize;
- break;
- case 1:
- this.capturedStack2.stackSize+=itemStack.stackSize;
- break;
- case 2:
- this.capturedStack3.stackSize+=itemStack.stackSize;
- break;
- case 3:
- this.capturedStack4.stackSize+=itemStack.stackSize;
- break;
- default:
- break;
- }
- }
-
- @Override
- protected boolean canAdd(ItemStack stack)
- {
- for(int i=0;i<4;i++)
- {
- if(getItemStackNum(i)==null)
- {
- return true;
- }
- else
- {
- if(getItemStackNum(i).stackSize<getItemStackNum(i).getMaxStackSize() && getItemStackNum(i).getItem()==stack.getItem() && getItemStackNum(i).getItemDamage()==stack.getItemDamage())
- {
- return true;
- }
- }
- }
- return false;
- }
-
- @Override
- protected void harvest(EntityItem eItem)
- {
- for(int i=0;i<4;i++)
- {
- if(getItemStackNum(i)==null)
- {
- this.setItemStackSlotContent(i, eItem.getEntityItem());
- if(!this.worldObj.isRemote)eItem.setDead();
- this.target=null;
- if(this.capturedStack!=null)
- {
- this.dataWatcher.updateObject(18+i, getItemStackNum(i).copy());
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- }
- return;
- }
- else if(getItemStackNum(i).getItem() == eItem.getEntityItem().getItem() && getItemStackNum(i).getItemDamage() == eItem.getEntityItem().getItemDamage())
- {
- addItemStackSlotContent(i,eItem.getEntityItem());
- if(!this.worldObj.isRemote)eItem.setDead();
- this.target=null;
- this.dataWatcher.updateObject(18+i, getItemStackNum(i).copy());
- this.lastItemX=this.posX;
- this.lastItemY=this.posY;
- this.lastItemZ=this.posZ;
- return;
- }
- }
- }
-}
diff --git a/ihl/collector/CollectorHeavyItem.java b/ihl/collector/CollectorHeavyItem.java
deleted file mode 100644
index 1a355f9..0000000
--- a/ihl/collector/CollectorHeavyItem.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package ihl.collector;
-
-import ic2.api.item.ElectricItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class CollectorHeavyItem extends CollectorItem {
-
- public CollectorHeavyItem()
- {
- super();
- this.tier=2;
- this.maxCharge=200000;
- }
-
- @Override
- public boolean spawnEntityInWorld(World world, ItemStack itemStack,int x, int y ,int z)
- {
- CollectorHeavyEntity se = new CollectorHeavyEntity(world,x, y+1, z);
- se.setEnergy(ElectricItem.manager.getCharge(itemStack), this.getMaxCharge(itemStack));
- if(itemStack.stackTagCompound!=null)
- {
- se.hopperx = itemStack.stackTagCompound.getInteger("hopperx");
- se.hoppery = itemStack.stackTagCompound.getInteger("hoppery");
- se.hopperz = itemStack.stackTagCompound.getInteger("hopperz");
- }
- else
- {
- se.hopperx = x;
- se.hoppery = y;
- se.hopperz = z;
- }
- return world.spawnEntityInWorld(se);
- }
-}
diff --git a/ihl/collector/CollectorItem.java b/ihl/collector/CollectorItem.java
deleted file mode 100644
index b4496fa..0000000
--- a/ihl/collector/CollectorItem.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package ihl.collector;
-
-import java.util.LinkedList;
-import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-import ic2.api.item.ElectricItem;
-import ic2.api.item.IElectricItem;
-import ic2.api.item.IItemHudInfo;
-import ihl.IHLCreativeTab;
-import ihl.IHLModInfo;
-
-public class CollectorItem extends Item implements IElectricItem, IItemHudInfo {
-
- protected int tier=1;
- protected int maxCharge=20000;
- protected int minCharge=100;
- private int transferLimit = 100;
-
- public CollectorItem()
- {
- super();
- this.setMaxDamage(27);
- this.setFull3D();
- this.setCreativeTab(IHLCreativeTab.tab);
- this.maxStackSize=1;
- }
-
- @Override
- public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer entityPlayer)
- {
- if(ElectricItem.manager.use(itemStack, this.minCharge, entityPlayer))
- {
- if(!world.isRemote)
- {
- MovingObjectPosition mop = this.returnMOPFromPlayer(entityPlayer, world);
- if(mop!=null)
- {
- int x = mop.blockX;
- int y = mop.blockY;
- int z = mop.blockZ;
- if(this.spawnEntityInWorld(world, itemStack, x,y,z))
- {
- itemStack.stackSize--;
- }
- }
- }
- }
- return itemStack;
- }
-
- public boolean spawnEntityInWorld(World world, ItemStack itemStack,int x, int y ,int z)
- {
- CollectorEntity se = new CollectorEntity(world,x+0.5D, y+1D, z+0.5D);
- se.setEnergy(ElectricItem.manager.getCharge(itemStack), this.getMaxCharge(itemStack));
- if(itemStack.stackTagCompound!=null)
- {
- se.hopperx = itemStack.stackTagCompound.getInteger("hopperx");
- se.hoppery = itemStack.stackTagCompound.getInteger("hoppery");
- se.hopperz = itemStack.stackTagCompound.getInteger("hopperz");
- }
- else
- {
- se.hopperx = x;
- se.hoppery = y;
- se.hopperz = z;
- }
- return world.spawnEntityInWorld(se);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister)
- {
- this.itemIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":itemElectricHandpump");
- }
-
-
- @Override
- public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2)
- {
- return false;
- }
-
-
- public MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world)
- {
- float f = 1.0F;
- float f1 = entityplayer.prevRotationPitch + (entityplayer.rotationPitch - entityplayer.prevRotationPitch) * f;
- float f2 = entityplayer.prevRotationYaw + (entityplayer.rotationYaw - entityplayer.prevRotationYaw) * f;
- double d = entityplayer.prevPosX + (entityplayer.posX - entityplayer.prevPosX) * f;
- double d1 = entityplayer.prevPosY + (entityplayer.posY - entityplayer.prevPosY) * f + entityplayer.getEyeHeight();
-
- if (world.isRemote)
- {
- d1 -= entityplayer.getDefaultEyeHeight();
- }
-
- double d2 = entityplayer.prevPosZ + (entityplayer.posZ - entityplayer.prevPosZ) * f;
- Vec3 vec3d = Vec3.createVectorHelper(d, d1, d2);
- float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
- float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
- float f5 = -MathHelper.cos(-f1 * 0.01745329F);
- float f6 = MathHelper.sin(-f1 * 0.01745329F);
- float f7 = f4 * f5;
- float f9 = f3 * f5;
- double d3 = 5.0D;
- Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
- MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
-
- if (movingobjectposition == null)
- {
- return null;
- }
-
- if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
- {
- return movingobjectposition;
- }
- return null;
- }
-
-
- @Override
- public boolean canProvideEnergy(ItemStack itemStack) {
- return false;
- }
-
- @Override
- public Item getChargedItem(ItemStack itemStack) {
- return this;
- }
-
- @Override
- public Item getEmptyItem(ItemStack itemStack) {
- return this;
- }
-
- @Override
- public double getMaxCharge(ItemStack itemStack) {
- return this.maxCharge;
- }
-
- @Override
- public int getTier(ItemStack itemStack) {
- return this.tier;
- }
-
- @Override
- public double getTransferLimit(ItemStack itemStack) {
- return this.transferLimit;
- }
-
- @Override
- public List<String> getHudInfo(ItemStack itemStack) {
- LinkedList<String> info = new LinkedList<String>();
- info.add(ElectricItem.manager.getToolTip(itemStack));
- info.add("Power Tier: " + this.tier);
- return info;
- }
-
- @Override
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b)
- {
- info.add("PowerTier: " + this.tier);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void getSubItems(Item item, CreativeTabs tabs, List itemList)
- {
- itemList.add(this.getItemStack(this.maxCharge));
- itemList.add(this.getItemStack(0));
- }
-
- public ItemStack getItemStack(int charge)
- {
- ItemStack ret = new ItemStack(this);
- ElectricItem.manager.charge(ret, charge, this.maxCharge, true, false);
- return ret;
- }
-
-
- @Override
- public double getDurabilityForDisplay(ItemStack stack)
- {
- return (this.maxCharge-ElectricItem.manager.getCharge(stack))/this.maxCharge;
- }
-
-
-}
diff --git a/ihl/collector/CollectorItemRender.java b/ihl/collector/CollectorItemRender.java
deleted file mode 100644
index 39040bb..0000000
--- a/ihl/collector/CollectorItemRender.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package ihl.collector;
-
-import ihl.IHLModInfo;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.entity.EntityClientPlayerMP;
-import net.minecraft.client.model.ModelBox;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.entity.RenderPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.IItemRenderer;
-import org.lwjgl.opengl.GL11;
-
-public class CollectorItemRender implements IItemRenderer{
- private CollectorModel model = new CollectorModel();
- private ResourceLocation tex;
- private float scale;
-
-public CollectorItemRender(boolean heavy)
-{
- super();
- if(heavy)
- {
- scale = 1F/80F;
- tex = new ResourceLocation(IHLModInfo.MODID+":textures/entities/collectorHeavy.png");
- }
- else
- {
- scale = 1F/100F;
- tex = new ResourceLocation(IHLModInfo.MODID+":textures/entities/collector.png");
- }
-}
-
-@Override
-public void renderItem(ItemRenderType type, ItemStack item, Object... data)
-{
- int levelBar = Math.max(0,model.Indicator.cubeList.size()-2-Math.round((float)(27-item.getItemDamageForDisplay())*(float)model.Indicator.cubeList.size()/27F));
- RenderPlayer var25;
- EntityClientPlayerMP var3 = Minecraft.getMinecraft().thePlayer;
- GL11.glPushMatrix();
- switch(type)
- {
- case EQUIPPED_FIRST_PERSON:
- GL11.glTranslatef(0F, 0.5F, 0.5F);
- GL11.glScalef(1.0F, -1F, -1F);
- Minecraft.getMinecraft().getTextureManager().bindTexture(var3.getLocationSkin());
- var25 = (RenderPlayer)RenderManager.instance.getEntityRenderObject(Minecraft.getMinecraft().thePlayer);
- GL11.glRotatef(135F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(35F, 0.0F, 1.0F, 0.0F);
- var25.renderFirstPersonArm(Minecraft.getMinecraft().thePlayer);
- GL11.glRotatef(-35F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(-135F, 1.0F, 0.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -1.0F, 0.5F);
- break;
- case ENTITY:
- GL11.glTranslatef(0F, 1.0F, 0F);
- GL11.glScalef(1.0F, -1F, -1F);
- break;
- case INVENTORY:
- GL11.glScalef(1.0F, -1F, -1F);
- break;
- case EQUIPPED:
- GL11.glTranslatef(0.5F,0.5F,0.25F);
- GL11.glScalef(1.0F, -1F, -1F);
- break;
- default:
- break;
- }
- Minecraft.getMinecraft().renderEngine.bindTexture(tex);
- model.Base.render(scale);
- for(int i=0;i<4;i++)
- {
- model.Eleron.rotateAngleY=i*(float)Math.PI/2;
- model.Eleron.render(scale);
- }
- OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 0xf0, 0xf0);
- for(int i=0;i<4;i++)
- {
- GL11.glRotatef(i* 90F, 0.0F, 1.0F, 0.0F);
- model.Flares.render(scale);
- ModelBox box = (ModelBox) model.Indicator.cubeList.get(levelBar);
- box.render(Tessellator.instance,scale);
- }
- GL11.glPopMatrix();
-}
-
-/**
- * IItemRenderer implementation *
- */
-@Override
-public boolean handleRenderType(ItemStack item, ItemRenderType type) {
- switch (type) {
- case ENTITY:
- return true;
- case EQUIPPED:
- return true;
- case EQUIPPED_FIRST_PERSON:
- return true;
- case INVENTORY:
- return true;
- default:
- return false;
- }
-}
-
-@Override
-public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
- return true;
-}
-} \ No newline at end of file
diff --git a/ihl/collector/CollectorModel.java b/ihl/collector/CollectorModel.java
deleted file mode 100644
index a1bada9..0000000
--- a/ihl/collector/CollectorModel.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package ihl.collector;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class CollectorModel extends ModelBase {
- //fields
- ModelRenderer Base;
- ModelRenderer Eleron;
- ModelRenderer Indicator;
- ModelRenderer Flares;
-
- public CollectorModel()
- {
- textureWidth = 256;
- textureHeight = 128;
- int barSize=31;
- setTextureOffset("Base.Shape1", 34, 10);
- setTextureOffset("Base.Shape6", 74, 41);
- setTextureOffset("Base.Shape8", 22, 6);
- setTextureOffset("Base.Shape27", 0, 0);
- setTextureOffset("Base.Shape9", 13, 3);
- setTextureOffset("Eleron.Shape4", 0, 6);
- setTextureOffset("Eleron.Shape2", 0, 7);
- setTextureOffset("Eleron.Shape3", 0, 0);
- setTextureOffset("Eleron.Shape5", 0, 0);
- setTextureOffset("Eleron.Shape7", 74, 0);
- setTextureOffset("Eleron.Shape14", 56, 0);
- setTextureOffset("Eleron.Shape11", 48, 0);
- setTextureOffset("Eleron.Shape10", 52, 0);
- setTextureOffset("Eleron.Shape12", 50, 0);
- setTextureOffset("Eleron.Shape13", 54, 0);
- setTextureOffset("Eleron.Shape15", 58, 0);
- setTextureOffset("Eleron.Shape18", 0, 0);
- setTextureOffset("Eleron.Shape16", 0, 3);
- setTextureOffset("Eleron.Shape17", 0, 4);
- for(int i=0;i<barSize;i++)
- {
- setTextureOffset("Indicator.ShapeA"+i, 12, 40+i);
- }
- setTextureOffset("Flares.Shape20", 6, 47);
- setTextureOffset("Flares.Shape21", 6, 42);
- setTextureOffset("Flares.Shape22", 6, 42);
- setTextureOffset("Flares.Shape23", 6, 47);
- setTextureOffset("Flares.Shape24", 0, 41);
- setTextureOffset("Flares.Shape25", 0, 80);
-
- Base = new ModelRenderer(this, "Base");
- Base.setRotationPoint(0F, 0F, 0F);
- setRotation(Base, 0F, 0F, 0F);
- Base.mirror = true;
- Base.addBox("Shape1", -9F, 0F, -9F, 18, 1, 18);
- Base.addBox("Shape6", -9F, 5F, -9F, 18, 6, 18);
- Base.addBox("Shape8", -13F, 1F, -13F, 26, 1, 26);
- Base.addBox("Shape27", -20F, 4F, -20F, 40, 1, 40);
- Base.addBox("Shape9", -16F, 2F, -16F, 32, 1, 32);
- Eleron = new ModelRenderer(this, "Eleron");
- Eleron.setRotationPoint(0F, 0F, 0F);
- setRotation(Eleron, 0F, 0F, 0F);
- Eleron.mirror = true;
- Eleron.addBox("Shape4", 32F, 5F, 31F, 8, 20, 1);
- Eleron.addBox("Shape2", 31F, 5F, 39F, 8, 20, 1);
- Eleron.addBox("Shape3", 39F, 5F, 32F, 1, 20, 7);
- Eleron.addBox("Shape5", 31F, 5F, 31F, 1, 20, 8);
- Eleron.addBox("Shape7", 15F, 3F, 15F, 3, 1, 3);
- Eleron.addBox("Shape14", 18F, 9F, 18F, 12, 1, 12);
- Eleron.addBox("Shape11", 6F, 5F, 6F, 16, 1, 16);
- Eleron.addBox("Shape10", 12F, 7F, 12F, 14, 1, 14);
- Eleron.addBox("Shape12", 9F, 6F, 9F, 15, 1, 15);
- Eleron.addBox("Shape13", 15F, 8F, 15F, 13, 1, 13);
- Eleron.addBox("Shape15", 21F, 10F, 21F, 11, 1, 11);
- Eleron.addBox("Shape18", 29F, 11F, 22F, 2, 2, 7);
- Eleron.addBox("Shape16", 23F, 11F, 29F, 16, 2, 2);
- Eleron.addBox("Shape17", 29F, 11F, 31F, 2, 2, 8);
- Indicator = new ModelRenderer(this, "Indicator");
- Indicator.setRotationPoint(0F, 0F, 0F);
- setRotation(Indicator, 0F, 0F, 0F);
- Indicator.mirror = true;
- for(int i=0;i<barSize;i++)
- {
- Indicator.addBox("ShapeA"+i, -15F, 3F, 15F, 30, 1, 1);
- }
- Flares = new ModelRenderer(this, "Flares");
- Flares.setRotationPoint(0F, 0F, 0F);
- setRotation(Flares, 0F, 0F, 0F);
- Flares.mirror = true;
- Flares.addBox("Shape20", 33F, 5F, 32F, 6, 20, 1);
- Flares.addBox("Shape21", 32F, 5F, 32F, 1, 20, 6);
- Flares.addBox("Shape22", 38F, 5F, 33F, 1, 20, 6);
- Flares.addBox("Shape23", 32F, 5F, 38F, 6, 20, 1);
- Flares.addBox("Shape24", 39F, 5F, 39F, 1, 20, 1);
- Flares.addBox("Shape25", 6F, 11F, -6F, 1, 1, 13);
- }
-
- private void setRotation(ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- @Override
- public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
-}
-
-
diff --git a/ihl/collector/CollectorRender.java b/ihl/collector/CollectorRender.java
deleted file mode 100644
index ad93907..0000000
--- a/ihl/collector/CollectorRender.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package ihl.collector;
-import net.minecraft.client.model.ModelBox;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import ihl.IHLModInfo;
-import ihl.utils.IHLItemRenderer;
-
-public class CollectorRender extends Render{
-
- private CollectorModel model = new CollectorModel();
- private ResourceLocation tex;
- private float scale;
- private int blink = 0;
- private IHLItemRenderer itemRenderer;
-
- public CollectorRender(boolean heavy)
- {
- super();
- this.itemRenderer=new IHLItemRenderer();
- if(heavy)
- {
- scale = 1F/80F;
- tex = new ResourceLocation(IHLModInfo.MODID+":textures/entities/collectorHeavy.png");
- }
- else
- {
- scale = 1F/100F;
- tex = new ResourceLocation(IHLModInfo.MODID+":textures/entities/collector.png");
- }
- }
-
- @Override
- public void doRender(Entity entity, double x, double y, double z, float arg4, float arg5)
- {
- if(blink<30)
- {
- blink++;
- }
- else
- {
- blink=0;
- }
- int levelBar=0;
- if(entity instanceof CollectorHeavyEntity)
- {
- CollectorHeavyEntity cEntity = (CollectorHeavyEntity) entity;
- levelBar = Math.max(0,model.Indicator.cubeList.size()-1-Math.round(cEntity.getRenderEnergyLevel()*model.Indicator.cubeList.size()));
- for(int col=0;col<2;col++)
- {
- for(int row=0;row<2;row++)
- {
- ItemStack stack = cEntity.getVisibleItemStack(col+row*2);
- if(stack!=null)
- {
- this.itemRenderer.doRender(this.renderManager, stack, x-0.125D+0.25D*col, y, z-0.125D+0.25D*row);
- }
- }
- }
-
- }
- else if(entity instanceof CollectorEntity)
- {
- CollectorEntity cEntity = (CollectorEntity) entity;
- levelBar = Math.max(0,model.Indicator.cubeList.size()-1-Math.round(cEntity.getRenderEnergyLevel()*model.Indicator.cubeList.size()));
- ItemStack stack = cEntity.getVisibleItemStack();
- if(stack!=null)
- {
- this.itemRenderer.doRender(this.renderManager, stack, x, y, z);
- }
- }
- bindTexture(tex);
- GL11.glPushMatrix();
- GL11.glTranslatef((float)x, (float)y+0.25F, (float)z);
- GL11.glScalef(1.0F, -1F, -1F);
- GL11.glRotated(entity.rotationYaw+90D, 0D, 1.0D, 0D);
- model.Base.render(scale);
- for(int i=0;i<4;i++)
- {
- model.Eleron.rotateAngleY=i*(float)Math.PI/2;
- model.Eleron.render(scale);
- }
- OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 0xf0, 0xf0);
- for(int i=0;i<4;i++)
- {
- GL11.glRotatef(i* 90F, 0.0F, 1.0F, 0.0F);
- model.Flares.render(scale);
- if(levelBar<model.Indicator.cubeList.size()-8 || blink > 15)
- {
- ModelBox box = (ModelBox) model.Indicator.cubeList.get(levelBar);
- box.render(Tessellator.instance,scale);
- }
- else if(blink < 15)
- {
- ModelBox box = (ModelBox) model.Indicator.cubeList.get(model.Indicator.cubeList.size()-1);
- box.render(Tessellator.instance,scale);
- }
- }
- GL11.glPopMatrix(); //end
-
- }
-
- @Override
- protected ResourceLocation getEntityTexture(Entity arg0) {
- return this.tex;
- }
-
-} \ No newline at end of file
diff --git a/ihl/collector/GlassBoxContainer.java b/ihl/collector/GlassBoxContainer.java
deleted file mode 100644
index 8f6e52a..0000000
--- a/ihl/collector/GlassBoxContainer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package ihl.collector;
-
-import ic2.core.ContainerBase;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Slot;
-
-public class GlassBoxContainer extends ContainerBase<GlassBoxTileEntity> {
-
- protected GlassBoxTileEntity tileEntity;
- public int lastStorage = -1;
- private final static int height=166;
-
- public GlassBoxContainer(EntityPlayer entityPlayer, GlassBoxTileEntity tileEntity1){
- super(tileEntity1);
- this.tileEntity = tileEntity1;
- int col;
-
- for (col = 0; col < 3; ++col)
- {
- for (int col1 = 0; col1 < 9; ++col1)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
- }
- }
-
- for (col = 0; col < 9; ++col)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
- }
-
- for(col=0;col<=3;col++)
- {
- for(int row=0;row<=3;row++)
- {
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.invSlot, col+row*4, 55+17*col, 7+17*row));
- }
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-}
diff --git a/ihl/collector/GlassBoxGui.java b/ihl/collector/GlassBoxGui.java
deleted file mode 100644
index 2210d06..0000000
--- a/ihl/collector/GlassBoxGui.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package ihl.collector;
-
-import cpw.mods.fml.relauncher.Side;
-
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-
-@SideOnly(Side.CLIENT)
-public class GlassBoxGui extends GuiContainer {
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIGlassBox.png");
- private GlassBoxContainer container;
-
- public GlassBoxGui (GlassBoxContainer container1) {
- //the container is instanciated and passed to the superclass for handling
- super(container1);
- this.container=container1;
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int param1, int param2) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- }
-
- @Override
- public void onGuiClosed()
- {
- super.onGuiClosed();
- this.container.tileEntity.isGuiScreenOpened=false;
- }
-} \ No newline at end of file
diff --git a/ihl/collector/GlassBoxRender.java b/ihl/collector/GlassBoxRender.java
deleted file mode 100644
index 305c6bd..0000000
--- a/ihl/collector/GlassBoxRender.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package ihl.collector;
-
-import java.util.Random;
-
-import org.lwjgl.opengl.GL11;
-
-import ihl.utils.IHLItemRenderer;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.tileentity.TileEntity;
-
-public class GlassBoxRender extends TileEntitySpecialRenderer {
- private IHLItemRenderer itemRenderer=new IHLItemRenderer();
- private Random rand = new Random();
- private float[] randomPosMatrix={rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat(),rand.nextFloat()};
-
- @Override
- public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8)
- {
- this.renderAModelAt((GlassBoxTileEntity)par1TileEntity, par2, par4, par6, par8);
- }
-
- private void renderAModelAt(GlassBoxTileEntity te,
- double x, double y, double z, float par8) {
- GL11.glPushMatrix();
- GL11.glTranslatef((float)x + 0.5F, (float)y+0.5F, (float)z + 0.5F);
- for(int i=0;i<te.invSlot.size();i++)
- {
- if(te.invSlot.get(i)!=null)
- {
- GL11.glRotatef((randomPosMatrix[i*3]-0.5F)*90F, 0F, 1F, 0F);
- if(te.invSlot.get(i).getItem().isFull3D())
- {
- GL11.glTranslatef(0, 0.2F, 0);
- this.itemRenderer.doRender(RenderManager.instance,te.invSlot.get(i),randomPosMatrix[i*3]*0.5-0.25F,randomPosMatrix[i*3+1]*0.5-0.25F,randomPosMatrix[i*3+2]*0.5-0.25F);
- GL11.glTranslatef(0, -0.2F, 0);
- }
- else
- {
- this.itemRenderer.doRender(RenderManager.instance,te.invSlot.get(i),randomPosMatrix[i*3]*0.5-0.25F,randomPosMatrix[i*3+1]*0.5-0.25F,randomPosMatrix[i*3+2]*0.5-0.25F);
- }
- }
- }
- GL11.glPopMatrix(); //end
- }
-
-}
diff --git a/ihl/collector/GlassBoxTileEntity.java b/ihl/collector/GlassBoxTileEntity.java
deleted file mode 100644
index a05e283..0000000
--- a/ihl/collector/GlassBoxTileEntity.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package ihl.collector;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.AxisAlignedBB;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlot;
-import ihl.utils.IHLUtils;
-
-public class GlassBoxTileEntity extends TileEntityInventory implements IHasGui {
-
- public final InvSlot invSlot;
- public boolean isGuiScreenOpened=false;
-
- public GlassBoxTileEntity()
- {
- super();
- this.invSlot = new InvSlot(this, "inventory", 0, InvSlot.Access.IO, 16);
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
- {
- for(int i=0;i<this.invSlot.size();i++)
- {
- if(this.invSlot.get(i)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.invSlot.get(i)));
- }
- return IHLUtils.getThisModItemStack("glassBoxBlock");
- }
-
- @Override
- public List<String> getNetworkedFields()
- {
- List<String> fields = super.getNetworkedFields();
- fields.add("invSlot");
- return fields;
- }
-
- public boolean enableUpdateEntity()
- {
- return IC2.platform.isSimulating();
- }
-
- @Override
- public void updateEntityServer()
- {
- boolean needInvUpdate=false;
- List<EntityItem> eItemList = new ArrayList<EntityItem>();
- for(int i=0;i<this.invSlot.size();i++)
- {
- if(this.invSlot.get(i)==null)
- {
- if(eItemList.isEmpty())
- {
- eItemList = this.getEItemsList();
- if(eItemList.isEmpty())
- {
- break;
- }
- else
- {
- EntityItem entityItem = eItemList.remove(0);
- ItemStack eitem = entityItem.getEntityItem();
- entityItem.setDead();
- if(eitem!=null)
- {
- this.invSlot.put(i, eitem);
- needInvUpdate=true;
- }
- if(eItemList.isEmpty())
- {
- break;
- }
- }
- }
- else
- {
- EntityItem entityItem = eItemList.remove(0);
- ItemStack eitem = entityItem.getEntityItem();
- entityItem.setDead();
- if(eitem!=null)
- {
- this.invSlot.put(i, eitem);
- needInvUpdate=true;
- }
- if(eItemList.isEmpty())
- {
- break;
- }
- }
- }
- else
- {
- EntityPlayer player = this.worldObj.getClosestPlayer(this.xCoord+0.5D, this.yCoord+0.5D, this.zCoord+0.5D, 0.5D);
- if(player!=null && player instanceof EntityPlayerMP)
- {
- if(player.inventory.getFirstEmptyStack()>=0 && player.inventory.addItemStackToInventory(this.invSlot.get(i)))
- {
- this.invSlot.put(i, null);
- needInvUpdate=true;
- }
- }
- }
- }
- if(needInvUpdate)
- {
- IC2.network.get().updateTileEntityField(this, "invSlot");
- }
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer arg0, boolean arg1)
- {
- return new GlassBoxGui(new GlassBoxContainer(arg0, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer arg0) {
- return new GlassBoxContainer(arg0, this);
- }
-
- @Override
- public void onGuiClosed(EntityPlayer arg0)
- {
- this.isGuiScreenOpened=false;
- }
-
- @Override
- public String getInventoryName() {
- return "glass_box";
- }
-
- public boolean getGui(EntityPlayer player)
- {
- this.isGuiScreenOpened = this instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(player, this) : true) : false;
- return this.isGuiScreenOpened;
- }
-
- @SuppressWarnings("unchecked")
- protected List<EntityItem> getEItemsList()
- {
- double range = 0.2D;
- AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.xCoord,this.yCoord,this.zCoord,this.xCoord+1.0D,this.yCoord+1.0D+range,this.zCoord+1.0D);
- List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
- return eItemsList;
- }
-
- @Override
- public void setInventorySlotContents(int var1, ItemStack var2)
- {
- super.setInventorySlotContents(var1, var2);
- IC2.network.get().updateTileEntityField(this, "invSlot");
- }
-
- public void dropContents()
- {
- for(int i=0;i<this.invSlot.size();i++)
- {
- if(this.invSlot.get(i)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.invSlot.get(i)));
- }
- }
-
- @Override
- public short getFacing()
- {
- return 3;
- }
-}
diff --git a/ihl/collector/InvSlotMultiCharge.java b/ihl/collector/InvSlotMultiCharge.java
deleted file mode 100644
index 5c1219f..0000000
--- a/ihl/collector/InvSlotMultiCharge.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package ihl.collector;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import ic2.api.item.ElectricItem;
-import ic2.api.item.IElectricItem;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlot;
-
-public class InvSlotMultiCharge extends InvSlot {
- public int tier;
-
- public InvSlotMultiCharge(TileEntityInventory base1, int oldStartIndex1, int tier1, int count)
- {
- super(base1, "charge", oldStartIndex1, InvSlot.Access.IO, count, InvSlot.InvSide.TOP);
- this.tier = tier1;
- }
-
- @Override
- public boolean accepts(ItemStack itemStack)
- {
- Item item = itemStack.getItem();
- return item instanceof IElectricItem ? ((IElectricItem)item).getTier(itemStack) <= this.tier : false;
- }
-
- public IElectricItem getItem(int slotNum)
- {
- ItemStack itemStack = this.get(slotNum);
- return itemStack == null ? null : (IElectricItem)itemStack.getItem();
- }
-
- public double charge(int amount, int slotNum)
- {
- ItemStack itemStack = this.get(slotNum);
-
- if (itemStack == null)
- {
- return 0;
- }
- else
- {
- Item item = itemStack.getItem();
- return item instanceof IElectricItem ? ElectricItem.manager.charge(itemStack, amount, this.tier, false, false) : 0;
- }
- }
-
- public void setTier(int tier1)
- {
- this.tier = tier1;
- }
-
- public boolean addItemStackToFirstEmptyStack(ItemStack stack)
- {
- int slotNum = this.getFirstEmptyStack();
- if(slotNum<0 || slotNum>=this.size())
- {
- return false;
- }
- else
- {
- if(this.accepts(stack))
- {
- this.put(slotNum, stack);
- return true;
- }
- else
- {
- return false;
- }
- }
- }
-
- @Override
- public void put(ItemStack stack)
- {
- this.addItemStackToFirstEmptyStack(stack);
- }
-
- public int getFirstEmptyStack()
- {
- for(int i=0;i<this.size();i++)
- {
- if(this.get(i)==null)
- {
- return i;
- }
- }
- return -1;
- }
-
- @Override
- public boolean isEmpty()
- {
- return this.getFirstEmptyStack()>=0;
- }
-}
diff --git a/ihl/crop_harvestors/BlowerBlock.java b/ihl/crop_harvestors/BlowerBlock.java
deleted file mode 100644
index 3ec49b7..0000000
--- a/ihl/crop_harvestors/BlowerBlock.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package ihl.crop_harvestors;
-
-import java.util.Random;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.api.item.IC2Items;
-import ihl.IHLCreativeTab;
-import ihl.IHLModInfo;
-import ihl.utils.IHLUtils;
-import net.minecraft.block.Block;
-import net.minecraft.block.ITileEntityProvider;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class BlowerBlock extends Block implements ITileEntityProvider{
-
- IIcon textureLeft, textureRight, textureBack;
-
- public BlowerBlock(Material material)
- {
- super(material);
- this.setCreativeTab(IHLCreativeTab.tab);
- }
-
- @Override
- public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
- {
- return IC2Items.getItem("machine").getItem();
- }
-
- @Override
- public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
- {
- TileEntity te = world.getTileEntity(x,y,z);
- if(te instanceof BlowerTileEntity)
- {
- BlowerTileEntity bte = (BlowerTileEntity)te;
- bte.updateChecksum=-1;
- }
- }
-
- @Override
- public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
- {
- }
-
- @Override
- public TileEntity createNewTileEntity(World world, int var2) {
- return new BlowerTileEntity();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerBlockIcons(IIconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":blowerFront");
- this.textureBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":blowerBack");
- this.textureLeft = par1IconRegister.registerIcon(IHLModInfo.MODID + ":blowerLeft");
- this.textureRight = par1IconRegister.registerIcon(IHLModInfo.MODID + ":blowerRight");
- }
-
- @Override
- public boolean hasTileEntity(int metadata)
- {
- return true;
- }
-
- @Override
- public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer entityPlayer,int i,float pos_x,float pos_y,float pos_z){
- TileEntity te = world.getTileEntity(x,y,z);
- if(te instanceof BlowerTileEntity)
- {
- BlowerTileEntity bte = (BlowerTileEntity)te;
- if (bte == null || entityPlayer.isSneaking()) {
- return false;
- }
- else
- {
- return bte.getGui(entityPlayer);
- }
- }
- return false;
- }
-
- /**
- * Called when the block is placed in the world.
- */
- @Override
- public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack)
- {
- TileEntity t = world.getTileEntity(x, y, z);
- if(t!=null && t instanceof BlowerTileEntity)
- {
- ((BlowerTileEntity)t).setFacing(IHLUtils.getFacingFromPlayerView(player, false));
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
- {
- int facing=3;
- int mask[] = {
- 0,1,2,3,4,5,
- 1,0,3,2,4,5,
- 3,2,0,1,4,5,
- 2,3,1,0,4,5,
- 2,3,5,4,0,1,
- 2,3,4,5,1,0
- };
- TileEntity te = world.getTileEntity(x, y, z);
- if(te!=null)
- {
- BlowerTileEntity tebh = (BlowerTileEntity) te;
- facing=tebh.getFacing();
- }
-
- switch (mask[facing*6+side])
- {
- case 0:
- return this.blockIcon;
- case 1:
- return this.textureBack;
- case 2:
- return this.textureBack;
- case 3:
- return this.textureBack;
- case 4:
- return this.textureLeft;
- case 5:
- return this.textureRight;
- default:
- return this.textureLeft;
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIcon(int side, int meta)
- {
- switch (side)
- {
- case 0:
- return this.blockIcon;
- case 1:
- return this.textureBack;
- case 2:
- return this.textureLeft;
- case 3:
- return this.textureRight;
- case 4:
- return this.textureBack;
- case 5:
- return this.textureBack;
- default:
- return this.textureLeft;
- }
- }
-
-}
diff --git a/ihl/crop_harvestors/BlowerContainer.java b/ihl/crop_harvestors/BlowerContainer.java
deleted file mode 100644
index 2a64488..0000000
--- a/ihl/crop_harvestors/BlowerContainer.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package ihl.crop_harvestors;
-
-import ic2.core.ContainerBase;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-
-public class BlowerContainer extends ContainerBase<BlowerTileEntity> {
-
- protected BlowerTileEntity tileEntity;
- public int lastStorage = -1;
- public int lastAirSpeed = -1;
- private final static int height=166;
-
- public BlowerContainer(EntityPlayer entityPlayer, BlowerTileEntity tileEntity1){
- super(tileEntity1);
- this.tileEntity = tileEntity1;
- int col;
-
- for (col = 0; col < 3; ++col)
- {
- for (int col1 = 0; col1 < 9; ++col1)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
- }
- }
-
- for (col = 0; col < 9; ++col)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
- }
-
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.dischargeSlot, 0, 26, 26));
- for(int row=0;row<=3;row++)
- {
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.upgradeSlot, row, 152, 8+row*18));
- }
- }
-
- @Override
- public void detectAndSendChanges()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting)this.crafters.get(i);
-
- if (this.tileEntity.getStored() != this.lastStorage)
- {
- icrafting.sendProgressBarUpdate(this, 0, (this.tileEntity.getStored()>>15) & Short.MAX_VALUE);
- icrafting.sendProgressBarUpdate(this, 1, (short)(this.tileEntity.getStored() & Short.MAX_VALUE));
-
- }
-
- if (this.tileEntity.airSpeedBase != this.lastAirSpeed)
- {
- icrafting.sendProgressBarUpdate(this, 2, this.tileEntity.airSpeedBase);
- }
- }
-
- this.lastStorage = this.tileEntity.getStored();
- this.lastAirSpeed = this.tileEntity.airSpeedBase;
- }
-
- @Override
- public void updateProgressBar(int index, int value)
- {
- super.updateProgressBar(index, value);
-
- switch (index)
- {
- case 0:
- this.tileEntity.setStored(value<<15);
- break;
- case 1:
- this.tileEntity.setStored(this.tileEntity.getStored()+value);
- break;
- case 2:
- this.tileEntity.airSpeedBase=value;
- break;
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-}
diff --git a/ihl/crop_harvestors/BlowerGui.java b/ihl/crop_harvestors/BlowerGui.java
deleted file mode 100644
index bedee1f..0000000
--- a/ihl/crop_harvestors/BlowerGui.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package ihl.crop_harvestors;
-
-import cpw.mods.fml.relauncher.Side;
-
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-
-import org.lwjgl.opengl.GL11;
-
-@SideOnly(Side.CLIENT)
-public class BlowerGui extends GuiContainer {
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIBlower.png");
- private BlowerContainer container;
-
- public BlowerGui (BlowerContainer container1) {
- //the container is instanciated and passed to the superclass for handling
- super(container1);
- this.container=container1;
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int param1, int param2) {
- //the parameters for drawString are: string, x, y, color
- String title = StatCollector.translateToLocal("tile.blowerBlock.name");
- fontRendererObj.drawStringWithShadow(title, 8, 8, 16767839);
- String airspeed = StatCollector.translateToLocal("ihl.gui.blower");
- String units = StatCollector.translateToLocal("ihl.gui.blowerUnits");
- fontRendererObj.drawString(airspeed, 8, 60, 852037);
- float e = container.tileEntity.getActive()?container.tileEntity.airSpeedBase/10F:0F;
- String eStr = String.valueOf(e);
- int w = this.fontRendererObj.getStringWidth(eStr);
- fontRendererObj.drawString(eStr, 60-w, 71, 16767839);
- fontRendererObj.drawString(units, 62, 71, 852037);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- //charge
- if (this.container.tileEntity.getStored() > 0)
- {
- int chargeLevel=Math.min(Math.round(this.container.tileEntity.getStored()*13.0F/this.container.tileEntity.maxStorage),13);
- this.drawTexturedModalRect(11, 28+13-chargeLevel, xSize, 13-chargeLevel, 7, chargeLevel);
- }
-
-
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- }
-} \ No newline at end of file
diff --git a/ihl/crop_harvestors/BlowerTileEntity.java b/ihl/crop_harvestors/BlowerTileEntity.java
deleted file mode 100644
index e26632b..0000000
--- a/ihl/crop_harvestors/BlowerTileEntity.java
+++ /dev/null
@@ -1,1065 +0,0 @@
-package ihl.crop_harvestors;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.util.ForgeDirection;
-import ic2.api.energy.event.EnergyTileLoadEvent;
-import ic2.api.energy.event.EnergyTileUnloadEvent;
-import ic2.api.energy.tile.IEnergySink;
-import ic2.api.item.IC2Items;
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.audio.AudioSource;
-import ic2.core.audio.PositionSpec;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlot;
-import ic2.core.block.invslot.InvSlotUpgrade;
-import ic2.core.block.invslot.InvSlot.Access;
-import ic2.core.upgrade.IUpgradableBlock;
-import ic2.core.upgrade.UpgradableProperty;
-import ihl.IHLMod;
-import ihl.utils.IHLInvSlotDischarge;
-
-public class BlowerTileEntity extends TileEntityInventory implements IEnergySink, IHasGui, IUpgradableBlock
-{
- private int startUpCounter=0;
- private int tier=1;
- private int defaultTier=1;
- public int maxStorage=100;
- private int defaultMaxStorage=100;
- private double energy=0D;
- private double defaultEnergyConsume=5D;
- private double energyConsume=5D;
- private int defaultAirSpeedBase=100;
- public int airSpeedBase=100;
- private int sCAFCount=0;
- public boolean addedToEnergyNet = false;
- private ArrayList<AirSpeedZone> aszlist = new ArrayList<AirSpeedZone>();
- public final InvSlotUpgrade upgradeSlot;
- public final IHLInvSlotDischarge dischargeSlot;
- public int updateChecksum=-1;
- private final float lambda=0.00001F;
- public int operationRange=-1;
- public int lastOperationRange=0;
-
- private AudioSource startAS;
- private AudioSource loopAS;
- private AudioSource stopAS;
-
- public BlowerTileEntity()
- {
- this.defaultTier=IHLMod.config.blowerTier;
- this.defaultMaxStorage=IHLMod.config.blowerMaxEnergyStorage;
- this.defaultEnergyConsume=IHLMod.config.blowerEnergyConsumePerTick;
- this.upgradeSlot = new InvSlotUpgrade(this, "upgrade", 2, 4);
- this.dischargeSlot = new IHLInvSlotDischarge(this, 1, Access.IO, this.tier, InvSlot.InvSide.BOTTOM);
- }
-
- @Override
- public List<String> getNetworkedFields()
- {
- List<String> fields = super.getNetworkedFields();
- fields.add("tier");
- fields.add("airSpeedBase");
- fields.add("maxStorage");
- return fields;
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- try
- {
- this.energy = nbttagcompound.getDouble("energy");
- }
- catch (Exception var3)
- {
- this.energy = nbttagcompound.getInteger("energy");
-
- if (this.maxStorage > Integer.MAX_VALUE)
- {
- this.energy *= 10.0D;
- }
- }
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- nbttagcompound.setDouble("energy", this.energy);
- }
-
- @Override
- public void onLoaded()
- {
- super.onLoaded();
- if (IC2.platform.isSimulating())
- {
- MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this));
- this.addedToEnergyNet = true;
- }
- if (IC2.platform.isRendering() && (this.startAS==null||this.loopAS==null||this.stopAS==null))
- {
- this.startAS = IC2.audioManager.createSource(this, PositionSpec.Center, this.getStartSoundFile(),false,false, 1F);
- this.loopAS = IC2.audioManager.createSource(this, PositionSpec.Center, this.getLoopSoundFile(),true,false, 1F);
- this.stopAS = IC2.audioManager.createSource(this, PositionSpec.Center, this.getStopSoundFile(),false,false, 1F);
- }
- }
-
- @Override
- public void onUnloaded()
- {
- if (IC2.platform.isRendering() && this.loopAS != null)
- {
- this.startAS.stop();
- this.loopAS.stop();
- this.stopAS.stop();
- this.startAS = null;
- this.loopAS = null;
- this.stopAS = null;
- IC2.audioManager.removeSources(this);
- }
-
- if (IC2.platform.isSimulating() && this.addedToEnergyNet)
- {
- MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this));
- this.addedToEnergyNet = false;
- }
- super.onUnloaded();
- }
-
- @Override
- public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) {
- return this.getFacing()!=(short)side;
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
- if(this.dischargeSlot.get()!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.dischargeSlot.get()));
- if(this.upgradeSlot.get(0)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(0)));
- if(this.upgradeSlot.get(1)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(1)));
- if(this.upgradeSlot.get(2)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(2)));
- if(this.upgradeSlot.get(3)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(3)));
- return new ItemStack(IHLMod.blowerBlock,1);
- }
-
- @Override
- public void setFacing(short facing1)
- {
- super.setFacing(facing1);
- this.updateChecksum=-1;
- }
-
- public boolean enableUpdateEntity()
- {
- return true;
- }
-
- public String getStartSoundFile()
- {
- return "Machines/IHL Industrial Fan/start.ogg";
- }
-
- public String getLoopSoundFile()
- {
- return "Machines/IHL Industrial Fan/loop.ogg";
- }
-
- public String getStopSoundFile()
- {
- return "Machines/IHL Industrial Fan/stop.ogg";
- }
-
- @Override
- public void updateEntityClient()
- {
- this.updateBoth();
- if(IC2.platform.isRendering() && this.loopAS!=null)
- {
- if(this.getActive())
- {
- if(this.startUpCounter>12)
- {
- this.startUpCounter=0;
- }
- if(this.startUpCounter==0)
- {
- this.stopAS.stop();
- this.startAS.play();
- }
- if(this.startUpCounter<10)
- {
- this.startUpCounter++;
- }
- else if(this.startUpCounter==10)
- {
- this.startAS.stop();
- this.loopAS.play();
- this.startUpCounter++;
- }
- }
- else if(this.startUpCounter>0)
- {
- this.startAS.stop();
- this.loopAS.stop();
- this.stopAS.play();
- if(this.startUpCounter<170)
- {
- this.startUpCounter++;
- }
- else
- {
- this.startUpCounter=0;
- this.stopAS.stop();
- }
- }
- }
- else if(IC2.platform.isRendering() && !this.getActive() && this.loopAS!=null)
- {
- this.loopAS.stop();
- }
- }
-
- public void updateBoth()
- {
- if(this.dischargeSlot.tier!=this.tier)
- {
- this.dischargeSlot.tier=this.tier;
- }
- }
-
-
- @SuppressWarnings("unchecked")
- @Override
- public void updateEntityServer()
- {
-
- if (IC2.platform.isSimulating())
- {
- this.setOverclockRates();
- }
- this.updateBoth();
- if(this.getDemandedEnergy() > 1.0D)
- {
- double amount = this.dischargeSlot.discharge(this.getDemandedEnergy(), false);
- this.energy += amount;
- }
- if(this.energy>this.maxStorage)
- {
- this.energy=this.maxStorage;
- }
- if(IC2.platform.isSimulating()&&!this.getActive()&&this.energy>=this.energyConsume*2D)
- {
- this.setActive(true);
- }
- else if(IC2.platform.isSimulating()&&this.getActive()&&this.energy<this.energyConsume)
- {
- this.setActive(false);
- }
- if(!this.aszlist.isEmpty() && this.getActive())
- {
- if(this.energy>=this.energyConsume)this.energy-=this.energyConsume;
- Iterator<AirSpeedZone> it = this.aszlist.iterator();
- a:while(it.hasNext())
- {
- AirSpeedZone asz = it.next();
- List<Entity> entityList = worldObj.getEntitiesWithinAABB(Entity.class, asz.getAABB());
- if(!entityList.isEmpty())
- {
- if(this.sCAFCount<=0)
- {
- this.aszlist.clear();
- this.calculateAirSpeed();
- this.sCAFCount=40;
- break a;
- }
- Iterator<Entity> ei = entityList.iterator();
- while(ei.hasNext())
- {
- Entity ent = ei.next();
- if(asz.isEntityMoveable(ent))
- {
- if(ent instanceof EntityPlayer)
- {
- if(worldObj.isRemote)
- {
- ent.addVelocity(mX()*0.1D, mY()*0.05D, mZ()*0.1D);
- }
- }
- else
- {
- ent.addVelocity(mX()*0.1D, mY()*0.05D, mZ()*0.1D);
- }
- }
- }
- }
- }
-
- }
- if(this.sCAFCount>0)
- {
- this.sCAFCount--;
- }
- else
- {
- this.calculateAirSpeed();
- if(this.operationRange==this.lastOperationRange)
- {
- this.sCAFCount=600;
- }
- else
- {
- this.sCAFCount=20;
- this.lastOperationRange=this.operationRange;
- }
- }
-
-
- }
-
- private void calculateAirSpeed()
- {
- int x=xCoord;
- int y=yCoord;
- int z=zCoord;
- int airSpeed=airSpeedBase;
- int x0,y0,z0;
- x0=x;
- y0=y;
- z0=z;
- int flowExtL=0;
- int flowExtR=0;
- int flowExtT=0;
- int flowExtB=0;
- int flowCanBeExtL=0;
- int flowCanBeExtR=0;
- int flowCanBeExtT=0;
- int flowCanBeExtB=0;
-
- int checkFlowL=0;
- int checkFlowR=0;
- int checkFlowT=0;
- int checkFlowB=0;
-
- checkFlowL = Math.max(
- this.neighborBlowerOperationRange(this.xCoord+mXL()+mX(), this.yCoord+mYL()+mY(),this.zCoord+mZL()+mZ()),
- this.neighborBlowerOperationRange(this.xCoord+mXL()-mX(), this.yCoord+mYL()-mY(), this.zCoord+mZL()-mZ())
- );
- checkFlowR = Math.max(
- this.neighborBlowerOperationRange(this.xCoord-mXL()+mX(), this.yCoord-mYL()+mY(),this.zCoord-mZL()+mZ()),
- this.neighborBlowerOperationRange(this.xCoord-mXL()-mX(), this.yCoord-mYL()-mY(), this.zCoord-mZL()-mZ())
- );
- checkFlowT = Math.max(Math.max(
- this.neighborBlowerOperationRange(this.xCoord+mXT()+mX(), this.yCoord+mYT()+mY(),this.zCoord+mZT()+mZ()),
- this.neighborBlowerOperationRange(this.xCoord+mXT()-mX(), this.yCoord+mYT()-mY(), this.zCoord+mZT()-mZ())
- ),
- this.neighborBlowerOperationRange(this.xCoord+mXT(), this.yCoord+mYT(),this.zCoord+mZT()));
- checkFlowB = Math.max(Math.max(
- this.neighborBlowerOperationRange(this.xCoord-mXT()+mX(), this.yCoord-mYT()+mY(),this.zCoord-mZT()+mZ()),
- this.neighborBlowerOperationRange(this.xCoord-mXT()-mX(), this.yCoord-mYT()-mY(), this.zCoord-mZT()-mZ())
- ),
- this.neighborBlowerOperationRange(this.xCoord-mXT(), this.yCoord-mYT(),this.zCoord-mZT()));
- int asg = this.getAirSpeedGrade(airSpeed);
- a:for(int step=0;step<256;step++)
- {
- x+=mX();
- y+=mY();
- z+=mZ();
- airSpeed-=Math.round(lambda*(airSpeed*airSpeed))+1;
- asg = this.getAirSpeedGrade(airSpeed);
- if(asg==0)
- {
- break;
- }
- int i1,i2,il,ir,it,ib;
- i1=0;i2=0;il=0;ir=0;it=0;ib=0;
- for(int tb=-flowExtB;tb<=flowExtT;tb++)
- {
- i1++;
- if(this.isAirPassable(x+mXL()*(flowExtL+1)+mXT()*tb,y+mYL()*(flowExtL+1)+mYT()*tb,z+mZL()*(flowExtL+1)+mZT()*tb))
- {
- il++;
- }
- if(this.isAirPassable(x-mXL()*(flowExtR+1)+mXT()*tb,y-mYL()*(flowExtR+1)+mYT()*tb,z-mZL()*(flowExtR+1)+mZT()*tb))
- {
- ir++;
- }
- }
- if(i1==il && step>=checkFlowL)
- {
- flowCanBeExtL++;
- }
- if(i1==ir && step>=checkFlowR)
- {
- flowCanBeExtR++;
- }
- for(int lr=-flowExtL;lr<=flowExtR;lr++)
- {
- i2++;
- if(this.isAirPassable(x+mXT()*(flowExtT+1)+mXL()*lr,y+mYT()*(flowExtT+1)+mYL()*lr,z+mZT()*(flowExtT+1)+mZL()*lr))
- {
- it++;
- }
- if(this.isAirPassable(x-mXT()*(flowExtB+1)+mXL()*lr,y-mYT()*(flowExtB+1)+mYL()*lr,z-mZT()*(flowExtB+1)+mZL()*lr))
- {
- ib++;
- }
- }
- if(i2==it && step>=checkFlowT)
- {
- flowCanBeExtT++;
- }
- if(i2==ib && step>=checkFlowB)
- {
- flowCanBeExtB++;
- }
- airSpeed-=Math.round(lambda*(airSpeed*airSpeed)*(il+ir+it+ib))+il+ir+it+ib;
- asg = this.getAirSpeedGrade(airSpeed);
- if(asg==0)
- {
- this.operationRange=step;
- break;
- }
- if(flowCanBeExtB>=4)
- {
- flowCanBeExtB=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtB++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- else if(flowCanBeExtT>=4)
- {
- flowCanBeExtT=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtT++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- else if(flowCanBeExtR>=4)
- {
- flowCanBeExtR=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtR++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- else if(flowCanBeExtL>=3)
- {
- flowCanBeExtL=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtL++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- else if(flowCanBeExtR>=3)
- {
- flowCanBeExtR=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtR++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- else if(flowCanBeExtT>=3)
- {
- flowCanBeExtT=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtT++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- else if(flowCanBeExtB>=3)
- {
- flowCanBeExtB=0;
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- int s0=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- flowExtB++;
- int s1=(flowExtR+flowExtL+1)*(flowExtT+flowExtB+1);
- airSpeed=airSpeed*s0/s1;
- }
- for(int tb=-flowExtB;tb<=flowExtT;tb++)
- {
- for(int lr=-flowExtR;lr<=flowExtL;lr++)
- {
- if(!this.isAirPassable(x+mXL()*lr+mXT()*tb+mX(),y+mYL()*lr+mYT()*tb+mY(),z+mZL()*lr+mZT()*tb+mZ()))
- {
- if(lr==0 && tb==0)
- {
- //System.out.println("Flow breakened by wall check at step="+step);
- this.operationRange=step;
- break a;
- }
- else
- {
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x-mX()+mXL()*flowExtL+mXT()*flowExtT,
- y-mY()+mYL()*flowExtL+mYT()*flowExtT,
- z-mZ()+mZL()*flowExtL+mZT()*flowExtT));
- x0=x;
- y0=y;
- z0=z;
- if(lr>0)
- {
- flowExtL=lr-1;
- }
- else if(lr<0)
- {
- flowExtR=-1-lr;
- }
- if(tb>0)
- {
- flowExtT=tb-1;
- }
- else if(tb<0)
- {
- flowExtB=-1-tb;
- }
- }
- }
- }
- }
- //System.out.println("Airspeed at step="+step+"equals="+airSpeed);
- }
- if(asg>0)
- {
- this.aszlist.add(new AirSpeedZone(asg,
- x0-mXL()*flowExtR-mXT()*flowExtB,
- y0-mYL()*flowExtR-mYT()*flowExtB,
- z0-mZL()*flowExtR-mZT()*flowExtB,
- x+mXL()*flowExtL+mXT()*flowExtT,
- y+mYL()*flowExtL+mYT()*flowExtT,
- z+mZL()*flowExtL+mZT()*flowExtT));
- }
- }
-
-
- @Override
- public boolean acceptsEnergyFrom(TileEntity emitter,
- ForgeDirection direction) {
- switch(direction)
- {
- case UP:
- return mY()!=1;
- case DOWN:
- return mY()!=-1;
- case NORTH:
- return mZ()!=-1 && mZL()==0;
- case EAST:
- return mX()!=1 && mXL()==0;
- case SOUTH:
- return mZ()!=1 && mZL()==0;
- case WEST:
- return mX()!=-1 && mXL()==0;
- default:
- return false;
- }
- }
-
- private boolean isAirPassable(int x,int y,int z)
- {
- Block block = worldObj.getBlock(x,y,z);
- if(block!=null && !block.isNormalCube(worldObj,x,y,z))
- {
- if(
- !block.isCollidable() ||
- block.isAir(worldObj,x, y, z) ||
- block.getBlockBoundsMinX()>0.15D ||
- block.getBlockBoundsMaxX()<0.85D ||
- block.getBlockBoundsMinY()>0.15D ||
- block.getBlockBoundsMaxY()<0.85D ||
- block.getBlockBoundsMinZ()>0.15D ||
- block.getBlockBoundsMaxZ()<0.85D
- )
- {
- return true;
- }
- else
- {
- AxisAlignedBB cb = block.getCollisionBoundingBoxFromPool(worldObj, x, y, z);
- if(cb!=null)
- {
- if(
- cb.maxX<=1D &&
- cb.maxX>=0D &&
- cb.minX<=1D &&
- cb.minX>=0D &&
- cb.maxY<=1D &&
- cb.maxY>=0D &&
- cb.minY<=1D &&
- cb.minY>=0D &&
- cb.maxZ<=1D &&
- cb.maxZ>=0D &&
- cb.minZ<=1D &&
- cb.minZ>=0D
- )
- {
- if(
- cb.maxX<0.85D||
- cb.minX>0.15D||
- cb.maxY<0.85D||
- cb.minY>0.15D||
- cb.maxZ<0.85D||
- cb.minZ>0.15D
- )
- {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- private int getAirSpeedGrade(int airSpeed)
- {
- if(airSpeed<30)
- {
- return 0;
- }
- else if(airSpeed<100)
- {
- return 1;
- }
- else if(airSpeed<200)
- {
- return 2;
- }
- else if(airSpeed<300)
- {
- return 3;
- }
- else if(airSpeed<400)
- {
- return 4;
- }
- else if(airSpeed<500)
- {
- return 5;
- }
- else if(airSpeed<600)
- {
- return 6;
- }
- else
- {
- return 7;
- }
- }
-
- private class AirSpeedZone
- {
- private int airSpeedGrade, x0, y0, z0, x1, y1, z1;
- public AirSpeedZone(int airSpeedGrade1, int vx0, int vy0, int vz0, int vx1,int vy1,int vz1)
- {
- this.airSpeedGrade=airSpeedGrade1;
- this.x0=vx0;
- this.y0=vy0;
- this.z0=vz0;
- this.x1=vx1;
- this.y1=vy1;
- this.z1=vz1;
- }
-
- public AxisAlignedBB getAABB()
- {
- return AxisAlignedBB.getBoundingBox(Math.min(x0,x1), Math.min(y0,y1), Math.min(z0,z1), Math.max(x0,x1)+1D, Math.max(y0,y1)+1D, Math.max(z0,z1)+1D);
- }
-
- @Override
- public boolean equals(Object obj)
- {
- if(obj instanceof AirSpeedZone)
- {
- AirSpeedZone asz = (AirSpeedZone)obj;
- return (
- this.x0==asz.x0 &&
- this.y0==asz.y0 &&
- this.z0==asz.z0 &&
- this.x1==asz.x1 &&
- this.y1==asz.y1 &&
- this.z1==asz.z1);
- }
- return false;
- }
-
- public boolean isEntityMoveable(Entity entity)
- {
- if(this.airSpeedGrade>=7)
- {
- return true;
- }
- else
- {
- return (entity.width+1F)*(entity.height+1F)<=this.airSpeedGrade*2;
- }
- }
- }
-
- private int mX()
- {
- switch(this.getFacing())
- {
- case 4:
- return -1;
- case 5:
- return 1;
- default:
- return 0;
- }
- }
-
- private int mY()
- {
- switch(this.getFacing())
- {
- case 0:
- return -1;
- case 1:
- return 1;
- default:
- return 0;
- }
- }
-
- private int mZ()
- {
- switch(this.getFacing())
- {
- case 2:
- return -1;
- case 3:
- return 1;
- default:
- return 0;
- }
- }
-
- private int mXL()
- {
- switch(this.getFacing())
- {
- case 0:
- return -1;
- case 1:
- return 1;
- case 2:
- return -1;
- case 3:
- return 1;
- default:
- return 0;
- }
- }
-
- private int mYL()
- {
- return 0;
- }
-
- private int mZL()
- {
- switch(this.getFacing())
- {
- case 4:
- return 1;
- case 5:
- return -1;
- default:
- return 0;
- }
- }
-
- private int mXT()
- {
- return 0;
- }
-
- private int mYT()
- {
- switch(this.getFacing())
- {
- case 2:
- return 1;
- case 3:
- return 1;
- case 4:
- return 1;
- case 5:
- return 1;
- default:
- return 0;
- }
- }
-
- private int mZT()
- {
- switch(this.getFacing())
- {
- case 0:
- return 1;
- case 1:
- return -1;
- default:
- return 0;
- }
- }
-
-
-@Override
- public String getInventoryName() {
- return "blower";
- }
-
- public int getStored() {
- return Math.round((float)this.energy);
- }
-
- public void setStored(int value) {
- this.energy=value;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer arg0, boolean arg1) {
- return new BlowerGui(new BlowerContainer(arg0, this));
- }
-
- public boolean getGui(EntityPlayer player)
- {
- return this instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(player, this) : true) : false;
- }
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer arg0) {
- return new BlowerContainer(arg0, this);
- }
- @Override
- public void onGuiClosed(EntityPlayer arg0) {}
-
- public void setOverclockRates()
- {
- int speedUp=0;
- int tierUp=0;
- int capacityUp=0;
- int checksum=0;
- for(int i=0;i<this.upgradeSlot.size();i++)
- {
- if(this.upgradeSlot.get(i)!=null)
- {
- if(this.upgradeSlot.get(i).getItemDamage()==IC2Items.getItem("overclockerUpgrade").getItemDamage())
- {
- speedUp+=this.upgradeSlot.get(i).stackSize;
- }
- if(this.upgradeSlot.get(i).getItemDamage()==IC2Items.getItem("transformerUpgrade").getItemDamage())
- {
- tierUp+=this.upgradeSlot.get(i).stackSize;
- }
- if(this.upgradeSlot.get(i).getItemDamage()==IC2Items.getItem("energyStorageUpgrade").getItemDamage())
- {
- capacityUp+=this.upgradeSlot.get(i).stackSize;
- }
- }
- }
- checksum=speedUp*4096+tierUp*64+capacityUp;
- if(this.updateChecksum!=checksum)
- {
-
- if(
- this.isAirPassable(this.xCoord+mXL(),this.yCoord+mYL(),this.zCoord+mZL())&&
- this.isAirPassable(this.xCoord-mXL(),this.yCoord-mYL(),this.zCoord-mZL()))
- {
- this.airSpeedBase=Math.min(3284,(int) (this.defaultAirSpeedBase*Math.pow(1.7D, speedUp)));
- }
- else if(
- !this.isAirPassable(this.xCoord+mXL(),this.yCoord+mYL(),this.zCoord+mZL())&&
- !this.isAirPassable(this.xCoord-mXL(),this.yCoord-mYL(),this.zCoord-mZL()))
- {
- this.airSpeedBase=0;
- }
- else
- {
- this.airSpeedBase=Math.min(3282,(int) (this.defaultAirSpeedBase*Math.pow(1.7D, speedUp)*0.5D));
- }
- this.maxStorage=this.defaultMaxStorage + capacityUp*10000;
- IC2.network.get().updateTileEntityField(this, "maxStorage");
- this.energyConsume=(int) Math.min(this.defaultEnergyConsume*Math.pow(1.6D, speedUp),this.maxStorage);
- IC2.network.get().updateTileEntityField(this, "airSpeedBase");
- this.tier=this.defaultTier+tierUp;
- IC2.network.get().updateTileEntityField(this, "tier");
- this.updateChecksum=checksum;
- }
- }
-
- //1.7.10 API
- @Override
- public double getDemandedEnergy()
- {
- return this.maxStorage - this.energy;
- }
-
- @Override
- public int getSinkTier()
- {
- return this.tier;
- }
-
- @Override
- public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage)
- {
- if (this.energy >= this.maxStorage)
- {
- return amount;
- }
- else
- {
- this.energy += amount;
- return 0.0D;
- }
- }
-
- @Override
- public double getEnergy() {
- return this.energy;
- }
-
- @Override
- public boolean useEnergy(double amount)
- {
- if (this.energy >= amount)
- {
- this.energy -= amount;
- return true;
- }
- else
- {
- return false;
- }
- }
-
- public int neighborBlowerOperationRange(int x,int y,int z)
- {
- if(this.worldObj.getTileEntity(x, y, z)!=null && this.worldObj.getTileEntity(x, y, z) instanceof BlowerTileEntity)
- {
- BlowerTileEntity bte = (BlowerTileEntity) this.worldObj.getTileEntity(x, y, z);
- if(bte.getFacing()==this.getFacing())
- {
- return bte.operationRange;
- }
- }
- return -1;
- }
-
- public ItemStack getOutput(int arg0)
- {
- return null;
- }
-
- public int getOutputSize() {
- return 0;
- }
-
- public void setOutput(int arg0, ItemStack arg1) {
- }
-
- @Override
- public Set<UpgradableProperty> getUpgradableProperties()
- {
- Set<UpgradableProperty> properties = new HashSet<UpgradableProperty>();
- properties.add(UpgradableProperty.Processing);
- properties.add(UpgradableProperty.EnergyStorage);
- properties.add(UpgradableProperty.Transformer);
- return properties;
- }
-} \ No newline at end of file
diff --git a/ihl/datanet/Contact.java b/ihl/datanet/Contact.java
deleted file mode 100644
index 5dce365..0000000
--- a/ihl/datanet/Contact.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package ihl.datanet;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import ic2.core.Ic2Items;
-import ihl.IHLMod;
-import ihl.interfaces.IDataCableHolder;
-import ihl.interfaces.IDataNode;
-import ihl.processing.invslots.InvSlotSignalProcessor;
-import ihl.utils.IHLUtils;
-
-public class Contact implements IDataNode
-{
- public final int innerId;
- private int dataGridID=-1;
- private Set<IDataNode> connectedContacts = new HashSet<IDataNode>(8);
- public final InvSlotSignalProcessor attachedSlot;
- public final int attachedSlotNumber;
- public final int type; //Free:-1; A1:0; A2:1; C:2; NO:3; NC:4;
- private final TileEntity base;
-
- public Contact(TileEntity base1, int innerId1,InvSlotSignalProcessor attachedSlot1,int attachedSlotNumber1, int type1)
- {
- type=type1;
- base=base1;
- innerId=innerId1;
- attachedSlot=attachedSlot1;
- attachedSlotNumber=attachedSlotNumber1;
- }
-
- public void onLoad()
- {
- if(dataGridID!=-1)
- {
- DataGrid grid = IHLMod.datanet.getGrid(dataGridID);
- grid.telist.add(this);
- }
- }
-
- @Override
- public int getDataGridID() {
- return dataGridID;
- }
-
- @Override
- public void setDataGrid(int newGridID)
- {
- dataGridID=newGridID;
- onLoad();
- }
-
- @Override
- public Set<IDataNode> getConnectedDataNodes() {
- return this.connectedContacts;
- }
-
- public void removeLinkTo(Contact contact2)
- {
- this.connectedContacts.remove(contact2);
- contact2.getConnectedDataNodes().remove(this);
- if(dataGridID!=-1)
- {
- IHLMod.datanet.splitGrids(dataGridID);
- }
- if(dataGridID!=-1)
- {
- for(IDataNode contact3:IHLMod.datanet.getGrid(dataGridID).telist)
- {
- contact3.checkAttachedSlots();
- }
- }
- else
- {
- this.checkAttachedSlots();
- }
- if(contact2.getDataGridID()!=-1)
- {
- for(IDataNode contact3:IHLMod.datanet.getGrid(contact2.getDataGridID()).telist)
- {
- contact3.checkAttachedSlots();
- }
- }
- else
- {
- contact2.checkAttachedSlots();
- }
-
- }
-
- public void removeConnections(Contact[] contacts)
- {
- if(this.dataGridID!=-1)
- {
- this.connectedContacts.removeAll(Arrays.asList(contacts));
- IHLMod.datanet.splitGrids(dataGridID);
- }
- }
-
- public void establishLink(Contact contact)
- {
- this.connectedContacts.add(contact);
- contact.getConnectedDataNodes().add(this);
- if(dataGridID!=contact.getDataGridID() || dataGridID==-1 || contact.getDataGridID()==-1)
- {
- int newDataGridID = IHLMod.datanet.mergeGrids(dataGridID,contact.getDataGridID());
- if(this.dataGridID==-1)
- {
- this.setDataGrid(newDataGridID);
- }
- if(contact.getDataGridID()==-1)
- {
- contact.setDataGrid(newDataGridID);
- }
- for(IDataNode contact2:IHLMod.datanet.getGrid(newDataGridID).telist)
- {
- contact2.checkAttachedSlots();
- }
- }
- }
-
- public void writeToNBT(NBTTagCompound nbt)
- {
- nbt.setInteger("dataGridID", dataGridID);
- NBTTagList connections = new NBTTagList();
- for(IDataNode contact1:this.connectedContacts)
- {
- NBTTagCompound contactNBT = new NBTTagCompound();
- contactNBT.setInteger("x", contact1.getXPos());
- contactNBT.setInteger("y", contact1.getYPos());
- contactNBT.setInteger("z", contact1.getZPos());
- contactNBT.setInteger("innerId", contact1.getInnerId());
- connections.appendTag(contactNBT);
- }
- nbt.setTag("connections"+innerId, connections);
- }
-
- public void readFromNBT(NBTTagCompound nbt)
- {
- this.setDataGrid(nbt.getInteger("dataGridID"));
- NBTTagList connections = nbt.getTagList("connections"+innerId, 10);
- for(int i=0;i<connections.tagCount();i++)
- {
- NBTTagCompound contactNBT = connections.getCompoundTagAt(i);
- int innerId1 = contactNBT.getInteger("innerId");
- int x = contactNBT.getInteger("x");
- int y = contactNBT.getInteger("y");
- int z = contactNBT.getInteger("z");
- World world = this.base.getWorldObj();
- TileEntity te = world.getTileEntity(x, y, z);
- if(te!=null && te instanceof IDataCableHolder)
- {
- IDataCableHolder idch = (IDataCableHolder)te;
- Contact contact1 = idch.getContact(innerId1);
- this.establishLink(contact1);
- }
- else
- {
- IHLMod.log.error("Can't load contacts, because IDataCableHolder is null.");
- }
- }
- }
-
- @Override
- public int getXPos() {
- return base.xCoord;
- }
-
- @Override
- public int getYPos() {
- return base.yCoord;
- }
-
- @Override
- public int getZPos() {
- return base.zCoord;
- }
-
- @Override
- public int getInnerId() {
- return innerId;
- }
-
- public boolean isConnectedToContact(int id)
- {
- if(dataGridID!=-1)
- {
- return IHLMod.datanet.getGrid(getDataGridID()).isConnectedToContact(this,id);
- }
- else
- {
- return false;
- }
- }
-
- @Override
- public boolean isIndirectlyConnectedWithContact(int id) {
- if(this.attachedSlot!=null)
- {
- return this.attachedSlot.isIndirectlyConnectedWithContact(this,id);
- }
- return false;
- }
-
- @Override
- public void checkAttachedSlots()
- {
- if(this.attachedSlot!=null)
- {
- ItemStack is = this.attachedSlot.get(this.attachedSlotNumber);
- if(is!=null && IHLUtils.isItemStacksIsEqual(is, Ic2Items.detectorCableItem, true))
- {
- if((this.isConnectedToContact(0) && this.attachedSlot.getOppositeContact(this).isConnectedToContact(1))||
- (this.isConnectedToContact(1) && this.attachedSlot.getOppositeContact(this).isConnectedToContact(0)))
- {
- this.attachedSlot.slotStatus[this.attachedSlotNumber]=true;
- }
- else
- {
- this.attachedSlot.slotStatus[this.attachedSlotNumber]=false;
- }
- }
- else
- {
- this.attachedSlot.slotStatus[this.attachedSlotNumber]=false;
- }
- this.attachedSlot.notifyNeighbors();
- }
- }
-
- @Override
- public InvSlotSignalProcessor getAttachedSlot() {
- return this.attachedSlot;
- }
-
- @Override
- public int getAttachedSlotNumber()
- {
- return this.attachedSlotNumber;
- }
-
- @Override
- public int getType()
- {
- return this.type;
- }
-
-}
diff --git a/ihl/datanet/DataCableItem.java b/ihl/datanet/DataCableItem.java
deleted file mode 100644
index c8349ca..0000000
--- a/ihl/datanet/DataCableItem.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package ihl.datanet;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.World;
-import ihl.IHLModInfo;
-import ihl.flexible_cable.NodeEntity;
-import ihl.interfaces.IDataCableHolder;
-import ihl.items_blocks.FlexibleCableItem;
-import ihl.utils.IHLUtils;
-
-public class DataCableItem extends FlexibleCableItem {
-
- private static Map<Integer, IIcon> iconMap = new HashMap<Integer, IIcon>();
- private static Map<Integer, String> nameMap = new HashMap<Integer, String>();
- private static Map<Integer, String> descriptionMap = new HashMap<Integer, String>();
- public static DataCableItem dataCableInstance;
-
- public DataCableItem()
- {
- super();
- this.isDataCable=true;
- this.setUnlocalizedName("dataCable");
- dataCableInstance=this;
- }
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @Override
- @SideOnly(Side.CLIENT)
- public void getSubItems(Item item, CreativeTabs tabs, List itemList)
- {
- Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- ItemStack stack = IHLUtils.getThisModWireItemStackWithLength(var1[i].unlocalizedName,16);
- itemList.add(stack);
- }
- }
-
- public static void init()
- {
- DataCableItem item = new DataCableItem();
- GameRegistry.registerItem(item,item.getUnlocalizedName());
- Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- nameMap.put(var1[i].damage,var1[i].unlocalizedName);
- IHLUtils.registerLocally(var1[i].unlocalizedName, new ItemStack(item,1,var1[i].damage));
- if(var1[i].description!=null)
- {
- descriptionMap.put(var1[i].damage,var1[i].description);
- }
- }
-
- }
-
- @Override
- protected void connect(TileEntity t1, short facing, TileEntity t2, short facing2, ItemStack stack)
- {
- IDataCableHolder te = (IDataCableHolder)t1;
- IDataCableHolder te1 = (IDataCableHolder)t2;
- NBTTagCompound cable = (NBTTagCompound) stack.stackTagCompound.copy();
- int l2=stack.stackTagCompound.getInteger("length");
- int fl=stack.stackTagCompound.getInteger("fullLength");
- cable.setInteger("fullLength", fl-l2);
- cable.setInteger("length", fl-l2);
- cable.setBoolean("firstConnection", false);
- cable.setInteger("connectorX1", t1.xCoord);
- cable.setInteger("connectorY1", t1.yCoord);
- cable.setInteger("connectorZ1", t1.zCoord);
- cable.setInteger("connectorDimensionId1", t1.getWorldObj().provider.dimensionId);
- if(te.addDataCable(cable) && te1.addDataCable(cable))
- {
- Contact[] c = te.getContacts(stack.stackTagCompound.getInteger("chainUID"));
- Contact[] c1 = te1.getContacts(stack.stackTagCompound.getInteger("chainUID"));
- for(int i=0;i<c.length;i++)
- {
- c[i].establishLink(c1[i]);
- }
- }
- }
-
- @Override
- protected NodeEntity newNode(World world, double ppx, double ppy, double ppz, ItemStack stack, int can, int x, int y, int z)
- {
- NodeEntity node = new NodeEntity(world);
- node.setPosition(ppx, ppy, ppz);
- node.setChainUniqueID(stack.stackTagCompound.getInteger("chainUID"));
- short facing = stack.stackTagCompound.getShort("connectorFacing");
- int dimensionId = stack.stackTagCompound.getInteger("connectorDimensionId");
- node.setAnchor(x, y, z,facing,dimensionId);
- node.chainArrangeNumber=can;
- node.colorIndex = 0xFF0000;
- node.type=3;
- world.spawnEntityInWorld(node);
- return node;
- }
-
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @Override
- public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
- {
- if(itemStack.stackTagCompound!=null)
- {
- info.add("Length " + itemStack.stackTagCompound.getInteger("length") +"m");
- }
- }
-
- @Override
- public String getTag()
- {
- return "length";
- }
-
- @Override
- public String getTagSecondary()
- {
- return "fullLength";
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister register)
- {
- Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- iconMap.put(var1[i].damage, register.registerIcon(IHLModInfo.MODID + ":"+var1[i].unlocalizedName));
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIconFromDamage(int i)
- {
- return iconMap.get(i);
- }
-
- @Override
- public String getUnlocalizedName(ItemStack stack)
- {
- return nameMap.get(stack.getItemDamage());
- }
-
- public enum Type
- {
- Pin8DataCable(0,"EightPinDataCable");
- Type(int damage1, String unlocalizedName1)
- {
- damage=damage1;
- unlocalizedName=unlocalizedName1;
- }
- public int damage;
- public String unlocalizedName;
- public String description;
- }
-
- @Override
- public boolean isSameWire(ItemStack stack1,ItemStack stack2)
- {
- return stack1.getItem()==stack2.getItem();
- }
-}
diff --git a/ihl/datanet/DataGrid.java b/ihl/datanet/DataGrid.java
deleted file mode 100644
index 0f4f9f9..0000000
--- a/ihl/datanet/DataGrid.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package ihl.datanet;
-
-import ihl.interfaces.IDataNode;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-public class DataGrid
-{
- public final Set<IDataNode> telist = new HashSet<IDataNode>();
- public double energy=0D;
- public boolean isGridValid=true;
-
- public Set<IDataNode> getListOfExcludedNodes()
- {
- Set<IDataNode> excludedNodes = new HashSet<IDataNode>();
- if(this.telist.isEmpty())
- {
- return excludedNodes;
- }
- excludedNodes.addAll(this.telist);
- IDataNode startNode = this.telist.iterator().next();
- this.recursiveGridNodesSearch(excludedNodes, startNode);
- this.telist.removeAll(excludedNodes);
- return excludedNodes;
- }
-
- public void recursiveGridNodesSearch(Set<IDataNode> excludedNodes, IDataNode startNode)
- {
- Iterator<IDataNode> nodei = startNode.getConnectedDataNodes().iterator();
- excludedNodes.remove(startNode);
- while(nodei.hasNext())
- {
- IDataNode node = nodei.next();
- if(excludedNodes.contains(node))
- {
- recursiveGridNodesSearch(excludedNodes, node);
- }
- }
- }
-
- public boolean isConnectedToContact(Contact emitter, int id)
- {
- Iterator<IDataNode> it1 = this.telist.iterator();
- while(it1.hasNext())
- {
- IDataNode ate1 = it1.next();
- if(ate1.getInnerId()==id)
- {
- return true;
- }
- else if(emitter!=ate1 && ate1.isIndirectlyConnectedWithContact(id))
- {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/ihl/datanet/DataNet.java b/ihl/datanet/DataNet.java
deleted file mode 100644
index a241517..0000000
--- a/ihl/datanet/DataNet.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package ihl.datanet;
-
-import ihl.IHLMod;
-import ihl.flexible_cable.NodeEntity;
-import ihl.interfaces.IDataNode;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import net.minecraft.nbt.NBTTagCompound;
-
-public class DataNet {
-
- public Map<Integer, DataGrid> grids = new HashMap<Integer, DataGrid>();
- private int griduid=0;
-
- public DataNet()
- {
- }
-
- public int getNewUniqueGridID()
- {
- for(int i=0;i<Integer.MAX_VALUE;i++)
- {
- if(grids.get(++griduid)==null)
- {
- return griduid;
- }
- }
- return -1;
- }
-
- public int mergeGrids(int gridID, int gridID2)
- {
- if(gridID==-1 && gridID2!=-1)
- {
- return gridID2;
- }
- else if(gridID!=-1 && gridID2==-1)
- {
- return gridID;
- }
- else if(gridID==-1 && gridID2==-1)
- {
- int newGridID=this.getNewUniqueGridID();
- DataGrid cgrid;
- cgrid=new DataGrid();
- grids.put(newGridID, cgrid);
- return newGridID;
- }
- else if(gridID!=gridID2)
- {
- Iterator<IDataNode> tei = grids.get(gridID2).telist.iterator();
- while(tei.hasNext())
- {
- IDataNode te = tei.next();
- te.setDataGrid(gridID);
- }
- grids.remove(gridID2);
- return gridID;
- }
- return gridID2;
- }
-
-
- public DataGrid getGrid(int gridID)
- {
- if(this.grids.get(gridID)==null)
- {
- DataGrid cgrid;
- cgrid=new DataGrid();
- grids.put(gridID, cgrid);
- return cgrid;
- }
- else
- {
- return this.grids.get(gridID);
- }
- }
-
- public void splitGrids(int gridID)
- {
- DataGrid grid1 = this.grids.get(gridID);
- Set<IDataNode> excludedNodes = grid1.getListOfExcludedNodes();
- if(!excludedNodes.isEmpty())
- {
- if(grid1.telist.size()==1)
- {
- IDataNode singleNode = grid1.telist.iterator().next();
- singleNode.setDataGrid(-1);
- grid1.telist.remove(singleNode);
- }
- if(excludedNodes.size()==1)
- {
- IDataNode singleNode = excludedNodes.iterator().next();
- singleNode.setDataGrid(-1);
- }
- else //Form a new grid
- {
- int newGridId = this.getNewUniqueGridID();
- Iterator<IDataNode> excludedNodesI = excludedNodes.iterator();
- while(excludedNodesI.hasNext())
- {
- excludedNodesI.next().setDataGrid(newGridId);
- }
- }
- }
- }
-
- public void removeCableEntities(NBTTagCompound cable)
- {
- int uid = cable.getInteger("chainUID");
- Set<NodeEntity> cs = IHLMod.proxy.nodeEntityRegistry.get(uid);
- if(cs!=null)
- {
- for(NodeEntity ne:cs)
- {
- if(ne!=null)
- {
- ne.setDead();
- }
- }
- }
- }
-}
diff --git a/ihl/datanet/GuiInvisibleButton.java b/ihl/datanet/GuiInvisibleButton.java
deleted file mode 100644
index 31e8b3f..0000000
--- a/ihl/datanet/GuiInvisibleButton.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package ihl.datanet;
-
-import java.util.List;
-import java.util.Map;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-
-public class GuiInvisibleButton extends GuiButton {
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public GuiInvisibleButton(int id1, int x, int y, int w, int h, Map<Integer, Integer[]> linksCoordinatesMap, List buttonList)
- {
- super(id1, x, y, w, h, "");
- linksCoordinatesMap.put(id1, new Integer[] {x+w/2,y+h/2});
- buttonList.add(this);
- }
-
- @Override
- public void drawButton(Minecraft minecraft, int i, int j){}
-
-}
diff --git a/ihl/datanet/RedstoneSignalConverterContainer.java b/ihl/datanet/RedstoneSignalConverterContainer.java
deleted file mode 100644
index 261c9d5..0000000
--- a/ihl/datanet/RedstoneSignalConverterContainer.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package ihl.datanet;
-
-import java.util.List;
-
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-
-public class RedstoneSignalConverterContainer extends ContainerBase<RedstoneSignalConverterTileEntity> {
-
- protected RedstoneSignalConverterTileEntity tileEntity;
- private int lastLinksAmount = -1;
- private int lastCablesAmount = -1;
- private short lastEnergy = -1;
- private int prevButtonPressed1 = -1;
- public final static int height=224;
- public final static int width=198;
- public List<Integer> links;
-
- public RedstoneSignalConverterContainer(EntityPlayer entityPlayer, RedstoneSignalConverterTileEntity tileEntity1){
- super(tileEntity1);
- this.tileEntity = tileEntity1;
- links=this.tileEntity.links;
- int col;
- for (col = 0; col < 3; ++col)
- {
- for (int col1 = 0; col1 < 9; ++col1)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
- }
- }
- for (col = 0; col < 9; ++col)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
- }
- for (col = 0; col < tileEntity1.sensorEmitterSlots.size(); ++col)
- {
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.sensorEmitterSlots, col, 8, 8+col*18));
- }
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.dischargeSlot, 0, 8, 116));
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-
-
- @Override
- public void detectAndSendChanges()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting)this.crafters.get(i);
- if (this.tileEntity.links.size() != this.lastLinksAmount)
- {
- IC2.network.get().sendContainerField(this, "links");
- }
- if (this.tileEntity.energy != this.lastEnergy)
- {
- icrafting.sendProgressBarUpdate(this, 1, this.tileEntity.energy);
- }
- if (this.tileEntity.cableList.size() != this.lastCablesAmount)
- {
- icrafting.sendProgressBarUpdate(this, 2, this.tileEntity.cableList.size());
- }
- if (this.tileEntity.prevButtonPressed != this.prevButtonPressed1)
- {
- icrafting.sendProgressBarUpdate(this, 3, this.tileEntity.prevButtonPressed);
- }
- }
- this.lastCablesAmount=this.tileEntity.cableList.size();
- this.lastLinksAmount=this.tileEntity.links.size();
- this.lastEnergy=this.tileEntity.energy;
- this.prevButtonPressed1 = this.tileEntity.prevButtonPressed;
-
- }
-
- @Override
- public void updateProgressBar(int index, int value)
- {
- super.updateProgressBar(index, value);
- switch (index)
- {
- case 1:
- this.tileEntity.energy=(short) value;
- break;
- case 2:
- this.tileEntity.cablesAmount=(short) value;
- break;
- case 3:
- this.tileEntity.prevButtonPressed=(short) value;
- break;
- }
- }
-}
diff --git a/ihl/datanet/RedstoneSignalConverterGui.java b/ihl/datanet/RedstoneSignalConverterGui.java
deleted file mode 100644
index ce7e2d4..0000000
--- a/ihl/datanet/RedstoneSignalConverterGui.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package ihl.datanet;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.core.IC2;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import ihl.collector.GuiMultiTextureButton;
-
-@SideOnly(Side.CLIENT)
-public class RedstoneSignalConverterGui extends GuiContainer {
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIRedstoneSignalConverter.png");
- private RedstoneSignalConverterContainer container;
- private GuiInvisibleButton[] sensorsEmittersPlus = new GuiInvisibleButton[6];
- private GuiInvisibleButton[] sensorsEmittersMinus = new GuiInvisibleButton[6];
- private GuiInvisibleButton[][] cableContacts = new GuiInvisibleButton[4][8];
- public Map<Integer, Integer[]> linksCoordinatesMap = new HashMap<Integer,Integer[]>();
- private GuiMultiTextureButton removeLast;
- private GuiMultiTextureButton removeAll;
- private int timer=10;
-
- public RedstoneSignalConverterGui (RedstoneSignalConverterContainer container1)
- {
- super(container1);
- this.container=container1;
- this.ySize=RedstoneSignalConverterContainer.height;
- this.xSize=RedstoneSignalConverterContainer.width;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void initGui()
- {
- super.initGui();
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- int i,i1;
- new GuiInvisibleButton(0, x+24, y+121, 3, 3, linksCoordinatesMap, buttonList); //battery plus
- new GuiInvisibleButton(1, x+24, y+124, 3, 3, linksCoordinatesMap, buttonList); //battery minus
- for(i=0;i<sensorsEmittersPlus.length;i++)
- {
- sensorsEmittersPlus[i]=new GuiInvisibleButton(i+2, x+24, y+13+18*i, 3, 3, linksCoordinatesMap, buttonList);
- }
- for(i=0;i<sensorsEmittersMinus.length;i++)
- {
- sensorsEmittersMinus[i]=new GuiInvisibleButton(i+sensorsEmittersPlus.length+2, x+24, y+16+18*i, 3, 3, linksCoordinatesMap, buttonList);
- }
- for(i=0;i<cableContacts.length;i++)
- {
- for(i1=0;i1<cableContacts[i].length;i1++)
- {
- cableContacts[i][i1]=new GuiInvisibleButton(i*8+i1+sensorsEmittersPlus.length+sensorsEmittersMinus.length+2, x+97, y+11+i1*3+i*25, 6, 3, linksCoordinatesMap, buttonList);
- }
- }
- removeLast = new GuiMultiTextureButton(256, x+171, y+4, 23, 17, background, 171, 4, 170, 3);//256, x+171, y+4, 23, 17, background, 171, 4, 170, 3
- removeAll = new GuiMultiTextureButton(257, x+171, y+22, 23, 17, background, 171, 22, 170, 21);
- this.buttonList.add(removeLast);
- this.buttonList.add(removeAll);
- }
-
- private void drawLink(int integer,int index)
- {
- Integer[] from = this.linksCoordinatesMap.get((integer>>8) & 255);
- Integer[] to = this.linksCoordinatesMap.get(integer & 255);
- this.drawLink(from[0], from[1], to[0], to[1], index);
- }
-
- @Override
- public void actionPerformed(GuiButton button)
- {
- super.actionPerformed(button);
- IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, button.id);
- if (button.id == removeLast.id)
- {
- //removeLast.isActive=true;
- timer=10;
- }
- if (button.id == removeAll.id)
- {
- removeAll.isActive=true;
- timer=10;
- }
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
-
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- for(int i = 0;i<this.container.tileEntity.links.size();i++)
- {
- drawLink(this.container.tileEntity.links.get(i),i);
- }
- if(this.container.tileEntity.prevButtonPressed!=-1)
- {
- Integer[] from = this.linksCoordinatesMap.get(this.container.tileEntity.prevButtonPressed);
- this.drawLink(from[0], from[1], par2, par3, 20);
- }
- if (this.container.tileEntity.energy > 0)
- {
- int i1 = Math.min(this.container.tileEntity.getGUIEnergy(12),12);
- this.drawTexturedModalRect(x+184, y+119 + 12 - i1, 202, 12 - i1, 14, i1 + 2);
- }
- for(int i=0;i<this.container.tileEntity.cablesAmount;i++)
- {
- this.drawTexturedModalRect(x+98, y+12 + 25*i, 198, 13, 4, 25);
- }
- if(timer>0)
- {
- timer--;
- }
- if(timer==1)
- {
- //removeLast.isActive=false;
- removeAll.isActive=false;
- }
- }
-
- private void drawLink(int fromX, int fromY, int toX, int toY, int index)
- {
- int verticalLineOffset = 3*index+3;
- this.drawTexturedModalRect(Math.min(fromX+verticalLineOffset,toX), toY-1, 0, 253, Math.abs(fromX+verticalLineOffset-toX)+(toX<=fromX+verticalLineOffset?1:0), 3);
- this.drawTexturedModalRect(fromX+verticalLineOffset-1, Math.min(fromY, toY), 253, 0, 3, Math.abs(fromY-toY)+(toY<fromY?1:0));
- this.drawTexturedModalRect(fromX, fromY-1, 0, 253, verticalLineOffset, 3);
- }
-
-} \ No newline at end of file
diff --git a/ihl/datanet/RedstoneSignalConverterTileEntity.java b/ihl/datanet/RedstoneSignalConverterTileEntity.java
deleted file mode 100644
index 6d36cb2..0000000
--- a/ihl/datanet/RedstoneSignalConverterTileEntity.java
+++ /dev/null
@@ -1,508 +0,0 @@
-package ihl.datanet;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-import ic2.api.network.INetworkClientTileEntityEventListener;
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.Ic2Items;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlot.Access;
-import ihl.IHLMod;
-import ihl.interfaces.IDataCableHolder;
-import ihl.interfaces.IDataNode;
-import ihl.processing.invslots.InvSlotSignalProcessor;
-import ihl.utils.IHLInvSlotDischarge;
-import ihl.utils.IHLUtils;
-
-public class RedstoneSignalConverterTileEntity extends TileEntityInventory implements IDataCableHolder, INetworkClientTileEntityEventListener, IHasGui{
-
- public final InvSlotSignalProcessor sensorEmitterSlots;
- public final List<NBTTagCompound> cableList;
- public final IHLInvSlotDischarge dischargeSlot;
- public final List<Integer> links = new ArrayList<Integer>();//Short has 16 bits
- public int prevButtonPressed=-1;
- public short energy=0;
- public final static short maxEnergy=Short.MAX_VALUE;
- private int tick=0;
- public boolean linksOrInventoryChanged=false;
- private int inventoryCheckSum=0;
- public final Contact[] contacts = new Contact[68];
- private NBTTagCompound nbtread;
- public boolean checkcableList=true;
- public short cablesAmount=0;
-
- /*Contacts is:
- * 0 - battery slot plus
- * 1 - battery slot minus
- * 2-7 sensors/emitters plus
- * 8-13 sensors/emitters minus
- * 14-49 cableList
- */
-
- public RedstoneSignalConverterTileEntity()
- {
- sensorEmitterSlots = new InvSlotSignalProcessor(this, "sensorEmitterSlots", 0, Access.IO, 6, 2);
- cableList = new ArrayList<NBTTagCompound>();
- dischargeSlot = new IHLInvSlotDischarge(this, 2, Access.IO, 4);
- contacts[0]=new Contact(this,0,null,-1,0);
- contacts[1]=new Contact(this,1,null,-1,1);
- for(int i1=2;i1<8;i1++)
- {
- contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-2,0);
- }
- for(int i1=8;i1<14;i1++)
- {
- sensorEmitterSlots.setStackSizeLimit(1);
- contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-8,1);
- }
- for(int i1=14;i1<50;i1++)
- {
- contacts[i1]=new Contact(this,i1,null, -1, -1);
- }
- for(int i1=50;i1<56;i1++)
- {
- contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-50,2);
- }
- for(int i1=56;i1<62;i1++)
- {
- contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-56,3);
- }
- for(int i1=62;i1<68;i1++)
- {
- contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-02,4);
- }
- }
-
- @Override
- public boolean wrenchCanRemove(EntityPlayer var1)
- {
- return this.cableList.isEmpty();
- }
-
- @Override
- public void setFacing(short facing)
- {
- this.removeAttachedChains();
- }
-
- @Override
- public void onLoaded()
- {
- super.onLoaded();
- if (IC2.platform.isSimulating())
- {
- IC2.network.get().updateTileEntityField(this, "sensorEmitterSlots");
- if(nbtread!=null)
- {
- for(Contact contact1:contacts)
- {
- contact1.readFromNBT(nbtread);
- }
- }
- nbtread=null;
- }
- }
-
- @Override
- public List<String> getNetworkedFields()
- {
- List<String> fields = super.getNetworkedFields();
- fields.add("sensorEmitterSlots");
- return fields;
- }
-
- @Override
- public void updateEntityClient()
- {
- int checkSum=0;
- for(int i=0;i<this.sensorEmitterSlots.size();i++)
- {
- if(this.sensorEmitterSlots.get(i)!=null)
- {
- if(IHLUtils.isItemStacksIsEqual(this.sensorEmitterSlots.get(i), Ic2Items.splitterCableItem, true))
- {
- checkSum++;
- }
- else if(IHLUtils.isItemStacksIsEqual(this.sensorEmitterSlots.get(i), Ic2Items.detectorCableItem, true))
- {
- checkSum+=2;
- }
- }
- }
- if(checkSum!=inventoryCheckSum)
- {
- inventoryCheckSum=checkSum;
- this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
-
- @Override
- public void updateEntityServer()
- {
- super.updateEntityServer();
- if(this.linksOrInventoryChanged && this.energy>0)
- {
- Set<Integer> checkedGrids = new HashSet<Integer>();
- Set<Integer> unCheckedGrids = new HashSet<Integer>();
- InvSlotSignalProcessor slots = this.sensorEmitterSlots;
- for(int i=0;i<slots.size();i++)
- {
- ItemStack is = slots.get(i);
- if(is!=null && IHLUtils.isItemStacksIsEqual(is, Ic2Items.splitterCableItem, true))
- {
- int dgid1 = contacts[i+2].getDataGridID();
- int dgid2 = contacts[i+8].getDataGridID();
- if(dgid1!=-1)
- {
- for(IDataNode contact3:IHLMod.datanet.getGrid(dgid1).telist)
- {
- contact3.checkAttachedSlots();
- if(contact3.getAttachedSlot()!=null)
- {
- Contact c4 = contact3.getAttachedSlot().getOppositeContact(contact3);
- if(!checkedGrids.contains(c4.getDataGridID()))
- {
- unCheckedGrids.add(c4.getDataGridID());
- }
- }
- }
- checkedGrids.add(dgid1);
- }
- if(dgid2!=-1 && dgid2!=dgid1)
- {
- for(IDataNode contact3:IHLMod.datanet.getGrid(dgid2).telist)
- {
- contact3.checkAttachedSlots();
- if(contact3.getAttachedSlot()!=null)
- {
- Contact c4 = contact3.getAttachedSlot().getOppositeContact(contact3);
- if(!checkedGrids.contains(c4.getDataGridID()))
- {
- unCheckedGrids.add(c4.getDataGridID());
- }
- }
- }
- checkedGrids.add(dgid2);
- }
-
- }
-
- }
- Iterator<Integer> ugi = unCheckedGrids.iterator();
- while(!unCheckedGrids.isEmpty())
- {
- Integer dgid2 = ugi.next();
- ugi.remove();
- {
- for(IDataNode contact3:IHLMod.datanet.getGrid(dgid2).telist)
- {
- contact3.checkAttachedSlots();
- if(contact3.getAttachedSlot()!=null)
- {
- Contact c4 = contact3.getAttachedSlot().getOppositeContact(contact3);
- if(!checkedGrids.contains(c4.getDataGridID()))
- {
- unCheckedGrids.add(c4.getDataGridID());
- }
- }
- }
- checkedGrids.add(dgid2);
- }
- }
- this.linksOrInventoryChanged=false;
- }
- if(this.energy < 1)
- {
- this.energy += (short)(this.dischargeSlot.discharge(getDemandedEnergy(), false)*256D);
- }
- if(tick++ % 256==0)
- {
- this.energy--;
- }
- }
-
- @Override
- public String getInventoryName()
- {
- return "redstoneSignalConverter";
- }
- @Override
- public boolean addDataCable(NBTTagCompound cable)
- {
- if(this.cableList.size()<4)
- {
- this.cableList.add(cable);
- return true;
- }
- return false;
- }
-
-
- @Override
- public double[] getPortPos(EntityLivingBase player)
- {
- ForgeDirection direction = ForgeDirection.getOrientation(IHLUtils.getFacingFromPlayerView(player, true)).getOpposite();
- return new double[] {this.xCoord+0.5d+0.5d*direction.offsetX,this.yCoord+direction.offsetY*1.0d,this.zCoord+0.5d+0.5d*direction.offsetZ};
- }
-
- @Override
- public void onNetworkEvent(EntityPlayer player, int event)
- {
- if(prevButtonPressed==-1 && event < 255)
- {
- prevButtonPressed = event;
- }
- else if(prevButtonPressed!=event && event < 255)
- {
- int minor = Math.min(prevButtonPressed,event);
- int major = Math.max(prevButtonPressed,event);
- int link = ((minor<<8) | major);
- this.links.add(link);
- contacts[prevButtonPressed].establishLink(contacts[event]);
- prevButtonPressed=-1;
- }
- else if(event==256 && !this.links.isEmpty())
- {
- int link = this.links.remove(this.links.size()-1);
- Contact contact1 = this.contacts[link >> 8];
- Contact contact2 = this.contacts[link & 255];
- contact1.removeLinkTo(contact2);
- }
- else if(event==257 && !this.links.isEmpty())
- {
- this.links.clear();
- for(Contact contact1:contacts)
- {
- contact1.removeConnections(contacts);
- }
- }
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbt)
- {
- super.writeToNBT(nbt);
- for(Contact contact1:contacts)
- {
- contact1.writeToNBT(nbt);
- }
- if (!links.isEmpty())
- {
- NBTTagList linkList1 = new NBTTagList();
- Iterator<Integer> fli = links.iterator();
- while(fli.hasNext())
- {
- Integer link = fli.next();
- if(link!=null)
- {
- NBTTagCompound linkNBT1 = new NBTTagCompound();
- linkNBT1.setInteger("link", link);
- linkList1.appendTag(linkNBT1);
- }
- }
- nbt.setTag("links", linkList1);
- }
- else
- {
- nbt.setString("Empty", "");
- }
- NBTTagList cableNBTList = new NBTTagList();
- for(NBTTagCompound cable:this.cableList)
- {
- cableNBTList.appendTag(cable);
- }
- nbt.setTag("cableList", cableNBTList);
- nbt.setBoolean("checkcableList", this.checkcableList);
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbt)
- {
- super.readFromNBT(nbt);
- NBTTagList cableNBTList=nbt.getTagList("cableList", 10);
- for(int i=0;i<cableNBTList.tagCount();i++)
- {
- this.cableList.add(cableNBTList.getCompoundTagAt(i));
- }
- if (!nbt.hasKey("Empty"))
- {
- NBTTagList ll = nbt.getTagList("links", 10);
- for(int i=0;i<ll.tagCount();i++)
- {
- NBTTagCompound llNBT1 = ll.getCompoundTagAt(i);
- links.add(llNBT1.getInteger("link"));
- }
- }
- nbtread=nbt;
- this.checkcableList=nbt.getBoolean("checkcableList");
- }
-
- public double getDemandedEnergy()
- {
- return (RedstoneSignalConverterTileEntity.maxEnergy - this.energy)/256D;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer player, boolean flag)
- {
- return new RedstoneSignalConverterGui(new RedstoneSignalConverterContainer(player, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer player)
- {
- return new RedstoneSignalConverterContainer(player, this);
- }
-
- public int getGUIEnergy(int i)
- {
- if(this.energy<Float.MAX_VALUE)
- {
- return Math.round((float)this.energy/(float)RedstoneSignalConverterTileEntity.maxEnergy*i);
- }
- else
- {
- return Math.round((float)(this.energy/(double)RedstoneSignalConverterTileEntity.maxEnergy)*i);
- }
- }
-
- @Override
- public void onGuiClosed(EntityPlayer player) {/*Do nothing*/}
-
- public int isProvidingRedstonePower(int side)
- {
- return this.sensorEmitterSlots.isSlotActivated(side)?15:0;
- }
-
- public void removeAttachedChains()
- {
- if(!cableList.isEmpty())
- {
- Iterator<NBTTagCompound> cli = cableList.iterator();
- while(cli.hasNext())
- {
- NBTTagCompound cl=cli.next();
- IHLMod.datanet.removeCableEntities(cl);
- ItemStack is = IHLUtils.getThisModItemStack("dataCable");
- is.stackTagCompound=cl;
- double[] pps = this.getPortPos(null);
- EntityItem eitem = new EntityItem(worldObj, pps[0], pps[1], pps[2], is);
- worldObj.spawnEntityInWorld(eitem);
- {
- int chainUID = cl.getInteger("chainUID");
- int x1 = cl.getInteger("connectorX1");
- int y1 = cl.getInteger("connectorY1");
- int z1 = cl.getInteger("connectorZ1");
- int connectorDimensionId1 = cl.getInteger("connectorDimensionId1");
- int x = cl.getInteger("connectorX");
- int y = cl.getInteger("connectorY");
- int z = cl.getInteger("connectorZ");
- int connectorDimensionId = cl.getInteger("connectorDimensionId");
- if(x1!=xCoord || y1!=yCoord || z1!=zCoord)
- {
- x=x1;
- y=y1;
- z=z1;
- connectorDimensionId=connectorDimensionId1;
- }
- TileEntity te = MinecraftServer.getServer().worldServerForDimension(connectorDimensionId).getTileEntity(x, y, z);
- if(te instanceof IDataCableHolder)
- {
- IDataCableHolder dch = ((IDataCableHolder)te);
- Contact[] c = this.getContacts(chainUID);
- Contact[] c1 = dch.getContacts(chainUID);
- for(int i2=0;i2<c.length;i2++)
- {
- c[i2].removeLinkTo(c1[i2]);
- }
- dch.removeCable(chainUID);
- }
- cli.remove();
- }
- }
- }
- }
-
- @Override
- public Contact[] getContacts(int chainUID)
- {
- for(int i=0;i<this.cableList.size();i++)
- {
- NBTTagCompound is = this.cableList.get(i);
- if(is.getInteger("chainUID")==chainUID)
- {
- Contact[] contactsOut = new Contact[8];
- for(int i1=0;i1<contactsOut.length;i1++)
- {
- contactsOut[i1]=contacts[i1+i*8+14];
- }
- return contactsOut;
- }
- }
- return null;
- }
-
- @Override
- public void removeCable(int chainUID)
- {
- Iterator<NBTTagCompound> cli = cableList.iterator();
- while(cli.hasNext())
- {
- NBTTagCompound cl=cli.next();
- int chainUID1 = cl.getInteger("chainUID");
- if(chainUID1==chainUID)
- {
- cli.remove();
- return;
- }
- }
- }
-
- @Override
- public Contact getContact(int innerId1)
- {
- return this.contacts[innerId1];
- }
-
-
- @Override
- public boolean isCableRemoved(int chainUniqueID) {
- if(!checkcableList)
- {
- return false;
- }
- for(NBTTagCompound cl:cableList)
- {
- if(cl.getInteger("chainUID")==chainUniqueID)
- {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public void setCableCheck(boolean b)
- {
- this.checkcableList=b;
- }
-}
diff --git a/ihl/enviroment/SpotlightTileEntity.java b/ihl/enviroment/SpotlightTileEntity.java
index b8bebab..ab18ebe 100644
--- a/ihl/enviroment/SpotlightTileEntity.java
+++ b/ihl/enviroment/SpotlightTileEntity.java
@@ -2,7 +2,7 @@ package ihl.enviroment;
import ic2.api.network.INetworkTileEntityEventListener;
import ic2.core.IC2;
import ihl.IHLModInfo;
-import ihl.i_hate_liquids.XYZ;
+import ihl.handpump.XYZ;
import ihl.utils.IHLUtils;
import java.util.HashSet;
diff --git a/ihl/explosion/ChunkAndWorldLoadEventHandler.java b/ihl/explosion/ChunkAndWorldLoadEventHandler.java
index d52672c..b85e636 100644
--- a/ihl/explosion/ChunkAndWorldLoadEventHandler.java
+++ b/ihl/explosion/ChunkAndWorldLoadEventHandler.java
@@ -9,64 +9,56 @@ import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.world.Explosion;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-public class ChunkAndWorldLoadEventHandler
-{
+public class ChunkAndWorldLoadEventHandler {
public static ChunkAndWorldLoadEventHandler instance;
- public ChunkAndWorldLoadEventHandler()
- {
- instance=this;
+
+ public ChunkAndWorldLoadEventHandler() {
+ instance = this;
}
-
+
@SubscribeEvent
- public void onChunkLoadEvent(net.minecraftforge.event.world.ChunkEvent.Load event)
- {
- if(event.getChunk().isChunkLoaded && IHLMod.explosionHandler.blastWaveByDimensionId.containsKey(event.world.provider.dimensionId))
- {
- WorldSavedDataBlastWave bwdata = IHLMod.explosionHandler.blastWaveByDimensionId.get(event.world.provider.dimensionId);
+ public void onChunkLoadEvent(net.minecraftforge.event.world.ChunkEvent.Load event) {
+ if (event.getChunk().isChunkLoaded
+ && IHLMod.explosionHandler.blastWaveByDimensionId.containsKey(event.world.provider.dimensionId)) {
+ WorldSavedDataBlastWave bwdata = IHLMod.explosionHandler.blastWaveByDimensionId
+ .get(event.world.provider.dimensionId);
long cc = ChunkCoordIntPair.chunkXZ2Int(event.getChunk().xPosition, event.getChunk().zPosition);
- if(bwdata.data.containsKey(cc))
- {
+ if (bwdata.data.containsKey(cc)) {
Set<Integer[]> bwArraySet = bwdata.data.remove(cc);
- int[] svset = new int[bwArraySet.size()];
int[] directionMask = new int[3];
- int i=0;
Iterator<Integer[]> bwArrayI = bwArraySet.iterator();
Integer[] bwArray = null;
- while(bwArrayI.hasNext())
- {
- bwArray=bwArrayI.next();
- svset[i]=bwArray[0];
- i++;
- directionMask[0]=bwArray[5];
- directionMask[1]=bwArray[6];
- directionMask[2]=bwArray[7];
- IHLMod.explosionHandler.setPower(bwArray[0], bwArray[4]);
+ while (bwArrayI.hasNext()) {
+ bwArray = bwArrayI.next();
+ directionMask[0] = bwArray[5];
+ directionMask[1] = bwArray[6];
+ directionMask[2] = bwArray[7];
+ Explosion explosion = new Explosion(event.world, null, bwArray[1], bwArray[2], bwArray[3], 100f);
+ IHLMod.explosionHandler.breakBlocksAndGetDescendants(event.world, bwArray[1], bwArray[2],
+ bwArray[3], explosion, bwArray[0], bwArray[4], directionMask);
+ }
+ if (!IHLMod.explosionHandler.isCalculating) {
+ IHLMod.explosionHandler.sendChunkUpdateToPlayersInExplosionAffectedZone(event.world, bwArray[1],
+ bwArray[2], bwArray[3]);
}
-/* IHLMod.log.info("Doing schleduled explosion. Direction: ("+
- directionMask[0]+";"+directionMask[1]+";"+directionMask[2]+") "+
- "svset.length"+svset.length);*/
- IHLMod.explosionHandler.doExplosion(event.world, bwArray[1], bwArray[2], bwArray[3], svset, directionMask, new Explosion(event.world, null, bwArray[1], bwArray[2], bwArray[3], 100f));
- IHLMod.explosionHandler.sendChunkUpdateToPlayersInExplosionAffectedZone(event.world, bwArray[1], bwArray[2], bwArray[3]);
}
}
}
@SubscribeEvent
- public void onWorldLoadEvent(net.minecraftforge.event.world.WorldEvent.Load event)
- {
- WorldSavedDataBlastWave blastWave = (WorldSavedDataBlastWave) event.world.mapStorage.loadData(WorldSavedDataBlastWave.class, "blastWave");
- if(blastWave!=null)
- {
- IHLMod.explosionHandler.blastWaveByDimensionId.put(event.world.provider.dimensionId,blastWave);
+ public void onWorldLoadEvent(net.minecraftforge.event.world.WorldEvent.Load event) {
+ WorldSavedDataBlastWave blastWave = (WorldSavedDataBlastWave) event.world.mapStorage
+ .loadData(WorldSavedDataBlastWave.class, "blastWave");
+ if (blastWave != null) {
+ IHLMod.explosionHandler.blastWaveByDimensionId.put(event.world.provider.dimensionId, blastWave);
}
}
@SubscribeEvent
- public void onWorldSaveEvent(net.minecraftforge.event.world.WorldEvent.Save event)
- {
- if(IHLMod.explosionHandler.blastWaveByDimensionId.containsKey(event.world.provider.dimensionId))
- {
- event.world.mapStorage.setData("blastWave",IHLMod.explosionHandler.blastWaveByDimensionId.get(event.world.provider.dimensionId));
+ public void onWorldSaveEvent(net.minecraftforge.event.world.WorldEvent.Save event) {
+ if (IHLMod.explosionHandler.blastWaveByDimensionId.containsKey(event.world.provider.dimensionId)) {
+ event.world.mapStorage.setData("blastWave",
+ IHLMod.explosionHandler.blastWaveByDimensionId.get(event.world.provider.dimensionId));
}
}
}
diff --git a/ihl/explosion/DetonatorMiniGUI.java b/ihl/explosion/DetonatorMiniGUI.java
index c969983..6a6c421 100644
--- a/ihl/explosion/DetonatorMiniGUI.java
+++ b/ihl/explosion/DetonatorMiniGUI.java
@@ -12,72 +12,70 @@ import ihl.IHLMod;
import ihl.interfaces.ItemMiniGUI;
import ihl.utils.IHLUtils;
-public class DetonatorMiniGUI extends ItemMiniGUI
-{
+public class DetonatorMiniGUI extends ItemMiniGUI {
private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIIronWorkbench.png");
private int detonator_delay;
private GuiTextField detonatorDelayTextField;
private int xPos;
private int yPos;
-
- public DetonatorMiniGUI(GuiContainer gui, Slot slot)
- {
+
+ public DetonatorMiniGUI(GuiContainer gui, Slot slot) {
super(gui, slot);
- detonator_delay=slot.getStack().stackTagCompound.getInteger("detonator_delay");
- xPos = this.slotBase.xDisplayPosition-18;
- yPos = this.slotBase.yDisplayPosition+18;
- detonatorDelayTextField=new GuiTextField(this.guiBase.mc.fontRenderer, xPos+78, yPos+3, 28, 11);
+ detonator_delay = slot.getStack().stackTagCompound.getInteger("detonator_delay");
+ xPos = this.slotBase.xDisplayPosition - 18;
+ yPos = this.slotBase.yDisplayPosition + 18;
+ detonatorDelayTextField = new GuiTextField(this.guiBase.mc.fontRenderer, xPos + TEXT_BOX_POSX,
+ yPos + TEXT_BOX_POSY, TEXT_BOX_WIDTH, 11);
detonatorDelayTextField.setText(Integer.toString(detonator_delay));
detonatorDelayTextField.setFocused(true);
}
@Override
- public void displayGUI()
- {
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- this.guiBase.mc.renderEngine.bindTexture(background);
- this.guiBase.drawTexturedModalRect(xPos, yPos, 0, 202, 126, 25);
- int runnerXPos=xPos+5+114*detonator_delay/1350;
- this.guiBase.drawTexturedModalRect(runnerXPos, yPos+18, 126, 202, 3, 5);
- this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("ihl.detonator_delay"), xPos+3, yPos+4, 0xFFCC00);
+ public void displayGUI() {
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ this.guiBase.mc.renderEngine.bindTexture(background);
+ this.guiBase.drawTexturedModalRect(xPos, yPos, 0, 202, 126, HEIGHT);
+ int runnerXPos = xPos + 5 + 114 * detonator_delay / 1350;
+ this.guiBase.drawTexturedModalRect(runnerXPos, yPos + 34, 126, 202, 3, 5);
+ this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("ihl.detonator_delay"),
+ xPos + 3, yPos + 4, 0xFFCC00);
this.detonatorDelayTextField.drawTextBox();
- this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("s"), xPos+110, yPos+4, 0xFFCC00);
+ this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("s"), xPos + UNITS_LABEL_POSX, yPos + 18,
+ 0xFFCC00);
}
@Override
- public boolean handleMouseClick(int mouseX, int mouseY, int mouseButton)
- {
- if(mouseX>=xPos+5 && mouseX<=xPos+119 && mouseY>=yPos+17 && mouseY<=yPos+24)
- {
- this.detonator_delay=Math.max(1, Math.min(1350,(mouseX-xPos-5)*1350/114));
+ public boolean handleMouseClick(int mouseX, int mouseY, int mouseButton) {
+ if (mouseX >= xPos + 5 && mouseX <= xPos + 119 && mouseY >= yPos + RUNNER_POSY - 1 && mouseY <= yPos + HEIGHT) {
+ this.detonator_delay = Math.max(1, Math.min(1350, (mouseX - xPos - 5) * 1350 / 114));
this.detonatorDelayTextField.setText(Integer.toString(detonator_delay));
}
- if(mouseX>=xPos+78 && mouseX<=xPos+78+28 && mouseY>=yPos+3 && mouseY<=yPos+3+11)
- {
+ if (mouseX >= xPos + TEXT_BOX_POSX && mouseX <= xPos + TEXT_BOX_POSX + TEXT_BOX_WIDTH && mouseY >= yPos + 3
+ && mouseY <= yPos + 3 + 11) {
this.detonatorDelayTextField.setFocused(true);
}
- return mouseX>=xPos && mouseX<=xPos+202 && mouseY>=yPos && mouseY<=yPos+25;
+ return mouseX >= xPos && mouseX <= xPos + 202 && mouseY >= yPos && mouseY <= yPos + HEIGHT;
}
-
+
@Override
- public boolean handleKeyTyped(char characterTyped, int keyIndex)
- {
- this.detonatorDelayTextField.textboxKeyTyped(characterTyped, keyIndex);
- if(keyIndex==KeyEvent.VK_ACCEPT || keyIndex==KeyEvent.VK_ENTER || keyIndex==28 || keyIndex==156)//28 - enter;156 - numpad enter
- {
- this.detonator_delay=Math.max(1, Math.min(1350,(int)(IHLUtils.parseIntSafe(this.detonatorDelayTextField.getText(),this.detonator_delay))));
+ public boolean handleKeyTyped(char characterTyped, int keyIndex) {
+ this.detonatorDelayTextField.textboxKeyTyped(characterTyped, keyIndex);
+ // 28 - enter; 156 - numpad enter
+ if (keyIndex == KeyEvent.VK_ACCEPT || keyIndex == KeyEvent.VK_ENTER || keyIndex == 28 || keyIndex == 156) {
+ this.detonator_delay = Math.max(1, Math.min(1350,
+ (int) (IHLUtils.parseIntSafe(this.detonatorDelayTextField.getText(), this.detonator_delay))));
this.detonatorDelayTextField.setText(Integer.toString(detonator_delay));
this.detonatorDelayTextField.setFocused(false);
return true;
- }
+ }
return false;
- }
+ }
@Override
- public void onGUIClosed()
- {
- IHLMod.proxy.sendItemStackNBTTagFromClientToServerPlayer(this.guiBase.mc.thePlayer, this.slotBase.slotNumber, "detonator_delay", this.detonator_delay);
+ public void onGUIClosed() {
+ IHLMod.proxy.sendItemStackNBTTagFromClientToServerPlayer(this.guiBase.mc.thePlayer, this.slotBase.slotNumber,
+ "detonator_delay", this.detonator_delay);
}
}
diff --git a/ihl/explosion/ExplosionEntityFX.java b/ihl/explosion/ExplosionEntityFX.java
index 38e1034..ffa91fa 100644
--- a/ihl/explosion/ExplosionEntityFX.java
+++ b/ihl/explosion/ExplosionEntityFX.java
@@ -45,7 +45,7 @@ public class ExplosionEntityFX extends EntityFX {
this.lastTickPosZ=this.posZ=this.prevPosZ=this.center[2]=centerZ1;
this.radius=radius1;
float r2 = radius*radius;
- int numParticles = (int)(r2*radius/32)+64;
+ int numParticles = Math.min((int)(r2*radius/32)+64,512);
this.startPos = new double[numParticles][3];
this.pos = new double[numParticles][3];
this.prevPos = new double[numParticles][3];
diff --git a/ihl/explosion/ExplosionVectorBlockV2.java b/ihl/explosion/ExplosionVectorBlockV2.java
index 4ccf638..4489e55 100644
--- a/ihl/explosion/ExplosionVectorBlockV2.java
+++ b/ihl/explosion/ExplosionVectorBlockV2.java
@@ -11,6 +11,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+
import java.util.Map.Entry;
import net.minecraft.block.Block;
@@ -26,527 +27,320 @@ import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
-public class ExplosionVectorBlockV2
-{
- public int[] startVectors = new int[1];
+public class ExplosionVectorBlockV2 {
+ final Set<Integer> startVectors = new HashSet<Integer>();
private final int[][] directionMasks = new int[8][3];
private final int bits = IHLMod.config.explosionVectorSizeBits;
- private final int maxValue = (1<<bits)-1;
- private final int maxArraySize = (1<<bits*3)-1;
- public final int[][] vectors = new int[maxArraySize][2];
- public final float[] explosionPowerDampingFactor = new float[maxArraySize];
- public final int[] explosionPower = new int[maxArraySize];
- public final int[] cachedBlockHardness = new int[maxArraySize];
- public final int[] cachedFluidBlocks = new int[maxArraySize];
- public Map<Integer,List<ItemStack>> cachedBlockDrops = new HashMap<Integer, List<ItemStack>>(128);
- public final List<int[]> dropBlocksPos = new ArrayList<int[]>(64);
- public Set<Chunk> chunksToUpdate=new HashSet<Chunk>(64);
- public Map<Integer,ItemStack> cachedDrops = new HashMap<Integer, ItemStack>(128);
- public Set<Integer> dropBlocks = new HashSet<Integer>();
- public Map<Integer,WorldSavedDataBlastWave> blastWaveByDimensionId = new HashMap<Integer, WorldSavedDataBlastWave>();
- private Entity[] cachedEntities = new Entity[maxArraySize];
+ private final int maxValue = (1 << bits) - 1;
+ private final int halfValue = (1 << bits - 1) - 1;
+ private final int maxArraySize = 1 << bits * 3;
+ private final int[][] vectors = new int[maxArraySize][2];
+ private final Set<Chunk> chunksToUpdate = new HashSet<Chunk>(64);
+ private final Map<Integer, ItemStack> cachedDrops = new HashMap<Integer, ItemStack>(128);
+ final Map<Integer, WorldSavedDataBlastWave> blastWaveByDimensionId = new HashMap<Integer, WorldSavedDataBlastWave>();
+ private final Map<ExtendedBlockStorage, Entity[]> cachedEntities = new HashMap<ExtendedBlockStorage, Entity[]>();
+ public boolean isCalculating = false;
- public ExplosionVectorBlockV2()
- {
+ public ExplosionVectorBlockV2() {
this.precalculateExplosion();
- directionMasks[0] = new int[] {1,1,1};
- directionMasks[1] = new int[] {-1,1,1};
- directionMasks[2] = new int[] {1,-1,1};
- directionMasks[3] = new int[] {1,1,-1};
- directionMasks[4] = new int[] {-1,-1,1};
- directionMasks[5] = new int[] {1,-1,-1};
- directionMasks[6] = new int[] {-1,1,-1};
- directionMasks[7] = new int[] {-1,-1,-1};
- Arrays.fill(cachedBlockHardness,-1);
+ startVectors.add(0);
+ directionMasks[0] = new int[] { 1, 1, 1 };
+ directionMasks[1] = new int[] { -1, 1, 1 };
+ directionMasks[2] = new int[] { 1, -1, 1 };
+ directionMasks[3] = new int[] { 1, 1, -1 };
+ directionMasks[4] = new int[] { -1, -1, 1 };
+ directionMasks[5] = new int[] { 1, -1, -1 };
+ directionMasks[6] = new int[] { -1, 1, -1 };
+ directionMasks[7] = new int[] { -1, -1, -1 };
}
-
- private int encodeXYZ(int x, int y, int z)
- {
- return x<<bits*2|y<<bits|z;
+
+ private int encodeXYZ(int x, int y, int z) {
+ return x << bits * 2 | y << bits | z;
}
-
- private int[] decodeXYZ(int l)
- {
- return new int[] {l>>bits*2,l>>bits&maxValue,l&maxValue};
+
+ private int[] decodeXYZ(int l) {
+ return new int[] { l >> bits * 2, l >> bits & maxValue, l & maxValue };
}
-
- public void precalculateExplosion()
- {
- startVectors[0]=0;
- explosionPowerDampingFactor[0]=1f;
- for(int levelRadius=1; levelRadius<this.maxValue; levelRadius++)
- for(int ix=0;ix<=levelRadius;ix++)
- for(int iy=0;iy<=levelRadius;iy++)
- for(int iz=(ix==levelRadius||iy==levelRadius)?0:levelRadius;iz<=levelRadius;iz++)
- {
- int vxyz = encodeXYZ(ix,iy,iz);
- int[] prevXYZ= new int[] {ix,iy,iz};
- reduceCoordinate(prevXYZ, levelRadius);
- int pvxyz = encodeXYZ(prevXYZ[0],prevXYZ[1],prevXYZ[2]);
- findFreeSpace(pvxyz,vxyz);
- float df = (float)(prevXYZ[0]*prevXYZ[0]+prevXYZ[1]*prevXYZ[1]+prevXYZ[2]*prevXYZ[2]+64)/(float)(ix*ix+iy*iy+iz*iz+64);
- explosionPowerDampingFactor[vxyz]=df;
- }
+
+ public void precalculateExplosion() {
+ for (int levelRadius = 1; levelRadius <= this.maxValue; levelRadius++)
+ for (int ix = 0; ix <= levelRadius; ix++)
+ for (int iy = 0; iy <= levelRadius; iy++)
+ for (int iz = (ix == levelRadius || iy == levelRadius) ? 0 : levelRadius; iz <= levelRadius; iz++) {
+ int vxyz = encodeXYZ(ix, iy, iz);
+ int[] prevXYZ = new int[] { ix, iy, iz };
+ reduceCoordinate(prevXYZ);
+ int pvxyz = encodeXYZ(prevXYZ[0], prevXYZ[1], prevXYZ[2]);
+ findFreeSpace(pvxyz, vxyz);
+ }
}
-
- private void findFreeSpace(int pvxyz,int vxyz)
- {
- if(vectors[pvxyz][0]==0)
- {
- vectors[pvxyz][0]=vxyz;
- }
- else if(vectors[pvxyz][1]==0)
- {
- vectors[pvxyz][1]=vxyz;
- }
- else
- {
- findFreeSpace(vectors[pvxyz][0],vxyz);
+
+ private void findFreeSpace(int pvxyz, int vxyz) {
+ if (vectors[pvxyz][0] == 0) {
+ vectors[pvxyz][0] = vxyz;
+ } else if (vectors[pvxyz][1] == 0) {
+ vectors[pvxyz][1] = vxyz;
+ } else {
+ findFreeSpace(vectors[pvxyz][0], vxyz);
}
}
- private void reduceCoordinate(int[] pxyz, int levelRadius)
- {
- if(Math.abs(pxyz[0])+Math.abs(pxyz[1])+Math.abs(pxyz[2])>Math.round(levelRadius*1.8f))
- {
- pxyz[0]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[0]);
- pxyz[1]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[1]);
- pxyz[2]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[2]);
- }
- else if(Math.abs(pxyz[0])<=Math.abs(pxyz[1]) && Math.abs(pxyz[0])<=Math.abs(pxyz[2]))
- {
- pxyz[1]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[1]);
- pxyz[2]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[2]);
- }
- else if(Math.abs(pxyz[1])<=Math.abs(pxyz[0]) && Math.abs(pxyz[1])<=Math.abs(pxyz[2]))
- {
- pxyz[0]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[0]);
- pxyz[2]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[2]);
+ private void reduceCoordinate(int[] pxyz) {
+
+ if (pxyz[0] >= pxyz[1] && pxyz[0] >= pxyz[2] && pxyz[0] > 0) {
+ pxyz[0]--;
}
- else if(Math.abs(pxyz[2])<=Math.abs(pxyz[0]) && Math.abs(pxyz[2])<=Math.abs(pxyz[1]))
- {
- pxyz[1]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[1]);
- pxyz[0]=IHLUtils.reduceVariableByAbsoluteValue(pxyz[0]);
+ if (pxyz[1] >= pxyz[0] && pxyz[1] >= pxyz[2] && pxyz[1] > 0) {
+ pxyz[1]--;
}
- }
-
- public void setPower(int[] sv2, int power1)
- {
- for(int ev:sv2)
- {
- this.setPower(ev, power1);
+ if (pxyz[2] >= pxyz[1] && pxyz[2] >= pxyz[0] && pxyz[2] > 0) {
+ pxyz[2]--;
}
}
- public void setPower(int ev, int power1) {
- this.explosionPower[ev]=power1;
- }
-
- public int[] breakBlocksAndGetDescendants(World world, int sourceX,int sourceY,int sourceZ, Explosion explosion, int ev, int[] directionMask)
- {
- int power1 = explosionPower[ev];
- power1 = this.getNewPowerAndProcessBlocks(world, ev, sourceX, sourceY, sourceZ, explosion, power1, directionMask);
- power1 = (int)(power1*explosionPowerDampingFactor[ev])-1;
- if(power1<=1 || this.vectors[ev][0]==0)
- {
- return null;
- }
- else
- {
- for(int d1:this.vectors[ev])
- {
- if(d1!=0)
- {
- explosionPower[d1]=power1;
+ public void breakBlocksAndGetDescendants(World world, int sourceX, int sourceY, int sourceZ, Explosion explosion,
+ int ev, int power, int[] directionMask) {
+ power = this.getNewPowerAndProcessBlocks(world, ev, sourceX, sourceY, sourceZ, explosion, power, directionMask);
+ power = (int) (power * 0.94) - 1;
+ if (power > 1) {
+ if (this.vectors[ev][0] == 0) {
+ int[] xyz = decodeXYZ(ev);
+ int xb = xyz[0] >> bits - 1;
+ int yb = xyz[1] >> bits - 1;
+ int zb = xyz[2] >> bits - 1;
+ int hashb = xb << 2 | yb << 1 | zb;
+ xyz[0] -= xb * halfValue;
+ xyz[1] -= yb * halfValue;
+ xyz[2] -= zb * halfValue;
+ if (hashb == 0 || xb > 1 || yb > 1 || zb > 1) {
+ throw new ArithmeticException("End vectors shall be higher than half value");
+ }
+ int ev2 = encodeXYZ(xyz[0], xyz[1], xyz[2]);
+ breakBlocksAndGetDescendants(world, sourceX + xb * halfValue * directionMask[0],
+ sourceY + yb * halfValue * directionMask[1], sourceZ + zb * halfValue * directionMask[2],
+ explosion, ev2, power, directionMask);
+ } else {
+ for (int d1 : this.vectors[ev]) {
+ if (d1 != 0) {
+ breakBlocksAndGetDescendants(world, sourceX, sourceY, sourceZ, explosion, d1, power,
+ directionMask);
+ }
}
}
- return this.vectors[ev];
}
- }
-
- private int getNewPowerAndProcessBlocks(World world, int ev, int sourceX, int sourceY, int sourceZ, Explosion explosion, int power2, int[] directionMask)
- {
- int power1=power2;
+ }
+
+ private int getNewPowerAndProcessBlocks(World world, int ev, int sourceX, int sourceY, int sourceZ,
+ Explosion explosion, int power2, int[] directionMask) {
+ int power1 = power2;
int[] xyz = decodeXYZ(ev);
- int absX = xyz[0]*directionMask[0] + sourceX;
- int absY = xyz[1]*directionMask[1] + sourceY;
- int absZ = xyz[2]*directionMask[2] + sourceZ;
- if(absY<0 || absY>=256)
- {
+ int absX = xyz[0] * directionMask[0] + sourceX;
+ int absY = xyz[1] * directionMask[1] + sourceY;
+ int absZ = xyz[2] * directionMask[2] + sourceZ;
+ if (absY < 0 || absY >= 256) {
return 0;
}
- int absEBSX = absX>>4;
- int absEBSZ = absZ>>4;
- if(world.getChunkProvider().chunkExists(absEBSX, absEBSZ))
- {
- if(world.getChunkProvider().provideChunk(absEBSX, absEBSZ).getTopFilledSegment()+24>=absY)
- {
- int explosionResistance = this.getBlockResistance(world, ev, absX, absY, absZ, sourceX, sourceY, sourceZ, explosion, directionMask);
- if(explosionResistance>=power1)
- {
- if(this.cachedFluidBlocks[ev]!=0)
- {
- //IHLMod.log.info("Schleduling update for "+Block.getBlockById(this.cachedFluidBlocks[ev]).getUnlocalizedName());
- Block block = Block.getBlockById(this.cachedFluidBlocks[ev]);
- block.onNeighborBlockChange(world, absX, absY, absZ, block);
- }
- else
- {
- this.dropBlocksPos.add(new int[] {absX, absY+1, absZ});
- }
- return 0;
- }
- else
- {
- power1-=explosionResistance;
- this.onBlockDestroy(world, ev, absX, absY, absZ, power1, explosion);
- return power1;
- }
- }
- else
- {
+ int absEBSX = absX >> 4;
+ int absEBSZ = absZ >> 4;
+ if (world.getChunkProvider().chunkExists(absEBSX, absEBSZ)) {
+ if (world.getChunkProvider().provideChunk(absEBSX, absEBSZ).getTopFilledSegment() + 24 >= absY) {
+ int remainingPower = this.tryDestroyBlock(world, absX, absY, absZ, sourceX, sourceY, sourceZ, power1,
+ explosion);
+ return remainingPower;
+ } else {
return 0;
}
- }
- else
- {
+ } else {
WorldSavedDataBlastWave blastWave = null;
int dimensionId = world.provider.dimensionId;
- if(this.blastWaveByDimensionId.containsKey(dimensionId))
- {
- blastWave=this.blastWaveByDimensionId.get(dimensionId);
- }
- else
- {
- blastWave=new WorldSavedDataBlastWave("blastWave");
+ if (this.blastWaveByDimensionId.containsKey(dimensionId)) {
+ blastWave = this.blastWaveByDimensionId.get(dimensionId);
+ } else {
+ blastWave = new WorldSavedDataBlastWave("blastWave");
this.blastWaveByDimensionId.put(dimensionId, blastWave);
}
- long chunkXZKey = ChunkCoordIntPair.chunkXZ2Int(absEBSX, absEBSZ);
- blastWave.scheduleExplosionEffectsOnChunkLoad(chunkXZKey, ev, sourceX, sourceY, sourceZ, power1, directionMask);
+ long chunkXZKey = ChunkCoordIntPair.chunkXZ2Int(absEBSX, absEBSZ);
+ blastWave.scheduleExplosionEffectsOnChunkLoad(chunkXZKey, ev, sourceX, sourceY, sourceZ, power1,
+ directionMask);
return 0;
}
}
-
- public int getBlockResistance(World world, int ev, int absX, int absY, int absZ, int sourceX, int sourceY, int sourceZ, Explosion explosion, int[] directionMask)
- {
- if(this.cachedBlockHardness[ev]!=-1)
- {
- return this.cachedBlockHardness[ev];
- }
- else
- {
- this.precacheEBSBlocks(world, absX, absY, absZ, sourceX, sourceY, sourceZ, explosion, directionMask);
- return this.cachedBlockHardness[ev];
- }
- }
- public void precacheEBSBlocks(World world, int absX, int absY, int absZ, int sourceX, int sourceY, int sourceZ, Explosion explosion, int[] directonMask)
- {
- Chunk chunk = world.getChunkProvider().provideChunk(absX>>4, absZ>>4);
- List<Entity> eList = this.getEntityList(chunk, absX, absY, absZ);
- if(eList!=null)
- {
- Iterator<Entity> eListI = eList.iterator();
- while(eListI.hasNext())
- {
- Entity entity = eListI.next();
- int entityX = (int)entity.boundingBox.minX;
- int entityY = (int)entity.boundingBox.minY;
- int entityZ = (int)entity.boundingBox.minZ;
- int rx = (entityX - sourceX) * directonMask[0];
- int ry = (entityY - sourceY) * directonMask[1];
- int rz = (entityZ - sourceZ) * directonMask[2];
- int ev = this.encodeXYZ(rx, ry, rz);
- if(rx >= 0 && ry >= 0 && rz >= 0 && ev>=0 && ev<this.maxArraySize)
- {
- this.cachedEntities[ev]=entity;
- }
- }
- }
+ public int tryDestroyBlock(World world, int absX, int absY, int absZ, int sourceX, int sourceY, int sourceZ,
+ int power, Explosion explosion) {
+ Chunk chunk = world.getChunkProvider().provideChunk(absX >> 4, absZ >> 4);
ExtendedBlockStorage ebs = this.getEBS(chunk, absX, absY, absZ);
- if(ebs==null)
- {
- for(int i4=0;i4<4096;i4++)
- {
- int blockWorldX = (i4 & 15)|(absX & 0xFFFFFFF0);
- int blockWorldY = ((i4>>8) & 15)|(absY & 0xFFFFFFF0);
- int blockWorldZ = ((i4>>4) & 15)|(absZ & 0xFFFFFFF0);
-
- int rx = (blockWorldX - sourceX) * directonMask[0];
- int ry = (blockWorldY - sourceY) * directonMask[1];
- int rz = (blockWorldZ - sourceZ) * directonMask[2];
-
- int ev = this.encodeXYZ(rx, ry, rz);
- if(rx >= 0 && ry >= 0 && rz >= 0 && ev>=0 && ev<this.maxArraySize)
- {
- this.cachedBlockHardness[ev]=0;
+ if (ebs == null) {
+ return power;
+ } else {
+ Block block = ebs.getBlockByExtId(absX & 15, absY & 15, absZ & 15);
+ if (block.getBlockHardness(world, absX, absY, absZ) < 0) {
+ return 0;
+ } else if (absX == sourceX && absY == sourceY && absZ == sourceZ) {
+ int array_index = (absY & 15) << 8 | (absZ & 15) << 4 | (absX & 15);
+ if (ebs.getBlockLSBArray()[array_index] != 0 && ebs.getBlockMSBArray() != null
+ && ebs.getBlockMSBArray().get(absX & 15, absY & 15, absZ & 15) != 0) {
+ ebs.blockRefCount--;
+ }
+ ebs.getBlockLSBArray()[array_index] = 0;
+ if (ebs.getBlockMSBArray() != null) {
+ ebs.getBlockMSBArray().set(absX & 15, absY & 15, absZ & 15, 0);
+ }
+ return power;
+ } else {
+ int remainingPower = power
+ - (int) (block.getExplosionResistance(null, world, absX, absY, absZ, sourceX, sourceY, sourceZ)
+ * 10f + 0.5f);
+ if (remainingPower >= 0) {
+ int array_index = (absY & 15) << 8 | (absZ & 15) << 4 | (absX & 15);
+ if (ebs.getBlockLSBArray()[array_index] != 0 && ebs.getBlockMSBArray() != null
+ && ebs.getBlockMSBArray().get(absX & 15, absY & 15, absZ & 15) != 0) {
+ ebs.blockRefCount--;
+ }
+ ebs.getBlockLSBArray()[array_index] = 0;
+ if (ebs.getBlockMSBArray() != null) {
+ ebs.getBlockMSBArray().set(absX & 15, absY & 15, absZ & 15, 0);
+ }
+ List<ItemStack> dropsList = block.getDrops(world, absX, absY, absZ,
+ ebs.getExtBlockMetadata(absX & 15, absY & 15, absZ & 15), 0);
+ Iterator<ItemStack> drops = dropsList.iterator();
+ while (drops.hasNext()) {
+ ItemStack drop = drops.next();
+ int key = Item.getIdFromItem(drop.getItem()) ^ (drop.getItemDamage() << 16);
+ if (this.cachedDrops.containsKey(key)) {
+ this.cachedDrops.get(key).stackSize += drop.stackSize;
+ } else {
+ this.cachedDrops.put(key, drop);
+ }
+ }
+ Entity[] entities = this.getFromOrCreateCache(world, ebs, absX, absY, absZ);
+ if (entities != null && entities[array_index] != null) {
+ entities[array_index].attackEntityFrom(DamageSource.setExplosionSource(explosion), power / 10f);
+ }
+ } else {
+ block.onNeighborBlockChange(world, absX, absY, absZ, block);
+ if ((++absY & 15) != 0) {
+ int array_index = (absY & 15) << 8 | (absZ & 15) << 4 | (absX & 15);
+ if (ebs.getBlockLSBArray()[array_index] == 0 && (ebs.getBlockMSBArray() == null
+ || ebs.getBlockMSBArray().get(absX & 15, absY & 15, absZ & 15) == 0)) {
+ this.placeDrops(world, absX, absY, absZ);
+ }
+ }
}
+ return remainingPower;
}
}
- else
- {
- byte[] lbsArray = ebs.getBlockLSBArray();
- for(int i4=0;i4<lbsArray.length;i4++)
- {
- int var4 = lbsArray[i4] & 255;
- if (ebs.getBlockMSBArray() != null)
- {
- var4 |= ebs.getBlockMSBArray().get(i4 & 15, (i4>>8) & 15, (i4>>4) & 15) << 8;
- }
- int blockWorldX = (i4 & 15)|(absX & 0xFFFFFFF0);
- int blockWorldY = ((i4>>8) & 15)|(absY & 0xFFFFFFF0);
- int blockWorldZ = ((i4>>4) & 15)|(absZ & 0xFFFFFFF0);
- int rx = (blockWorldX - sourceX) * directonMask[0];
- int ry = (blockWorldY - sourceY) * directonMask[1];
- int rz = (blockWorldZ - sourceZ) * directonMask[2];
-
- int ev = this.encodeXYZ(rx, ry, rz);
- if(rx >= 0 && ry >= 0 && rz >= 0 && ev>=0 && ev<this.maxArraySize)
- {
- Block block = Block.getBlockById(var4);
- if(block.canDropFromExplosion(explosion))
- {
- List<ItemStack> dropsList = (block.getDrops(world, blockWorldX, blockWorldY, blockWorldZ, ebs.getExtBlockMetadata(i4 & 15, (i4>>8) & 15, (i4>>4) & 15), 0));
- if(dropsList!=null)
- {
- this.cachedBlockDrops.put(ev, dropsList);
- }
- }
- if(block.getBlockHardness(world, blockWorldX, blockWorldY, blockWorldZ)<0)
- {
- this.cachedBlockHardness[ev]=Integer.MAX_VALUE;
- }
- else if(ev==0 && directonMask[0]+directonMask[1]+directonMask[2]==3)
- {
- this.cachedBlockHardness[ev]=0;
- }
- else
- {
- int br=Math.round(block.getExplosionResistance(null, world, blockWorldX, blockWorldY, blockWorldZ, sourceX, sourceY, sourceZ)*10f);
- this.cachedBlockHardness[ev]=br;
- }
- if(block.getMaterial().isLiquid())
- {
- this.cachedFluidBlocks[ev]=var4;
- }
+ }
+
+ public Entity[] getFromOrCreateCache(World world, ExtendedBlockStorage ebs, int absX, int absY, int absZ) {
+ Entity[] entities = this.cachedEntities.get(ebs);
+ if (entities == null) {
+ Chunk chunk = world.getChunkProvider().provideChunk(absX >> 4, absZ >> 4);
+ List<Entity> eList = this.getEntityList(chunk, absX, absY, absZ);
+ if (eList != null && !eList.isEmpty()) {
+ entities = new Entity[4096];
+ Iterator<Entity> eListI = eList.iterator();
+ this.cachedEntities.put(ebs, entities);
+ while (eListI.hasNext()) {
+ Entity entity = eListI.next();
+ int entityX = (int) entity.boundingBox.minX;
+ int entityY = (int) entity.boundingBox.minY;
+ int entityZ = (int) entity.boundingBox.minZ;
+ int rx = entityX & 15;
+ int ry = entityY & 15;
+ int rz = entityZ & 15;
+ int array_index = ry << 8 | rz << 4 | rx;
+ entities[array_index] = entity;
}
}
}
- }
-
- public ExtendedBlockStorage getEBS(Chunk chunk, int absX, int absY, int absZ)
- {
+ return entities;
+ }
+
+ public ExtendedBlockStorage getEBS(Chunk chunk, int absX, int absY, int absZ) {
ExtendedBlockStorage[] ebsA = chunk.getBlockStorageArray();
- ExtendedBlockStorage ebs = ebsA[absY>>4];
- if(ebs!=null)
- {
+ ExtendedBlockStorage ebs = ebsA[absY >> 4];
+ if (ebs != null) {
this.chunksToUpdate.add(chunk);
}
return ebs;
}
@SuppressWarnings("unchecked")
- public List<Entity> getEntityList(Chunk chunk, int absX, int absY, int absZ)
- {
- return chunk.entityLists[absY>>4];
+ public List<Entity> getEntityList(Chunk chunk, int absX, int absY, int absZ) {
+ return chunk.entityLists[absY >> 4];
}
-
- public void onBlockDestroy(World world, int ev, int absX,int absY,int absZ, int power, Explosion explosion)
- {
- Chunk chunk = world.getChunkProvider().provideChunk(absX>>4, absZ>>4);
- ExtendedBlockStorage ebs = this.getEBS(chunk, absX, absY, absZ);
- if(ebs==null || ebs.isEmpty())
- {
- return;
- }
- int array_index = (absY & 15)<<8 | (absZ & 15)<<4 | (absX & 15);
- if(ebs.getBlockLSBArray()[array_index] != 0 &&
- ebs.getBlockMSBArray()!=null &&
- ebs.getBlockMSBArray().get(absX & 15, absY & 15, absZ & 15) != 0)
- {
- ebs.blockRefCount--;
- }
- ebs.getBlockLSBArray()[array_index] = 0;
- if(ebs.getBlockMSBArray()!=null){
- ebs.getBlockMSBArray().set(absX & 15, absY & 15, absZ & 15, 0);
- }
- if(this.cachedBlockDrops.containsKey(ev))
- {
- Iterator<ItemStack> drops = this.cachedBlockDrops.remove(ev).iterator();
- while(drops.hasNext())
- {
- ItemStack drop = drops.next();
- int key = Item.getIdFromItem(drop.getItem())^(drop.getItemDamage()<<16);
- if(this.cachedDrops.containsKey(key))
- {
- this.cachedDrops.get(key).stackSize+=drop.stackSize;
- }
- else
- {
- this.cachedDrops.put(key, drop);
- }
- }
- }
- Entity victim = this.cachedEntities[ev];
- if(victim!=null)
- {
- victim.attackEntityFrom(DamageSource.setExplosionSource(explosion), power/10f);
- this.cachedEntities[ev]=null;
- }
- this.dropBlocks.add(ev);
- }
-
- private void addDrops(World world, int sourceX, int sourceY, int sourceZ, int[] directionMask)
- {
+ private void placeDrops(World world, int x, int y, int z) {
Iterator<Entry<Integer, ItemStack>> di = this.cachedDrops.entrySet().iterator();
- Entry<Integer, ItemStack> cde = di.next();
- while(di.hasNext() && this.dropBlocksPos.size() > 0)
- {
- int[] xyz = this.dropBlocksPos.remove(this.dropBlocksPos.size()-1);
- int x = xyz[0];
- int y = xyz[1];
- int z = xyz[2];
- int rx = (x - sourceX) * directionMask[0];
- int ry = (y - sourceY) * directionMask[1];
- int rz = (z - sourceZ) * directionMask[2];
- int ev = encodeXYZ(rx,ry,rz);
- int ev2 = encodeXYZ(rx,ry-1,rz);
- if(this.dropBlocks.contains(ev) && !this.dropBlocks.contains(ev2))
- {
- ItemStack stack = cde.getValue();
- if(stack!=null && stack.getItem()!=null && stack.stackSize>0)
- {
- if(stack.stackSize <= stack.getMaxStackSize())
- {
- if(stack.stackSize>0)
- {
- PileTileEntity pte = new PileTileEntity();
- pte.xCoord=x;
- pte.yCoord=y;
- pte.zCoord=z;
- pte.setWorldObj(world);
- pte.validate();
- pte.setContent(stack);
- IHLUtils.setBlockAndTileEntityRaw(world, x, y, z, PileBlock.instance, pte);
- }
- di.remove();
- if(di.hasNext())
- {
- cde = di.next();
- }
- else
- {
- return;
- }
- }
- else
- {
- ItemStack stack1=stack.copy();
- stack1.stackSize=stack.getMaxStackSize();
- PileTileEntity pte = new PileTileEntity();
- pte.content=stack1;
- IHLUtils.setBlockAndTileEntityRaw(world, x, y, z, PileBlock.instance, pte);
- stack.stackSize-=stack.getMaxStackSize();
+ if (di.hasNext()) {
+ Entry<Integer, ItemStack> cde = di.next();
+ ItemStack stack = cde.getValue();
+ if (stack != null && stack.getItem() != null && stack.stackSize > 0) {
+ if (stack.stackSize <= stack.getMaxStackSize()) {
+ if (stack.stackSize > 0) {
+ PileTileEntity pte = new PileTileEntity();
+ pte.xCoord = x;
+ pte.yCoord = y;
+ pte.zCoord = z;
+ pte.setWorldObj(world);
+ pte.validate();
+ pte.setContent(stack);
+ IHLUtils.setBlockAndTileEntityRaw(world, x, y, z, PileBlock.instance, pte);
}
+ di.remove();
+ } else {
+ ItemStack stack1 = stack.copy();
+ stack1.stackSize = stack.getMaxStackSize();
+ PileTileEntity pte = new PileTileEntity();
+ pte.content = stack1;
+ IHLUtils.setBlockAndTileEntityRaw(world, x, y, z, PileBlock.instance, pte);
+ stack.stackSize -= stack.getMaxStackSize();
}
}
}
}
-
- public void sendChunkUpdateToPlayersInExplosionAffectedZone(World world, int sourceX, int sourceY, int sourceZ)
- {
-// Set<Long> clientSideChunkXZKeySet = new HashSet<Long>();
+
+ public void sendChunkUpdateToPlayersInExplosionAffectedZone(World world, int sourceX, int sourceY, int sourceZ) {
Iterator<Chunk> ci = this.chunksToUpdate.iterator();
- while(ci.hasNext())
- {
+ while (ci.hasNext()) {
Chunk chunk = ci.next();
chunk.generateSkylightMap();
Arrays.fill(chunk.updateSkylightColumns, true);
chunk.func_150804_b(false);
-// long chunkXZKey = ChunkCoordIntPair.chunkXZ2Int(chunk.xPosition, chunk.zPosition);
-// clientSideChunkXZKeySet.add(chunkXZKey);
}
List<Chunk> chunks = new ArrayList<Chunk>();
chunks.addAll(this.chunksToUpdate);
- for(Object player:world.playerEntities)
- {
- if(player instanceof EntityPlayerMP)
- {
- EntityPlayerMP playerMP = (EntityPlayerMP)player;
+ for (Object player : world.playerEntities) {
+ if (player instanceof EntityPlayerMP) {
+ EntityPlayerMP playerMP = (EntityPlayerMP) player;
playerMP.playerNetServerHandler.sendPacket(new S26PacketMapChunkBulk(chunks));
}
}
-// IHLMod.proxy.sendChunksLightUpdateQuery(world, sourceX, sourceY, sourceZ, clientSideChunkXZKeySet);
this.chunksToUpdate.clear();
}
- public void doExplosion(World world, int sourceX, int sourceY, int sourceZ, final int[] startVectors1, int[] directionMask, Explosion explosion)
- {
- boolean doExplosion=true;
- int[] sv = null;
- int svsize = 0;
- while(doExplosion)
- {
- int[] sv2= new int[1<<bits*2];
- int sv2size = 0;
- if(sv==null)
- {
- sv = startVectors1;
- svsize = startVectors1.length;
- }
- for(int i=0;i<svsize;i++)
- {
- int[] sv3 = this.breakBlocksAndGetDescendants(world,
- sourceX-(directionMask[0]<0?1:0),
- sourceY-(directionMask[1]<0?1:0),
- sourceZ-(directionMask[2]<0?1:0),
- explosion, sv[i],directionMask);
- if(sv3!=null)
- {
- for(int sv3v:sv3)
- {
- if(sv3v!=0)
- {
- sv2[sv2size]=sv3v;
- sv2size++;
- }
- }
- }
- }
- if(sv2size==0)
- {
- doExplosion=false;
- sv = null;
- if(!this.cachedDrops.isEmpty())
- {
- addDrops(world, sourceX, sourceY, sourceZ, directionMask);
- }
- break;
- }
- else
- {
- sv=sv2;
- svsize=sv2size;
- }
+ public void doExplosion(World world, int sourceX, int sourceY, int sourceZ, final Set<Integer> startVectors1,
+ int startPower, int[] directionMask, Explosion explosion) {
+ for (int sv : startVectors1) {
+ this.breakBlocksAndGetDescendants(world, sourceX - (directionMask[0] < 0 ? 1 : 0),
+ sourceY - (directionMask[1] < 0 ? 1 : 0), sourceZ - (directionMask[2] < 0 ? 1 : 0), explosion, sv,
+ startPower, directionMask);
}
// Free and clean resources
- this.cachedBlockDrops.clear();
this.cachedDrops.clear();
- this.dropBlocks.clear();
- this.dropBlocksPos.clear();
- Arrays.fill(cachedBlockHardness,-1);
- Arrays.fill(cachedFluidBlocks,0);
- }
+ this.cachedEntities.clear();
+ }
- public void doExplosion(World world, int sourceX, int sourceY, int sourceZ, final int[] startVectors1)
- {
+ public void doExplosion(World world, int sourceX, int sourceY, int sourceZ, final Set<Integer> startVectors1,
+ int startPower) {
IHLMod.log.info("Starting explosion server");
+ isCalculating = true;
Explosion explosion = new Explosion(world, null, sourceX, sourceY, sourceZ, 100f);
- for(int[] directionMask:directionMasks)
- {
- this.doExplosion(world, sourceX, sourceY, sourceZ, startVectors1, directionMask, explosion);
+ for (int[] directionMask : directionMasks) {
+ this.doExplosion(world, sourceX, sourceY, sourceZ, startVectors1, startPower, directionMask, explosion);
}
sendChunkUpdateToPlayersInExplosionAffectedZone(world, sourceX, sourceY, sourceZ);
+ isCalculating = false;
}
} \ No newline at end of file
diff --git a/ihl/explosion/ExplosiveBlock.java b/ihl/explosion/ExplosiveBlock.java
index 446b177..5943be2 100644
--- a/ihl/explosion/ExplosiveBlock.java
+++ b/ihl/explosion/ExplosiveBlock.java
@@ -50,12 +50,12 @@ public class ExplosiveBlock extends Block implements ITileEntityProvider{
ItemStack result = new ItemStack(item);
result.stackTagCompound=new NBTTagCompound();
result.stackTagCompound.setInteger("explosionType", 1);//0 - IC2; 1- IHL
- result.stackTagCompound.setInteger("explosionPower", 100);
+ result.stackTagCompound.setInteger("explosionPower", 31000);
itemList.add(result);
result = new ItemStack(item);
result.stackTagCompound=new NBTTagCompound();
result.stackTagCompound.setInteger("explosionType", 1);//0 - IC2; 1- IHL
- result.stackTagCompound.setInteger("explosionPower", 31000);//31000
+ result.stackTagCompound.setInteger("explosionPower", Integer.MAX_VALUE);//31000
itemList.add(result);
}
diff --git a/ihl/explosion/ExplosiveTileEntity.java b/ihl/explosion/ExplosiveTileEntity.java
index 002c959..cfae646 100644
--- a/ihl/explosion/ExplosiveTileEntity.java
+++ b/ihl/explosion/ExplosiveTileEntity.java
@@ -4,82 +4,75 @@ import ic2.core.IC2;
import ihl.IHLMod;
import ihl.utils.IHLMathUtils;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.oredict.OreDictionary;
public class ExplosiveTileEntity extends TileEntity {
-
- public int explosionPower=10000;
- private int explosionType=1;
- private int detonator_delay=1;
- private int burn_time=0;
- public boolean is_detonator_burning = false;
+ public int explosionPower = 10000;
+ private int explosionType = 1;
+ private int detonator_delay = 1;
+ private int burn_time = 0;
+ public boolean is_detonator_burning = false;
- public void createExplosion(EntityPlayer player)
- {
+ public void createExplosion(EntityPlayer player) {
this.invalidate();
- int power = this.explosionPower;
- this.explosionPower = 0;
- IHLMod.explosionHandler.setPower(IHLMod.explosionHandler.startVectors, power);
- IHLMod.explosionHandler.doExplosion(worldObj, xCoord, yCoord, zCoord, IHLMod.explosionHandler.startVectors);
- IHLMod.proxy.createExplosionEffectFromServer(worldObj, xCoord, yCoord, zCoord, 32f*IHLMathUtils.sqrt(power/16384f));
+ int power = this.explosionPower;
+ this.explosionPower = 0;
+ IHLMod.explosionHandler.doExplosion(worldObj, xCoord, yCoord, zCoord, IHLMod.explosionHandler.startVectors,
+ power);
+ IHLMod.proxy.createExplosionEffectFromServer(worldObj, xCoord, yCoord, zCoord,
+ 32f * IHLMathUtils.sqrt(power / 16384f));
}
-
+
@Override
- public boolean canUpdate()
- {
+ public boolean canUpdate() {
return IC2.platform.isSimulating();
}
-
+
@Override
- public void updateEntity()
- {
- if(is_detonator_burning)
- {
- IHLMod.proxy.spawnParticleFromServer(4, worldObj, xCoord+0.5d, yCoord+1d, zCoord+0.5d, 0d, 0.2d, 0d, 1f);
- if(this.burn_time++>detonator_delay*20)
- {
+ public void updateEntity() {
+ if (is_detonator_burning) {
+ IHLMod.proxy.spawnParticleFromServer(4, worldObj, xCoord + 0.5d, yCoord + 1d, zCoord + 0.5d, 0d, 0.2d, 0d,
+ 1f);
+ if (this.burn_time++ > detonator_delay * 20) {
this.createExplosion(null);
}
}
}
-
+
@Override
- public void readFromNBT(NBTTagCompound nbt)
- {
- if(nbt!=null)
- {
- explosionPower=nbt.getInteger("explosionPower");
- explosionType=nbt.getInteger("explosionType");
- detonator_delay=nbt.getInteger("detonator_delay");
+ public void readFromNBT(NBTTagCompound nbt) {
+ if (nbt != null) {
+ explosionPower = nbt.getInteger("explosionPower");
+ explosionType = nbt.getInteger("explosionType");
+ detonator_delay = nbt.getInteger("detonator_delay");
}
}
-
+
@Override
- public void writeToNBT(NBTTagCompound nbt)
- {
- nbt.setInteger("explosionPower",explosionPower);
- nbt.setInteger("explosionType",explosionType);
- nbt.setInteger("detonator_delay",detonator_delay);
+ public void writeToNBT(NBTTagCompound nbt) {
+ nbt.setInteger("explosionPower", explosionPower);
+ nbt.setInteger("explosionType", explosionType);
+ nbt.setInteger("detonator_delay", detonator_delay);
}
- public boolean ignite(EntityPlayer player)
- {
- if(player!=null &&
- player.getCurrentEquippedItem()!=null &&
- player.getCurrentEquippedItem().getItem()==Items.flint_and_steel)
- {
- ignite();
- return true;
+ public boolean ignite(EntityPlayer player) {
+ if (player != null && player.getCurrentEquippedItem() != null) {
+ for (int oid : OreDictionary.getOreIDs(player.getCurrentEquippedItem())) {
+ if (OreDictionary.getOreName(oid).matches("toolLighter")) {
+ ignite();
+ return true;
+ }
+ }
}
return false;
}
-
- public void ignite()
- {
- IHLMod.proxy.playSoundEffectFromServer(0, this.worldObj, this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D, 10.0F, 1.0F);
- this.is_detonator_burning=true;
+
+ public void ignite() {
+ IHLMod.proxy.playSoundEffectFromServer(0, this.worldObj, this.xCoord + 0.5D, this.yCoord + 0.5D,
+ this.zCoord + 0.5D, 10.0F, 1.0F);
+ this.is_detonator_burning = true;
}
}
diff --git a/ihl/explosion/PileTileEntity.java b/ihl/explosion/PileTileEntity.java
index b6046db..67f430a 100644
--- a/ihl/explosion/PileTileEntity.java
+++ b/ihl/explosion/PileTileEntity.java
@@ -11,46 +11,37 @@ import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
-public class PileTileEntity extends TileEntity
-{
+public class PileTileEntity extends TileEntity {
public ItemStack content = new ItemStack(Blocks.sandstone);
private boolean firstTick = true;
-
+
@Override
- public boolean canUpdate()
- {
+ public boolean canUpdate() {
return IC2.platform.isRendering();
}
-
+
@Override
- public void updateEntity()
- {
- if(firstTick && this.content!=null)
- {
- if(this.worldObj.isRemote)
- {
+ public void updateEntity() {
+ if (firstTick && this.content != null) {
+ if (this.worldObj.isRemote) {
IHLMod.proxy.requestTileEntityInitdataFromClientToServer(xCoord, yCoord, zCoord);
- }
- else
- {
+ } else {
checkAndFall();
}
firstTick = false;
}
}
-
- public void setContent(ItemStack other)
- {
- this.content=other;
+
+ public void setContent(ItemStack other) {
+ this.content = other;
}
-
- public boolean checkAndFall()
- {
- Block underblock = this.worldObj.getBlock(xCoord, yCoord-1, zCoord);
- if(underblock.isAir(worldObj, xCoord, yCoord-1, zCoord) || underblock==Blocks.air || underblock.getCollisionBoundingBoxFromPool(worldObj, xCoord, yCoord-1, zCoord)==null)
- {
+
+ public boolean checkAndFall() {
+ Block underblock = this.worldObj.getBlock(xCoord, yCoord - 1, zCoord);
+ if (underblock.isAir(worldObj, xCoord, yCoord - 1, zCoord) || underblock == Blocks.air
+ || underblock.getCollisionBoundingBoxFromPool(worldObj, xCoord, yCoord - 1, zCoord) == null) {
IHLEntityFallingPile fallingPile = new IHLEntityFallingPile(worldObj);
- fallingPile.setPosition(xCoord+0.5d, yCoord+0.5d, zCoord+0.5d);
+ fallingPile.setPosition(xCoord + 0.5d, yCoord + 0.5d, zCoord + 0.5d);
fallingPile.setEntityItemStack(content);
this.worldObj.setBlockToAir(xCoord, yCoord, zCoord);
this.worldObj.spawnEntityInWorld(fallingPile);
@@ -60,32 +51,28 @@ public class PileTileEntity extends TileEntity
}
@Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- this.content = ItemStack.loadItemStackFromNBT(nbttagcompound.getCompoundTag("content"));
- }
+ public void readFromNBT(NBTTagCompound nbttagcompound) {
+ super.readFromNBT(nbttagcompound);
+ this.content = ItemStack.loadItemStackFromNBT(nbttagcompound.getCompoundTag("content"));
+ }
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- NBTTagCompound contentNBT = new NBTTagCompound();
- this.content.writeToNBT(contentNBT);
- nbttagcompound.setTag("content", contentNBT);
- }
+ @Override
+ public void writeToNBT(NBTTagCompound nbttagcompound) {
+ super.writeToNBT(nbttagcompound);
+ NBTTagCompound contentNBT = new NBTTagCompound();
+ this.content.writeToNBT(contentNBT);
+ nbttagcompound.setTag("content", contentNBT);
+ }
- public void updateBlockRender()
- {
+ public void updateBlockRender() {
Minecraft.getMinecraft().renderGlobal.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
}
-
+
@Override
- public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
- {
+ public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
this.readFromNBT(pkt.func_148857_g());
- Minecraft.getMinecraft().renderGlobal.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
+ if (checkAndFall()) {
+ Minecraft.getMinecraft().renderGlobal.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
+ }
+ }
}
-
-
diff --git a/ihl/flexible_cable/IronWorkbenchTileEntity.java b/ihl/flexible_cable/IronWorkbenchTileEntity.java
index 73a3eb1..d21b4c9 100644
--- a/ihl/flexible_cable/IronWorkbenchTileEntity.java
+++ b/ihl/flexible_cable/IronWorkbenchTileEntity.java
@@ -33,192 +33,166 @@ import ihl.recipes.RecipeInputDie;
import ihl.recipes.RecipeInputObjectInstance;
import ihl.utils.IHLUtils;
-public class IronWorkbenchTileEntity extends TileEntityInventory implements IHasGui, INetworkClientTileEntityEventListener, INetworkTileEntityEventListener{
+public class IronWorkbenchTileEntity extends TileEntityInventory
+ implements IHasGui, INetworkClientTileEntityEventListener, INetworkTileEntityEventListener {
public static List<IronWorkbenchRecipe> recipes = new ArrayList<IronWorkbenchRecipe>();
public int progress;
- public int currentSlot=-1;
+ public int currentSlot = -1;
public final int maxProgress;
- public final InvSlotTool tools;
- public final InvSlotWorkspaceElement workspaceElements;
- public final InvSlotProcessableIronWorkbench inputMaterial;
- public final InvSlotOutputInProgress output;
- public boolean isGuiScreenOpened=false;
- private boolean startProcess=false;
- private boolean outputDefined=false;
+ public final InvSlotTool tools;
+ public final InvSlotWorkspaceElement workspaceElements;
+ public final InvSlotProcessableIronWorkbench inputMaterial;
+ public final InvSlotOutputInProgress output;
+ public boolean isGuiScreenOpened = false;
+ private boolean startProcess = false;
+ private boolean outputDefined = false;
private EntityPlayer crafter;
public ContainerBase<?> container;
private Map<Integer, IronWorkbenchRecipe> slotRecipeMap = new HashMap<Integer, IronWorkbenchRecipe>();
private boolean firstTick = true;
-
- public IronWorkbenchTileEntity()
- {
- this.maxProgress=80;
- this.workspaceElements = new InvSlotWorkspaceElement(this, "workspaceElements", 3, Access.NONE, 6);
- this.tools=new InvSlotTool(this, "tools", 0, Access.IO, 12);
- this.inputMaterial=new InvSlotProcessableIronWorkbench(this, "input", 1, Access.IO, 12);
- this.output=new InvSlotOutputInProgress(this, "output", 2, 18);
- }
-
- public static void addRecipe(IronWorkbenchRecipe recipe)
- {
- IronWorkbenchTileEntity.recipes.add(recipe);
- }
-
+
+ public IronWorkbenchTileEntity() {
+ this.maxProgress = 80;
+ this.workspaceElements = new InvSlotWorkspaceElement(this, "workspaceElements", 3, Access.NONE, 6);
+ this.tools = new InvSlotTool(this, "tools", 0, Access.IO, 12);
+ this.inputMaterial = new InvSlotProcessableIronWorkbench(this, "input", 1, Access.IO, 12);
+ this.output = new InvSlotOutputInProgress(this, "output", 2, 18);
+ }
+
+ public static void addRecipe(IronWorkbenchRecipe recipe) {
+ IronWorkbenchTileEntity.recipes.add(recipe);
+ }
+
@Override
- public String getInventoryName()
- {
+ public String getInventoryName() {
return "ironWorkbench";
}
-
@Override
- public ItemStack getWrenchDrop(EntityPlayer player)
- {
+ public ItemStack getWrenchDrop(EntityPlayer player) {
return IHLUtils.getThisModItemStack("ironWorkbench");
}
-
+
@Override
@SideOnly(Side.CLIENT)
- public void updateEntityClient()
- {
- if(firstTick)
- {
+ public void updateEntityClient() {
+ if (firstTick) {
IHLMod.proxy.requestTileEntityInitdataFromClientToServer(xCoord, yCoord, zCoord);
- this.firstTick=false;
+ this.firstTick = false;
}
}
-
+
@Override
- public void updateEntityServer()
- {
- if(this.isGuiScreenOpened)
- {
- if(this.output.isEmpty() && !outputDefined)
- {
+ public void updateEntityServer() {
+ if (this.isGuiScreenOpened) {
+ if (this.output.isEmpty() && !outputDefined) {
this.workspaceElements.reset();
- Iterator<IronWorkbenchRecipe> iwri=IronWorkbenchTileEntity.recipes.iterator();
- while(iwri.hasNext())
- {
+ Iterator<IronWorkbenchRecipe> iwri = IronWorkbenchTileEntity.recipes.iterator();
+ while (iwri.hasNext()) {
IronWorkbenchRecipe recipe = iwri.next();
- if(recipe.isCanBeCrafted(this.tools.getItemStackList(), this.inputMaterial.getItemStackList(), this.workspaceElements.getItemStackList()))
- {
- if(recipe.workspaceElements==null || recipe.workspaceElements.isEmpty() || this.workspaceElements.containsAndCanUse(recipe.workspaceElements))
- {
+ if (recipe.isCanBeCrafted(this.tools.getItemStackList(), this.inputMaterial.getItemStackList(),
+ this.workspaceElements.getItemStackList())) {
+ if (recipe.workspaceElements == null || recipe.workspaceElements.isEmpty()
+ || this.workspaceElements.containsAndCanUse(recipe.workspaceElements)) {
List<ItemStack> newOutputs = recipe.outputs;
- for(IRecipeInput rinput:recipe.tools)
- {
- if(rinput instanceof RecipeInputDie)
- {
- newOutputs = ((RecipeInputDie)rinput).transformOutput(this.getMatchedItemStack(rinput),recipe.outputs);
+ for (IRecipeInput rinput : recipe.tools) {
+ if (rinput instanceof RecipeInputDie) {
+ newOutputs = ((RecipeInputDie) rinput)
+ .transformOutput(this.getMatchedItemStack(rinput), recipe.outputs);
}
}
- for(IRecipeInput rinput:recipe.materials)
- {
- if(rinput instanceof RecipeInputDetonator)
- {
- newOutputs = ((RecipeInputDetonator)rinput).transformOutput(this.getMatchedItemStack(rinput),recipe.outputs);
+ for (IRecipeInput rinput : recipe.materials) {
+ if (rinput instanceof RecipeInputDetonator) {
+ newOutputs = ((RecipeInputDetonator) rinput)
+ .transformOutput(this.getMatchedItemStack(rinput), recipe.outputs);
}
}
int slot = this.output.put(newOutputs);
- if(slot<0)break;
+ if (slot < 0)
+ break;
slotRecipeMap.put(slot, recipe);
- this.startProcess=false;
+ this.startProcess = false;
}
}
}
- for(int i=0; i<this.inputMaterial.size();i++)
- {
+ for (int i = 0; i < this.inputMaterial.size(); i++) {
ItemStack stack = this.inputMaterial.get(i);
- if(stack!=null && stack.getItem() instanceof IWire)
- {
- if(stack.stackTagCompound==null)
- {
- stack.stackTagCompound=new NBTTagCompound();
+ if (stack != null && stack.getItem() instanceof IWire) {
+ if (stack.stackTagCompound == null) {
+ stack.stackTagCompound = new NBTTagCompound();
}
int fullLength = this.getFullLengthOfSameWires(stack);
List<RecipeInputObjectInstance> list = this.getListOfSameWires(stack);
ItemStack result = stack.copy();
result.stackTagCompound.setInteger("length", fullLength);
result.stackTagCompound.setInteger("fullLength", fullLength);
- IronWorkbenchRecipe recipe = new IronWorkbenchRecipe(null, list, Arrays.asList(new ItemStack[] {result}));
+ IronWorkbenchRecipe recipe = new IronWorkbenchRecipe(null, list,
+ Arrays.asList(new ItemStack[] { result }));
int slot = this.output.put(recipe.outputs);
- if(slot<0)break;
+ if (slot < 0)
+ break;
slotRecipeMap.put(slot, recipe);
- this.startProcess=false;
+ this.startProcess = false;
break;
}
}
- outputDefined=true;
- }
- else if(!this.output.isEmpty())
- {
+ outputDefined = true;
+ } else if (!this.output.isEmpty()) {
Set<Integer> crafterEmptyInventorySlotsList = getCrafterEmptyInventorySlotsList();
- if(startProcess && crafterEmptyInventorySlotsList.size()>=this.slotRecipeMap.get(currentSlot).outputs.size())
- {
- if(++this.progress>=this.maxProgress)
- {
- IronWorkbenchRecipe crecipe = this.slotRecipeMap.get(currentSlot);
- List<ItemStack> opts = this.output.getRecipeOutputs(currentSlot);
- int multiplier = this.inputMaterial.getMultiplier(crecipe.materials);
- Iterator<ItemStack> optsi = opts.iterator();
- Iterator<Integer> emptySlotsIterator = crafterEmptyInventorySlotsList.iterator();
- while(optsi.hasNext())
- {
- int slot = emptySlotsIterator.next();
- ItemStack stack = optsi.next();
- if(stack.getItem() instanceof IWire)
- {
- this.crafter.inventory.mainInventory[slot]=IHLUtils.getWireItemStackCopyWithLengthMultiplied(stack,multiplier);
- }
- else
- {
- this.crafter.inventory.mainInventory[slot]=stack.copy();
- this.crafter.inventory.mainInventory[slot].stackSize*=multiplier;
- }
+ if (startProcess && crafterEmptyInventorySlotsList.size() >= this.slotRecipeMap.get(currentSlot).outputs
+ .size()) {
+ if (++this.progress >= this.maxProgress) {
+ IronWorkbenchRecipe crecipe = this.slotRecipeMap.get(currentSlot);
+ List<ItemStack> opts = this.output.getRecipeOutputs(currentSlot);
+ int multiplier = this.inputMaterial.getMultiplier(crecipe.materials);
+ Iterator<ItemStack> optsi = opts.iterator();
+ Iterator<Integer> emptySlotsIterator = crafterEmptyInventorySlotsList.iterator();
+ while (optsi.hasNext()) {
+ int slot = emptySlotsIterator.next();
+ ItemStack stack = optsi.next();
+ if (stack.getItem() instanceof IWire) {
+ this.crafter.inventory.mainInventory[slot] = IHLUtils
+ .getWireItemStackCopyWithLengthMultiplied(stack, multiplier);
+ } else {
+ this.crafter.inventory.mainInventory[slot] = stack.copy();
+ this.crafter.inventory.mainInventory[slot].stackSize *= multiplier;
}
- Iterator<ItemStack> emptyContainers = this.inputMaterial.substract(crecipe.materials, multiplier).iterator();
- while(emptyContainers.hasNext())
- {
- if(emptySlotsIterator.hasNext())
- {
- int slot = emptySlotsIterator.next();
- ItemStack stack = emptyContainers.next();
- this.crafter.inventory.mainInventory[slot]=stack.copy();
- this.crafter.inventory.mainInventory[slot].stackSize*=multiplier;
- }
- else
- {
- EntityItem eistack = new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, emptyContainers.next());
- this.worldObj.spawnEntityInWorld(eistack);
- }
- }
- this.crafter.inventoryContainer.detectAndSendChanges();
- this.tools.damage(crecipe.tools);
- if(!crecipe.workspaceElements.isEmpty())
- {
- this.workspaceElements.use(crecipe.workspaceElements);
+ }
+ Iterator<ItemStack> emptyContainers = this.inputMaterial
+ .substract(crecipe.materials, multiplier).iterator();
+ while (emptyContainers.hasNext()) {
+ if (emptySlotsIterator.hasNext()) {
+ int slot = emptySlotsIterator.next();
+ ItemStack stack = emptyContainers.next();
+ this.crafter.inventory.mainInventory[slot] = stack.copy();
+ this.crafter.inventory.mainInventory[slot].stackSize *= multiplier;
+ } else {
+ EntityItem eistack = new EntityItem(this.worldObj, this.xCoord, this.yCoord + 1,
+ this.zCoord, emptyContainers.next());
+ this.worldObj.spawnEntityInWorld(eistack);
}
- this.resetOutput();
}
+ this.crafter.inventoryContainer.detectAndSendChanges();
+ this.tools.damage(crecipe.tools);
+ if (!crecipe.workspaceElements.isEmpty()) {
+ this.workspaceElements.use(crecipe.workspaceElements);
+ }
+ this.resetOutput();
}
+ }
}
}
}
- private ItemStack getMatchedItemStack(IRecipeInput rinput)
- {
- for(ItemStack tool:this.tools.getItemStackList())
- {
- if(rinput.matches(tool))
- {
+ private ItemStack getMatchedItemStack(IRecipeInput rinput) {
+ for (ItemStack tool : this.tools.getItemStackList()) {
+ if (rinput.matches(tool)) {
return tool;
}
}
- for(ItemStack material:this.inputMaterial.getItemStackList())
- {
- if(rinput.matches(material))
- {
+ for (ItemStack material : this.inputMaterial.getItemStackList()) {
+ if (rinput.matches(material)) {
return material;
}
}
@@ -226,46 +200,38 @@ public class IronWorkbenchTileEntity extends TileEntityInventory implements IHas
return null;
}
- private Set<Integer> getCrafterEmptyInventorySlotsList()
- {
+ private Set<Integer> getCrafterEmptyInventorySlotsList() {
Set<Integer> list = new HashSet<Integer>(4);
- if(this.crafter!=null)
- {
- for (int var1 = 0; var1 < this.crafter.inventory.mainInventory.length; ++var1)
- {
- if (this.crafter.inventory.mainInventory[var1] == null)
- {
- list.add(var1);
- }
- }
+ if (this.crafter != null) {
+ for (int var1 = 0; var1 < this.crafter.inventory.mainInventory.length; ++var1) {
+ if (this.crafter.inventory.mainInventory[var1] == null) {
+ list.add(var1);
+ }
+ }
}
return list;
}
-
- private List<RecipeInputObjectInstance> getListOfSameWires(ItemStack stack1) {
- List<RecipeInputObjectInstance> list = new ArrayList<RecipeInputObjectInstance>();
- for(int i=0; i<this.inputMaterial.size();i++)
- {
+
+ private List<RecipeInputObjectInstance> getListOfSameWires(ItemStack stack1) {
+ List<RecipeInputObjectInstance> list = new ArrayList<RecipeInputObjectInstance>();
+ for (int i = 0; i < this.inputMaterial.size(); i++) {
ItemStack stack = this.inputMaterial.get(i);
- if(stack!=null && ((IWire)stack1.getItem()).isSameWire(stack1, stack))
- {
+ if (stack != null && ((IWire) stack1.getItem()).isSameWire(stack1, stack)) {
list.add(new RecipeInputObjectInstance(stack));
}
}
- return list;
+ return list;
}
private int getFullLengthOfSameWires(ItemStack stack1) {
- int fullLength=0;
- for(int i=0; i<this.inputMaterial.size();i++)
- {
+ int fullLength = 0;
+ for (int i = 0; i < this.inputMaterial.size(); i++) {
ItemStack stack = this.inputMaterial.get(i);
- if(stack!=null && ((IWire)stack1.getItem()).isSameWire(stack1, stack))
- {
+ if (stack != null && ((IWire) stack1.getItem()).isSameWire(stack1, stack)) {
fullLength += IHLUtils.getWireLength(stack);
}
}
- return fullLength;
+ return fullLength;
}
@Override
@@ -277,126 +243,109 @@ public class IronWorkbenchTileEntity extends TileEntityInventory implements IHas
@Override
public ContainerBase<?> getGuiContainer(EntityPlayer player) {
resetOutput();
- this.isGuiScreenOpened=true;
- this.crafter=player;
+ this.isGuiScreenOpened = true;
+ this.crafter = player;
container = new IronWorkbenchContainer(player, this);
return container;
}
@Override
- public void onGuiClosed(EntityPlayer arg0)
- {
- this.isGuiScreenOpened=false;
+ public void onGuiClosed(EntityPlayer arg0) {
+ this.isGuiScreenOpened = false;
}
@Override
- public void onNetworkEvent(EntityPlayer player, int event)
- {
- if(event==16)
- {
- this.isGuiScreenOpened=false;
- this.crafter=null;
- this.container=null;
+ public void onNetworkEvent(EntityPlayer player, int event) {
+ if (event == 16) {
+ this.isGuiScreenOpened = false;
+ this.crafter = null;
+ this.container = null;
return;
}
- for(int i=event;i>=0;i--)
- {
- if(this.slotRecipeMap.containsKey(i))
- {
- if(!this.slotRecipeMap.get(i).isCanBeCrafted(this.tools.getItemStackList(), this.inputMaterial.getItemStackList(), this.workspaceElements.getItemStackList()))
- {
+ for (int i = event; i >= 0; i--) {
+ if (this.slotRecipeMap.containsKey(i)) {
+ if (!this.slotRecipeMap.get(i).isCanBeCrafted(this.tools.getItemStackList(),
+ this.inputMaterial.getItemStackList(), this.workspaceElements.getItemStackList())) {
resetOutput();
- }
- else
- {
- this.currentSlot=i;
- this.startProcess=true;
+ } else {
+ this.currentSlot = i;
+ this.startProcess = true;
return;
}
}
}
}
- public void resetOutput()
- {
+ public void resetOutput() {
this.output.clear();
this.slotRecipeMap.clear();
- this.progress=0;
- this.startProcess=false;
- this.currentSlot=-1;
- this.outputDefined=false;
+ this.progress = 0;
+ this.startProcess = false;
+ this.currentSlot = -1;
+ this.outputDefined = false;
}
-
public void dropContents() {
- for(int i=0;i<this.tools.size();i++)
- {
- if(this.tools.get(i)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.tools.get(i)));
+ for (int i = 0; i < this.tools.size(); i++) {
+ if (this.tools.get(i) != null)
+ this.worldObj.spawnEntityInWorld(
+ new EntityItem(this.worldObj, this.xCoord, this.yCoord + 1, this.zCoord, this.tools.get(i)));
}
- for(int i=0;i<this.inputMaterial.size();i++)
- {
- if(this.inputMaterial.get(i)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.inputMaterial.get(i)));
+ for (int i = 0; i < this.inputMaterial.size(); i++) {
+ if (this.inputMaterial.get(i) != null)
+ this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord + 1,
+ this.zCoord, this.inputMaterial.get(i)));
}
}
@Override
- public void onNetworkEvent(int event)
- {
+ public void onNetworkEvent(int event) {
+
+ }
+ public int gaugeProgressScaled(int i) {
+ return this.progress * i / this.maxProgress;
}
- public int gaugeProgressScaled(int i)
- {
- return this.progress * i / this.maxProgress;
- }
-
@Override
- public boolean shouldRenderInPass(int pass)
- {
- return pass==0;
- }
+ public boolean shouldRenderInPass(int pass) {
+ return pass == 0;
+ }
- public static void removeRecipeByOutput(List<ItemStack> recipeOutputsItems)
- {
+ public static void removeRecipeByOutput(List<ItemStack> recipeOutputsItems) {
Iterator<IronWorkbenchRecipe> ri = recipes.iterator();
- while(ri.hasNext())
- {
+ while (ri.hasNext()) {
IronWorkbenchRecipe recipe = ri.next();
- boolean removeEntry=false;
+ boolean removeEntry = false;
Iterator<ItemStack> roi = recipe.outputs.iterator();
- while(roi.hasNext())
- {
- if(IHLUtils.isItemStacksIsEqual(recipeOutputsItems.get(0), roi.next(), true))
- {
- removeEntry=true;
+ while (roi.hasNext()) {
+ if (IHLUtils.isItemStacksIsEqual(recipeOutputsItems.get(0), roi.next(), true)) {
+ removeEntry = true;
}
}
- if(removeEntry)
- {
+ if (removeEntry) {
ri.remove();
}
}
}
- public static void removeRecipeByInput(List<IRecipeInput> recipeInputsTools1,List<IRecipeInput> recipeInputsItems1,List<ItemStack> recipeInputsMachines) {
+ public static void removeRecipeByInput(List<IRecipeInput> recipeInputsTools1, List<IRecipeInput> recipeInputsItems1,
+ List<ItemStack> recipeInputsMachines) {
List<ItemStack> recipeInputsTools = IHLUtils.convertRecipeInputToItemStackList(recipeInputsTools1);
List<ItemStack> recipeInputsItems = IHLUtils.convertRecipeInputToItemStackList(recipeInputsItems1);
Iterator<IronWorkbenchRecipe> ri = recipes.iterator();
- while(ri.hasNext())
- {
+ while (ri.hasNext()) {
IronWorkbenchRecipe recipe = ri.next();
- if(recipe.isCanBeCrafted(recipeInputsTools, recipeInputsItems, recipeInputsMachines))
- {
+ if (recipe.isCanBeCrafted(recipeInputsTools, recipeInputsItems, recipeInputsMachines)) {
ri.remove();
}
}
}
-
+
@Override
- public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
- {
+ public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
this.readFromNBT(pkt.func_148857_g());
- }
+ }
}
diff --git a/ihl/flexible_cable/SetOfDiesMiniGUI.java b/ihl/flexible_cable/SetOfDiesMiniGUI.java
index 43f905d..6a94abb 100644
--- a/ihl/flexible_cable/SetOfDiesMiniGUI.java
+++ b/ihl/flexible_cable/SetOfDiesMiniGUI.java
@@ -12,72 +12,69 @@ import ihl.IHLMod;
import ihl.interfaces.ItemMiniGUI;
import ihl.utils.IHLUtils;
-public class SetOfDiesMiniGUI extends ItemMiniGUI
-{
+public class SetOfDiesMiniGUI extends ItemMiniGUI {
private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIIronWorkbench.png");
private int transverseSectionValue;
private GuiTextField transverseSectionTextField;
private int xPos;
private int yPos;
-
- public SetOfDiesMiniGUI(GuiContainer gui, Slot slot)
- {
+
+ public SetOfDiesMiniGUI(GuiContainer gui, Slot slot) {
super(gui, slot);
- transverseSectionValue=slot.getStack().stackTagCompound.getInteger("transverseSection");
- xPos = this.slotBase.xDisplayPosition-18;
- yPos = this.slotBase.yDisplayPosition+18;
- transverseSectionTextField=new GuiTextField(this.guiBase.mc.fontRenderer, xPos+78, yPos+3, 28, 11);
- transverseSectionTextField.setText(Float.toString(transverseSectionValue/10f));
+ transverseSectionValue = slot.getStack().stackTagCompound.getInteger("transverseSection");
+ xPos = this.slotBase.xDisplayPosition - 18;
+ yPos = this.slotBase.yDisplayPosition + 18;
+ transverseSectionTextField = new GuiTextField(this.guiBase.mc.fontRenderer, xPos + TEXT_BOX_POSX, yPos + TEXT_BOX_POSY, TEXT_BOX_WIDTH,
+ 11);
+ transverseSectionTextField.setText(Float.toString(transverseSectionValue / 10f));
transverseSectionTextField.setFocused(true);
}
@Override
- public void displayGUI()
- {
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- this.guiBase.mc.renderEngine.bindTexture(background);
- this.guiBase.drawTexturedModalRect(xPos, yPos, 0, 202, 126, 25);
- int runnerXPos=xPos+5+114*transverseSectionValue/1350;
- this.guiBase.drawTexturedModalRect(runnerXPos, yPos+18, 126, 202, 3, 5);
- this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("ihl.transversesection"), xPos+3, yPos+4, 0xFFCC00);
+ public void displayGUI() {
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ this.guiBase.mc.renderEngine.bindTexture(background);
+ this.guiBase.drawTexturedModalRect(xPos, yPos, 0, 202, 126, HEIGHT);
+ int runnerXPos = xPos + 5 + 114 * transverseSectionValue / 1350;
+ this.guiBase.drawTexturedModalRect(runnerXPos, yPos + RUNNER_POSY, 126, 202, 3, 5);
+ this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("ihl.transversesection"),
+ xPos + 3, yPos + 4, 0xFFCC00);
this.transverseSectionTextField.drawTextBox();
- this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("mm\u00B2"), xPos+110, yPos+4, 0xFFCC00);
+ this.guiBase.mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("mm\u00B2"), xPos + UNITS_LABEL_POSX,
+ yPos + 18, 0xFFCC00);
}
@Override
- public boolean handleMouseClick(int mouseX, int mouseY, int mouseButton)
- {
- if(mouseX>=xPos+5 && mouseX<=xPos+119 && mouseY>=yPos+17 && mouseY<=yPos+24)
- {
- this.transverseSectionValue=Math.max(1, Math.min(1350,(mouseX-xPos-5)*1350/114));
- this.transverseSectionTextField.setText(Float.toString(transverseSectionValue/10f));
+ public boolean handleMouseClick(int mouseX, int mouseY, int mouseButton) {
+ if (mouseX >= xPos + 5 && mouseX <= xPos + 119 && mouseY >= yPos + RUNNER_POSY - 1 && mouseY <= yPos + HEIGHT) {
+ this.transverseSectionValue = Math.max(1, Math.min(1350, (mouseX - xPos - 5) * 1350 / 114));
+ this.transverseSectionTextField.setText(Float.toString(transverseSectionValue / 10f));
}
- if(mouseX>=xPos+78 && mouseX<=xPos+78+28 && mouseY>=yPos+3 && mouseY<=yPos+3+11)
- {
+ if (mouseX >= xPos + TEXT_BOX_POSX && mouseX <= xPos + TEXT_BOX_POSX + TEXT_BOX_WIDTH && mouseY >= yPos + TEXT_BOX_POSY && mouseY <= yPos + TEXT_BOX_POSY + 11) {
this.transverseSectionTextField.setFocused(true);
}
- return mouseX>=xPos && mouseX<=xPos+202 && mouseY>=yPos && mouseY<=yPos+25;
+ return mouseX >= xPos && mouseX <= xPos + 202 && mouseY >= yPos && mouseY <= yPos + HEIGHT;
}
-
+
@Override
- public boolean handleKeyTyped(char characterTyped, int keyIndex)
- {
- this.transverseSectionTextField.textboxKeyTyped(characterTyped, keyIndex);
- if(keyIndex==KeyEvent.VK_ACCEPT || keyIndex==KeyEvent.VK_ENTER || keyIndex==28 || keyIndex==156)//28 - enter;156 - numpad enter
- {
- this.transverseSectionValue=Math.max(1, Math.min(1350,(int)(IHLUtils.parseFloatSafe(this.transverseSectionTextField.getText(),this.transverseSectionValue)*10f)));
- this.transverseSectionTextField.setText(Float.toString(transverseSectionValue/10f));
+ public boolean handleKeyTyped(char characterTyped, int keyIndex) {
+ this.transverseSectionTextField.textboxKeyTyped(characterTyped, keyIndex);
+ // 28 - enter; 156 - numpad enter
+ if (keyIndex == KeyEvent.VK_ACCEPT || keyIndex == KeyEvent.VK_ENTER || keyIndex == 28 || keyIndex == 156) {
+ this.transverseSectionValue = Math.max(1, Math.min(1350, (int) (IHLUtils
+ .parseFloatSafe(this.transverseSectionTextField.getText(), this.transverseSectionValue) * 10f)));
+ this.transverseSectionTextField.setText(Float.toString(transverseSectionValue / 10f));
this.transverseSectionTextField.setFocused(false);
return true;
- }
+ }
return false;
- }
+ }
@Override
- public void onGUIClosed()
- {
- IHLMod.proxy.sendItemStackNBTTagFromClientToServerPlayer(this.guiBase.mc.thePlayer, this.slotBase.slotNumber, "transverseSection", this.transverseSectionValue);
+ public void onGUIClosed() {
+ IHLMod.proxy.sendItemStackNBTTagFromClientToServerPlayer(this.guiBase.mc.thePlayer, this.slotBase.slotNumber,
+ "transverseSection", this.transverseSectionValue);
}
}
diff --git a/ihl/guidebook/IHLGuidebookContainer.java b/ihl/guidebook/IHLGuidebookContainer.java
deleted file mode 100644
index 4510dcd..0000000
--- a/ihl/guidebook/IHLGuidebookContainer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package ihl.guidebook;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Slot;
-import ic2.core.ContainerBase;
-
-public class IHLGuidebookContainer extends ContainerBase<IHLGuidebookInventory>
-{
- public IHLGuidebookInventory box;
- public int xSize=256;
- public int ySize=211;
-
- public IHLGuidebookContainer(EntityPlayer entityPlayer, IHLGuidebookInventory box)
- {
- super(box);
- this.box = box;
- int col;
- for (col = 0; col < 4; ++col)
- {
- this.addSlotToContainer(new Slot(box, col, 18 + col * 18, 20));
- }
- }
-
- @Override
- public void onContainerClosed(EntityPlayer entityPlayer)
- {
- this.box.onGuiClosed(entityPlayer);
- super.onContainerClosed(entityPlayer);
- }
-}
diff --git a/ihl/guidebook/IHLGuidebookGui.java b/ihl/guidebook/IHLGuidebookGui.java
deleted file mode 100644
index 316660b..0000000
--- a/ihl/guidebook/IHLGuidebookGui.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package ihl.guidebook;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.lwjgl.opengl.GL11;
-import org.xml.sax.SAXException;
-
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import ihl.IHLMod;
-import ihl.datanet.GuiInvisibleButton;
-import ihl.utils.IHLRenderUtils;
-
-public class IHLGuidebookGui extends GuiContainer
-{
- public IHLGuidebookContainer container;
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIGuidebook.png");
- public Map<Integer, Integer[]> linksCoordinatesMap = new HashMap<Integer,Integer[]>();
- private String title;
- private String[] localisedContent=new String[2];;// By text block and row
- private ResourceLocation[] resourceLocationCache = new ResourceLocation[16];//By section number
- private int currentSection=0;
- private final int titleX=25;
- private final int titleY=7;
- private final int textBlockWidth=104;
- private final int textBlockX1=20;
- private final int textBlockY1=38;
- private final int textBlockX2=130;
- private final int textBlockY2=5;
- private final int textBlockMaxY=200;
- private int stringHeight=10;
- private int textRowInNextPage=0;
- private int textBlockInNextPage=0;
- private int[] textRowStart=new int[2];
- private int textBlockStart=0;
- private int pictureWidth;
- private int pictureHeight;
- private int maxSection=0;
-
- public IHLGuidebookGui(IHLGuidebookContainer container1) {
- super(container1);
- this.container = container1;
- this.xSize=this.container.xSize;
- this.ySize=this.container.ySize;
- }
-
- @Override
- public void initGui()
- {
- super.initGui();
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- new GuiInvisibleButton(0, x, y, xSize/2, 162, linksCoordinatesMap, buttonList);
- new GuiInvisibleButton(1, x+xSize/2, y, xSize/2, 162, linksCoordinatesMap, buttonList);
- this.clear();
- try {
- IHLMod.xmlparser.setupGuidebookGUI(this, 0);
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void actionPerformed(GuiButton button)
- {
- super.actionPerformed(button);
- switch(button.id)
- {
- case 0:
- currentSection--;
- if(currentSection<0)
- {
- currentSection=this.maxSection;
- }
- this.textBlockStart=0;
- this.textRowStart[0]=0;
- this.textRowStart[1]=0;
- break;
- case 1:
- if(textRowInNextPage==0 && textBlockInNextPage==0)
- {
- currentSection++;
- this.textBlockStart=0;
- this.textRowStart[0]=0;
- this.textRowStart[1]=0;
- }
- else
- {
- this.textBlockStart=textBlockInNextPage;
- this.textRowStart[textBlockStart]=textRowInNextPage;
- textRowInNextPage=0;
- textBlockInNextPage=0;
- }
- break;
- }
- this.clear();
- try {
- IHLMod.xmlparser.setupGuidebookGUI(this, currentSection);
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public void clear()
- {
- for(int i=0;i<this.container.base.content.length;i++)
- {
- this.container.base.content[i]=null;
- }
- this.title=null;
- this.localisedContent[0]=null;
- this.localisedContent[1]=null;
- }
-
- public void setTitle(String title1) {
- this.title=StatCollector.translateToLocal(title1);
- }
-
- public void setPicture(String string,int width,int height)
- {
- IHLMod.log.debug("setting picture='"+string+"' \n height="+height+" \n width="+width);
- if(this.resourceLocationCache[this.currentSection]==null)
- {
- this.resourceLocationCache[this.currentSection]=new ResourceLocation("ihl",string);
- }
- this.pictureWidth=width;
- this.pictureHeight=height;
- }
-
-
- @Override
- protected void drawGuiContainerForegroundLayer(int par1, int par2) {
- IHLRenderUtils.instance.updateScreenSize();
- this.drawPage(this.textBlockX1,this.textBlockY1);
- }
-
- private void drawPage(int startX, int startY)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.fontRendererObj.drawString(this.title, this.titleX, this.titleY, 0);
- int xPos=startX;
- int yPos=startY;
- if(this.textBlockStart==0)
- {
- if(this.localisedContent[0]!=null)
- {
- List<String> splittedText = IHLRenderUtils.instance.splitStringByWidth(this.localisedContent[0], Math.round(textBlockWidth));
- for(int i1=this.textRowStart[0]; i1 < splittedText.size(); i1++)
- {
- yPos+=stringHeight;
- if(yPos<this.textBlockMaxY)
- {
- this.fontRendererObj.drawString(splittedText.get(i1), Math.round(xPos), Math.round(yPos), 0);
- }
- else if(xPos!=this.textBlockX2)
- {
- yPos=this.textBlockY2;
- xPos=this.textBlockX2;
- this.fontRendererObj.drawString(splittedText.get(i1), Math.round(xPos), Math.round(yPos), 0);
- }
- else
- {
- textRowInNextPage=i1;
- textBlockInNextPage=0;
- return;
- }
- }
- }
- if(this.resourceLocationCache[this.currentSection]!=null)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- if(yPos+this.pictureHeight<this.textBlockMaxY)
- {
- yPos+=stringHeight;
- this.mc.renderEngine.bindTexture(this.resourceLocationCache[this.currentSection]);
- this.drawTexturedModalRect(Math.round(xPos), Math.round(yPos), 0, 0, this.pictureWidth, this.pictureHeight);
- yPos+=Math.round(this.pictureHeight);
- }
- else
- {
- yPos=this.textBlockY2;
- xPos=this.textBlockX2;
- this.mc.renderEngine.bindTexture(this.resourceLocationCache[this.currentSection]);
- this.drawTexturedModalRect(Math.round(xPos), Math.round(yPos), 0, 0, this.pictureWidth, this.pictureHeight);
- yPos+=Math.round(this.pictureHeight);
- }
- }
-
- }
- if(this.localisedContent[1]!=null)
- {
- List<String> splittedText = IHLRenderUtils.instance.splitStringByWidth(this.localisedContent[1], Math.round(textBlockWidth));
- for(int i1=this.textRowStart[1]; i1 < splittedText.size(); i1++)
- {
- yPos+=stringHeight;
- if(yPos<this.textBlockMaxY)
- {
- this.fontRendererObj.drawString(splittedText.get(i1), Math.round(xPos), Math.round(yPos), 0);
- }
- else if(xPos!=this.textBlockX2)
- {
- yPos=this.textBlockY2;
- xPos=this.textBlockX2;
- this.fontRendererObj.drawString(splittedText.get(i1), Math.round(xPos), Math.round(yPos), 0);
- }
- else
- {
- textRowInNextPage=i1;
- textBlockInNextPage=1;
- return;
- }
- }
- }
- GL11.glScalef(1f, 1f, 1f);
- }
-
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.mc.renderEngine.bindTexture(background);
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
-
- }
-
- public void setSectionNumber(int i)
- {
- this.currentSection=0;
- }
-
- public void setMaxSectionNumber(int i)
- {
- this.maxSection=Math.max(i,this.maxSection);
- }
-
- public int getMaxSectionNumber()
- {
- return this.maxSection;
- }
-
- public void addItemStack(ItemStack itemStack)
- {
- for(int i=0;i<this.container.base.content.length;i++)
- {
- if(this.container.base.content[i]==null)
- {
- this.container.base.content[i]=itemStack;
- break;
- }
- }
- }
-
- public void addTextBlock(String textContent) {
- for(int i=0; i < this.localisedContent.length; i++)
- {
- if(this.localisedContent[i]==null)
- {
- this.localisedContent[i]=StatCollector.translateToLocal(textContent);
- break;
- }
- }
- }
-} \ No newline at end of file
diff --git a/ihl/guidebook/IHLGuidebookInventory.java b/ihl/guidebook/IHLGuidebookInventory.java
deleted file mode 100644
index 8535a3c..0000000
--- a/ihl/guidebook/IHLGuidebookInventory.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package ihl.guidebook;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import ic2.core.ContainerBase;
-import ic2.core.IHasGui;
-
-public class IHLGuidebookInventory implements IHasGui{
-
- ItemStack thisItemStack;
- IInventory inventoryContainer;
- public ItemStack[] content = new ItemStack[4];
-
- public IHLGuidebookInventory(EntityPlayer player, ItemStack stack) {
- thisItemStack=stack;
- inventoryContainer=player.inventory;
- }
-
- public IHLGuidebookInventory(IInventory inventoryContainer1, ItemStack stack)
- {
- thisItemStack=stack;
- inventoryContainer=inventoryContainer1;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer player, boolean arg1) {
- return new IHLGuidebookGui(new IHLGuidebookContainer(player, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer player) {
- return new IHLGuidebookContainer(player, this);
- }
-
- @Override
- public String getInventoryName() {
- return "IHLGuidebook";
- }
-
- @Override
- public boolean hasCustomInventoryName() {
- return false;
- }
-
- @Override
- public boolean isItemValidForSlot(int arg0, ItemStack stack) {
- return false;
- }
-
- @Override
- public int getInventoryStackLimit()
- {
- return 1;
- }
-
- @Override
- public ItemStack getStackInSlot(int slotNumber) {
- return content[slotNumber];
- }
-
- @Override
- public void setInventorySlotContents(int arg0, ItemStack arg1)
- {
- }
-
- @Override
- public void closeInventory() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public ItemStack decrStackSize(int arg0, int arg1) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getSizeInventory() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public ItemStack getStackInSlotOnClosing(int arg0) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean isUseableByPlayer(EntityPlayer arg0) {
- // TODO Auto-generated method stub
- return true;
- }
-
- @Override
- public void markDirty() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void openInventory() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void onGuiClosed(EntityPlayer arg0) {
- // TODO Auto-generated method stub
-
- }
-
- public boolean isThisContainer(ItemStack stack)
- {
- return this.thisItemStack.equals(stack);
- }
-}
diff --git a/ihl/guidebook/IHLGuidebookItem.java b/ihl/guidebook/IHLGuidebookItem.java
deleted file mode 100644
index e616455..0000000
--- a/ihl/guidebook/IHLGuidebookItem.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package ihl.guidebook;
-
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.item.IHandHeldInventory;
-import ihl.IHLCreativeTab;
-import ihl.IHLModInfo;
-
-public class IHLGuidebookItem extends Item implements IHandHeldInventory{
-
- public IHLGuidebookItem() {
- super();
- this.setUnlocalizedName("guidebook");
- this.setCreativeTab(IHLCreativeTab.tab);
- this.maxStackSize=1;
- this.setCreativeTab(IHLCreativeTab.tab);
- this.setMaxDamage(0);
- }
-
- public static void init()
- {
- GameRegistry.registerItem(new IHLGuidebookItem(), "guidebook");
- }
-
- @Override
- public IHasGui getInventory(EntityPlayer entityPlayer, ItemStack itemStack)
- {
- return new IHLGuidebookInventory(entityPlayer, itemStack);
- }
-
- @Override
- public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer entityPlayer)
- {
- if (IC2.platform.isSimulating())
- {
- IC2.platform.launchGui(entityPlayer, this.getInventory(entityPlayer, itemStack));
- }
- return itemStack;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister register)
- {
- itemIcon=register.registerIcon(IHLModInfo.MODID + ":guidebook");
- }
-
- @Override
- public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float xOffset, float yOffset, float zOffset)
- {
- return false;
- }
-
-}
diff --git a/ihl/guidebook/IHLGuidebookSlot.java b/ihl/guidebook/IHLGuidebookSlot.java
deleted file mode 100644
index b945ae3..0000000
--- a/ihl/guidebook/IHLGuidebookSlot.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package ihl.guidebook;
-
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class IHLGuidebookSlot extends Slot
-{
- IHLGuidebookInventory inventory;
- public IHLGuidebookSlot(IHLGuidebookInventory arg0, int arg1, int arg2, int arg3)
- {
- super(arg0, arg1, arg2, arg3);
- inventory=arg0;
- }
-
- @Override
- public boolean isItemValid(ItemStack itemstack)
- {
- return false;
- }
-}
diff --git a/ihl/handpump/AdvancedHandPump.java b/ihl/handpump/AdvancedHandPump.java
index c655391..e9b8bf8 100644
--- a/ihl/handpump/AdvancedHandPump.java
+++ b/ihl/handpump/AdvancedHandPump.java
@@ -28,7 +28,6 @@ import ic2.core.Ic2Items;
import ic2.core.util.LiquidUtil;
import ihl.IHLModInfo;
import ihl.IHLMod;
-import ihl.i_hate_liquids.XYZ;
import ihl.utils.IHLUtils;
import ihl.worldgen.ores.IHLFluid;
@@ -79,11 +78,11 @@ public class AdvancedHandPump extends IHLHandPump {
{
fluid1 = ((BlockFluidBase)block).drain(world, blockXYZ.x, blockXYZ.y, blockXYZ.z, false);
}
- else if(block==Blocks.water||block==Blocks.flowing_water||block==IHLMod.flowing_water)
+ else if(block==Blocks.water||block==Blocks.flowing_water)
{
fluid1 = new FluidStack(FluidRegistry.WATER, 1000);
}
- else if(block==Blocks.lava||block==Blocks.flowing_lava||block==IHLMod.flowing_lava)
+ else if(block==Blocks.lava||block==Blocks.flowing_lava)
{
fluid1 = new FluidStack(FluidRegistry.LAVA, 1000);
}
diff --git a/ihl/handpump/BlockWithCoordinates.java b/ihl/handpump/BlockWithCoordinates.java
index 0cdc965..d934b35 100644
--- a/ihl/handpump/BlockWithCoordinates.java
+++ b/ihl/handpump/BlockWithCoordinates.java
@@ -1,6 +1,5 @@
package ihl.handpump;
-import ihl.IHLMod;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
@@ -27,7 +26,7 @@ public boolean setMetadataOrDestroyBlock(World world, int meta, int maxMeta)
{
return world.setBlockToAir(x, y, z);
}
- else if(isWaterBlock() && IHLMod.cccFiniteWater)
+ else if(isWaterBlock())
{
if(world.setBlock(x,y,z,Blocks.flowing_water,meta,3))
{
@@ -36,24 +35,6 @@ public boolean setMetadataOrDestroyBlock(World world, int meta, int maxMeta)
}
return false;
}
- else if(isWaterBlock())
- {
- if(world.setBlock(x,y,z,IHLMod.flowing_water,meta,3))
- {
- world.scheduleBlockUpdate(x,y,z,IHLMod.flowing_water,2);
- return true;
- }
- return false;
- }
- else if(isLavaBlock() && world.provider.isHellWorld && !IHLMod.cccFiniteWater)
- {
- if(world.setBlock(x,y,z,IHLMod.flowing_lava,meta,3))
- {
- world.scheduleBlockUpdate(x,y,z,IHLMod.flowing_lava,2);
- return true;
- }
- return false;
- }
else if(isLavaBlock())
{
if(world.setBlock(x,y,z,Blocks.flowing_lava,meta,3))
@@ -71,11 +52,11 @@ public boolean isSameTypeBlock(World world, int x2, int y2, int z2)
Block block2 = world.getBlock(x2, y2, z2);
if(isWaterBlock())
{
- return block2==Blocks.water||block2==Blocks.flowing_water||block2==IHLMod.flowing_water;
+ return block2==Blocks.water||block2==Blocks.flowing_water;
}
else if(isLavaBlock())
{
- return block2==Blocks.lava||block2==Blocks.flowing_lava||block2==IHLMod.flowing_lava;
+ return block2==Blocks.lava||block2==Blocks.flowing_lava;
}
else
{
@@ -85,7 +66,7 @@ public boolean isSameTypeBlock(World world, int x2, int y2, int z2)
public boolean isWaterBlock()
{
- if(block==Blocks.water||block==Blocks.flowing_water||block==IHLMod.flowing_water)
+ if(block==Blocks.water||block==Blocks.flowing_water)
{
return true;
}
@@ -94,7 +75,7 @@ public boolean isWaterBlock()
public boolean isLavaBlock()
{
- if(block==Blocks.lava||block==Blocks.flowing_lava||block==IHLMod.flowing_lava)
+ if(block==Blocks.lava||block==Blocks.flowing_lava)
{
return true;
}
diff --git a/ihl/i_hate_liquids/XYZ.java b/ihl/handpump/XYZ.java
index 287b11a..9a2627e 100644
--- a/ihl/i_hate_liquids/XYZ.java
+++ b/ihl/handpump/XYZ.java
@@ -1,4 +1,4 @@
-package ihl.i_hate_liquids;
+package ihl.handpump;
public class XYZ {
public int x;
diff --git a/ihl/i_hate_liquids/BlockDynamicLiquidPlus.java b/ihl/i_hate_liquids/BlockDynamicLiquidPlus.java
deleted file mode 100644
index ed8ddac..0000000
--- a/ihl/i_hate_liquids/BlockDynamicLiquidPlus.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package ihl.i_hate_liquids;
-
-import java.util.Random;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ihl.IHLModInfo;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockLiquid;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class BlockDynamicLiquidPlus extends BlockLiquid{
-
- public BlockDynamicLiquidPlus(Material material)
- {
- super(material);
- this.enableStats = false;
- //this.setCreativeTab(CreativeTabs.tabMisc);
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID+":metalShards");
- }
-
- @Override
- public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
- return this.blockIcon;
- }
-
- @Override
- public void updateTick(World world, int x, int y, int z, Random p_149674_5_)
- {
- if(!world.isRemote)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if(meta>=7)
- {
- world.setBlockToAir(x,y,z);
- return;
- }
- int meta2=16;
- int fd;
- int xz[] = {0,-1,0,1,0};
- for(int i=0;i<=3;i++)
- {
- fd=getFlowDecay(world,x+xz[i], y, z+xz[i+1]);
- if(fd!=-1 && meta2>fd)
- {
- meta2=fd;
- }
- }
- if(meta2==16)
- {
- world.setBlockMetadataWithNotify(x,y,z,meta+1,3);
- }
- else if(meta2>=6)
- {
- world.setBlockToAir(x,y,z);
- return;
- }
- else
- {
- world.setBlockMetadataWithNotify(x,y,z,meta2+1,3);
- }
- world.scheduleBlockUpdate(x, y, z, this,20);
- }
- }
-
- private int getFlowDecay(World par1World, int par2, int par3, int par4)
- {
- Block block = par1World.getBlock(par2, par3, par4);
- return block.getMaterial().isLiquid() ? par1World.getBlockMetadata(par2, par3, par4) : -1;
- }
-}
diff --git a/ihl/i_hate_liquids/IHLEventHandler.java b/ihl/i_hate_liquids/IHLEventHandler.java
deleted file mode 100644
index cd777ed..0000000
--- a/ihl/i_hate_liquids/IHLEventHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package ihl.i_hate_liquids;
-
-import net.minecraft.block.Block;
-import net.minecraft.world.World;
-import net.minecraftforge.event.world.BlockEvent.BreakEvent;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-
-public class IHLEventHandler {
-
- public IHLEventHandler() {}
-
-
- @SubscribeEvent
- public void onBlockBreak(BreakEvent event)
- {
- World world = event.world;
- if(!world.isRemote)
- {
- int x = event.x;
- int y = event.y;
- int z = event.z;
- Block block = world.getBlock(x, y+1, z);
- if(block.getMaterial().isLiquid())
- {
- InvisibleMagicanEntity im = new InvisibleMagicanEntity(world, x, y, z);
- world.spawnEntityInWorld(im);
- return;
- }
- block = world.getBlock(x+1, y, z);
- if(block.getMaterial().isLiquid())
- {
- InvisibleMagicanEntity im = new InvisibleMagicanEntity(world, x, y, z);
- world.spawnEntityInWorld(im);
- return;
- }
- block = world.getBlock(x-1, y, z);
- if(block.getMaterial().isLiquid())
- {
- InvisibleMagicanEntity im = new InvisibleMagicanEntity(world, x, y, z);
- world.spawnEntityInWorld(im);
- return;
- }
- block = world.getBlock(x, y, z+1);
- if(block.getMaterial().isLiquid())
- {
- InvisibleMagicanEntity im = new InvisibleMagicanEntity(world, x, y, z);
- world.spawnEntityInWorld(im);
- return;
- }
- block = world.getBlock(x, y, z-1);
- if(block.getMaterial().isLiquid())
- {
- InvisibleMagicanEntity im = new InvisibleMagicanEntity(world, x, y, z);
- world.spawnEntityInWorld(im);
- return;
- }
- }
- }
-}
diff --git a/ihl/i_hate_liquids/InvisibleMagicanEntity.java b/ihl/i_hate_liquids/InvisibleMagicanEntity.java
deleted file mode 100644
index 2ad56d3..0000000
--- a/ihl/i_hate_liquids/InvisibleMagicanEntity.java
+++ /dev/null
@@ -1,458 +0,0 @@
-package ihl.i_hate_liquids;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import ihl.IHLMod;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.init.Blocks;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.IFluidBlock;
-
-public class InvisibleMagicanEntity extends Entity {
- private int entityAge=0;
- private int viscosityTimer=0;
- private int viscosity=5;
- public int x0=0;
- public int y0=0;
- public int z0=0;
- public List<XYZ> flowXYZ = new ArrayList<XYZ>();
- public List<Block> blockList = new ArrayList<Block>();
- private Block block;
- private int lowestPointsCounter=0;
-
- public InvisibleMagicanEntity(World arg0)
- {
- super(arg0);
- this.isImmuneToFire=true;
- this.noClip=true;
- this.setSize(0F, 0F);
- }
-
- public InvisibleMagicanEntity(World arg0, int x, int y, int z)
- {
- super(arg0);
- this.x0=x;
- this.y0=y;
- this.z0=z;
- this.setPosition(x, y, z);
- this.isImmuneToFire=true;
- this.noClip=true;
- this.setSize(0F, 0F);
- }
-
- @Override
- public void onUpdate()
- {
- if(!this.worldObj.isRemote)
- {
- if(this.blockList.isEmpty())
- {
- if(!takeLowestPoint())
- {
- this.setDead();
- return;
- }
- else
- {
- if(this.block!=null)
- {
- if(this.block==Blocks.water||this.block==Blocks.flowing_water)
- {
- this.viscosity=-1;
- }
- else if(this.block instanceof IFluidBlock)
- {
- IFluidBlock bf = (IFluidBlock) this.block;
- if(bf.getFluid()!=null && bf.getFluid().getViscosity()>600)
- {
- this.viscosity=bf.getFluid().getViscosity()/300;
- }
- }
- else if(this.block.getMaterial()==Material.lava)
- {
- this.viscosity=20;
- }
- else
- {
- this.viscosity=20;
- }
- }
- else
- {
- this.entityAge++;
- }
- }
- }
- else
- {
- if(this.viscosityTimer < this.viscosity)
- {
- this.viscosityTimer++;
- }
- else
- {
- this.viscosityTimer=0;
- XYZ xyz;
- if(!this.flowXYZ.isEmpty())
- {
- xyz = this.flowXYZ.remove(0);
- if(this.flowXYZ.isEmpty())
- {
- Block block1=this.blockList.get(0);
- //System.out.println("Trying to create new source");
- if(this.setBlock(xyz.x, xyz.y, xyz.z, block1))
- {
- this.blockList.remove(0);
- //System.out.println("Creating new source at "+xyz.x+","+xyz.y+","+xyz.z);
- }
- else
- {
- //System.out.println("Failed to create new source!");
- }
- if(!takeLowestPoint())
- {
- this.setDead();
- return;
- }
- }
- else
- {
- Block blockToReplace = this.worldObj.getBlock(xyz.x, xyz.y, xyz.z);
- if(blockToReplace==null || blockToReplace.isAir(worldObj, xyz.x, xyz.y, xyz.z) || blockToReplace.getMaterial().isLiquid() || blockToReplace==Blocks.snow_layer || blockToReplace==Blocks.vine || blockToReplace==Blocks.tallgrass || blockToReplace==Blocks.deadbush)
- {
- if(this.flowXYZ.size()<=this.blockList.size())
- {
- Block block1=this.blockList.get(0);
- if(this.setBlock(xyz.x, xyz.y, xyz.z, block1))
- {
- this.blockList.remove(0);
- //System.out.println("Creating new source at "+xyz.x+","+xyz.y+","+xyz.z);
- }
- }
- else
- {
- if(!this.setNonSourceBlock(xyz.x, xyz.y, xyz.z, block))
- {
- //System.out.println("Failed to setNonSourceBlock at "+xyz.x+","+xyz.y+","+xyz.z);
- }
- }
- }
- else
- {
- this.flowXYZ.clear();
- }
- }
- }
- }
- }
- if(this.lowestPointsCounter > this.blockList.size())
- {
- this.searchSourceDestroyCount(worldObj, this.x0, this.y0, this.z0, block, this.lowestPointsCounter);
- if(!this.blockList.isEmpty())
- {
- this.block=this.blockList.get(0);
- }
- }
- if(this.entityAge>200)
- {
- this.setDead();
- return;
- }
- }
- }
-
- @Override
- protected void entityInit() {}
-
- @Override
- protected void readEntityFromNBT(NBTTagCompound arg0) {}
-
- @Override
- protected void writeEntityToNBT(NBTTagCompound arg0) {}
-
- private int getFlowDecay(int par2, int par3, int par4)
- {
- Block block = this.worldObj.getBlock(par2, par3, par4);
- return block.getMaterial().isLiquid() ? this.worldObj.getBlockMetadata(par2, par3, par4) : -1;
- }
-
- public boolean replaceBlock(int x,int y,int z, Block block)
- {
- if(!IHLMod.cccFiniteWater&&(block==Blocks.flowing_water || block==Blocks.water))
- {
- if(this.worldObj.setBlock(x,y,z,IHLMod.flowing_water,6,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,IHLMod.flowing_water,10);
- return true;
- }
- return false;
- }
- else
- if(!IHLMod.cccFiniteWater&&this.worldObj.provider.isHellWorld&&(block==Blocks.flowing_lava || block==Blocks.lava))
- {
- if(this.worldObj.setBlock(x,y,z,IHLMod.flowing_lava,6,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,IHLMod.flowing_lava,10);
- return true;
- }
- return false;
- }
- else
- {
- if(this.worldObj.setBlockMetadataWithNotify(x, y, z, 6,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,this.worldObj.getBlock(x, y, z),10);
- return true;
- }
- return false;
- }
- }
-
- public boolean setNonSourceBlock(int x,int y,int z,Block block)
- {
- if(block==Blocks.flowing_water || block==Blocks.water)
- {
- if(this.worldObj.setBlock(x,y,z,Blocks.flowing_water,1,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,Blocks.flowing_water,80);
- return true;
- }
- return false;
- }
- else
- if(block==Blocks.flowing_lava || block==Blocks.lava)
- {
- if(this.worldObj.setBlock(x,y,z,Blocks.flowing_lava,1,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,Blocks.flowing_lava,80);
- return true;
- }
- return false;
- }
- else
- {
- if(this.worldObj.setBlock(x, y, z, block, 1,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z, block ,80);
- return true;
- }
- return false;
- }
- }
-
- public boolean setBlock(int x,int y,int z, Block block)
- {
- if(block==Blocks.flowing_water || block==Blocks.water)
- {
- if(this.worldObj.setBlock(x,y,z,Blocks.flowing_water,0,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,Blocks.flowing_water,20);
- return true;
- }
- return false;
- }
- else
- if(block==Blocks.flowing_lava || block==Blocks.lava)
- {
- if(this.worldObj.setBlock(x,y,z,Blocks.flowing_lava,0,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,Blocks.flowing_lava,20);
- return true;
- }
- return false;
- }
- else
- {
- if(this.worldObj.setBlock(x,y,z,block,0,3))
- {
- this.worldObj.scheduleBlockUpdate(x,y,z,block,20);
- return true;
- }
- return false;
- }
- }
-
- private boolean takeLowestPoint()
- {
- int xz[]={0,1,0,-1,0};
- Block block;
- int x=x0;
- int y=y0;
- int z=z0;
- List<Long> list = new ArrayList<Long>();
- this.flowXYZ.clear();
- for(int thread=0;thread<=256;thread++)
- {
-
- long number = new Long(x*256L*256L+y*256L+z);
- list.add(number);
- boolean skip=false;
- block = this.worldObj.getBlock(x, y-1, z);
- number = new Long(x*256L*256L+(y-1)*256L+z);
- if((block.isAir(this.worldObj, x, y-1, z)||getFlowDecay(x, y-1, z)>=1) && !list.contains(number))
- {
- y--;
- this.lowestPointsCounter=1;
- skip=true;
- }
- if(!skip)
- {
- for(int i=0;i<=3;i++)
- {
- block = this.worldObj.getBlock(x+xz[i], y, z+xz[i+1]);
- number = new Long((x+xz[i])*256L*256L+y*256L+z+xz[i+1]);
- if((block.isAir(this.worldObj, x+xz[i], y, z+xz[i+1])||getFlowDecay(x+xz[i], y, z+xz[i+1])>=1) && !list.contains(number))
- {
- x+=xz[i];
- z+=xz[i+1];
- skip=true;
- this.lowestPointsCounter++;
- break;
- }
- }
- }
- XYZ xyz=new XYZ(x,y,z);
- this.flowXYZ.add(xyz);
- if(!skip)
- {
- break;
- }
- }
- if(y<y0)
- {
- return true;
- }
- return false;
- }
-
- private int searchSourceDestroyCount(World world, int startx, int starty, int startz,
- Block type, int countCells) {
- int currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- for (int i=0; i<64;i++)
- {
- if(getFlowDecay(world, startx, starty+1, startz)>=0)
- {
- starty++;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
-
- else if(getFlowDecay(world, startx+1, starty+1, startz)>=0)
- {
- starty++;
- startx++;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
-
- else if(getFlowDecay(world, startx-1, starty+1, startz)>=0)
- {
- starty++;
- startx--;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
-
- else if(getFlowDecay(world, startx, starty+1, startz+1)>=0)
- {
- starty++;
- startz++;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
-
- else if(getFlowDecay(world, startx, starty+1, startz-1)>=0)
- {
- starty++;
- startz--;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
- //Start checking neighbor blocks to lower flow decay.
- else if(getFlowDecay(world, startx-1, starty, startz)<currentFlowDecay&&getFlowDecay(world, startx-1, starty, startz)!=-1)
- {
- startx--;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
- else if(getFlowDecay(world, startx, starty, startz+1)<currentFlowDecay&&getFlowDecay(world, startx, starty, startz+1)!=-1)
- {
- startz++;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
- else if(getFlowDecay(world, startx, starty, startz-1)<currentFlowDecay&&getFlowDecay(world, startx, starty, startz-1)!=-1)
- {
- startz--;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
- else if(getFlowDecay(world, startx+1, starty, startz)<currentFlowDecay&&getFlowDecay(world, startx+1, starty, startz)!=-1)
- {
- startx++;
- currentFlowDecay=getFlowDecay(world, startx, starty, startz);
- }
- else {break;}
- }
- List<XYZ> xyzlist = new ArrayList<XYZ>();
- if(currentFlowDecay==0)
- {
- xyzlist.add(new XYZ(startx, starty, startz));
- Block block=worldObj.getBlock(startx, starty, startz);
- replaceBlock(startx, starty, startz, block);
- this.blockList.add(block);
- int listPos=0;
- for(int i=0;i<=countCells;i++)
- {
- if(getFlowDecay(world, startx-1, starty, startz)==0 && !xyzlist.contains(new XYZ(startx-1, starty, startz)))
- {
- startx--;
- xyzlist.add(new XYZ(startx, starty, startz));
- listPos=xyzlist.size()-1;
- block=worldObj.getBlock(startx, starty, startz);
- replaceBlock(startx, starty, startz, block);
- this.blockList.add(block);
- }
- else if(getFlowDecay(world, startx, starty, startz+1)==0 && !xyzlist.contains(new XYZ(startx, starty, startz+1)))
- {
- startz++;
- xyzlist.add(new XYZ(startx, starty, startz));
- listPos=xyzlist.size()-1;
- block=worldObj.getBlock(startx, starty, startz);
- replaceBlock(startx, starty, startz, block);
- this.blockList.add(block);
- }
- else if(getFlowDecay(world, startx, starty, startz-1)==0 && !xyzlist.contains(new XYZ(startx, starty, startz-1)))
- {
- startz--;
- xyzlist.add(new XYZ(startx, starty, startz));
- listPos=xyzlist.size()-1;
- block=worldObj.getBlock(startx, starty, startz);
- replaceBlock(startx, starty, startz, block);
- this.blockList.add(block);
- }
- else if(getFlowDecay(world, startx+1, starty, startz)==0 && !xyzlist.contains(new XYZ(startx+1, starty, startz)))
- {
- startx++;
- xyzlist.add(new XYZ(startx, starty, startz));
- listPos=xyzlist.size()-1;
- block=worldObj.getBlock(startx, starty, startz);
- replaceBlock(startx, starty, startz, block);
- this.blockList.add(block);
- }
- else
- {
- if(listPos>0)
- {
- listPos--;
- XYZ xyz = xyzlist.get(listPos);
- startx=xyz.x;
- starty=xyz.y;
- startz=xyz.z;
- }
- }
- }
- }
- return xyzlist.size();
- }
-
- private int getFlowDecay(World world, int startx, int starty, int startz) {
- return this.getFlowDecay(startx, starty, startz);
- }
-}
diff --git a/ihl/interfaces/IDataCableHolder.java b/ihl/interfaces/IDataCableHolder.java
deleted file mode 100644
index f527f1b..0000000
--- a/ihl/interfaces/IDataCableHolder.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package ihl.interfaces;
-
-import ihl.datanet.Contact;
-import net.minecraft.nbt.NBTTagCompound;
-
-public interface IDataCableHolder extends ICableHolder
-{
- boolean addDataCable(NBTTagCompound cable);
- Contact[] getContacts(int chainUID);
- void removeCable(int chainUID);
- Contact getContact(int innerId1);
-}
diff --git a/ihl/interfaces/IDataNode.java b/ihl/interfaces/IDataNode.java
deleted file mode 100644
index d13af00..0000000
--- a/ihl/interfaces/IDataNode.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package ihl.interfaces;
-
-import ihl.processing.invslots.InvSlotSignalProcessor;
-
-import java.util.Set;
-
-public interface IDataNode
-{
- int getAttachedSlotNumber();
- int getDataGridID();
- void setDataGrid(int newGridID);
- Set<IDataNode> getConnectedDataNodes();
- int getXPos();
- int getYPos();
- int getZPos();
- int getInnerId();
- boolean isIndirectlyConnectedWithContact(int id);
- void checkAttachedSlots();
- InvSlotSignalProcessor getAttachedSlot();
- int getType();
-}
diff --git a/ihl/interfaces/ItemMiniGUI.java b/ihl/interfaces/ItemMiniGUI.java
index 4be2fe9..249fb7d 100644
--- a/ihl/interfaces/ItemMiniGUI.java
+++ b/ihl/interfaces/ItemMiniGUI.java
@@ -3,19 +3,27 @@ package ihl.interfaces;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.inventory.Slot;
-public abstract class ItemMiniGUI
-{
+public abstract class ItemMiniGUI {
protected final GuiContainer guiBase;
protected final Slot slotBase;
-
- public ItemMiniGUI(GuiContainer gui, Slot slot)
- {
- guiBase=gui;
- slotBase=slot;
+
+ protected final int TEXT_BOX_POSX = 50;
+ protected final int TEXT_BOX_POSY = 16;
+ protected final int TEXT_BOX_WIDTH = 42;
+ protected final int UNITS_LABEL_POSX = 105;
+ protected final int HEIGHT = 39;
+ protected final int RUNNER_POSY = 30;
+
+ public ItemMiniGUI(GuiContainer gui, Slot slot) {
+ guiBase = gui;
+ slotBase = slot;
}
-
+
public abstract void displayGUI();
+
public abstract boolean handleMouseClick(int mouseButton, int mouseX, int mouseY);
- public abstract boolean handleKeyTyped(char characterTyped, int keyIndex);
+
+ public abstract boolean handleKeyTyped(char characterTyped, int keyIndex);
+
public abstract void onGUIClosed();
}
diff --git a/ihl/items_blocks/FlexibleCableItem.java b/ihl/items_blocks/FlexibleCableItem.java
index 7fd2583..9944f4c 100644
--- a/ihl/items_blocks/FlexibleCableItem.java
+++ b/ihl/items_blocks/FlexibleCableItem.java
@@ -28,7 +28,6 @@ import ihl.flexible_cable.AnchorTileEntity;
import ihl.flexible_cable.NodeEntity;
import ihl.flexible_cable.PowerCableNodeEntity;
import ihl.interfaces.ICableHolder;
-import ihl.interfaces.IDataCableHolder;
import ihl.interfaces.IEnergyNetNode;
import ihl.interfaces.IMultiPowerCableHolder;
import ihl.interfaces.IWire;
@@ -100,8 +99,7 @@ public class FlexibleCableItem extends Item implements IWire {
world.playSoundEffect(x + 0.5F, y + 0.5F, z + 0.5F, "step.stone", 1.0F, 0.8F);
if (!world.isRemote && t != null
&& ((t instanceof IEnergyNetNode && !isDataCable)
- || (t instanceof IMultiPowerCableHolder && !isDataCable)
- || (t instanceof IDataCableHolder && isDataCable))
+ || (t instanceof IMultiPowerCableHolder && !isDataCable))
&& stack.stackTagCompound.getInteger("fullLength") >= 1) {
double ppx, ppy, ppz;
ICableHolder te;
@@ -138,10 +136,15 @@ public class FlexibleCableItem extends Item implements IWire {
stack.stackTagCompound.setBoolean("firstConnection", false);
return false;
} else {
- if (t2 instanceof IMultiPowerCableHolder) {
- te = ((IMultiPowerCableHolder) t2).getEnergyNetNode(facing);
+ if (t instanceof IMultiPowerCableHolder) {
+ facing = ((IMultiPowerCableHolder) t).getSide(player);
+ if (facing == -1) {
+ return false;
+ } else {
+ te = ((IMultiPowerCableHolder) t).getEnergyNetNode(facing);
+ }
} else {
- te = (ICableHolder) t2;
+ te = (ICableHolder) t;
}
te.setCableCheck(true);
}
diff --git a/ihl/i_hate_liquids/IHLBucketHandler.java b/ihl/items_blocks/IHLBucketHandler.java
index d8a9943..c0a23b6 100644
--- a/ihl/i_hate_liquids/IHLBucketHandler.java
+++ b/ihl/items_blocks/IHLBucketHandler.java
@@ -1,6 +1,5 @@
-package ihl.i_hate_liquids;
+package ihl.items_blocks;
-import ihl.items_blocks.IHLFluidBlock;
import net.minecraft.block.Block;
import net.minecraftforge.event.entity.player.FillBucketEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
diff --git a/ihl/items_blocks/IHLItemBlock.java b/ihl/items_blocks/IHLItemBlock.java
index 3bde475..c25450d 100644
--- a/ihl/items_blocks/IHLItemBlock.java
+++ b/ihl/items_blocks/IHLItemBlock.java
@@ -10,9 +10,6 @@ import ic2.api.tile.IWrenchable;
import ic2.core.IC2;
import ihl.IHLCreativeTab;
import ihl.IHLModInfo;
-import ihl.collector.ChargerEjectorTileEntity;
-import ihl.processing.metallurgy.PassiveBlock;
-import ihl.tunneling_shield.DriverTileEntity;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
@@ -101,25 +98,6 @@ public class IHLItemBlock extends ItemBlock{
this.field_150939_a.onBlockPlacedBy(world, x, y, z, player, par1ItemStack);
this.field_150939_a.onPostBlockPlaced(world, x, y, z, var13);
TileEntity tile=world.getTileEntity(x, y, z);
- if(tile!=null && par1ItemStack.stackTagCompound!=null && par1ItemStack.stackTagCompound.hasKey("energy") && tile instanceof ChargerEjectorTileEntity && IC2.platform.isSimulating())
- {
- ChargerEjectorTileEntity te=(ChargerEjectorTileEntity)tile;
- double energy;
- try
- {
- energy = par1ItemStack.stackTagCompound.getDouble("energy");
- }
- catch (Exception var3)
- {
- energy = par1ItemStack.stackTagCompound.getInteger("energy");
-
- if (energy > Integer.MAX_VALUE)
- {
- energy *= 10.0D;
- }
- }
- te.setStored(energy);
- }
if(tile instanceof IWrenchable && IC2.platform.isSimulating())
{
IWrenchable te=(IWrenchable)tile;
@@ -234,27 +212,6 @@ public class IHLItemBlock extends ItemBlock{
}
}
- @Override
- public boolean onItemUseFirst(ItemStack itemstack, EntityPlayer entityPlayer, World world, int x, int y, int z, int l, float hitX, float hitY, float hitZ)
- {
- TileEntity tileEntity = world.getTileEntity(x, y, z);
- if (tileEntity instanceof DriverTileEntity && IC2.platform.isSimulating())
- {
- DriverTileEntity dte = (DriverTileEntity) tileEntity;
- if(itemstack.getUnlocalizedName()==PassiveBlock.Type.IHLShieldAssemblyUnitBlock.unlocalizedName)
- {
- dte.installShield();
- itemstack.stackSize--;
- }
- else if(itemstack.getUnlocalizedName()==PassiveBlock.Type.AdvancedShieldAssemblyUnitBlock.unlocalizedName)
- {
- dte.installAdvancedShield();
- itemstack.stackSize--;
- }
- }
- return false;
- }
-
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
diff --git a/ihl/items_blocks/ItemSubstance.java b/ihl/items_blocks/ItemSubstance.java
index d934172..7404a54 100644
--- a/ihl/items_blocks/ItemSubstance.java
+++ b/ihl/items_blocks/ItemSubstance.java
@@ -34,304 +34,286 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-public class ItemSubstance extends Item implements IItemHasMiniGUI{
-
+public class ItemSubstance extends Item implements IItemHasMiniGUI {
+
private static Map<Integer, IIcon> iconMap = new HashMap<Integer, IIcon>();
private static Map<Integer, String> nameMap = new HashMap<Integer, String>();
private static Map<Integer, String> descriptionMap = new HashMap<Integer, String>();
public static ItemSubstance instance;
-
- public ItemSubstance()
- {
+
+ public ItemSubstance() {
super();
this.setMaxDamage(0);
this.setNoRepair();
this.setHasSubtypes(true);
this.setCreativeTab(IHLCreativeTab.tab);
this.setUnlocalizedName("ihlSimpleItem");
- instance=this;
+ instance = this;
}
-
- public static void init()
- {
- Item breadWithLard = (new ItemFood(4, 0.1F, false)).setUnlocalizedName("breadWithLard").setTextureName(IHLModInfo.MODID+":breadWithLard").setCreativeTab(IHLCreativeTab.tab);
- GameRegistry.registerItem(breadWithLard,"food");
- IHLUtils.registerLocally("breadWithLard", new ItemStack(breadWithLard,1,0));
+
+ public static void init() {
+ Item breadWithLard = (new ItemFood(4, 0.1F, false)).setUnlocalizedName("breadWithLard")
+ .setTextureName(IHLModInfo.MODID + ":breadWithLard").setCreativeTab(IHLCreativeTab.tab);
+ GameRegistry.registerItem(breadWithLard, "food");
+ IHLUtils.registerLocally("breadWithLard", new ItemStack(breadWithLard, 1, 0));
ItemSubstance item = new ItemSubstance();
- GameRegistry.registerItem(item,item.getUnlocalizedName());
+ GameRegistry.registerItem(item, item.getUnlocalizedName());
Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- nameMap.put(var1[i].damage,var1[i].unLocalizedName);
- IHLUtils.registerLocally(var1[i].unLocalizedName, new ItemStack(item,1,var1[i].damage));
- if(var1[i].registerInOreDictionary)
- {
- OreDictionary.registerOre(var1[i].oreRegistryName, new ItemStack(item,1,var1[i].damage));
+ for (int i = 0; i < var1.length; i++) {
+ nameMap.put(var1[i].damage, var1[i].unLocalizedName);
+ IHLUtils.registerLocally(var1[i].unLocalizedName, new ItemStack(item, 1, var1[i].damage));
+ if (var1[i].registerInOreDictionary) {
+ OreDictionary.registerOre(var1[i].oreRegistryName, new ItemStack(item, 1, var1[i].damage));
}
- if(var1[i].description!=null)
- {
- descriptionMap.put(var1[i].damage,var1[i].description);
+ if (var1[i].description != null) {
+ descriptionMap.put(var1[i].damage, var1[i].description);
}
}
- ItemStack emptyCell = IC2Items.getItem("cell");
+ ItemStack emptyCell = IC2Items.getItem("cell");
IHLFluidType[] var2 = IHLFluidType.values();
- for(int i=0;i<var2.length;i++)
- {
+ for (int i = 0; i < var2.length; i++) {
IHLFluidType type = var2[i];
- if(type.cell!=null)
- {
- OreDictionary.registerOre("cell"+type.fluidName.replaceFirst("fluid", ""), type.cell);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(type.fluid, FluidContainerRegistry.BUCKET_VOLUME), type.cell, emptyCell.copy()));
- }
- else
- {
- ItemStack filledCell = FluidContainerRegistry.fillFluidContainer(new FluidStack(type.fluid, FluidContainerRegistry.BUCKET_VOLUME),emptyCell.copy());
- if(filledCell==null && type.hasCell)
- {
- ItemStack stack = new ItemStack(item,1,type.damage);
- nameMap.put(type.damage,type.cellName);
+ if (type.cell != null) {
+ OreDictionary.registerOre("cell" + type.fluidName.replaceFirst("fluid", ""), type.cell);
+ FluidContainerRegistry.registerFluidContainer(new FluidContainerData(
+ new FluidStack(type.fluid, FluidContainerRegistry.BUCKET_VOLUME), type.cell, emptyCell.copy()));
+ } else {
+ ItemStack filledCell = FluidContainerRegistry.fillFluidContainer(
+ new FluidStack(type.fluid, FluidContainerRegistry.BUCKET_VOLUME), emptyCell.copy());
+ if (filledCell == null && type.hasCell) {
+ ItemStack stack = new ItemStack(item, 1, type.damage);
+ nameMap.put(type.damage, type.cellName);
IHLUtils.registerLocally(type.cellName, stack);
type.cell = stack;
- OreDictionary.registerOre("cell"+type.fluidName.replaceFirst("fluid", ""), type.cell);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(type.fluid, FluidContainerRegistry.BUCKET_VOLUME), stack, emptyCell.copy()));
- }
- else
- {
- type.cell=filledCell;
+ OreDictionary.registerOre("cell" + type.fluidName.replaceFirst("fluid", ""), type.cell);
+ FluidContainerRegistry.registerFluidContainer(new FluidContainerData(
+ new FluidStack(type.fluid, FluidContainerRegistry.BUCKET_VOLUME), stack, emptyCell.copy()));
+ } else {
+ type.cell = filledCell;
}
}
}
- OreDictionary.registerOre("itemSalt",IHLUtils.getThisModItemStack("dustSalt"));
+ OreDictionary.registerOre("itemSalt", IHLUtils.getThisModItemStack("dustSalt"));
}
-
- public static void postInit()
- {
+
+ public static void postInit() {
Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- if(var1[i].registerInOreDictionary)
- {
- if(var1[i].oreRegistryName.contains("dustTiny"))
- {
- RecipeInputOreDict stack = new RecipeInputOreDict(var1[i].oreRegistryName);;
- Recipes.advRecipes.addShapelessRecipe(IHLUtils.getOreDictItemStackWithSize(var1[i].oreRegistryName,9),new RecipeInputOreDict(var1[i].oreRegistryName.replace("dustTiny", "dust")));
- Recipes.advRecipes.addShapelessRecipe(IHLUtils.getOreDictItemStack(var1[i].oreRegistryName.replace("dustTiny", "dust")),stack,stack,stack,stack,stack,stack,stack,stack,stack);
+ for (int i = 0; i < var1.length; i++) {
+ if (var1[i].registerInOreDictionary) {
+ if (var1[i].oreRegistryName.contains("dustTiny")) {
+ RecipeInputOreDict stack = new RecipeInputOreDict(var1[i].oreRegistryName);
+ ;
+ Recipes.advRecipes.addShapelessRecipe(
+ IHLUtils.getOreDictItemStackWithSize(var1[i].oreRegistryName, 9),
+ new RecipeInputOreDict(var1[i].oreRegistryName.replace("dustTiny", "dust")));
+ Recipes.advRecipes.addShapelessRecipe(
+ IHLUtils.getOreDictItemStack(var1[i].oreRegistryName.replace("dustTiny", "dust")), stack,
+ stack, stack, stack, stack, stack, stack, stack, stack);
}
- if(var1[i].oreRegistryName.contains("ingot") && IHLUtils.hasOreDictionaryEntry(var1[i].oreRegistryName.replace("ingot", "dust")))
- {
- IHLUtils.addIC2MaceratorRecipe(var1[i].oreRegistryName, IHLUtils.getOreDictItemStack(var1[i].oreRegistryName.replace("ingot", "dust")));
+ if (var1[i].oreRegistryName.contains("ingot")
+ && IHLUtils.hasOreDictionaryEntry(var1[i].oreRegistryName.replace("ingot", "dust"))) {
+ IHLUtils.addIC2MaceratorRecipe(var1[i].oreRegistryName,
+ IHLUtils.getOreDictItemStack(var1[i].oreRegistryName.replace("ingot", "dust")));
}
}
}
}
-
+
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
@SideOnly(Side.CLIENT)
- public void getSubItems(Item item, CreativeTabs tabs, List itemList)
- {
+ public void getSubItems(Item item, CreativeTabs tabs, List itemList) {
Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
+ for (int i = 0; i < var1.length; i++) {
ItemStack stack = IHLUtils.getThisModItemStack(var1[i].unLocalizedName);
- if(var1[i]==Type.Detonator)
- {
- stack.stackTagCompound=new NBTTagCompound();
+ if (var1[i] == Type.Detonator) {
+ stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("detonator_delay", 5);
}
- itemList.add(stack);
+ itemList.add(stack);
}
IHLFluidType[] var2 = IHLFluidType.values();
- for(int i=0;i<var2.length;i++)
- {
- if(var2[i].hasCell && var2[i].cell!=null)
- {
+ for (int i = 0; i < var2.length; i++) {
+ if (var2[i].hasCell && var2[i].cell != null) {
itemList.add(var2[i].cell);
}
}
- }
+ }
@Override
@SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister register)
- {
+ public void registerIcons(IIconRegister register) {
Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- iconMap.put(var1[i].damage, register.registerIcon(IHLModInfo.MODID + ":"+var1[i].textureName));
+ for (int i = 0; i < var1.length; i++) {
+ iconMap.put(var1[i].damage, register.registerIcon(IHLModInfo.MODID + ":" + var1[i].textureName));
}
IHLFluidType[] var2 = IHLFluidType.values();
- for(int i=0;i<var2.length;i++)
- {
+ for (int i = 0; i < var2.length; i++) {
IHLFluidType type = var2[i];
- if(var2[i].hasCell)
- {
- iconMap.put(type.damage, register.registerIcon(IHLModInfo.MODID + ":"+type.cellName));
+ if (var2[i].hasCell) {
+ iconMap.put(type.damage, register.registerIcon(IHLModInfo.MODID + ":" + type.cellName));
}
}
-
+
}
@Override
@SideOnly(Side.CLIENT)
- public IIcon getIconFromDamage(int i)
- {
+ public IIcon getIconFromDamage(int i) {
return iconMap.get(i);
}
-
+
@Override
- public String getUnlocalizedName(ItemStack stack)
- {
+ public String getUnlocalizedName(ItemStack stack) {
return nameMap.get(stack.getItemDamage());
}
-
- @Override
+
+ @Override
@SuppressWarnings({ "rawtypes", "unchecked" })
- public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
- {
- if(ItemSubstance.descriptionMap.containsKey(itemStack.getItemDamage()))
- {
- info.add(ItemSubstance.descriptionMap.get(itemStack.getItemDamage()));
- }
- if(itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("detonator_delay"))
- {
- info.add(StatCollector.translateToLocal("ihl.detonator_delay")+" "+itemStack.stackTagCompound.getInteger("detonator_delay")+StatCollector.translateToLocal("ihl.seconds"));
- }
- }
-
- public enum Type
- {
+ public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag) {
+ if (ItemSubstance.descriptionMap.containsKey(itemStack.getItemDamage())) {
+ info.add(ItemSubstance.descriptionMap.get(itemStack.getItemDamage()));
+ }
+ if (itemStack.stackTagCompound != null && itemStack.stackTagCompound.hasKey("detonator_delay")) {
+ info.add(StatCollector.translateToLocal("ihl.detonator_delay") + " "
+ + itemStack.stackTagCompound.getInteger("detonator_delay")
+ + StatCollector.translateToLocal("ihl.seconds"));
+ }
+ }
+
+ public enum Type {
+ dustMercuryFulminate(195, "dustMercuryFulminate", true, "Hg(CNO)\u2082"),
Detonator(194, "detonator"),
- dustPentaerythritolTetranitrate(193,"dustPentaerythritolTetranitrate",true,"C(CH\u2082ONO\u2082)\u2084"),
- DustPentaerythritol(192, "dustPentaerythritol",true,"C(CH\u2082OH)\u2084"),
- DustPotassiumOxide(191, "dustPotassiumOxide",true,"K\u2082O"),
- IngotPotassium(190, "ingotPotassium",true,"K"),
- catalystIron(189, "catalystIron",false,"Fe (foam) + Al\u2082O\u2083 + K\u2082O"),
- catalystIronOxide(188, "catalystIronOxide",false,"Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
- catalystRawIronOxide(187, "catalystRawIronOxide",false,"Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
- IronOxideCatalystMix(186, "dustIronOxideCatalystMix",false,"Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
- SodiumFormate(185, "dustSodiumFormate",true,"HCO\u2082Na"),
- MercuryChloride(184, "dustMercuryChloride",true,"HgCl\u2082"),
- CalciumAcetate(183, "dustCalciumAcetate",true,"Ca(CH\u2083COO)\u2082"),
- TinySiliconDioxide(182, "dustTinySiliconDioxide",true,"SiO\u2082"),
- TinyIronOxide(181, "dustTinyIronOxide",true,"Fe\u2082O\u2083"),
- TinyManganeseOxide(180, "dustTinyManganeseOxide",true,"Mn\u2083O\u2084"),
- TinyGypsum(179, "dustTinyGypsum",true,"CaSO\u2084\u00B72H\u2082O"),
- SodiumZeoliteCoked(178,"dustSodiumZeoliteCoked",true,"Na[AlSi\u2083O\u2088]+C"),
- SodiumZeolite(177,"dustSodiumZeolite",true,"Na[AlSi\u2083O\u2088]"),
- SodiumAluminate(176,"dustSodiumAluminate",true,"NaAlO\u2082"),
- SodiumHydroxide(175,"dustSodiumHydroxide",true,"NaOH"),
- DustTinyTungsten(174,"dustTinyTungsten",true,"W"),
- BauxiteDust(173, "dustBauxite",true,"Al\u2082O\u2083\u00B7H\u2082O"),
- LithiumIngot(172,"ingotLithium",true,"Li"),
- DustLithiumChloride(171,"dustLithiumChloride",true,"LiCl"),
+ dustPentaerythritolTetranitrate(193, "dustPentaerythritolTetranitrate", true, "C(CH\u2082ONO\u2082)\u2084"),
+ DustPentaerythritol(192, "dustPentaerythritol", true, "C(CH\u2082OH)\u2084"),
+ DustPotassiumOxide(191, "dustPotassiumOxide", true, "K\u2082O"),
+ IngotPotassium(190, "ingotPotassium", true, "K"),
+ catalystIron(189, "catalystIron", false, "Fe (foam) + Al\u2082O\u2083 + K\u2082O"),
+ catalystIronOxide(188, "catalystIronOxide", false, "Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
+ catalystRawIronOxide(187, "catalystRawIronOxide", false, "Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
+ IronOxideCatalystMix(186, "dustIronOxideCatalystMix", false, "Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
+ SodiumFormate(185, "dustSodiumFormate", true, "HCO\u2082Na"),
+ MercuryChloride(184, "dustMercuryChloride", true, "HgCl\u2082"),
+ CalciumAcetate(183, "dustCalciumAcetate", true, "Ca(CH\u2083COO)\u2082"),
+ TinySiliconDioxide(182, "dustTinySiliconDioxide", true, "SiO\u2082"),
+ TinyIronOxide(181, "dustTinyIronOxide", true, "Fe\u2082O\u2083"),
+ TinyManganeseOxide(180, "dustTinyManganeseOxide", true, "Mn\u2083O\u2084"),
+ TinyGypsum(179, "dustTinyGypsum", true, "CaSO\u2084\u00B72H\u2082O"),
+ SodiumZeoliteCoked(178, "dustSodiumZeoliteCoked", true, "Na[AlSi\u2083O\u2088]+C"),
+ SodiumZeolite(177, "dustSodiumZeolite", true, "Na[AlSi\u2083O\u2088]"),
+ SodiumAluminate(176, "dustSodiumAluminate", true, "NaAlO\u2082"),
+ SodiumHydroxide(175, "dustSodiumHydroxide", true, "NaOH"),
+ DustTinyTungsten(174, "dustTinyTungsten", true, "W"),
+ BauxiteDust(173, "dustBauxite", true, "Al\u2082O\u2083\u00B7H\u2082O"),
+ LithiumIngot(172, "ingotLithium", true, "Li"),
+ DustLithiumChloride(171, "dustLithiumChloride", true, "LiCl"),
CoalPlate(170, "plateCoal", true, "C (amorphic)"),
GraphitePlate(156, "plateGraphite", true, "C (graphite)"),
CoalRawPlate(155, "plateRawCoal"),
- //RedstoneSensor(169,"redstoneSensor"),
- //RedstoneEmitter(168,"redstoneEmitter"),
- IncisorSteelDiamondCoated(167,"incisorSteelDiamondCoated"),
- IncisorSteel(166,"incisorSteel"),
- LampHolderPorcelain(165,"lampHolderPorcelain"),
- LampHolderRawPorcelain(164,"lampHolderRawPorcelain"),
- DustIridium(163,"dustIridium",true,"Ir"),
- SiliconTiny(162, "dustTinySilicon",true,"Si"),
- DustMagnesiumOxide(161,"dustMagnesiumOxide",true,"MgO"),
- Silicon(160, "dustSilicon",true,"Si"),
- Bischofite(159,"dustBischofite",true,"MgCl\u2082\u00B76H\u2082O"),
- DustMagnesium(158,"dustMagnesium",true,"Mg"),
- IngotMagnesium(157,"ingotMagnesium",true,"Mg"),
- Ignitron(154,"ignitron"),
- BoronCarbideElectrode(153,"stickBoronCarbide",true,"B\u2084C"),
- LeadFoil(152,"foilLead",true,"Pb"),
- DustLeadPlumbate(151,"dustLeadPlumbate",true,"Pb\u2082PbO\u2084"),
- VacuumSwitch(150,"vacuumSwitch"),
- HallSensor(149,"hallSensor"),
- BatteryCells(148,"batteryCellsEbonite"),
- //BatteryCellsRaw(147,"batteryCellsRawEbonite"),
- MuscoviteGetinax(146,"plateMica",true,"KAl\u2082(AlSi\u2083O\u2081\u2080)(OH)\u2082"),
- BoronCarbide(145,"dustBoronCarbide",true,"B\u2084C"),
- DustBoricAcid(144,"dustBoricAcid",true,"H\u2083BO\u2083"),
- DustDatolite(143,"dustDatolite",true,"H\u2082Ca\u2082B\u2082Si\u2082O\u2081\u2080"),
- DustFerrite(142,"dustFerrite",true,"Li\u2082Fe\u2082O\u2084"),
- RingFerrite(141,"ringFerrite",true,"Li\u2082Fe\u2082O\u2084"),
- RingRawFerrite(140,"ringRawFerrite"),
- LithiumOxide(139,"dustLithiumOxide",true,"Li\u2082O"),
- SolderingAlloyDust(138,"dustSolderingAlloy",true,"Sn\u2089Sb"),
- AntimonyTinyDust(137,"dustTinyAntimony",true,"Sb"),
- InsulatorPorcelain(136,"insulatorPorcelain"),
- InsulatorRawPorcelain(135,"insulatorRawPorcelain"),
- AntimonyDust(134,"dustAntimony",true,"Sb"),
- AntimonyOxide(133,"dustAntimonyOxide",true,"Sb\u2082O\u2083"),
- StibniteDust(132,"dustStibnite",true,"Sb\u2082S\u2083"),
- CrushedPurifiedStibnite(131,"crushedPurifiedStibnite",true,"Sb\u2082S\u2083"),
- CrushedStibnite(130,"crushedStibnite",true,"Sb\u2082S\u2083"),
- RingPorcelain(129,"ringPorcelain"),
- RingRawPorcelain(128,"ringRawPorcelain"),
- CopperFoil(127,"foilCopper",true,"Cu"),
- CrushedPurifiedBauxite(126, "crushedPurifiedBauxite",true,"Al\u2082O\u2083\u00B7H\u2082O"),
- CrushedBauxite(125, "crushedBauxite",true,"Al\u2082O\u2083�H\u2082O + SiO\u2082, Fe\u2082O\u2083"),
- SodiumSulfide(124,"dustSodiumSulfide",true,"NaS"),
- SodiumSulfate(123,"dustSodiumSulfate",true,"Na\u2082SO\u2084"),
- dustWood(122,"dustWood",true),
- Kenotron(121,"valveTube1C21P"),
- HighVolatgeCapacitor(120,"highVoltageCapacitor"),
- MuscovitePaper(119,"foilMica",true,"KAl\u2082(AlSi\u2083O\u2081\u2080)(OH)\u2082"),
- MuscoviteDust(118,"dustMica",true,"KAl\u2082(AlSi\u2083O\u2081\u2080)(OH)\u2082"),
+ // RedstoneSensor(169,"redstoneSensor"),
+ // RedstoneEmitter(168,"redstoneEmitter"),
+ IncisorSteelDiamondCoated(167, "incisorSteelDiamondCoated"),
+ IncisorSteel(166, "incisorSteel"),
+ LampHolderPorcelain(165, "lampHolderPorcelain"),
+ LampHolderRawPorcelain(164, "lampHolderRawPorcelain"),
+ DustIridium(163, "dustIridium", true, "Ir"),
+ SiliconTiny(162, "dustTinySilicon", true, "Si"),
+ DustMagnesiumOxide(161, "dustMagnesiumOxide", true, "MgO"),
+ Silicon(160, "dustSilicon", true, "Si"),
+ Bischofite(159, "dustBischofite", true, "MgCl\u2082\u00B76H\u2082O"),
+ DustMagnesium(158, "dustMagnesium", true, "Mg"),
+ IngotMagnesium(157, "ingotMagnesium", true, "Mg"),
+ Ignitron(154, "ignitron"),
+ BoronCarbideElectrode(153, "stickBoronCarbide", true, "B\u2084C"),
+ LeadFoil(152, "foilLead", true, "Pb"),
+ DustLeadPlumbate(151, "dustLeadPlumbate", true, "Pb\u2082PbO\u2084"),
+ VacuumSwitch(150, "vacuumSwitch"),
+ HallSensor(149, "hallSensor"),
+ BatteryCells(148, "batteryCellsEbonite"),
+ // BatteryCellsRaw(147,"batteryCellsRawEbonite"),
+ MuscoviteGetinax(146, "plateMica", true, "KAl\u2082(AlSi\u2083O\u2081\u2080)(OH)\u2082"),
+ BoronCarbide(145, "dustBoronCarbide", true, "B\u2084C"),
+ DustBoricAcid(144, "dustBoricAcid", true, "H\u2083BO\u2083"),
+ DustDatolite(143, "dustDatolite", true, "H\u2082Ca\u2082B\u2082Si\u2082O\u2081\u2080"),
+ DustFerrite(142, "dustFerrite", true, "Li\u2082Fe\u2082O\u2084"),
+ RingFerrite(141, "ringFerrite", true, "Li\u2082Fe\u2082O\u2084"),
+ RingRawFerrite(140, "ringRawFerrite"),
+ LithiumOxide(139, "dustLithiumOxide", true, "Li\u2082O"),
+ SolderingAlloyDust(138, "dustSolderingAlloy", true, "Sn\u2089Sb"),
+ AntimonyTinyDust(137, "dustTinyAntimony", true, "Sb"),
+ InsulatorPorcelain(136, "insulatorPorcelain"),
+ InsulatorRawPorcelain(135, "insulatorRawPorcelain"),
+ AntimonyDust(134, "dustAntimony", true, "Sb"),
+ AntimonyOxide(133, "dustAntimonyOxide", true, "Sb\u2082O\u2083"),
+ StibniteDust(132, "dustStibnite", true, "Sb\u2082S\u2083"),
+ CrushedPurifiedStibnite(131, "crushedPurifiedStibnite", true, "Sb\u2082S\u2083"),
+ CrushedStibnite(130, "crushedStibnite", true, "Sb\u2082S\u2083"),
+ RingPorcelain(129, "ringPorcelain"),
+ RingRawPorcelain(128, "ringRawPorcelain"),
+ CopperFoil(127, "foilCopper", true, "Cu"),
+ CrushedPurifiedBauxite(126, "crushedPurifiedBauxite", true, "Al\u2082O\u2083\u00B7H\u2082O"),
+ CrushedBauxite(125, "crushedBauxite", true, "Al\u2082O\u2083�H\u2082O + SiO\u2082, Fe\u2082O\u2083"),
+ SodiumSulfide(124, "dustSodiumSulfide", true, "NaS"),
+ SodiumSulfate(123, "dustSodiumSulfate", true, "Na\u2082SO\u2084"),
+ dustWood(122, "dustWood", true),
+ Kenotron(121, "valveTube1C21P"),
+ HighVolatgeCapacitor(120, "highVoltageCapacitor"),
+ MuscovitePaper(119, "foilMica", true, "KAl\u2082(AlSi\u2083O\u2081\u2080)(OH)\u2082"),
+ MuscoviteDust(118, "dustMica", true, "KAl\u2082(AlSi\u2083O\u2081\u2080)(OH)\u2082"),
GaedesPumpBarrel(117, "gaedesPumpBarrelPorcelain"),
RawGaedesPumpBarrel(116, "gaedesPumpBarrelRawPorcelain"),
- GlassDust(115, "dustGlass",true),
+ GlassDust(115, "dustGlass", true),
Gu81m(114, "gu-81m"),
- TungstenFoil(113, "foilTungsten",true),
- TungstenIngot(112, "ingotTungsten",true),
- TungstenPlate(111, "plateTungsten",true),
- TungstenHotPlate(110, "plateHotTungsten",true),
- CrushedPurifiedCinnabar(109, "crushedPurifiedCinnabar",true,"HgS"),
- CrushedCinnabar(108, "crushedCinnabar",true,"HgS"),
- OvenRawPorcelain(107,"ovenRawPorcelain"),
- PrecipitatorCondenserRawPorcelain(106,"precipitatorCondenserRawPorcelain"),
- ChimneyKneeRawPorcelain(105,"chimneyKneeRawPorcelain"),
- TungstenDust(104, "dustTungsten",true,"W"),
- ElectrolysisBathPorcelain(103,"electrolysisBathPorcelain"),
- ElectrolysisBathRawPorcelain(102,"electrolysisBathRawPorcelain"),
- Porcelain(99,"dustPorcelain",true),
- FoilGold(98, "foilGold",true),
- TungsticAcid(97, "dustTungsticAcid",true,"WO\u2083\u00B7H\u2082O"),
- TurboCompressorSetOfMoldedParts(96,"turboCompressorSetOfMoldedPartsBronze"),
- TungstenOxide(94, "dustTungstenOxide",true,"WO\u2083"),
- CalciumTungstate(93, "dustCalciumTungstate",true,"CaWO\u2084"),
- SodiumHydrogenSulfate(92, "dustSodiumHydrogenSulfate",true,"NaHSO\u2084"),
- Salt(91, "dustSalt",true,"NaCl"),
- CalciumChloride(90, "dustCalciumChloride",true,"CaCl\u2082"),
- PotassiumSulphate(89, "dustPotassiumSulphate",true,"K\u2082SO\u2084"),
- RockSalt(88, "dustRockSalt",true,"KCl"),
- CrushedPurifiedGyuibnera(87, "crushedPurifiedGyubnera",true,"(Mn,Fe)WO\u2084 (5:1)"),
- CrushedGyuibnera(86, "crushedGyubnera",true,"(Mn,Fe)WO\u2084 (5:1)"),
- ManganeseOxide(85, "dustManganeseOxide",true,"Mn\u2083O\u2084"),
- IronOxide(84, "dustIronOxide",true,"Fe\u2082O\u2083"),
- SmallRound(83,"smallRoundSteel"),
- SmallRoundPolished(82,"smallRoundPolishedSteel"),
- RollingMachineSetOfMoldedParts(81,"rollingMachineSetOfMoldedPartsSteel"),
+ TungstenFoil(113, "foilTungsten", true),
+ TungstenIngot(112, "ingotTungsten", true),
+ TungstenPlate(111, "plateTungsten", true),
+ TungstenHotPlate(110, "plateHotTungsten", true),
+ CrushedPurifiedCinnabar(109, "crushedPurifiedCinnabar", true, "HgS"),
+ CrushedCinnabar(108, "crushedCinnabar", true, "HgS"),
+ OvenRawPorcelain(107, "ovenRawPorcelain"),
+ PrecipitatorCondenserRawPorcelain(106, "precipitatorCondenserRawPorcelain"),
+ ChimneyKneeRawPorcelain(105, "chimneyKneeRawPorcelain"),
+ TungstenDust(104, "dustTungsten", true, "W"),
+ ElectrolysisBathPorcelain(103, "electrolysisBathPorcelain"),
+ ElectrolysisBathRawPorcelain(102, "electrolysisBathRawPorcelain"),
+ Porcelain(99, "dustPorcelain", true),
+ FoilGold(98, "foilGold", true),
+ TungsticAcid(97, "dustTungsticAcid", true, "WO\u2083\u00B7H\u2082O"),
+ TurboCompressorSetOfMoldedParts(96, "turboCompressorSetOfMoldedPartsBronze"),
+ TungstenOxide(94, "dustTungstenOxide", true, "WO\u2083"),
+ CalciumTungstate(93, "dustCalciumTungstate", true, "CaWO\u2084"),
+ SodiumHydrogenSulfate(92, "dustSodiumHydrogenSulfate", true, "NaHSO\u2084"),
+ Salt(91, "dustSalt", true, "NaCl"),
+ CalciumChloride(90, "dustCalciumChloride", true, "CaCl\u2082"),
+ PotassiumSulphate(89, "dustPotassiumSulphate", true, "K\u2082SO\u2084"),
+ RockSalt(88, "dustRockSalt", true, "KCl"),
+ CrushedPurifiedGyuibnera(87, "crushedPurifiedGyubnera", true, "(Mn,Fe)WO\u2084 (5:1)"),
+ CrushedGyuibnera(86, "crushedGyubnera", true, "(Mn,Fe)WO\u2084 (5:1)"),
+ ManganeseOxide(85, "dustManganeseOxide", true, "Mn\u2083O\u2084"),
+ IronOxide(84, "dustIronOxide", true, "Fe\u2082O\u2083"),
+ SmallRound(83, "smallRoundSteel"),
+ SmallRoundPolished(82, "smallRoundPolishedSteel"),
+ RollingMachineSetOfMoldedParts(81, "rollingMachineSetOfMoldedPartsSteel"),
PistonCylinder(80, "pistonCylinderSteel"),
PipelineAccessoriesSteel(77, "pipelineAccessoriesSteel"),
- DustTrona(76, "dustTrona",true,"Na\u2082CO\u2083�NaHCO\u2083\u00B72H\u2082O"),
+ DustTrona(76, "dustTrona", true, "Na\u2082CO\u2083�NaHCO\u2083\u00B72H\u2082O"),
HighPressureVessel(75, "highPressureVesselSteel"),
GasJet(74, "gasJetSteel"),
GasReducerSteel(73, "gasReducerSteel"),
HotSteelIngot(70, "ingotHotSteel", true),
BarD10Gold(69, "barD10Gold"),
- CalciumCarbide(68, "dustCalciumCarbide",true,"CaC\u2082"),
- foilRubber(67,"foilRubber", true,"(C\u2085H\u2088)n"),
- Fabric(66,"fabric"),
- ThinRubberWithSulfur(65,"foilRubberWithSulfur"),
- Bucket_tarPitch(64,"bucket_tarPitch"),
- DetonationSprayingMachineSetOfMoldedParts(63,"detonationSprayingMachineSetOfMoldedPartsBronze"),
- SetOfPartsForLVElemotorSteel(62,"setOfPartsForLVElemotorSteel"),
- //PlateNonVulcanizedRubber(60, "plateNonVulcanizedRubber"),
+ CalciumCarbide(68, "dustCalciumCarbide", true, "CaC\u2082"),
+ foilRubber(67, "foilRubber", true, "(C\u2085H\u2088)n"),
+ Fabric(66, "fabric"),
+ ThinRubberWithSulfur(65, "foilRubberWithSulfur"),
+ Bucket_tarPitch(64, "bucket_tarPitch"),
+ DetonationSprayingMachineSetOfMoldedParts(63, "detonationSprayingMachineSetOfMoldedPartsBronze"),
+ SetOfPartsForLVElemotorSteel(62, "setOfPartsForLVElemotorSteel"),
+ // PlateNonVulcanizedRubber(60, "plateNonVulcanizedRubber"),
TapM10SteelHot(59, "tapM10x1SteelHot"),
DiceM10SteelHot(58, "diceM10x1SteelHot"),
- NailSteel(57,"nailSteel"),
- NutM10x1Steel(56,"nutM10x1Steel"),
+ NailSteel(57, "nailSteel"),
+ NutM10x1Steel(56, "nutM10x1Steel"),
GraverSteel(55, "graverSteel"),
GraverSteelHot(54, "graverSteelHot"),
DrillSteel(53, "drillSteel"),
@@ -352,7 +334,7 @@ public class ItemSubstance extends Item implements IItemHasMiniGUI{
BlankSetOfFilesSteel(37, "blankSetOfFilesSteel"),
HandDrillSetOfMoldedPartsBronze(36, "handDrillSetOfMoldedPartsBronze"),
ViseSetOfMoldedPartsSteel(34, "viseSetOfMoldedPartsSteel"),
- DustIrongraphite(33, "dustIrongraphite",true),
+ DustIrongraphite(33, "dustIrongraphite", true),
PlateSteelHot(32, "plateHotSteel"),
Chisel(31, "blankChiselSteel"),
CrucibleMixture(30, "crucibleMixture"),
@@ -368,63 +350,63 @@ public class ItemSubstance extends Item implements IItemHasMiniGUI{
SpringSteel(19, "springSteel"),
CoalElectrodePremix(18, "dustCoalElectrodePremix"),
rawCoalElectrode(17, "stickCoalElectrodePremix"),
- FoilSteel(16, "foilSteel",true),
- StickSteel(15, "stickSteel",true),
- Quicklime(14, "dustQuicklime",true,"CaO"),
- Calcite(13, "dustCalcite",true,"CaCO\u2082"),
- Gypsum(12, "dustGypsum",true,"CaSO\u2084\u00B72H\u2082O"),
- PotassiumFeldspar(11, "dustPotassiumFeldspar",true,"K[AlSi\u2083O\u2088]"),
- Apatite(10, "gemApatite",true,"Ca\u2085[PO\u2084]\u2083(F,Cl,OH)"),
- Saltpeter(9, "dustSaltpeter",true,"KNO\u2083"),
- TarPitch(8, "ingotTarPitch",true),
- nuggetTarPitch(7, "nuggetTarPitch",true),
- Graphite_Electrode(6, "stickGraphite",true, "C (graphite)"),
- Coal_Electrode(5, "stickCoal",true, "C (amorphic)"),
- Carborundum(4, "dustCarborundum",true,"SiC"),
- IridiumAndSodiumOxide(3, "dustIridiumAndSodiumOxide",true,"IrO\u2082 + Na\u2082O"),
- PlatinumGroupSludge(2, "dustPlatinumGroupSludge",true),
- TinyPlatinumGroupSludge(1, "dustTinyPlatinumGroupSludge",true),
- SodiumPeroxide(0, "dustSodiumPeroxide",true,"Na\u2082O\u2082");
- Type(int damage1, String unlocalizedName1)
- {
- damage=damage1;
- textureName=unLocalizedName=unlocalizedName1;
+ FoilSteel(16, "foilSteel", true),
+ StickSteel(15, "stickSteel", true),
+ Quicklime(14, "dustQuicklime", true, "CaO"),
+ Calcite(13, "dustCalcite", true, "CaCO\u2082"),
+ Gypsum(12, "dustGypsum", true, "CaSO\u2084\u00B72H\u2082O"),
+ PotassiumFeldspar(11, "dustPotassiumFeldspar", true, "K[AlSi\u2083O\u2088]"),
+ Apatite(10, "gemApatite", true, "Ca\u2085[PO\u2084]\u2083(F,Cl,OH)"),
+ Saltpeter(9, "dustSaltpeter", true, "KNO\u2083"),
+ TarPitch(8, "ingotTarPitch", true),
+ nuggetTarPitch(7, "nuggetTarPitch", true),
+ Graphite_Electrode(6, "stickGraphite", true, "C (graphite)"),
+ Coal_Electrode(5, "stickCoal", true, "C (amorphic)"),
+ Carborundum(4, "dustCarborundum", true, "SiC"),
+ IridiumAndSodiumOxide(3, "dustIridiumAndSodiumOxide", true, "IrO\u2082 + Na\u2082O"),
+ PlatinumGroupSludge(2, "dustPlatinumGroupSludge", true),
+ TinyPlatinumGroupSludge(1, "dustTinyPlatinumGroupSludge", true),
+ SodiumPeroxide(0, "dustSodiumPeroxide", true, "Na\u2082O\u2082");
+ Type(int damage1, String unlocalizedName1) {
+ damage = damage1;
+ textureName = unLocalizedName = unlocalizedName1;
}
- Type(int damage1,String unlocalizedName1, boolean registerInOreDictionary1)
- {
- damage=damage1;
- textureName=oreRegistryName=unLocalizedName=unlocalizedName1;
- registerInOreDictionary=registerInOreDictionary1;
+
+ Type(int damage1, String unlocalizedName1, boolean registerInOreDictionary1) {
+ damage = damage1;
+ textureName = oreRegistryName = unLocalizedName = unlocalizedName1;
+ registerInOreDictionary = registerInOreDictionary1;
}
- Type(int damage1,String unlocalizedName1, boolean registerInOreDictionary1,String description1)
- {
- damage=damage1;
- textureName=oreRegistryName=unLocalizedName=unlocalizedName1;
- registerInOreDictionary=registerInOreDictionary1;
- description=description1;
+
+ Type(int damage1, String unlocalizedName1, boolean registerInOreDictionary1, String description1) {
+ damage = damage1;
+ textureName = oreRegistryName = unLocalizedName = unlocalizedName1;
+ registerInOreDictionary = registerInOreDictionary1;
+ description = description1;
}
- Type(int damage1,String unlocalizedName1, boolean registerInOreDictionary1,String description1, String textureName1)
- {
- damage=damage1;
- oreRegistryName=unLocalizedName=unlocalizedName1;
- registerInOreDictionary=registerInOreDictionary1;
- description=description1;
- textureName=textureName1;
+
+ Type(int damage1, String unlocalizedName1, boolean registerInOreDictionary1, String description1,
+ String textureName1) {
+ damage = damage1;
+ oreRegistryName = unLocalizedName = unlocalizedName1;
+ registerInOreDictionary = registerInOreDictionary1;
+ description = description1;
+ textureName = textureName1;
}
+
public int damage;
public String unLocalizedName;
public String oreRegistryName;
public String description;
public String textureName;
- public boolean registerInOreDictionary=false;
+ public boolean registerInOreDictionary = false;
}
@Override
@SideOnly(Side.CLIENT)
- public ItemMiniGUI getMiniGUI(GuiContainer gui, Slot slot)
- {
- if(slot.getHasStack() && slot.getStack().getItemDamage()==Type.Detonator.damage && slot.getStack().stackTagCompound!=null)
- {
+ public ItemMiniGUI getMiniGUI(GuiContainer gui, Slot slot) {
+ if (slot.getHasStack() && slot.getStack().getItemDamage() == Type.Detonator.damage
+ && slot.getStack().stackTagCompound != null) {
return new DetonatorMiniGUI(gui, slot);
}
return null;
diff --git a/ihl/items_blocks/MachineBaseBlock.java b/ihl/items_blocks/MachineBaseBlock.java
index a5d6764..80bcd5a 100644
--- a/ihl/items_blocks/MachineBaseBlock.java
+++ b/ihl/items_blocks/MachineBaseBlock.java
@@ -7,8 +7,6 @@ import ic2.core.item.tool.ItemToolCutter;
import ihl.IHLCreativeTab;
import ihl.IHLMod;
import ihl.IHLModInfo;
-import ihl.collector.GlassBoxTileEntity;
-import ihl.datanet.RedstoneSignalConverterTileEntity;
import ihl.flexible_cable.BatterySwitchUnitTileEntity;
import ihl.flexible_cable.IronWorkbenchTileEntity;
import ihl.flexible_cable.RectifierTransformerUnitTileEntity;
@@ -40,12 +38,10 @@ import ihl.processing.metallurgy.LathePart2TileEntity;
import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
import ihl.processing.metallurgy.RollingMachinePart2TileEntity;
-import ihl.processing.metallurgy.VacuumInductionMeltingFurnaceTileEntity;
import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
import ihl.processing.metallurgy.WireMillTileEntity;
import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
import ihl.processing.metallurgy.WoodenRollingMachinePart2TileEntity;
-import ihl.tunneling_shield.HydrotransportPulpRegeneratorTileEntity;
import ihl.utils.IHLUtils;
import java.util.ArrayList;
@@ -151,11 +147,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
world.setBlockToAir(x, y+1, z);
}
}
- if(te instanceof RedstoneSignalConverterTileEntity)
- {
- RedstoneSignalConverterTileEntity rscte = (RedstoneSignalConverterTileEntity) te;
- rscte.linksOrInventoryChanged=true;
- }
}
}
@@ -191,11 +182,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
if(inventory.getStackInSlot(i)!=null)world.spawnEntityInWorld(new EntityItem(world, x, y+1, z, inventory.getStackInSlot(i)));
}
}
- if(te instanceof RedstoneSignalConverterTileEntity)
- {
- RedstoneSignalConverterTileEntity rsce = (RedstoneSignalConverterTileEntity)te;
- rsce.removeAttachedChains();
- }
}
}
super.onBlockPreDestroy(world, x, y, z, meta);
@@ -220,23 +206,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
this.setBlockBoundsForItemRender();
break;
- case GlassBox:
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.1F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.1F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.1F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.9F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.0F, 0.0F, 0.9F, 1.0F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBoundsForItemRender();
- break;
- case RedstoneSignalConverter:
- this.setBlockBounds(0.2F, 0.2F, 0.2F, 0.8F, 0.8F, 0.8F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- break;
default:
super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
break;
@@ -249,49 +218,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
- @Override
- public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int x, int y, int z)
- {
- int facing = 3;
- TileEntity te = blockAccess.getTileEntity(x, y, z);
- if(te!=null && te instanceof IWrenchable)
- {
- IWrenchable tebh = (IWrenchable) te;
- facing=tebh.getFacing();
- }
- switch(this.type)
- {
- case VacuumInductionMeltingFurnace:
- switch(facing)
- {
- case 0:
- this.setBlockBounds(-1.0F, -2.0F, 0.0F, 2.0F, 1.0F, 3.0F);
- break;
- case 1:
- this.setBlockBounds(-1.0F, 0.0F, 0.0F, 2.0F, 3.0F, 3.0F);
- break;
- case 2:
- this.setBlockBounds(-1.0F, 0.0F, -2.0F, 2.0F, 3.0F, 1.0F);
- break;
- case 3:
- this.setBlockBounds(-1.0F, 0.0F, 0.0F, 2.0F, 3.0F, 3.0F);
- break;
- case 4:
- this.setBlockBounds(-2.0F, 0.0F, -1.0F, 1.0F, 3.0F, 2.0F);
- break;
- case 5:
- this.setBlockBounds(0.0F, 0.0F, -1.0F, 3.0F, 3.0F, 2.0F);
- break;
- default:
- break;
- }
- break;
- default:
- super.setBlockBoundsBasedOnState(blockAccess, x, y, z);
- break;
- }
- }
-
public static void init()
{
MachineType[] var1 = MachineType.values();
@@ -484,10 +410,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
{
return this.steel;
}
- if(this.type==MachineType.RedstoneSignalConverter)
- {
- return this.redstoneSignalConverterEmptySide;
- }
if(this.type==MachineType.RectifierTransformerUnit)
{
switch(side)
@@ -535,10 +457,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
case 0:
switch(this.type)
{
- case HydrotransportPulpRegenerator:
- return this.hydrotransportPulpRegeneratorFront;
- case GlassBox:
- return this.glassBoxSide;
case BronzeTub:
return this.bronzeTubSide;
case AchesonFurnace:
@@ -559,18 +477,12 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return this.textureFrontCryogenicDistiller;
case PaperMachine:
return this.textureFrontPaperMachine;
- case VacuumInductionMeltingFurnace:
- return this.vacuumInductionMeltingFurnaceFront;
default:
break;
}
case 1:
switch(this.type)
{
- case HydrotransportPulpRegenerator:
- return this.hydrotransportPulpRegeneratorBack;
- case GlassBox:
- return this.glassBoxSide;
case BronzeTub:
return this.bronzeTubSide;
case LeadOven:
@@ -587,8 +499,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return this.textureBackCryogenicDistiller;
case ChemicalReactor:
return this.textureBackCryogenicDistiller;
- case VacuumInductionMeltingFurnace:
- return this.vacuumInductionMeltingFurnaceBack;
default:
return this.textureBack;
}
@@ -596,10 +506,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
case 2:
switch(this.type)
{
- case HydrotransportPulpRegenerator:
- return this.textureBackMachineCasing;
- case GlassBox:
- return this.glassBoxBottom;
case BronzeTub:
return this.bronzeTubSide;
case LeadOven:
@@ -616,18 +522,12 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return this.textureBackMachineCasing;
case ChemicalReactor:
return this.textureBackMachineCasing;
- case VacuumInductionMeltingFurnace:
- return this.vacuumInductionMeltingFurnaceRight;
default:
return this.textureTop;
}
case 3:
switch(this.type)
{
- case HydrotransportPulpRegenerator:
- return this.textureTopMachineCasing;
- case GlassBox:
- return this.glassBoxTop;
case BronzeTub:
return this.bronzeTubTop;
case AchesonFurnace:
@@ -648,18 +548,12 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return this.textureTopMachineCasing;
case ChemicalReactor:
return this.textureTopMachineCasing;
- case VacuumInductionMeltingFurnace:
- return this.vacuumInductionMeltingFurnaceRight;
default:
return this.textureTop;
}
case 4:
switch(this.type)
{
- case HydrotransportPulpRegenerator:
- return this.textureRightMachineCasing;
- case GlassBox:
- return this.glassBoxSide;
case BronzeTub:
return this.bronzeTubSide;
case LeadOven:
@@ -676,18 +570,12 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return this.textureRightMachineCasing;
case ChemicalReactor:
return this.textureRightMachineCasing;
- case VacuumInductionMeltingFurnace:
- return this.vacuumInductionMeltingFurnaceRight;
default:
return this.textureSide;
}
case 5:
switch(this.type)
{
- case HydrotransportPulpRegenerator:
- return this.textureLeftMachineCasing;
- case GlassBox:
- return this.glassBoxSide;
case BronzeTub:
return this.bronzeTubSide;
case LeadOven:
@@ -704,8 +592,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return this.textureLeftMachineCasing;
case FluidizedBedReactor:
return this.textureLeftMachineCasing;
- case VacuumInductionMeltingFurnace:
- return this.vacuumInductionMeltingFurnaceLeft;
default:
return this.textureSide;
}
@@ -720,18 +606,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
return true;
}
- @Override
- public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side)
- {
- TileEntity te = world.getTileEntity(x, y, z);
- if(te instanceof RedstoneSignalConverterTileEntity)
- {
- RedstoneSignalConverterTileEntity rte = (RedstoneSignalConverterTileEntity) te;
- return rte.isProvidingRedstonePower(side);
- }
- return 0;
- }
-
@Override
public boolean canProvidePower()
{
@@ -748,10 +622,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
{
IronWorkbench("ironWorkbench",IronWorkbenchTileEntity.class, false, true, null),
- RedstoneSignalConverter("redstoneSignalConverter",RedstoneSignalConverterTileEntity.class, true, true, IHLUtils.getThisModItemStack("foilSteel")),
- HydrotransportPulpRegenerator("hydrotransportPulpRegenerator", HydrotransportPulpRegeneratorTileEntity.class, true, IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel")),
- VacuumInductionMeltingFurnace("vacuumInductionMeltingFurnace", VacuumInductionMeltingFurnaceTileEntity.class, true, IHLUtils.getThisModItemStack("foilSteel")),
- GlassBox("glassBoxBlock",GlassBoxTileEntity.class, false, true, IHLUtils.getThisModItemStack("dustGlass")),
ElectrolysisBath("electrolysisBath",ElectrolysisBathTileEntity.class, false, IHLUtils.getThisModItemStack("plateGraphite")),
RectifierTransformerUnit("rectifierTransformerUnit",RectifierTransformerUnitTileEntity.class, false, true, IHLUtils.getThisModItemStack("foilSteel")),
BatterySwitchUnit("batterySwitchUnit",BatterySwitchUnitTileEntity.class, false, IHLUtils.getThisModItemStack("foilSteel")),
@@ -808,7 +678,7 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
itemDroppedOnBlockDestroy=itemDroppedOnBlockDestroy1;
}
- String unlocalizedName;
+ public String unlocalizedName;
Class<? extends TileEntity> teclass;
boolean isNormalBlock=true;
boolean hasSpecialBlockRenderer=false;
@@ -845,24 +715,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
{
case BronzeTub:
return this.bronzeTubSide;
- case GlassBox:
- switch(flag)
- {
- case 0:
- return this.glassBoxInnerSide;
- case 1:
- return this.glassBoxInnerBottom;
- }
- case RedstoneSignalConverter:
- switch(flag)
- {
- case 0:
- return this.redstoneSignalConverterEmptySide;
- case 1:
- return this.redstoneSignalConverterEmitterSide;
- case 2:
- return this.redstoneSignalConverterSensorSide;
- }
default:
return this.blockIcon;
}
diff --git a/ihl/model/FlexibleCableItemRender.java b/ihl/model/FlexibleCableItemRender.java
index 92b2036..02fc5f7 100644
--- a/ihl/model/FlexibleCableItemRender.java
+++ b/ihl/model/FlexibleCableItemRender.java
@@ -13,30 +13,30 @@ import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
-public class FlexibleCableItemRender implements IItemRenderer
-{
+public class FlexibleCableItemRender implements IItemRenderer {
private ModelTube model;
private ModelTube modelThin;
private ModelTube modelLong;
private ModelTube modelThinLong;
- private final int segmentsAmount=19;
- private final float spiralStepAngle=1f;
- private final float scale=1/32f;
+ private final int segmentsAmount = 19;
+ private final float spiralStepAngle = 1f;
+ private final float scale = 1 / 32f;
private final int[] displayListCache = new int[4];
-
-public FlexibleCableItemRender()
-{
- float vOffset=16f;
- int longFragmensSize=24;
- model=new ModelTube(null, 0, 0, -2F, -3F, -2F+vOffset, 4, 6, 4,0f, 0.5f,0.99f, ForgeDirection.UP);
- modelLong=new ModelTube(null, 0, 0, -2F, -3F, -2F+vOffset, 4, longFragmensSize, 4,0f, 0f,0.99f, ForgeDirection.UP);
- modelThin=new ModelTube(null, 0, 0, -1F, -3F, -1F+vOffset, 2, 6, 2,0f, 0.5f,0.99f, ForgeDirection.UP);
- modelThinLong=new ModelTube(null, 0, 0, -1F, -3F, -1F+vOffset, 2, longFragmensSize, 2,0f, 0.5f,0.99f, ForgeDirection.UP);
-}
-@Override
-public boolean handleRenderType(ItemStack item, ItemRenderType type) {
- switch (type) {
+ public FlexibleCableItemRender() {
+ float vOffset = 16f;
+ int longFragmensSize = 24;
+ model = new ModelTube(null, 0, 0, -2F, -3F, -2F + vOffset, 4, 6, 4, 0f, 0.5f, 0.99f, ForgeDirection.UP);
+ modelLong = new ModelTube(null, 0, 0, -2F, -3F, -2F + vOffset, 4, longFragmensSize, 4, 0f, 0f, 0.99f,
+ ForgeDirection.UP);
+ modelThin = new ModelTube(null, 0, 0, -1F, -3F, -1F + vOffset, 2, 6, 2, 0f, 0.5f, 0.99f, ForgeDirection.UP);
+ modelThinLong = new ModelTube(null, 0, 0, -1F, -3F, -1F + vOffset, 2, longFragmensSize, 2, 0f, 0.5f, 0.99f,
+ ForgeDirection.UP);
+ }
+
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type) {
+ switch (type) {
case ENTITY:
return true;
case EQUIPPED:
@@ -47,171 +47,136 @@ public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return true;
default:
return false;
+ }
}
-}
-@Override
-public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
- return true;
-}
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
+ return true;
+ }
-@Override
-public void renderItem(ItemRenderType type, ItemStack stack, Object... data) {
- GL11.glPushMatrix();
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GL11.glScalef(1F, -1F, -1F);
- switch (type) {
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack stack, Object... data) {
+ GL11.glPushMatrix();
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glScalef(1F, -1F, -1F);
+ switch (type) {
case ENTITY:
- GL11.glTranslatef(0,-1.0F,0);
- this.rendercoil(stack);
+ GL11.glTranslatef(0, -1.0F, 0);
+ this.rendercoil(stack);
break;
case EQUIPPED:
- GL11.glTranslatef(0.25F,-2F,-0.75F);
- this.rendercoil(stack);
- break;
+ GL11.glTranslatef(0.25F, -2F, -0.75F);
+ this.rendercoil(stack);
+ break;
case EQUIPPED_FIRST_PERSON:
- RenderPlayer var25;
- EntityClientPlayerMP var3 = Minecraft.getMinecraft().thePlayer;
+ RenderPlayer var25;
+ EntityClientPlayerMP var3 = Minecraft.getMinecraft().thePlayer;
Minecraft.getMinecraft().getTextureManager().bindTexture(var3.getLocationSkin());
- var25 = (RenderPlayer)RenderManager.instance.getEntityRenderObject(Minecraft.getMinecraft().thePlayer);
+ var25 = (RenderPlayer) RenderManager.instance.getEntityRenderObject(Minecraft.getMinecraft().thePlayer);
GL11.glRotatef(135F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(35F, 0.0F, 1.0F, 0.0F);
var25.renderFirstPersonArm(Minecraft.getMinecraft().thePlayer);
GL11.glRotatef(-35F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-135F, 1.0F, 0.0F, 0.0F);
- GL11.glTranslatef(0.0F,0.2F,0F);
- GL11.glTranslatef(-0.25F,-1.0F,0F);
- this.rendercoil(stack);
+ GL11.glTranslatef(0.0F, 0.2F, 0F);
+ GL11.glTranslatef(-0.25F, -1.0F, 0F);
+ this.rendercoil(stack);
break;
case INVENTORY:
- GL11.glTranslatef(0.0F,-0.2F,0F);
- this.rendercoil(stack);
+ GL11.glTranslatef(0.0F, -0.2F, 0F);
+ this.rendercoil(stack);
break;
default:
}
- GL11.glPopMatrix();
+ GL11.glPopMatrix();
}
- private void rendercoil(ItemStack stack)
- {
+ private void rendercoil(ItemStack stack) {
int type = this.getCableType(stack);
- if (this.displayListCache[type] != 0)
- {
+ if (this.displayListCache[type] != 0) {
GL11.glCallList(displayListCache[type]);
- }
- else
- {
-
- this.displayListCache[type]=GLAllocation.generateDisplayLists(1);
- GL11.glNewList(displayListCache[type], 4864 /*GL_COMPILE*/);
-
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- int saMax=this.segmentsAmount*2+this.segmentsAmount/2;
- for(int i=0; i<=saMax;i++)
- {
- GL11.glRotatef(-spiralStepAngle, 0f, 0f, 1f);
- GL11.glRotatef(360f/this.segmentsAmount, 1f, 0f, 0f);
- GL11.glTranslatef(0.004f,0f,0f);
- GL11.glRotatef(spiralStepAngle, 0f, 0f, 1f);
- if(((FlexibleCableItem)stack.getItem()).isDataCable)
- {
- GL11.glColor3f(1f,0.2f, 0f);
- }
- else
- {
- GL11.glColor3f(1f,1f, 1f);
- }
- if(i==0)
- {
- if(isNoInsulation(stack))
- {
- if(FlexibleCableItem.instance.yellowColoredWires.contains(FlexibleCableItem.instance.getMaterial(stack)))
- {
- GL11.glColor3f(1f,0.75f, 0.1f);
- }
- else
- {
- GL11.glColor3f(0.65f,0.65f, 0.67f);
- }
- this.modelThinLong.render(Tessellator.instance, scale);
-
- }
- else
- {
- this.modelLong.render(Tessellator.instance, scale);
+ } else {
+
+ this.displayListCache[type] = GLAllocation.generateDisplayLists(1);
+ GL11.glNewList(displayListCache[type], 4864 /* GL_COMPILE */);
+
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ int saMax = this.segmentsAmount * 2 + this.segmentsAmount / 2;
+ for (int i = 0; i <= saMax; i++) {
+ GL11.glRotatef(-spiralStepAngle, 0f, 0f, 1f);
+ GL11.glRotatef(360f / this.segmentsAmount, 1f, 0f, 0f);
+ GL11.glTranslatef(0.004f, 0f, 0f);
+ GL11.glRotatef(spiralStepAngle, 0f, 0f, 1f);
+ if (((FlexibleCableItem) stack.getItem()).isDataCable) {
+ GL11.glColor3f(1f, 0.2f, 0f);
+ } else {
+ GL11.glColor3f(1f, 1f, 1f);
}
- }
- else if(i==saMax)
- {
- GL11.glTranslatef(0.0F,-0.55F,0F);
- if(isNoInsulation(stack))
- {
- if(FlexibleCableItem.instance.yellowColoredWires.contains(FlexibleCableItem.instance.getMaterial(stack)))
- {
- GL11.glColor3f(1f,0.75f, 0.1f);
- }
- else
- {
- GL11.glColor3f(0.65f,0.65f, 0.67f);
+ if (i == 0) {
+ if (isNoInsulation(stack)) {
+ if (FlexibleCableItem.instance.yellowColoredWires
+ .contains(FlexibleCableItem.instance.getMaterial(stack))) {
+ GL11.glColor3f(1f, 0.75f, 0.1f);
+ } else {
+ GL11.glColor3f(0.65f, 0.65f, 0.67f);
+ }
+ this.modelThinLong.render(Tessellator.instance, scale);
+
+ } else {
+ this.modelLong.render(Tessellator.instance, scale);
}
- this.modelThinLong.render(Tessellator.instance, scale);
-
- }
- else
- {
- this.modelLong.render(Tessellator.instance, scale);
- }
- GL11.glTranslatef(0.0F,0.55F,0F);
- }
- else
- {
- if(isNoInsulation(stack))
- {
- if(FlexibleCableItem.instance.yellowColoredWires.contains(FlexibleCableItem.instance.getMaterial(stack)))
- {
- GL11.glColor3f(1f,0.75f, 0.1f);
+ } else if (i == saMax) {
+ GL11.glTranslatef(0.0F, -0.55F, 0F);
+ if (isNoInsulation(stack)) {
+ if (FlexibleCableItem.instance.yellowColoredWires
+ .contains(FlexibleCableItem.instance.getMaterial(stack))) {
+ GL11.glColor3f(1f, 0.75f, 0.1f);
+ } else {
+ GL11.glColor3f(0.65f, 0.65f, 0.67f);
+ }
+ this.modelThinLong.render(Tessellator.instance, scale);
+
+ } else {
+ this.modelLong.render(Tessellator.instance, scale);
}
- else
- {
- GL11.glColor3f(0.65f,0.65f, 0.67f);
+ GL11.glTranslatef(0.0F, 0.55F, 0F);
+ } else {
+ if (isNoInsulation(stack)) {
+ if (FlexibleCableItem.instance.yellowColoredWires
+ .contains(FlexibleCableItem.instance.getMaterial(stack))) {
+ GL11.glColor3f(1f, 0.75f, 0.1f);
+ } else {
+ GL11.glColor3f(0.65f, 0.65f, 0.67f);
+ }
+ this.modelThin.render(Tessellator.instance, scale);
+
+ } else {
+ this.model.render(Tessellator.instance, scale);
}
- this.modelThin.render(Tessellator.instance, scale);
-
- }
- else
- {
- this.model.render(Tessellator.instance, scale);
}
}
- }
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glEndList();
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ GL11.glEndList();
}
}
-
- private int getCableType(ItemStack stack)
- {
- if(((FlexibleCableItem)stack.getItem()).isDataCable)
- {
+
+ private int getCableType(ItemStack stack) {
+ if (((FlexibleCableItem) stack.getItem()).isDataCable) {
return 3;
- }
- else if(isNoInsulation(stack))
- {
- if(FlexibleCableItem.instance.yellowColoredWires.contains(FlexibleCableItem.instance.getMaterial(stack)))
- {
+ } else if (isNoInsulation(stack)) {
+ if (FlexibleCableItem.instance.yellowColoredWires.contains(FlexibleCableItem.instance.getMaterial(stack))) {
return 1;
- }
- else
- {
+ } else {
return 2;
}
}
return 0;
}
- private boolean isNoInsulation(ItemStack stack)
- {
- return stack.stackTagCompound!=null && FlexibleCableItem.instance.getInsulationMaterial(stack).equals("null") && !((FlexibleCableItem)stack.getItem()).isDataCable;
+ private boolean isNoInsulation(ItemStack stack) {
+ return stack.stackTagCompound != null && FlexibleCableItem.instance.getInsulationMaterial(stack).equals("null")
+ && !((FlexibleCableItem) stack.getItem()).isDataCable;
}
} \ No newline at end of file
diff --git a/ihl/model/IHLToolRenderer.java b/ihl/model/IHLToolRenderer.java
index a5ba87b..14e610b 100644
--- a/ihl/model/IHLToolRenderer.java
+++ b/ihl/model/IHLToolRenderer.java
@@ -33,21 +33,6 @@ public class IHLToolRenderer implements IItemRenderer
@Override
public void renderItem(ItemRenderType irt, ItemStack stack, Object... arg2)
{
- if(irt.equals(ItemRenderType.EQUIPPED_FIRST_PERSON))
- {
- if(stack.getItemDamage()==IHLTool.Type.Thermometer.itemDamage && stack.stackTagCompound!=null)
- {
- if(stack.stackTagCompound.getByte("showTemperature")>0)
- {
- RenderGameOverlayEventHandler.instance.temperature=stack.stackTagCompound.getLong("temperature");
- RenderGameOverlayEventHandler.instance.displayCurrentGUITimer=2000;
- }
- else
- {
- RenderGameOverlayEventHandler.instance.displayCurrentGUITimer=500;
- }
- }
- }
IIcon icon = stack.getItem().getIcon(stack, 0);
Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
if(irt.equals(ItemRenderType.INVENTORY))
diff --git a/ihl/model/RenderGameOverlayEventHandler.java b/ihl/model/RenderGameOverlayEventHandler.java
deleted file mode 100644
index 6770c3d..0000000
--- a/ihl/model/RenderGameOverlayEventHandler.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package ihl.model;
-
-import ihl.utils.IHLRenderUtils;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import net.minecraft.client.Minecraft;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.event.RenderGameOverlayEvent;
-
-public class RenderGameOverlayEventHandler
-{
-
- private static final ResourceLocation thermometerGUI = new ResourceLocation("ihl", "textures/gui/GUIThermometer.png");
- public static RenderGameOverlayEventHandler instance;
- public long temperature = 0;
- public int displayCurrentGUITimer = 0;
-
- public RenderGameOverlayEventHandler()
- {
- instance=this;
- }
-
- public void showThermometerTemperature(int temperature1, int displayCurrentGUITimer1)
- {
-
- }
-
- @SubscribeEvent
- public void renderGameOverlayEvent(RenderGameOverlayEvent.Pre/*.Post*/ event)
- {
- if(displayCurrentGUITimer>0)
- {
- displayCurrentGUITimer--;
- Minecraft.getMinecraft().renderEngine.bindTexture(thermometerGUI);
- IHLRenderUtils.instance.drawThermometerTemperature(temperature, displayCurrentGUITimer>500);
- }
- }
-
-}
diff --git a/ihl/model/SwitchBoxBlockRender.java b/ihl/model/SwitchBoxBlockRender.java
deleted file mode 100644
index 87c9fb9..0000000
--- a/ihl/model/SwitchBoxBlockRender.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package ihl.model;
-
-import ic2.core.Ic2Items;
-import ihl.datanet.RedstoneSignalConverterTileEntity;
-import ihl.items_blocks.MachineBaseBlock;
-import ihl.utils.IHLUtils;
-
-import org.lwjgl.opengl.GL11;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class SwitchBoxBlockRender implements ISimpleBlockRenderingHandler
-{
- public static int renderId;
-
- public SwitchBoxBlockRender()
- {
- renderId = RenderingRegistry.getNextAvailableRenderId();
- }
-
- @Override
- public int getRenderId()
- {
- return renderId;
- }
-
- @Override
- public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderblocks)
- {
- Tessellator tessellator = Tessellator.instance;
- block.setBlockBoundsForItemRender();
- renderblocks.setRenderBoundsFromBlock(block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderblocks.getBlockIconFromSideAndMetadata(block, 0, metadata));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderblocks.getBlockIconFromSideAndMetadata(block, 1, metadata));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderblocks.getBlockIconFromSideAndMetadata(block, 2, metadata));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderblocks.getBlockIconFromSideAndMetadata(block, 3, metadata));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderblocks.getBlockIconFromSideAndMetadata(block, 4, metadata));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderblocks.getBlockIconFromSideAndMetadata(block, 5, metadata));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-
- @Override
- public boolean renderWorldBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta, RenderBlocks blockRenderer)
- {
- TileEntity te = blockAccess.getTileEntity(x, y, z);
- IIcon emptyIcon,emitterIcon,sensorIcon = block.getBlockTextureFromSide(0);
- emptyIcon=emitterIcon=sensorIcon;
- if(block instanceof MachineBaseBlock)
- {
- emptyIcon = ((MachineBaseBlock)block).getAdditionalIconsForBlockRenderer(0);
- emitterIcon = ((MachineBaseBlock)block).getAdditionalIconsForBlockRenderer(1);
- sensorIcon = ((MachineBaseBlock)block).getAdditionalIconsForBlockRenderer(2);
- }
- IIcon[] sideToTypes = new IIcon[6];
- if(te instanceof RedstoneSignalConverterTileEntity)
- {
- RedstoneSignalConverterTileEntity rscte = (RedstoneSignalConverterTileEntity) te;
- for(int side=0;side<sideToTypes.length;side++)
- {
- if(rscte.sensorEmitterSlots.get(side)==null)
- {
- sideToTypes[side]=emptyIcon;
- }
- else if(IHLUtils.isItemStacksIsEqual(rscte.sensorEmitterSlots.get(side), Ic2Items.detectorCableItem, true))
- {
- sideToTypes[side]=emitterIcon;
- }
- else if(IHLUtils.isItemStacksIsEqual(rscte.sensorEmitterSlots.get(side), Ic2Items.splitterCableItem, true))
- {
- sideToTypes[side]=sensorIcon;
- }
- else
- {
- sideToTypes[side]=emptyIcon;
- }
- }
- }
- blockRenderer.setRenderBounds(0d, 0d, 0d, 1d, 1d, 1d);
- Tessellator var5 = Tessellator.instance;
- var5.setBrightness(block.getMixedBrightnessForBlock(blockAccess, x, y, z));
- int var6 = block.colorMultiplier(blockAccess, x, y, z);
- float var7 = (var6 >> 16 & 255) / 255.0F;
- float var8 = (var6 >> 8 & 255) / 255.0F;
- float var9 = (var6 & 255) / 255.0F;
- var5.setColorOpaque_F(var7, var8, var9);
- blockRenderer.renderFaceXPos(block, x, y, z, sideToTypes[4]);
- blockRenderer.renderFaceXNeg(block, x, y, z, sideToTypes[5]);
- blockRenderer.renderFaceZPos(block, x, y, z, sideToTypes[2]);
- blockRenderer.renderFaceZNeg(block, x, y, z, sideToTypes[3]);
- blockRenderer.renderFaceYPos(block, x, y, z, sideToTypes[0]);
- blockRenderer.renderFaceYNeg(block, x, y, z, sideToTypes[1]);
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory(int arg0)
- {
- return true;
- }
-}
diff --git a/ihl/nei_integration/ElectrolysisBathRecipeHandler.java b/ihl/nei_integration/ElectrolysisBathRecipeHandler.java
index 38f10ee..ff07163 100644
--- a/ihl/nei_integration/ElectrolysisBathRecipeHandler.java
+++ b/ihl/nei_integration/ElectrolysisBathRecipeHandler.java
@@ -1,5 +1,6 @@
package ihl.nei_integration;
+import java.awt.Rectangle;
import java.util.Map;
import ihl.processing.chemistry.ElectrolysisBathGui;
@@ -65,6 +66,12 @@ public class ElectrolysisBathRecipeHandler extends MachineRecipeHandler
{
return "electrolysisBath";
}
+
+ @Override
+ public void loadTransferRects()
+ {
+ this.transferRects.add(new RecipeTransferRect(new Rectangle(115-5,10-10, 172-115, 72), this.getRecipeId(), new Object[0]));
+ }
@Override
public Map<UniversalRecipeInput, UniversalRecipeOutput> getRecipeList()
diff --git a/ihl/processing/chemistry/ElectrolysisBathGui.java b/ihl/processing/chemistry/ElectrolysisBathGui.java
index a7788a5..89b8ddb 100644
--- a/ihl/processing/chemistry/ElectrolysisBathGui.java
+++ b/ihl/processing/chemistry/ElectrolysisBathGui.java
@@ -8,7 +8,8 @@ import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
-import ihl.collector.GuiMultiTextureButton;
+
+import ihl.utils.GuiMultiTextureButton;
import ihl.utils.IHLRenderUtils;
@SideOnly(Side.CLIENT)
diff --git a/ihl/processing/invslots/InvSlotSignalProcessor.java b/ihl/processing/invslots/InvSlotSignalProcessor.java
deleted file mode 100644
index f66ab13..0000000
--- a/ihl/processing/invslots/InvSlotSignalProcessor.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package ihl.processing.invslots;
-
-import net.minecraft.block.Block;
-import net.minecraftforge.common.util.ForgeDirection;
-import ic2.core.Ic2Items;
-import ic2.core.block.invslot.InvSlot;
-import ihl.datanet.Contact;
-import ihl.datanet.RedstoneSignalConverterTileEntity;
-import ihl.interfaces.IDataNode;
-import ihl.utils.IHLUtils;
-
-public class InvSlotSignalProcessor extends InvSlot
-{
- private RedstoneSignalConverterTileEntity rscBase;
- public final boolean[] slotStatus;//false=normal;true=activated
- public InvSlotSignalProcessor(RedstoneSignalConverterTileEntity base1, String name1, int oldStartIndex1, Access access1, int count, int linksPerSlot) {
- super(base1, name1, oldStartIndex1, access1, count);
- rscBase = base1;
- slotStatus = new boolean[count];
- }
-
- public Contact getOppositeContact(IDataNode contact3)
- {
- for(Contact contact1 : this.rscBase.contacts)
- {
- if(contact1.attachedSlot==this &&
- contact3.getAttachedSlotNumber()==contact1.attachedSlotNumber)
- {
- switch(contact3.getType())
- {
- case 0:
- if(contact1.type==1)
- {
- return contact1;
- }
- break;
- case 1:
- if(contact1.type==0)
- {
- return contact1;
- }
- break;
- case 2:
- if(slotStatus[contact1.attachedSlotNumber])
- {
- if(contact1.type==3)
- {
- return contact1;
- }
- }
- else
- {
- if(contact1.type==4)
- {
- return contact1;
- }
- }
- break;
- case 3:
- if(slotStatus[contact1.attachedSlotNumber])
- {
- if(contact1.type==2)
- {
- return contact1;
- }
- }
- break;
- case 4:
- if(!slotStatus[contact1.attachedSlotNumber])
- {
- if(contact1.type==2)
- {
- return contact1;
- }
- }
- break;
- }
- }
- }
- return null;
- }
-
- public boolean isSlotActivated(int slot)
- {
- return this.slotStatus[slot];
- }
-
- public void notifyNeighbors()
- {
- int xyz[] = {0,0,1,0,0,-1,0,0};
- Block block;
- int x,y,z;
- for(int i=0;i<=5;i++)
- {
- x=rscBase.xCoord+xyz[i];
- y=rscBase.yCoord+xyz[i+1];
- z=rscBase.zCoord+xyz[i+2];
- block = rscBase.getWorldObj().getBlock(rscBase.xCoord,rscBase.yCoord,rscBase.zCoord);
- rscBase.getWorldObj().notifyBlockOfNeighborChange(x,y,z,block);
- }
- }
-
- public boolean isIndirectlyConnectedWithContact(Contact contact, int id)
- {
- if(this.get(contact.attachedSlotNumber)!=null)
- {
- if(IHLUtils.isItemStacksIsEqual(this.get(contact.attachedSlotNumber), Ic2Items.splitterCableItem, true))//Redstone sensor
- {
- ForgeDirection dir1 = ForgeDirection.getOrientation(contact.attachedSlotNumber);
- if(this.base.getWorldObj().getIndirectPowerOutput(base.xCoord+dir1.offsetX, base.yCoord+dir1.offsetY, base.zCoord+dir1.offsetZ, dir1.getOpposite().flag))
- {
- Contact oppositeContact = this.getOppositeContact(contact);
- if(oppositeContact.getDataGridID()!=contact.getDataGridID())
- {
- return oppositeContact.isConnectedToContact(id);
- }
- }
- }
- }
- return false;
- }
-
-} \ No newline at end of file
diff --git a/ihl/processing/metallurgy/CrucibleInventory.java b/ihl/processing/metallurgy/CrucibleInventory.java
index 57d9c17..cc5707a 100644
--- a/ihl/processing/metallurgy/CrucibleInventory.java
+++ b/ihl/processing/metallurgy/CrucibleInventory.java
@@ -9,27 +9,26 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
-import net.minecraftforge.oredict.OreDictionary;
import ic2.core.ContainerBase;
import ic2.core.IC2;
import ic2.core.item.tool.HandHeldInventory;
import ic2.core.util.StackUtil;
-public class CrucibleInventory extends HandHeldInventory{
+public class CrucibleInventory extends HandHeldInventory {
ItemStack thisItemStack;
IInventory inventoryContainer;
+
public CrucibleInventory(EntityPlayer player, ItemStack stack) {
super(player, stack, 1);
- thisItemStack=stack;
- inventoryContainer=player.inventory;
+ thisItemStack = stack;
+ inventoryContainer = player.inventory;
}
-
- public CrucibleInventory(IInventory inventoryContainer1, ItemStack stack)
- {
+
+ public CrucibleInventory(IInventory inventoryContainer1, ItemStack stack) {
super(null, stack, 1);
- thisItemStack=stack;
- inventoryContainer=inventoryContainer1;
+ thisItemStack = stack;
+ inventoryContainer = inventoryContainer1;
}
@Override
@@ -55,101 +54,73 @@ public class CrucibleInventory extends HandHeldInventory{
@Override
public boolean isItemValidForSlot(int arg0, ItemStack stack) {
- if(((Crucible)thisItemStack.getItem()).isEmpty(thisItemStack))
- {
- int[] arrayIDs = OreDictionary.getOreIDs(stack);
- for(int i=0; i<arrayIDs.length;i++)
- {
- if(OreDictionary.getOreName(arrayIDs[i]).startsWith("ingot"))
- {
- return true;
- }
- }
- }
- return false;
+ return true;
}
-
+
@Override
- public int getInventoryStackLimit()
- {
- return 6;
- }
+ public int getInventoryStackLimit() {
+ return 6;
+ }
@Override
- public void save()
- {
- if (IC2.platform.isSimulating())
- {
- NBTTagCompound nbtTagCompound = StackUtil.getOrCreateNbtData(this.thisItemStack);
-
- for (int nbtTagList = 0; nbtTagList < this.getSizeInventory(); ++nbtTagList)
- {
- if (this.inventory[nbtTagList] != null)
- {
- NBTTagCompound i = StackUtil.getOrCreateNbtData(this.inventory[nbtTagList]);
-
- if (nbtTagCompound.getInteger("uid") == i.getInteger("uid"))
- {
- this.thisItemStack.stackSize = 1;
- this.inventory[nbtTagList] = null;
- break;
- }
- }
- }
-
- NBTTagList var7 = new NBTTagList();
- int var8;
-
- for (var8 = 0; var8 < this.inventory.length; ++var8)
- {
- if (this.inventory[var8] != null)
- {
- NBTTagCompound itemStackSlot = new NBTTagCompound();
- itemStackSlot.setByte("Slot", (byte)var8);
- this.inventory[var8].writeToNBT(itemStackSlot);
- var7.appendTag(itemStackSlot);
- }
- }
-
- nbtTagCompound.setTag("Items", var7);
-
-
- for (var8 = -1; var8 < inventoryContainer.getSizeInventory(); ++var8)
- {
- ItemStack var9=null;
-
- if (var8 == -1 && inventoryContainer instanceof InventoryPlayer)
- {
- var9 = ((InventoryPlayer) inventoryContainer).getItemStack();
- }
- else if(var8 >= 0)
- {
- var9 = inventoryContainer.getStackInSlot(var8);
- }
-
- if (var9 != null)
- {
- NBTTagCompound nbtTagCompoundSlot = var9.getTagCompound();
-
- if (nbtTagCompoundSlot != null && nbtTagCompound.getInteger("uid") == nbtTagCompoundSlot.getInteger("uid"))
- {
- this.thisItemStack.stackSize = 1;
-
- if (var8 == -1 && inventoryContainer instanceof InventoryPlayer)
- {
- ((InventoryPlayer) inventoryContainer).setItemStack(this.thisItemStack);
- }
- else
- {
- inventoryContainer.setInventorySlotContents(var8, this.thisItemStack);
- }
-
- break;
- }
- }
- }
-
- }
- }
+ public void save() {
+ if (IC2.platform.isSimulating()) {
+ NBTTagCompound nbtTagCompound = StackUtil.getOrCreateNbtData(this.thisItemStack);
+
+ for (int nbtTagList = 0; nbtTagList < this.getSizeInventory(); ++nbtTagList) {
+ if (this.inventory[nbtTagList] != null) {
+ NBTTagCompound i = StackUtil.getOrCreateNbtData(this.inventory[nbtTagList]);
+
+ if (nbtTagCompound.getInteger("uid") == i.getInteger("uid")) {
+ this.thisItemStack.stackSize = 1;
+ this.inventory[nbtTagList] = null;
+ break;
+ }
+ }
+ }
+
+ NBTTagList var7 = new NBTTagList();
+ int var8;
+
+ for (var8 = 0; var8 < this.inventory.length; ++var8) {
+ if (this.inventory[var8] != null) {
+ NBTTagCompound itemStackSlot = new NBTTagCompound();
+ itemStackSlot.setByte("Slot", (byte) var8);
+ this.inventory[var8].writeToNBT(itemStackSlot);
+ var7.appendTag(itemStackSlot);
+ }
+ }
+
+ nbtTagCompound.setTag("Items", var7);
+
+ for (var8 = -1; var8 < inventoryContainer.getSizeInventory(); ++var8) {
+ ItemStack var9 = null;
+
+ if (var8 == -1 && inventoryContainer instanceof InventoryPlayer) {
+ var9 = ((InventoryPlayer) inventoryContainer).getItemStack();
+ } else if (var8 >= 0) {
+ var9 = inventoryContainer.getStackInSlot(var8);
+ }
+
+ if (var9 != null) {
+ NBTTagCompound nbtTagCompoundSlot = var9.getTagCompound();
+
+ if (nbtTagCompoundSlot != null
+ && nbtTagCompound.getInteger("uid") == nbtTagCompoundSlot.getInteger("uid")) {
+ this.thisItemStack.stackSize = 1;
+
+ if (var8 == -1 && inventoryContainer instanceof InventoryPlayer) {
+ ((InventoryPlayer) inventoryContainer).setItemStack(this.thisItemStack);
+ } else {
+ inventoryContainer.setInventorySlotContents(var8, this.thisItemStack);
+ }
+
+ break;
+ }
+ }
+ }
+
+ }
+ }
}
diff --git a/ihl/processing/metallurgy/CrucibleSlot.java b/ihl/processing/metallurgy/CrucibleSlot.java
index e0b702d..5fc6a33 100644
--- a/ihl/processing/metallurgy/CrucibleSlot.java
+++ b/ihl/processing/metallurgy/CrucibleSlot.java
@@ -3,18 +3,16 @@ package ihl.processing.metallurgy;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
-public class CrucibleSlot extends Slot
-{
+public class CrucibleSlot extends Slot {
CrucibleInventory inventory;
- public CrucibleSlot(CrucibleInventory arg0, int arg1, int arg2, int arg3)
- {
+
+ public CrucibleSlot(CrucibleInventory arg0, int arg1, int arg2, int arg3) {
super(arg0, arg1, arg2, arg3);
- inventory=arg0;
+ inventory = arg0;
}
@Override
- public boolean isItemValid(ItemStack itemstack)
- {
- return itemstack == null ? false : inventory.isItemValidForSlot(0, itemstack);
- }
+ public boolean isItemValid(ItemStack itemstack) {
+ return itemstack != null;
+ }
}
diff --git a/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java b/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java
index c5a54c7..55db3db 100644
--- a/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java
+++ b/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java
@@ -1,6 +1,5 @@
package ihl.processing.metallurgy;
-import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -17,15 +16,15 @@ import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-public class MuffleFurnanceTileEntity extends MachineBaseTileEntity{
+public class MuffleFurnanceTileEntity extends MachineBaseTileEntity {
protected static UniversalRecipeManager recipeManager = new UniversalRecipeManager("mufflefurnace");
-
- public MuffleFurnanceTileEntity()
- {
+
+ public MuffleFurnanceTileEntity() {
super(2);
+ this.input.setStackSizeLimit(32);
}
-
+
@Override
public String getStartSoundFile() {
return null;
@@ -56,80 +55,72 @@ public class MuffleFurnanceTileEntity extends MachineBaseTileEntity{
public ContainerBase<?> getGuiContainer(EntityPlayer player) {
return new MuffleFurnanceContainer(player, this);
}
-
- @Override
- public boolean canOperate()
- {
- ItemStack crucible = input.getItemStack(IHLMod.crucible);
- if(crucible!=null)
- {
- return true;
- }
- ItemStack mold = input.getItemStack(IHLUtils.getThisModItem("injectionMold"));
- if(mold!=null)
- {
- return true;
- }
- return getOutput()!=null;
- }
-
+
+ @Override
+ public boolean canOperate() {
+ ItemStack crucible = input.getItemStack(IHLMod.crucible);
+ if (crucible != null) {
+ return true;
+ }
+ ItemStack mold = input.getItemStack(IHLUtils.getThisModItem("injectionMold"));
+ if (mold != null) {
+ return true;
+ }
+ return getOutput() != null;
+ }
+
@Override
- public void operate()
- {
- ItemStack crucible = input.getItemStack(IHLMod.crucible);
- if(crucible!=null)
- {
- ((Crucible)crucible.getItem()).processContent(crucible, this);
- return;
- }
- ItemStack mold = input.getItemStack(IHLUtils.getThisModItem("injectionMold"));
- if(mold!=null)
- {
- mold.stackTagCompound.setBoolean("isContainStearin", false);
- return;
- }
- if(this.getOutput()!=null)
- {
- List<RecipeOutputItemStack> output = MuffleFurnanceTileEntity.recipeManager.getOutputFor(null,this.input.getItemStackList(), true, true).getItemOutputs();
- for(int i=0; i<this.input.size();i++)
- {
- if(i<output.size() && output.get(i)!=null)
- {
+ public void operate() {
+ ItemStack crucible = input.getItemStack(IHLMod.crucible);
+ if (crucible != null) {
+ ((Crucible) crucible.getItem()).processContent(crucible, this);
+ return;
+ }
+ ItemStack mold = input.getItemStack(IHLUtils.getThisModItem("injectionMold"));
+ if (mold != null) {
+ mold.stackTagCompound.setBoolean("isContainStearin", false);
+ return;
+ }
+ if (this.getOutput() != null) {
+ UniversalRecipeOutput routput = recipeManager
+ .getOutputFor(null, this.input.getItemStackList(), true, true);
+ List<RecipeOutputItemStack> output = routput.getItemOutputs();
+ for (int i = 0; i < this.input.size(); i++) {
+ if (i < output.size() && output.get(i) != null) {
ItemStack outStack = output.get(i).itemStack.copy();
- outStack.stackSize=Math.round(output.get(i).quantity);
- if(this.input.get(i)!=null)
- {
- outStack.stackTagCompound=this.input.get(i).stackTagCompound;
+ outStack.stackSize = Math.round(output.get(i).quantity);
+ if (this.input.get(i) != null) {
+ outStack.stackTagCompound = this.input.get(i).stackTagCompound;
}
- this.input.put(i,outStack);
+ this.input.put(i, outStack);
}
- if(this.input.get(i)!=null && this.input.get(i).stackSize<=0)this.input.put(i, null);
+ if (this.input.get(i) != null && this.input.get(i).stackSize <= 0)
+ this.input.put(i, null);
}
}
}
-
- public static void addRecipe(ItemStack input1, ItemStack output)
- {
- recipeManager.addRecipe(new UniversalRecipeInput(null, (new ItemStack [] {input1})),new UniversalRecipeOutput(null, (new ItemStack [] {output}),20));
+
+ public static void addRecipe(ItemStack input1, ItemStack output) {
+ recipeManager.addRecipe(new UniversalRecipeInput(null, (new ItemStack[] { input1 })),
+ new UniversalRecipeOutput(null, (new ItemStack[] { output }), 20));
}
-
public static Map<UniversalRecipeInput, UniversalRecipeOutput> getRecipes() {
return recipeManager.getRecipes();
}
-
- @Override
- public UniversalRecipeOutput getOutput()
- {
- return MuffleFurnanceTileEntity.recipeManager.getOutputFor(null,this.input.getItemStackList(), false, false);
- }
-
- public static void addRecipe(UniversalRecipeInput universalRecipeInput, UniversalRecipeOutput universalRecipeOutput)
- {
+
+ @Override
+ public UniversalRecipeOutput getOutput() {
+ return MuffleFurnanceTileEntity.recipeManager.getOutputFor(null, this.input.getItemStackList(), false, false);
+ }
+
+ public static void addRecipe(UniversalRecipeInput universalRecipeInput,
+ UniversalRecipeOutput universalRecipeOutput) {
recipeManager.addRecipe(universalRecipeInput, universalRecipeOutput);
}
public static void addRecipe(ItemStack input1, ItemStack output, float f) {
- recipeManager.addRecipe(new UniversalRecipeInput(null, (new ItemStack [] {input1})),new UniversalRecipeOutput(null, (new RecipeOutputItemStack [] {new RecipeOutputItemStack(output,f)}),20));
+ recipeManager.addRecipe(new UniversalRecipeInput(null, (new ItemStack[] { input1 })), new UniversalRecipeOutput(
+ null, (new RecipeOutputItemStack[] { new RecipeOutputItemStack(output, f) }), 20));
}
}
diff --git a/ihl/processing/metallurgy/PassiveBlock.java b/ihl/processing/metallurgy/PassiveBlock.java
deleted file mode 100644
index 74eb0e8..0000000
--- a/ihl/processing/metallurgy/PassiveBlock.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package ihl.processing.metallurgy;
-
-import ihl.IHLCreativeTab;
-import ihl.IHLModInfo;
-import ihl.items_blocks.IHLItemBlock;
-import ihl.utils.IHLUtils;
-import java.util.List;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class PassiveBlock extends Block{
-
- @SideOnly(Side.CLIENT)
- private IIcon[][] textures;
-
- private static PassiveBlock instance;
-
- public PassiveBlock()
- {
- super(Material.iron);
- this.setCreativeTab(IHLCreativeTab.tab);
- this.setBlockName("IHLShieldAssemblyUnitBlock");
- this.setHardness(2F);
- this.setResistance(1F);
- instance=this;
- }
-
- public static void init()
- {
- PassiveBlock block = new PassiveBlock();
- GameRegistry.registerBlock(block, IHLItemBlock.class, "IHLShieldAssemblyUnitBlock");
- Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- IHLItemBlock blockItem = (IHLItemBlock) Item.getItemFromBlock(block);
- blockItem.nameMap.put(var1[i].meta,var1[i].unlocalizedName);
- IHLUtils.registerLocally(var1[i].unlocalizedName, new ItemStack(block,1,var1[i].meta));
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void getSubBlocks(Item item, CreativeTabs tabs, List itemList)
- {
- Type[] var1 = Type.values();
- for(int i=0;i<var1.length;i++)
- {
- ItemStack stack = IHLUtils.getThisModItemStack(var1[i].unlocalizedName);
- itemList.add(stack);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerBlockIcons(IIconRegister par1IconRegister)
- {
- textures = new IIcon[2][6];
- textures[0][3]=textures[0][4]=textures[0][2]=textures[0][5]=this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":shieldAU");
- textures[1][0]=textures[1][1]=textures[0][0]=textures[0][1]=par1IconRegister.registerIcon(IHLModInfo.MODID + ":shieldAUTop");
- textures[1][3]=textures[1][4]=textures[1][2]=textures[1][5]=this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":shieldAU2");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
- {
- int meta = world.getBlockMetadata(x, y, z);
- return textures[meta][side];
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIcon(int side, int meta)
- {
- return textures[meta][side];
- }
-
- public enum Type
- {
- AdvancedShieldAssemblyUnitBlock("advancedShieldAssemblyUnitBlock", 1),
- IHLShieldAssemblyUnitBlock("IHLShieldAssemblyUnitBlock", 0);
- Type(String unlocalizedName1, int meta1)
- {
- unlocalizedName=unlocalizedName1;
- meta=meta1;
- }
- public String unlocalizedName;
- public int meta;
- }
-} \ No newline at end of file
diff --git a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java b/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java
deleted file mode 100644
index 75c69e8..0000000
--- a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package ihl.processing.metallurgy;
-
-import java.util.List;
-
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraftforge.fluids.FluidStack;
-
-public class VacuumInductionMeltingFurnaceContainer extends ContainerBase {
- public int lastFluidAmount = -1;
- public int lastNumberOfFluids = -1;
- public short lastProgress = -1;
- public short lastEnergy = -1;
- public VacuumInductionMeltingFurnaceTileEntity tileEntity;
- private final static int height=166;
- public List<FluidStack> fluidTankFluidList;
- private boolean vacuumPumpState=true;
-
- public VacuumInductionMeltingFurnaceContainer(EntityPlayer entityPlayer, VacuumInductionMeltingFurnaceTileEntity tileEntity1) {
- super(tileEntity1);
- this.tileEntity=tileEntity1;
- fluidTankFluidList = this.tileEntity.fluidTank.getFluidList();
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.input, 0, 141, 8));
- }
- @Override
- public void detectAndSendChanges()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting)this.crafters.get(i);
-
- if (this.tileEntity.fluidTank.getFluidAmount() != this.lastFluidAmount || this.tileEntity.fluidTank.getNumberOfFluids() != this.lastNumberOfFluids)
- {
- IC2.network.get().sendContainerField(this, "fluidTankFluidList");
- }
-
- if (this.tileEntity.progress != this.lastProgress)
- {
- icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.progress);
- }
-
- if (this.tileEntity.vacuumPumpConnected != this.vacuumPumpState)
- {
- icrafting.sendProgressBarUpdate(this, 1, this.tileEntity.vacuumPumpConnected?1:0);
- }
- }
-
- this.lastNumberOfFluids = this.tileEntity.fluidTank.getNumberOfFluids();
- this.lastFluidAmount = this.tileEntity.fluidTank.getFluidAmount();
- this.lastProgress = this.tileEntity.progress;
- this.vacuumPumpState = this.tileEntity.vacuumPumpConnected;
- }
-
- @Override
- public void updateProgressBar(int index, int value)
- {
- super.updateProgressBar(index, value);
- switch (index)
- {
- case 0:
- this.tileEntity.progress=(short) value;
- break;
- case 1:
- this.tileEntity.vacuumPumpConnected=value>0;
- break;
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-}
diff --git a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceGui.java b/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceGui.java
deleted file mode 100644
index 2f22a4d..0000000
--- a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceGui.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package ihl.processing.metallurgy;
-
-import ic2.core.IC2;
-import ihl.collector.GuiMultiTextureButton;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import org.lwjgl.opengl.GL11;
-
-public class VacuumInductionMeltingFurnaceGui extends GuiContainer {
- protected static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIVacuumInductionMeltingFurnace.png");
- private VacuumInductionMeltingFurnaceContainer container;
- private GuiMultiTextureButton button1;
- private int timer=10;
-
-
- public VacuumInductionMeltingFurnaceGui(VacuumInductionMeltingFurnaceContainer vacuumInductionMeltingFurnaceContainer) {
- //the container is instanciated and passed to the superclass for handling
- super(vacuumInductionMeltingFurnaceContainer);
- this.container=vacuumInductionMeltingFurnaceContainer;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void initGui()
- {
- super.initGui();
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- button1=new GuiMultiTextureButton(0, x+13, y+55, 27, 27, background,13,55,229,229);
- this.buttonList.add(button1);
- }
-
- @Override
- public void actionPerformed(GuiButton button)
- {
- super.actionPerformed(button);
- IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, button.id);
- if (button.id == 0)
- {
- button1.isActive=false;
- timer=10;
- }
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int par1, int par2) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- fontRendererObj.drawString(StatCollector.translateToLocal("ihl.gui.muffleFurnace"), 40, 12, 14722081);
- this.mc.renderEngine.bindTexture(background);
- int i1;
- if (this.container.tileEntity.getEnergy() > 0D)
- {
- i1 = Math.min(this.container.tileEntity.getGUIEnergy(12),12);
- this.drawTexturedModalRect(8, 6 + 12 - i1, 179, 12 - i1, 14, i1 + 2);
- }
- if (this.container.tileEntity.progress > 0)
- {
- i1 = Math.min(this.container.tileEntity.gaugeProgressScaled(50),50);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- this.drawTexturedModalRect(64, 63, 197, 0, i1 + 1, 13);
- }
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- if(timer>0)
- {
- timer--;
- }
- if(timer==1)
- {
- button1.isActive=true;
- }
- }
-}
diff --git a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceTileEntity.java b/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceTileEntity.java
deleted file mode 100644
index e2867bc..0000000
--- a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceTileEntity.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package ihl.processing.metallurgy;
-
-import java.util.Arrays;
-import java.util.Map;
-
-import ic2.api.network.INetworkClientTileEntityEventListener;
-import ic2.api.recipe.IRecipeInput;
-import ic2.api.recipe.RecipeInputOreDict;
-import ic2.core.ContainerBase;
-import ihl.processing.chemistry.GaedesMercuryRotaryPumpTileEntity;
-import ihl.recipes.UniversalRecipeInput;
-import ihl.recipes.UniversalRecipeManager;
-import ihl.recipes.UniversalRecipeOutput;
-import ihl.utils.IHLFluidTank;
-import ihl.utils.IHLUtils;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class VacuumInductionMeltingFurnaceTileEntity extends MachineBaseTileEntity implements INetworkClientTileEntityEventListener{
-
- protected static UniversalRecipeManager recipeManager = new UniversalRecipeManager("vacuuminductionmeltingfurnace");
- public final IHLFluidTank fluidTank = new IHLFluidTank(864);
- public boolean vacuumPumpConnected=false;
- private GaedesMercuryRotaryPumpTileEntity lastGMRP;
-
- public VacuumInductionMeltingFurnaceTileEntity()
- {
- super(1);
- }
-
- @Override
- public void setFacing(short facing1)
- {
- short facing2 = (short) Math.max(facing1, 2);
- super.setFacing(facing2);
- }
-
- @Override
- public String getStartSoundFile() {
- return null;
- }
-
- @Override
- public String getLoopSoundFile() {
- return null;
- }
-
- @Override
- public String getStopSoundFile() {
- return null;
- }
-
- @Override
- public String getInventoryName() {
- return "VacuumInductionMeltingFurnace";
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer player, boolean arg1) {
- return new VacuumInductionMeltingFurnaceGui(new VacuumInductionMeltingFurnaceContainer(player, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer player) {
- return new VacuumInductionMeltingFurnaceContainer(player, this);
- }
-
- @Override
- public void operate()
- {
- ItemStack content = this.input.get();
- if(content!=null)
- {
- UniversalRecipeOutput routput = recipeManager.getOutputFor(null, Arrays.asList(new ItemStack [] {content}),false, false);
- if(routput!=null && !routput.getFluidOutputs().isEmpty())
- {
- FluidStack fluidStack = routput.getFluidOutputs().get(0).copy();
- fluidStack.amount *= content.stackSize;
- this.input.clear();
- this.fluidTank.fill(fluidStack, true);
- useVacuumPump();
- }
- }
- }
-
- @Override
- public boolean canOperate()
- {
- return checkSpecialConditionVacuumPump() && getOutput()!=null;
- }
-
- private void useVacuumPump()
- {
- if(lastGMRP!=null && !lastGMRP.isInvalid() && lastGMRP.ready)
- {
- lastGMRP.ready=false;
- }
- }
-
- private boolean checkSpecialConditionVacuumPump()
- {
- if(lastGMRP!=null && !lastGMRP.isInvalid() && lastGMRP.ready)
- {
- this.vacuumPumpConnected=true;
- return true;
- }
- int[] xz = new int [] {0,1,1,0,-1,-1,0};
- for(int i0=-1;i0<=0;i0++)
- {
- for(int i=0;i<xz.length-1;i++)
- {
- TileEntity te = worldObj.getTileEntity(xCoord+xz[i], yCoord+i0, zCoord+xz[i+1]);
- if(te instanceof GaedesMercuryRotaryPumpTileEntity)
- {
- GaedesMercuryRotaryPumpTileEntity gmrp = (GaedesMercuryRotaryPumpTileEntity)te;
- lastGMRP = gmrp;
- this.vacuumPumpConnected=gmrp.ready;
- return gmrp.ready;
- }
- }
- }
- this.vacuumPumpConnected=false;
- return false;
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
- return IHLUtils.getThisModItemStack("vacuumInductionMeltingFurnace");
- }
-
- public static void addRecipe(String input, int amount, String input2, int amount2, FluidStack output)
- {
- recipeManager.addRecipe(new UniversalRecipeInput(null, (new IRecipeInput [] {new RecipeInputOreDict(input,amount),new RecipeInputOreDict(input2,amount2)})),new UniversalRecipeOutput((new FluidStack[] {output}),null,20));
- }
-
-
- public static Map<UniversalRecipeInput, UniversalRecipeOutput> getRecipes() {
- return recipeManager.getRecipes();
- }
-
- @Override
- public UniversalRecipeOutput getOutput()
- {
- return VacuumInductionMeltingFurnaceTileEntity.recipeManager.getOutputFor(this.getInput(), false, false);
- }
-
- @Override
- public void onNetworkEvent(EntityPlayer player, int event)
- {
- switch(event)
- {
- case 0:
- TileEntity te = worldObj.getTileEntity(xCoord, yCoord, zCoord);
- if(te instanceof InjectionMoldTileEntity)
- {
- InjectionMoldTileEntity im = (InjectionMoldTileEntity)te;
- im.fill(ForgeDirection.UP, this.fluidTank.drain(this.fluidTank.getCapacity(), true), true);
- }
- break;
- }
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- try
- {
- this.energy = nbttagcompound.getDouble("energy");
- }
- catch (Exception var3)//This was blindlessly copied from IC2 source a lot of time ago. And this is not necessary here. And still...
- {
- this.energy = nbttagcompound.getInteger("energy");
-
- if (this.maxStorage > Integer.MAX_VALUE)
- {
- this.energy *= 10.0D;
- }
- }
- this.fluidTank.readFromNBT(nbttagcompound.getCompoundTag("fluidTank"));
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- nbttagcompound.setDouble("energy", this.energy);
- NBTTagCompound fluidTankTag = new NBTTagCompound();
- this.fluidTank.writeToNBT(fluidTankTag);
- nbttagcompound.setTag("fluidTank", fluidTankTag);
- }
-}
diff --git a/ihl/recipes/RecipeInputOreDictionaryList.java b/ihl/recipes/RecipeInputOreDictionaryList.java
index 572f15b..e438d98 100644
--- a/ihl/recipes/RecipeInputOreDictionaryList.java
+++ b/ihl/recipes/RecipeInputOreDictionaryList.java
@@ -10,140 +10,113 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
-public class RecipeInputOreDictionaryList implements IRecipeInput
-{
-
- public final String[] input;
- public final int amount;
- public final Integer meta;
- private List<ItemStack> ores;
-
- public RecipeInputOreDictionaryList(String[] input1)
- {
- this(input1, 1);
- }
-
- public RecipeInputOreDictionaryList(String[] input1, int amount1)
- {
- this(input1, amount1, (Integer)null);
- }
-
- public RecipeInputOreDictionaryList(String[] input1, int amount1, Integer meta)
- {
- this.input = input1;
- this.amount = amount1;
- this.meta = meta;
- }
+public class RecipeInputOreDictionaryList implements IRecipeInput {
+
+ public final String[] input;
+ public final int amount;
+ public final Integer meta;
+ private List<ItemStack> ores;
+
+ public RecipeInputOreDictionaryList(String[] input1) {
+ this(input1, 1);
+ }
+
+ public RecipeInputOreDictionaryList(String[] input1, int amount1) {
+ this(input1, amount1, (Integer) null);
+ }
+
+ public RecipeInputOreDictionaryList(String[] input1, int amount1, Integer meta) {
+ this.input = input1;
+ this.amount = amount1;
+ this.meta = meta;
+ }
+
+ @Override
+ public boolean matches(ItemStack subject) {
+ List<ItemStack> inputs = this.getOres();
+ boolean useOreStackMeta = this.meta == null;
+ Item subjectItem = subject.getItem();
+ int subjectMeta = subject.getItemDamage();
+ Iterator<ItemStack> i$ = inputs.iterator();
+ Item oreItem;
+ int metaRequired;
+
+ do {
+ do {
+ ItemStack oreStack;
+
+ do {
+ if (!i$.hasNext()) {
+ return false;
+ }
+
+ oreStack = i$.next();
+ oreItem = oreStack.getItem();
+ } while (oreItem == null);
+
+ metaRequired = useOreStackMeta ? oreStack.getItemDamage() : this.meta.intValue();
+ } while (subjectItem != oreItem);
+ } while (subjectMeta != metaRequired && metaRequired != 32767);
+
+ return true;
+ }
+
+ @Override
+ public int getAmount() {
+ return this.amount;
+ }
+
+ @Override
+ public List<ItemStack> getInputs() {
+ List<ItemStack> ores = this.getOres();
+ boolean hasInvalidEntries = false;
+ Iterator<ItemStack> ret = ores.iterator();
+
+ while (ret.hasNext()) {
+ ItemStack i$ = ret.next();
+
+ if (i$.getItem() == null) {
+ hasInvalidEntries = true;
+ break;
+ }
+ }
+
+ if (!hasInvalidEntries) {
+ return ores;
+ } else {
+ ArrayList<ItemStack> ret1 = new ArrayList<ItemStack>(ores.size());
+ Iterator<ItemStack> i$1 = ores.iterator();
+
+ while (i$1.hasNext()) {
+ ItemStack stack = i$1.next();
+
+ if (stack.getItem() != null) {
+ ret1.add(stack);
+ }
+ }
+
+ return Collections.unmodifiableList(ret1);
+ }
+ }
@Override
- public boolean matches(ItemStack subject)
- {
- List<ItemStack> inputs = this.getOres();
- boolean useOreStackMeta = this.meta == null;
- Item subjectItem = subject.getItem();
- int subjectMeta = subject.getItemDamage();
- Iterator<ItemStack> i$ = inputs.iterator();
- Item oreItem;
- int metaRequired;
-
- do
- {
- do
- {
- ItemStack oreStack;
-
- do
- {
- if (!i$.hasNext())
- {
- return false;
- }
-
- oreStack = i$.next();
- oreItem = oreStack.getItem();
- }
- while (oreItem == null);
-
- metaRequired = useOreStackMeta ? oreStack.getItemDamage() : this.meta.intValue();
- }
- while (subjectItem != oreItem);
- }
- while (subjectMeta != metaRequired && metaRequired != 32767);
-
- return true;
- }
-
- @Override
- public int getAmount()
- {
- return this.amount;
- }
-
- @Override
- public List<ItemStack> getInputs()
- {
- List<ItemStack> ores = this.getOres();
- boolean hasInvalidEntries = false;
- Iterator<ItemStack> ret = ores.iterator();
-
- while (ret.hasNext())
- {
- ItemStack i$ = ret.next();
-
- if (i$.getItem() == null)
- {
- hasInvalidEntries = true;
- break;
- }
- }
-
- if (!hasInvalidEntries)
- {
- return ores;
- }
- else
- {
- ArrayList<ItemStack> ret1 = new ArrayList<ItemStack>(ores.size());
- Iterator<ItemStack> i$1 = ores.iterator();
-
- while (i$1.hasNext())
- {
- ItemStack stack = i$1.next();
-
- if (stack.getItem() != null)
- {
- ret1.add(stack);
- }
- }
-
- return Collections.unmodifiableList(ret1);
- }
- }
-
- @Override
- public String toString()
- {
- return this.meta == null ? "RInputOreDict<" + this.amount + "x" + this.input + ">" : "RInputOreDict<" + this.amount + "x" + this.input + "@" + this.meta + ">";
- }
-
- private List<ItemStack> getOres()
- {
- if (this.ores != null)
- {
- return this.ores;
- }
- else
- {
- this.ores = new ArrayList<ItemStack>();
- for(int i=0;i<this.input.length;i++)
- {
- ArrayList<ItemStack> ret = OreDictionary.getOres(this.input[i]);
- if (ret != OreDictionary.EMPTY_LIST)
- {
- this.ores.addAll(ret);
- }
- }
- return this.ores;
- }
- }
+ public String toString() {
+ return this.meta == null ? "RInputOreDict<" + this.amount + "x" + this.input + ">"
+ : "RInputOreDict<" + this.amount + "x" + this.input + "@" + this.meta + ">";
+ }
+
+ private List<ItemStack> getOres() {
+ if (this.ores != null) {
+ return this.ores;
+ } else {
+ this.ores = new ArrayList<ItemStack>();
+ for (int i = 0; i < this.input.length; i++) {
+ ArrayList<ItemStack> ret = OreDictionary.getOres(this.input[i]);
+ if (ret != OreDictionary.EMPTY_LIST) {
+ this.ores.addAll(ret);
+ }
+ }
+ return this.ores;
+ }
+ }
}
diff --git a/ihl/recipes/RecipeInputWire.java b/ihl/recipes/RecipeInputWire.java
index 0bf2855..a7d5310 100644
--- a/ihl/recipes/RecipeInputWire.java
+++ b/ihl/recipes/RecipeInputWire.java
@@ -9,79 +9,64 @@ import ihl.items_blocks.FlexibleCableItem;
import ihl.utils.IHLUtils;
import net.minecraft.item.ItemStack;
-public class RecipeInputWire implements IRecipeInput
-{
- public final ItemStack input;
- public final int amount;
+public class RecipeInputWire implements IRecipeInput {
+ public final ItemStack input;
+ public final int amount;
- public RecipeInputWire(final ItemStack aInput)
- {
- this(aInput, IHLUtils.getWireLength(aInput));
- }
+ public RecipeInputWire(final ItemStack aInput) {
+ this(aInput, IHLUtils.getWireLength(aInput));
+ }
- public RecipeInputWire(final ItemStack aInput, int aAmount)
- {
- if (aInput.getItem() == null || !(aInput.getItem() instanceof IWire))
- {
- throw new IllegalArgumentException("Invalid item stack specfied");
- }
- else
- {
- this.input = aInput;
- this.amount = aAmount;
- }
- }
+ public RecipeInputWire(final ItemStack aInput, int aAmount) {
+ if (aInput.getItem() == null || !(aInput.getItem() instanceof IWire)) {
+ throw new IllegalArgumentException("Invalid item stack specfied");
+ } else {
+ this.input = aInput;
+ this.amount = aAmount;
+ }
+ }
- public RecipeInputWire(String string, int i)
- {
- this(IHLUtils.getThisModWireItemStackWithLength(string, i),i);
+ public RecipeInputWire(String string, int i) {
+ this(IHLUtils.getThisModWireItemStackWithLength(string, i), i);
}
-
- public RecipeInputWire(String material, int length, int transverseSection)
- {
- this(IHLUtils.getUninsulatedWire(material, length, transverseSection),length);
+
+ public RecipeInputWire(String material, int length, int transverseSection) {
+ this(IHLUtils.getUninsulatedWire(material, length, transverseSection), length);
}
-
- public RecipeInputWire(String material, int length, int transverseSection, String insulationMaterial, int insulationThickness, int insulationBreakdownVoltage)
- {
- this(IHLUtils.getInsulatedWire(material, length, transverseSection, insulationMaterial, insulationThickness),length);
+
+ public RecipeInputWire(String material, int length, int transverseSection, String insulationMaterial,
+ int insulationThickness, int insulationBreakdownVoltage) {
+ this(IHLUtils.getInsulatedWire(material, length, transverseSection, insulationMaterial, insulationThickness),
+ length);
}
@Override
- public boolean matches(ItemStack subject)
- {
- if(subject.getItem() == this.input.getItem() && (subject.getItemDamage() == this.input.getItemDamage() || this.input.getItemDamage() == 32767))
- {
- if(subject.getItem() instanceof FlexibleCableItem)
- {
- FlexibleCableItem item = (FlexibleCableItem) subject.getItem();
- return item.isSameWire(this.input, subject);
- }
- else
- {
- return true;
- }
- }
- return false;
- }
+ public boolean matches(ItemStack subject) {
+ if (subject.getItem() == this.input.getItem()
+ && (subject.getItemDamage() == this.input.getItemDamage() || this.input.getItemDamage() == 32767)) {
+ if (subject.getItem() instanceof FlexibleCableItem) {
+ FlexibleCableItem item = (FlexibleCableItem) subject.getItem();
+ return item.isSameWire(this.input, subject);
+ } else {
+ return true;
+ }
+ }
+ return false;
+ }
- @Override
- public int getAmount()
- {
- return this.amount;
- }
+ @Override
+ public int getAmount() {
+ return this.amount;
+ }
- @Override
- public List<ItemStack> getInputs()
- {
- return Arrays.asList(new ItemStack[] {this.input});
- }
+ @Override
+ public List<ItemStack> getInputs() {
+ return Arrays.asList(new ItemStack[] { this.input });
+ }
- @Override
- public String toString()
- {
- ItemStack stack = this.input.copy();
- return "RInputWireItemStack<" + stack + ">";
- }
+ @Override
+ public String toString() {
+ ItemStack stack = this.input.copy();
+ return "RInputWireItemStack<" + stack + ">";
+ }
}
-
diff --git a/ihl/recipes/UniversalRecipeInput.java b/ihl/recipes/UniversalRecipeInput.java
index 62d6c87..a654c2e 100644
--- a/ihl/recipes/UniversalRecipeInput.java
+++ b/ihl/recipes/UniversalRecipeInput.java
@@ -132,7 +132,7 @@ public class UniversalRecipeInput {
multiplier = multiplier1;
}
}
- if (IHLUtils.reduceItemStackAmountUsingIRecipeInput(is, is1)) {
+ if (IHLUtils.reduceItemStackAmountUsingIRecipeInput(is, is1, multiplier)) {
is1 = null;
}
}
diff --git a/ihl/recipes/UniversalRecipeManager.java b/ihl/recipes/UniversalRecipeManager.java
index 99f43bc..169d6f6 100644
--- a/ihl/recipes/UniversalRecipeManager.java
+++ b/ihl/recipes/UniversalRecipeManager.java
@@ -12,237 +12,188 @@ import net.minecraftforge.fluids.FluidStack;
import ihl.utils.IHLUtils;
public class UniversalRecipeManager {
-
- public static Map<String,UniversalRecipeManager> machineRecipeManagers = new HashMap<String,UniversalRecipeManager>();
+
+ public static Map<String, UniversalRecipeManager> machineRecipeManagers = new HashMap<String, UniversalRecipeManager>();
public final String machine;
- public UniversalRecipeManager(String machine1)
- {
- machine=machine1;
- if(machineRecipeManagers.containsKey(machine1))
- {
- throw new IllegalArgumentException("Recipe manager for "+machine1+" already exist!");
+
+ public UniversalRecipeManager(String machine1) {
+ machine = machine1;
+ if (machineRecipeManagers.containsKey(machine1)) {
+ throw new IllegalArgumentException("Recipe manager for " + machine1 + " already exist!");
}
machineRecipeManagers.put(machine1, this);
}
private final Map<UniversalRecipeInput, UniversalRecipeOutput> recipes = new HashMap<UniversalRecipeInput, UniversalRecipeOutput>();
private final Map<String, UniversalRecipeInput> keywordMap = new HashMap<String, UniversalRecipeInput>();
-
- public void addRecipe(UniversalRecipeInput input, UniversalRecipeOutput output)
- {
- if (input == null)
- {
- throw new NullPointerException("The recipe input is null");
- }
- else
- {
- if (output.getFluidOutputs() == null || output.getItemOutputs() == null ||(output.getFluidOutputs().size()==0 && output.getItemOutputs().size()==0))
- {
- throw new NullPointerException("The output is empty");
- }
- }
-
- Iterator<UniversalRecipeInput> var8 = this.recipes.keySet().iterator();
-
- while (var8.hasNext())
- {
- UniversalRecipeInput existingInput = (UniversalRecipeInput)var8.next();
- if (existingInput.matches(input))
- {
- StringBuffer ssError =new StringBuffer(255);
- ssError.append("Ambiguous recipe. \n");
- ssError.append("Existing input: \n");
- Iterator<IRecipeInput> iii1 = existingInput.getItemInputs().iterator();
- Iterator<IRecipeInputFluid> fii1 = existingInput.getFluidInputs().iterator();
- while(iii1!=null && iii1.hasNext())
- {
- ssError.append(iii1.next().toString());
- ssError.append(" \n");
- }
- while(fii1!=null && fii1.hasNext())
- {
- ssError.append(fii1.next().toString());
- ssError.append(" \n");
- }
- ssError.append("New input: \n");
- Iterator<IRecipeInput> iii2 = input.getItemInputs().iterator();
- Iterator<IRecipeInputFluid> fii2 = input.getFluidInputs().iterator();
- while(iii2!=null && iii2.hasNext())
- {
- ssError.append(iii2.next().toString());
- ssError.append(" \n");
- }
- while(fii2!=null && fii2.hasNext())
- {
- ssError.append(fii2.next().toString());
- ssError.append(" \n");
- }
- throw new RuntimeException(ssError.toString());
- }
- }
-
- this.recipes.put(input, output);
- }
-
- public void addRecipe(String keyword, UniversalRecipeInput input, UniversalRecipeOutput output)
- {
- this.addRecipe(input, output);
- this.keywordMap.put(keyword, input);
- }
-
- public UniversalRecipeOutput getOutputFor(List<FluidStack> fluidInputs, List<ItemStack> itemInputs, boolean adjustInput, boolean inputAffectOutput)
- {
- if (fluidInputs == null && itemInputs == null)
- {
- return null;
- }
- else
- {
- Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
-
- while (true)
- {
- if (i$.hasNext())
- {
- Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
- UniversalRecipeInput recipeInput = entry.getKey();
-
- if (!recipeInput.matches(fluidInputs, itemInputs))
- {
- continue;
- }
-
- if (recipeInput.adjustAmounts(fluidInputs, itemInputs,true, false))
- {
- UniversalRecipeOutput output = entry.getValue();
- if (adjustInput)
- {
- if(inputAffectOutput)
- {
- int multiplier = recipeInput.getMultiplierAndAdjustAmounts(fluidInputs, itemInputs);
- return output.copyWithMultiplier(multiplier);
- }
- else
- {
- recipeInput.adjustAmounts(fluidInputs, itemInputs,true, true);
- }
- }
- return output;
- }
- }
-
- return null;
- }
- }
- }
-
- public Map<UniversalRecipeInput, UniversalRecipeOutput> getRecipes()
- {
- return this.recipes;
- }
+ public void addRecipe(UniversalRecipeInput input, UniversalRecipeOutput output) {
+ if (input == null) {
+ throw new NullPointerException("The recipe input is null");
+ } else {
+ if (output.getFluidOutputs() == null || output.getItemOutputs() == null
+ || (output.getFluidOutputs().size() == 0 && output.getItemOutputs().size() == 0)) {
+ throw new NullPointerException("The output is empty");
+ }
+ }
- public UniversalRecipeInput getRecipeInput(List<FluidStack> fluidInputs1, List<ItemStack> itemInputs1) {
- {
- Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
-
- while (true)
- {
- if (i$.hasNext())
- {
- Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
- UniversalRecipeInput recipeInput = entry.getKey();
-
- if (!recipeInput.matches(fluidInputs1,itemInputs1))
- {
- continue;
- }
-
- if (recipeInput.adjustAmounts(fluidInputs1,itemInputs1,true, false))
- {
- return recipeInput;
- }
- }
-
- return null;
- }
- }
+ Iterator<UniversalRecipeInput> var8 = this.recipes.keySet().iterator();
+
+ while (var8.hasNext()) {
+ UniversalRecipeInput existingInput = (UniversalRecipeInput) var8.next();
+ if (existingInput.matches(input)) {
+ StringBuffer ssError = new StringBuffer(255);
+ ssError.append("Ambiguous recipe. \n");
+ ssError.append("Existing input: \n");
+ Iterator<IRecipeInput> iii1 = existingInput.getItemInputs().iterator();
+ Iterator<IRecipeInputFluid> fii1 = existingInput.getFluidInputs().iterator();
+ while (iii1 != null && iii1.hasNext()) {
+ ssError.append(iii1.next().toString());
+ ssError.append(" \n");
+ }
+ while (fii1 != null && fii1.hasNext()) {
+ ssError.append(fii1.next().toString());
+ ssError.append(" \n");
+ }
+ ssError.append("New input: \n");
+ Iterator<IRecipeInput> iii2 = input.getItemInputs().iterator();
+ Iterator<IRecipeInputFluid> fii2 = input.getFluidInputs().iterator();
+ while (iii2 != null && iii2.hasNext()) {
+ ssError.append(iii2.next().toString());
+ ssError.append(" \n");
+ }
+ while (fii2 != null && fii2.hasNext()) {
+ ssError.append(fii2.next().toString());
+ ssError.append(" \n");
+ }
+ throw new RuntimeException(ssError.toString());
+ }
+ }
+
+ this.recipes.put(input, output);
+ }
+
+ public void addRecipe(String keyword, UniversalRecipeInput input, UniversalRecipeOutput output) {
+ this.addRecipe(input, output);
+ this.keywordMap.put(keyword, input);
+ }
+
+ public UniversalRecipeOutput getOutputFor(List<FluidStack> fluidInputs, List<ItemStack> itemInputs,
+ boolean adjustInput, boolean inputAffectOutput) {
+ if (fluidInputs == null && itemInputs == null) {
+ return null;
+ } else {
+ Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
+
+ while (true) {
+ if (i$.hasNext()) {
+ Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
+ UniversalRecipeInput recipeInput = entry.getKey();
+
+ if (!recipeInput.matches(fluidInputs, itemInputs)) {
+ continue;
+ }
+
+ if (recipeInput.adjustAmounts(fluidInputs, itemInputs, true, false)) {
+ UniversalRecipeOutput output = entry.getValue();
+ if (inputAffectOutput) {
+ int multiplier = recipeInput.getMultiplierAndAdjustAmounts(fluidInputs, itemInputs);
+ return output.copyWithMultiplier(multiplier);
+ } else if (adjustInput) {
+ recipeInput.adjustAmounts(fluidInputs, itemInputs, true, true);
+ }
+ return output;
+ }
+ }
+
+ return null;
+ }
+ }
+ }
+
+ public Map<UniversalRecipeInput, UniversalRecipeOutput> getRecipes() {
+ return this.recipes;
}
+ public UniversalRecipeInput getRecipeInput(List<FluidStack> fluidInputs1, List<ItemStack> itemInputs1) {
+ {
+ Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
+
+ while (true) {
+ if (i$.hasNext()) {
+ Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
+ UniversalRecipeInput recipeInput = entry.getKey();
+
+ if (!recipeInput.matches(fluidInputs1, itemInputs1)) {
+ continue;
+ }
+
+ if (recipeInput.adjustAmounts(fluidInputs1, itemInputs1, true, false)) {
+ return recipeInput;
+ }
+ }
+
+ return null;
+ }
+ }
+ }
@SuppressWarnings({ "unchecked", "rawtypes" })
- public UniversalRecipeOutput getOutputFor(List[] input, boolean adjustInput, boolean inputAffectOutput)
- {
+ public UniversalRecipeOutput getOutputFor(List[] input, boolean adjustInput, boolean inputAffectOutput) {
return this.getOutputFor(input[0], input[1], adjustInput, inputAffectOutput);
}
-
@SuppressWarnings({ "unchecked", "rawtypes" })
- public UniversalRecipeInput getRecipeInput(List[] input)
- {
+ public UniversalRecipeInput getRecipeInput(List[] input) {
return this.getRecipeInput(input[0], input[1]);
}
-
- public void removeRecipeByInput(UniversalRecipeInput uRecipeInput)
- {
+ public void removeRecipeByInput(UniversalRecipeInput uRecipeInput) {
List<FluidStack> fluidInputs = IHLUtils.convertRecipeInputToFluidStackList(uRecipeInput.getFluidInputs());
List<ItemStack> itemInputs = IHLUtils.convertRecipeInputToItemStackList(uRecipeInput.getItemInputs());
- {
- Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
- while (i$.hasNext())
- {
- Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
- UniversalRecipeInput recipeInput = entry.getKey();
- if (recipeInput.matches(fluidInputs, itemInputs))
- {
- i$.remove();
- break;
- }
- }
- }
+ {
+ Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
+ while (i$.hasNext()) {
+ Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
+ UniversalRecipeInput recipeInput = entry.getKey();
+ if (recipeInput.matches(fluidInputs, itemInputs)) {
+ i$.remove();
+ break;
+ }
+ }
+ }
}
- public void removeRecipeByOutput(UniversalRecipeOutput uRecipeOutput)
- {
+ public void removeRecipeByOutput(UniversalRecipeOutput uRecipeOutput) {
Iterator<Entry<UniversalRecipeInput, UniversalRecipeOutput>> i$ = this.recipes.entrySet().iterator();
- while (i$.hasNext())
- {
- Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
- UniversalRecipeOutput recipeOutput = entry.getValue();
- if (recipeOutputHasCommonEntries(recipeOutput,uRecipeOutput))
- {
- i$.remove();
- }
- }
+ while (i$.hasNext()) {
+ Entry<UniversalRecipeInput, UniversalRecipeOutput> entry = i$.next();
+ UniversalRecipeOutput recipeOutput = entry.getValue();
+ if (recipeOutputHasCommonEntries(recipeOutput, uRecipeOutput)) {
+ i$.remove();
+ }
+ }
}
-
- public boolean recipeOutputHasCommonEntries(UniversalRecipeOutput out, UniversalRecipeOutput out1)
- {
+
+ public boolean recipeOutputHasCommonEntries(UniversalRecipeOutput out, UniversalRecipeOutput out1) {
List<FluidStack> fluidOutputs = out.getFluidOutputs();
List<RecipeOutputItemStack> itemOutputs = out.getItemOutputs();
- if(!fluidOutputs.isEmpty() && !out1.getFluidOutputs().isEmpty())
- {
+ if (!fluidOutputs.isEmpty() && !out1.getFluidOutputs().isEmpty()) {
FluidStack fs1 = out1.getFluidOutputs().get(0);
Iterator<FluidStack> fi = fluidOutputs.iterator();
- while(fi.hasNext())
- {
+ while (fi.hasNext()) {
FluidStack fs = fi.next();
- if(fs.getFluid()==fs1.getFluid())
- {
+ if (fs.getFluid() == fs1.getFluid()) {
return true;
}
}
}
- if(!itemOutputs.isEmpty() && !out1.getItemOutputs().isEmpty())
- {
+ if (!itemOutputs.isEmpty() && !out1.getItemOutputs().isEmpty()) {
RecipeOutputItemStack is1 = out1.getItemOutputs().get(0);
Iterator<RecipeOutputItemStack> ii = itemOutputs.iterator();
- while(ii.hasNext())
- {
+ while (ii.hasNext()) {
RecipeOutputItemStack is = ii.next();
- if(is.matches(is1))
- {
+ if (is.matches(is1)) {
return true;
}
}
diff --git a/ihl/tunneling_shield/DriverBlock.java b/ihl/tunneling_shield/DriverBlock.java
deleted file mode 100644
index e39205f..0000000
--- a/ihl/tunneling_shield/DriverBlock.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package ihl.tunneling_shield;
-import ic2.api.item.IC2Items;
-import ic2.core.IC2;
-import ihl.IHLModInfo;
-import java.util.Random;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-
-public class DriverBlock extends BlockContainer {
-
- public DriverBlock(Material p_i45386_1_) {
- super(p_i45386_1_);
- }
-
- @Override
- public void onBlockPreDestroy(World world, int x, int y, int z, int meta)
- {
- if(IC2.platform.isSimulating())
- {
- DriverTileEntity te = (DriverTileEntity)world.getTileEntity(x,y,z);
- te.cleanUp();
- }
- }
-
- @Override
- public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
- {
- return IC2Items.getItem("machine").getItem();
- }
-
- @Override
- public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
- {
- ItemStack result = IC2Items.getItem("machine").copy();
- this.dropBlockAsItem(world, x, y, z, result);
- }
-
- @Override
- public TileEntity createNewTileEntity(World world, int var2) {
- return new DriverTileEntity();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerBlockIcons(IIconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":driver");
- }
-
- @Override
- public boolean hasTileEntity(int metadata)
- {
- return true;
- }
-
-
- @Override
- public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer entityPlayer,int i,float pos_x,float pos_y,float pos_z){
- if(world.getTileEntity(x,y,z) instanceof DriverTileEntity)
- {
- DriverTileEntity var10 = (DriverTileEntity)world.getTileEntity(x,y,z);
- if (var10 == null || entityPlayer.isSneaking()) {
- return false;
- }
- else
- {
- return var10.getGui(entityPlayer);
- }
- }
- return false;
- }
-
- /**
- * The type of render function that is called for this block
- */
- @Override
- public int getRenderType()
- {
- return -2;
- }
-
- /**
- * Is this block (a) opaque and (B) a full 1m cube? This determines whether or not to render the shared face of two
- * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
- */
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- /**
- * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
- */
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/DriverContainer.java b/ihl/tunneling_shield/DriverContainer.java
deleted file mode 100644
index ee14de8..0000000
--- a/ihl/tunneling_shield/DriverContainer.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package ihl.tunneling_shield;
-
-import ic2.core.ContainerBase;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-
-public class DriverContainer extends ContainerBase<DriverTileEntity> {
-
- protected DriverTileEntity tileEntity;
- public int lastStorage = -1;
- private final static int height=166;
-
- public DriverContainer(EntityPlayer entityPlayer, DriverTileEntity tileEntity1){
- super(tileEntity1);
- this.tileEntity = tileEntity1;
- int col;
-
- for (col = 0; col < 3; ++col)
- {
- for (int col1 = 0; col1 < 9; ++col1)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
- }
- }
-
- for (col = 0; col < 9; ++col)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
- }
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.dischargeSlot, 0, 26, 26));
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.miningPipesSlot, 0, 48, 26));
- for(int row=0;row<=3;row++)
- {
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.upgradeSlot, row, 152, 8+row*18));
- }
- }
-
- @Override
- public void detectAndSendChanges()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting)this.crafters.get(i);
-
- if (this.tileEntity.getStored() != this.lastStorage)
- {
- icrafting.sendProgressBarUpdate(this, 0, (this.tileEntity.getStored()>>15) & Short.MAX_VALUE);
- icrafting.sendProgressBarUpdate(this, 1, (short)(this.tileEntity.getStored() & Short.MAX_VALUE));
-
- }
- }
-
- this.lastStorage = this.tileEntity.getStored();
- }
-
- @Override
- public void updateProgressBar(int index, int value)
- {
- super.updateProgressBar(index, value);
-
- switch (index)
- {
- case 0:
- this.tileEntity.setStored(value<<15);
- break;
- case 1:
- this.tileEntity.setStored(this.tileEntity.getStored()+value);
- break;
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-}
diff --git a/ihl/tunneling_shield/DriverEntity.java b/ihl/tunneling_shield/DriverEntity.java
deleted file mode 100644
index e7e1c90..0000000
--- a/ihl/tunneling_shield/DriverEntity.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package ihl.tunneling_shield;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-public class DriverEntity extends Entity {
-
- public DriverTileEntity parent;
-
- public DriverEntity(World arg0)
- {
- super(arg0);
- this.ignoreFrustumCheck = true;
- this.motionX = 0.0D;
- this.motionY = 0.0D;
- this.motionZ = 0.0D;
- this.noClip=true;
- }
-
- public DriverEntity(World arg0, DriverTileEntity te, int x, int y, int z)
- {
- super(arg0);
- this.parent=te;
- this.motionX = 0.0D;
- this.motionY = 0.0D;
- this.motionZ = 0.0D;
- this.lastTickPosX = this.prevPosX = this.posX = x;
- this.lastTickPosY = this.prevPosY = this.posY = y;
- this.lastTickPosZ = this.prevPosZ = this.posZ = z;
- this.ignoreFrustumCheck = true;
- }
-
- @Override
- public boolean isInRangeToRenderDist(double par1)
- {
- return true;
- }
-
-
- @Override
- public void onUpdate()
- {
- super.onUpdate();
-
- if(this.parent!=null)
- {
- this.motionX = 0.0D;
- this.motionY = 0.0D;
- this.motionZ = 0.0D;
- this.lastTickPosX = this.prevPosX = this.posX =this.parent.xCoord+this.parent.getModelShiftAmount()*this.parent.mX();
- this.lastTickPosY = this.prevPosY = this.posY =(this.parent.yCoord);
- this.lastTickPosZ = this.prevPosZ = this.posZ =this.parent.zCoord+this.parent.getModelShiftAmount()*this.parent.mZ();
- }
- else
- {
- this.setDead();
- }
- }
-
- @Override
- protected void entityInit() {}
-
- @Override
- protected void readEntityFromNBT(NBTTagCompound nbt) {}
-
- @Override
- protected void writeEntityToNBT(NBTTagCompound nbt) {}
-}
diff --git a/ihl/tunneling_shield/DriverGui.java b/ihl/tunneling_shield/DriverGui.java
deleted file mode 100644
index 446c9f1..0000000
--- a/ihl/tunneling_shield/DriverGui.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package ihl.tunneling_shield;
-
-import cpw.mods.fml.relauncher.Side;
-
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.core.IC2;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-
-import org.lwjgl.opengl.GL11;
-
-@SideOnly(Side.CLIENT)
-public class DriverGui extends GuiContainer {
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIDriver.png");
- private DriverContainer container;
-
- public DriverGui (DriverContainer container1) {
- //the container is instanciated and passed to the superclass for handling
- super(container1);
- this.container=container1;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void initGui()
- {
- super.initGui();
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.buttonList.add(new GuiButton(0, x+6, y+62, 20, 20, "R"));
- this.buttonList.add(new GuiButton(1, x+6, y+42, 20, 20, "A"));
- }
-
- @Override
- public void actionPerformed(GuiButton button)
- {
- super.actionPerformed(button);
- if (button.id == 0)
- {
- IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, 0);
- }
- if (button.id == 1)
- {
- IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, 1);
- }
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int param1, int param2) {
- //the parameters for drawString are: string, x, y, color
- String title = StatCollector.translateToLocal("ihl.gui.ts02");
- fontRendererObj.drawStringWithShadow(title, 8, 8, 16767839);
- String reverseModeOn;
- if(this.container.tileEntity.reverseModeOn)
- {
- reverseModeOn = StatCollector.translateToLocal("ihl.gui.ts02reverse_on");
- fontRendererObj.drawStringWithShadow(reverseModeOn, 30, 68, 16767839);
- }
- else
- {
- reverseModeOn = StatCollector.translateToLocal("ihl.gui.ts02reverse_off");
- fontRendererObj.drawString(reverseModeOn, 30, 68, 8947848);
- }
-
- String autoReverseModeOn;
- if(this.container.tileEntity.autoReverseModeOn)
- {
- autoReverseModeOn = StatCollector.translateToLocal("ihl.gui.ts02auto_reverse_on");
- fontRendererObj.drawStringWithShadow(autoReverseModeOn, 30, 48, 16767839);
- }
- else
- {
- autoReverseModeOn = StatCollector.translateToLocal("ihl.gui.ts02auto_reverse_off");
- fontRendererObj.drawString(autoReverseModeOn, 30, 48, 8947848);
- }
- //draws "Inventory" or your regional equivalent
- //fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 4210752);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- //charge
- if (this.container.tileEntity.getStored() > 0)
- {
- int chargeLevel=Math.min(Math.round(this.container.tileEntity.getStored()*13.0F/this.container.tileEntity.maxStorage),13);
- this.drawTexturedModalRect(11, 28+13-chargeLevel, xSize, 13-chargeLevel, 7, chargeLevel);
- }
-
-
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- }
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/DriverModel.java b/ihl/tunneling_shield/DriverModel.java
deleted file mode 100644
index edb8aa8..0000000
--- a/ihl/tunneling_shield/DriverModel.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package ihl.tunneling_shield;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class DriverModel extends ModelBase {
- //fields
- ModelRenderer Shield;
- ModelRenderer ShieldA;
- ModelRenderer ShieldB;
- ModelRenderer ShieldC;
- ModelRenderer AdvancedShieldA;
-
- ModelRenderer Base;
- ModelRenderer ShaftA;
- ModelRenderer ShaftB;
-
- public DriverModel()
- {
- textureWidth = 512;
- textureHeight = 256;
- setTextureOffset("ShieldB.Shape1", 0, 84);
- setTextureOffset("ShieldB.Shape2", 0, 84);
- setTextureOffset("ShieldB.Shape3", 0, 84);
- setTextureOffset("ShieldB.Shape4", 0, 84);
- setTextureOffset("ShieldC.Shape1", 0, 84);
- setTextureOffset("ShieldC.Shape2", 0, 84);
- setTextureOffset("ShieldC.Shape3", 0, 84);
- setTextureOffset("ShieldC.Shape4", 0, 84);
- setTextureOffset("ShieldA.Shape1", 0, 132);
- setTextureOffset("ShieldA.Shape2", 0, 132);
- setTextureOffset("ShieldA.Shape3", 0, 132);
-
- setTextureOffset("AdvancedShieldA.Shape1", 173, 132);
- setTextureOffset("AdvancedShieldA.Shape2", 173, 132);
- setTextureOffset("AdvancedShieldA.Shape3", 173, 132);
-
- setTextureOffset("Shield.Shape1", 0, 0);
- setTextureOffset("Shield.Shape2", 0, 0);
- setTextureOffset("Shield.Shape3", 0, 0);
- setTextureOffset("Shield.Shape4", 98, 84);
- setTextureOffset("Shield.Shape5", 98, 84);
- setTextureOffset("Shield.Shape6", 0, 0);
- setTextureOffset("Shield.Shape7", 0, 0);
- setTextureOffset("Shield.Shape8", 98, 84);
- setTextureOffset("Shield.Shape9", 0, 0);
- setTextureOffset("Shield.Shape10", 0, 0);
- setTextureOffset("Shield.Shape11", 98, 84);
-
- setTextureOffset("Base.Base1", 80, 0);
- setTextureOffset("Base.Base2", 83, 0);
- setTextureOffset("Base.Base3", 98, 0);
- setTextureOffset("Base.Base4", 98, 0);
- setTextureOffset("Base.Base5", 98, 4);
- setTextureOffset("Base.Base6", 98, 4);
- setTextureOffset("Base.Base7", 103, 1);
- setTextureOffset("Base.Base8", 98, 0);
- setTextureOffset("Base.Base9", 98, 0);
- setTextureOffset("Base.Base10", 98, 0);
- setTextureOffset("Base.Base11", 98, 0);
- setTextureOffset("Base.Base12", 98, 0);
- setTextureOffset("Base.Base13", 99, 3);
- setTextureOffset("ShaftA.ShapeA", 144, 0);
- setTextureOffset("ShaftB.ShapeA", 144, 0);
-
- ShieldB = new ModelRenderer(this, "ShieldB");
- ShieldB.setRotationPoint(0F, 16F, 0F);
- setRotation(ShieldB, 0F, 0F, 0F);
- ShieldB.mirror = true;
- ShieldB.addBox("Shape1", -7F, -36F, 9F, 14, 16, 12);
- ShieldB.addBox("Shape2", 20F, -7F, 9F, 16, 14, 12);
- ShieldB.addBox("Shape3", -36F, -7F, 9F, 16, 14, 12);
- ShieldB.addBox("Shape4", -7F, 20F, 9F, 14, 16, 12);
- ShieldC = new ModelRenderer(this, "ShieldB");
- ShieldC.setRotationPoint(0F, 16F, 0F);
- setRotation(ShieldC, 0F, 0F, 0F);
- ShieldC.mirror = true;
- ShieldC.addBox("Shape1", -7F, -36F, 9F, 14, 16, 12);
- ShieldC.addBox("Shape2", 20F, -7F, 9F, 16, 14, 12);
- ShieldC.addBox("Shape3", -36F, -7F, 9F, 16, 14, 12);
- ShieldC.addBox("Shape4", -7F, 20F, 9F, 14, 16, 12);
- ShieldA = new ModelRenderer(this, "ShieldA");
- ShieldA.setRotationPoint(0F, 16F, 0F);
- setRotation(ShieldA, 0F, 0F, 0F);
- ShieldA.mirror = true;
- ShieldA.addBox("Shape1", -36F, -8F, 10F, 72, 16, 12);
- ShieldA.addBox("Shape2", -8F, -36F, 10F, 16, 28, 12);
- ShieldA.addBox("Shape3", -8F, 8F, 10F, 16, 28, 12);
-
- AdvancedShieldA = new ModelRenderer(this, "AdvancedShieldA");
- AdvancedShieldA.setRotationPoint(0F, 16F, 0F);
- setRotation(AdvancedShieldA, 0F, 0F, 0F);
- AdvancedShieldA.mirror = true;
- AdvancedShieldA.addBox("Shape1", -36F, -8F, 10F, 72, 16, 12);
- AdvancedShieldA.addBox("Shape2", -8F, -36F, 10F, 16, 28, 12);
- AdvancedShieldA.addBox("Shape3", -8F, 8F, 10F, 16, 28, 12);
-
- Shield = new ModelRenderer(this, "Shield");
- Shield.setRotationPoint(0F, 16F, 0F);
- setRotation(Shield, 0F, 0F, 0F);
- Shield.mirror = true;
- Shield.addBox("Shape1", -6F, -6F, 8F, 12, 12, 2);
- Shield.addBox("Shape2", -8F, -35F, 11F, 7, 70, 12);
- Shield.addBox("Shape3", 1F, -35F, 11F, 7, 70, 12);
- Shield.addBox("Shape4", -2F, -36F, 20F, 2, 36, 4);
- Shield.addBox("Shape5", 0F, 0F, 20F, 2, 36, 4);
- Shield.addBox("Shape6", -35F, 1F, 11F, 27, 7, 12);
- Shield.addBox("Shape7", -35F, -8F, 11F, 27, 7, 12);
- Shield.addBox("Shape8", -36F, 0F, 20F, 28, 2, 4);
- Shield.addBox("Shape9", 8F, 1F, 11F, 27, 7, 12);
- Shield.addBox("Shape10", 8F, -8F, 11F, 27, 7, 12);
- Shield.addBox("Shape11", 8F, -2F, 20F, 28, 2, 4);
-
- Base = new ModelRenderer(this, "Base");
- Base.setRotationPoint(-8F, 16F, 0F);
- setRotation(Base, 0F, 0F, 0F);
- Base.mirror = true;
- Base.addBox("Base1", 0F, 7F, -8F, 16, 1, 16);
- Base.addBox("Base2", 1F, -7F, -7F, 14, 13, 15);
- Base.addBox("Base3", 0F, -6F, -6F, 1, 1, 13);
- Base.addBox("Base4", 2F, -8F, -6F, 1, 1, 13);
- Base.addBox("Base5", 0F, -4F, -6F, 1, 7, 14);
- Base.addBox("Base6", 15F, -4F, -6F, 1, 7, 14);
- Base.addBox("Base7", 5F, -8F, -6F, 6, 1, 14);
- Base.addBox("Base8", 3F, 6F, -7F, 10, 1, 15);
- Base.addBox("Base9", 0F, 4F, -6F, 1, 1, 13);
- Base.addBox("Base10", 13F, -8F, -6F, 1, 1, 13);
- Base.addBox("Base11", 15F, -6F, -6F, 1, 1, 13);
- Base.addBox("Base12", 15F, 4F, -6F, 1, 1, 13);
- Base.addBox("Base13", 3F, -5F, -8F, 10, 9, 1);
-
- ShaftA = new ModelRenderer(this, "ShaftA");
- ShaftA.setRotationPoint(0F, 16F, 0F);
- setRotation(ShaftA, 0F, 0F, 0F);
- ShaftA.mirror = true;
- ShaftA.addBox("ShapeA", -5F, -5F, -0F, 10, 10, 8);
-
- ShaftB = new ModelRenderer(this, "ShaftB");
- ShaftB.setRotationPoint(0F, 16F, 0F);
- setRotation(ShaftB, 0F, 0F, 0F);
- ShaftB.mirror = true;
- ShaftB.addBox("ShapeA", -5F, -5F, -8F, 10, 10, 8);
-
- }
-
- private void setRotation(ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- @Override
- public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
-}
-
-
diff --git a/ihl/tunneling_shield/DriverRender.java b/ihl/tunneling_shield/DriverRender.java
deleted file mode 100644
index e2c6802..0000000
--- a/ihl/tunneling_shield/DriverRender.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package ihl.tunneling_shield;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import ihl.IHLModInfo;
-
-public class DriverRender extends TileEntitySpecialRenderer{
-private DriverModel model = new DriverModel();
-private ResourceLocation tex = new ResourceLocation(IHLModInfo.MODID+":textures/blocks/shield.png");
-
-public DriverRender(){}
-
-public void renderAModelAt(DriverTileEntity tile, double d, double d1, double d2, float f) {
-int rotation = 0;
-if(tile.getWorldObj() != null)
-{
- switch (tile.getFacing())
- {
- case 2:
- rotation = 0;
- break;
- case 5:
- rotation = 1;
- break;
- case 3:
- rotation = 2;
- break;
- case 4:
- rotation = 3;
- break;
- default:
- rotation = 0;
- }
-}
-bindTexture(tex); //texture
-GL11.glPushMatrix();
-GL11.glTranslatef((float)d + 0.5F, (float)d1 + 1.5F, (float)d2 + 0.5F);
-GL11.glScalef(1.0F, -1F, -1F);
-GL11.glRotatef(rotation*90, 0.0F, 1.0F, 0.0F);
-model.Base.render(1.0F/16.0F);
-GL11.glPopMatrix(); //end
-}
-
-@Override
-public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8)
-{
-this.renderAModelAt((DriverTileEntity)par1TileEntity, par2, par4, par6, par8);
-}
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/DriverRenderEntity.java b/ihl/tunneling_shield/DriverRenderEntity.java
deleted file mode 100644
index 40ed977..0000000
--- a/ihl/tunneling_shield/DriverRenderEntity.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package ihl.tunneling_shield;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import ihl.IHLModInfo;
-
-public class DriverRenderEntity extends Render{
-
- private DriverModel model = new DriverModel();
- private ResourceLocation tex = new ResourceLocation(IHLModInfo.MODID+":textures/blocks/shield.png");
- private float rotationAmount=1F;
- private float rotationAmount2=0F;
- public DriverRenderEntity()
- {
- super();
- }
-
- @Override
- public void doRender(Entity entity, double x, double y, double z, float arg4, float arg5)
- {
- double d;
- double d1;
- double d2;
- if(((DriverEntity)entity).parent!=null)
- {
- DriverTileEntity tile = ((DriverEntity)entity).parent;
- float shift=tile.getModelShiftAmount();
- d=x-entity.lastTickPosX+tile.xCoord;
- d1=y-entity.lastTickPosY+tile.yCoord;
- d2=z-entity.lastTickPosZ+tile.zCoord;
- int rotation = 0;
- if(tile.getWorldObj() != null)
- {
- switch (tile.getFacing())
- {
- case 2:
- rotation = 0;
- break;
- case 5:
- rotation = 1;
- break;
- case 3:
- rotation = 2;
- break;
- case 4:
- rotation = 3;
- break;
- default:
- rotation = 0;
- }
- }
- bindTexture(tex);
- GL11.glPushMatrix();
- GL11.glTranslatef((float)d + 0.5F, (float)d1 + 1.5F, (float)d2 + 0.5F);
- GL11.glScalef(1.0F, -1F, -1F);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glRotatef(rotation*90, 0.0F, 1.0F, 0.0F);
- if(tile.hasShield && tile.getActive() && tile.shaftDestroyedAtA==0)
- {
- rotationAmount+=0.01F;
- }
- rotationAmount2 += 0.01F;
- if(tile.hasShield)
- {
- if(tile.shaftDestroyedAtA==0)
- {
- model.ShieldB.rotateAngleZ=rotationAmount+(float)Math.PI/8.0F;
- model.ShieldB.offsetZ=shift;
- model.ShieldB.render(1.0F/16.0F);
-
- model.ShieldC.rotateAngleZ=rotationAmount+3*(float)Math.PI/8.0F;
- model.ShieldC.offsetZ=shift;
- model.ShieldC.render(1.0F/16.0F);
-
- if(tile.advancedShield)
- {
- model.AdvancedShieldA.rotateAngleZ=rotationAmount+(float)Math.PI/4.0F;
- model.AdvancedShieldA.offsetZ=shift;
- model.AdvancedShieldA.render(1.0F/16.0F);
- }
- else
- {
- model.ShieldA.rotateAngleZ=rotationAmount+(float)Math.PI/4.0F;
- model.ShieldA.offsetZ=shift;
- model.ShieldA.render(1.0F/16.0F);
- }
-
- model.Shield.rotateAngleZ=rotationAmount;
- model.Shield.offsetZ=shift;
- model.Shield.render(1.0F/16.0F);
- GL11.glScalef(1.0F, 1.0F, 1.0F + shift);
- model.ShaftA.offsetZ=0.5F;
- model.ShaftB.offsetZ=0.5F;
- model.ShaftA.rotateAngleZ=rotationAmount;
- model.ShaftB.rotateAngleZ=rotationAmount;
- model.ShaftA.render(1.0F/16.0F);
- model.ShaftB.render(1.0F/16.0F);
- }
- else
- {
- model.ShieldB.rotateAngleZ=rotationAmount+(float)Math.PI/8.0F;
- model.ShieldC.rotateAngleZ=rotationAmount+3*(float)Math.PI/8.0F;
- model.ShieldA.rotateAngleZ=rotationAmount+(float)Math.PI/4.0F;
- model.AdvancedShieldA.rotateAngleZ=rotationAmount+(float)Math.PI/4.0F;
- model.Shield.rotateAngleZ=rotationAmount;
- model.ShaftA.rotateAngleZ=rotationAmount;
-
- model.ShieldB.offsetZ=shift;
- model.ShieldB.render(1.0F/16.0F);
-
- model.ShieldC.offsetZ=shift;
- model.ShieldC.render(1.0F/16.0F);
-
- if(tile.advancedShield)
- {
- model.AdvancedShieldA.offsetZ=shift;
- model.AdvancedShieldA.render(1.0F/16.0F);
- }
- else
- {
- model.ShieldA.offsetZ=shift;
- model.ShieldA.render(1.0F/16.0F);
- }
-
- model.Shield.offsetZ=shift;
- model.Shield.render(1.0F/16.0F);
- GL11.glScalef(1.0F, 1.0F, tile.shaftDestroyedAtA*2);
- model.ShaftB.offsetZ=0.5F-0.2F/tile.shaftDestroyedAtA;
- model.ShaftB.rotateAngleZ=rotationAmount2;
- model.ShaftB.render(1.0F/16.0F);
- GL11.glScalef(1.0F, 1.0F, (shift-tile.shaftDestroyedAtB)/tile.shaftDestroyedAtA);
- model.ShaftA.offsetZ=0.5F*(tile.shaftDestroyedAtB+0.5F)/(shift-tile.shaftDestroyedAtB);
- model.ShaftA.render(1.0F/16.0F);
- }
- }
- GL11.glPopMatrix(); //end
- }
- }
-
- @Override
- protected ResourceLocation getEntityTexture(Entity arg0) {
- return this.tex;
- }
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/DriverTileEntity.java b/ihl/tunneling_shield/DriverTileEntity.java
deleted file mode 100644
index f547dec..0000000
--- a/ihl/tunneling_shield/DriverTileEntity.java
+++ /dev/null
@@ -1,1136 +0,0 @@
-package ihl.tunneling_shield;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.api.energy.event.EnergyTileLoadEvent;
-import ic2.api.energy.event.EnergyTileUnloadEvent;
-import ic2.api.energy.tile.IEnergySink;
-import ic2.api.item.IC2Items;
-import ic2.api.network.INetworkClientTileEntityEventListener;
-import ic2.api.recipe.RecipeOutput;
-import ic2.api.recipe.Recipes;
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.Ic2Items;
-import ic2.core.audio.AudioSource;
-import ic2.core.audio.PositionSpec;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlotConsumableId;
-import ic2.core.block.invslot.InvSlot;
-import ic2.core.block.invslot.InvSlotUpgrade;
-import ic2.core.block.invslot.InvSlot.Access;
-import ic2.core.upgrade.IUpgradableBlock;
-import ic2.core.upgrade.UpgradableProperty;
-import ic2.core.util.StackUtil;
-import ihl.IHLMod;
-import ihl.utils.IHLInvSlotDischarge;
-import ihl.utils.IHLUtils;
-import net.minecraft.block.Block;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.util.ForgeDirection;
-
-public class DriverTileEntity extends TileEntityInventory implements IEnergySink, IHasGui, INetworkClientTileEntityEventListener, IUpgradableBlock, IMultiBlock {
-
- private AudioSource audioSource;
- private AudioSource startAS;
- private AudioSource loopAS;
- private AudioSource stopAS;
- private int startUpCounter=0;
- public final InvSlotConsumableId miningPipesSlot;
- public final InvSlotUpgrade upgradeSlot;
- public final IHLInvSlotDischarge dischargeSlot;
- public int tier;
- private int defaultTier;
- public int maxStorage;
- private int defaultMaxStorage;
- public boolean hasShield=false;
- private boolean prevHasShield=false;
- public int shaftDestroyedAtA=0;
- private int prevShaftDestroyedAtA=0;
- public int shaftDestroyedAtB=0;
- private int prevShaftDestroyedAtB=0;
- public int modelShift=0;
- public int modelShiftSpeed;
- private int defaultModelShiftSpeed;
- public int blockShift=1;
- private int lastBlockShift=1;
- private double energy = 0;
- private double energyConsume;
- private double defaultEnergyConsume;
- private boolean addedToEnergyNet=false;
- public int xShaftMin, xShaftMax, yShaft, zShaftMin, zShaftMax, xShieldMin, xShieldMax, yShieldMin, yShieldMax, zShieldMin, zShieldMax;
- private int updateChecksum=0;
- private boolean renderHelperExist=false;
- public DriverEntity renderHelper;
- public boolean reverseModeOn=false;
- public boolean autoReverseModeOn=true;
- private float lastModelShiftAmount=1F;
- private List<Block> blockBlackList = new ArrayList<Block>();
- private List<Block> blockWhiteList = new ArrayList<Block>();
- public boolean advancedShield=false;
-
- public DriverTileEntity()
- {
- super();
- this.miningPipesSlot = new InvSlotConsumableId(this, "miningPipesSlot", 1, 12, new Item[] {Ic2Items.miningPipe.getItem()});
- this.upgradeSlot = new InvSlotUpgrade(this, "upgrade", 2, 4);
- this.dischargeSlot = new IHLInvSlotDischarge(this, 1, Access.IO, this.tier, InvSlot.InvSide.BOTTOM);
- this.defaultTier=IHLMod.config.ts02DefaultTier;
- this.defaultMaxStorage=IHLMod.config.ts02DefaultMaxEnergyStorage;
- this.defaultModelShiftSpeed=IHLMod.config.ts02DefaultSpeed;
- this.defaultEnergyConsume=IHLMod.config.ts02DefaultOperationEUCost;
- this.tier=this.defaultTier;
- this.maxStorage=this.defaultMaxStorage;
- this.modelShiftSpeed=this.defaultModelShiftSpeed;
- this.energyConsume=this.defaultEnergyConsume;
- for(int i6=0;i6<IHLMod.config.ts02BlockBlackListString.length;i6++)
- {
- String blockName = IHLMod.config.ts02BlockBlackListString[i6];
- Block block = Block.getBlockFromName(blockName);
- if(block==null)
- {
- ItemStack stack = IC2Items.getItem(blockName);
- if(stack!=null)
- {
- block = StackUtil.getBlock(stack);
- }
- }
- if(block!=null)
- {
- blockBlackList.add(block);
- }
- }
- for(int i7=0;i7<IHLMod.config.ts02BlockWhiteListString.length;i7++)
- {
- String blockName = IHLMod.config.ts02BlockWhiteListString[i7];
- Block block = Block.getBlockFromName(blockName);
- if(block==null)
- {
- ItemStack stack = IC2Items.getItem(blockName);
- if(stack!=null)
- {
- block = StackUtil.getBlock(stack);
- }
- }
- if(block!=null)
- {
- blockWhiteList.add(block);
- }
-
- }
- blockWhiteList.add(IHLMod.multiBlockSpacerBlock);
- blockWhiteList.add(IHLMod.horizontalMiningPipeX);
- blockWhiteList.add(IHLMod.horizontalMiningPipeZ);
- blockWhiteList.add(Blocks.air);
- }
-
- @Override
- public List<String> getNetworkedFields()
- {
- List<String> fields = super.getNetworkedFields();
- fields.add("hasShield");
- fields.add("modelShift");
- fields.add("shaftDestroyedAtA");
- fields.add("shaftDestroyedAtB");
- fields.add("tier");
- fields.add("modelShiftSpeed");
- fields.add("maxStorage");
- fields.add("reverseModeOn");
- fields.add("autoReverseModeOn");
- fields.add("advancedShield");
- return fields;
- }
-
- public String getShieldSoundFile()
- {
- return "Machines/MinerOp.ogg";
- }
-
- public String getStartSoundFile()
- {
- return "Machines/IHL Tunneling Shield/TS02Start.ogg";
- }
-
- public String getLoopSoundFile()
- {
- return "Machines/IHL Tunneling Shield/TS02Loop.ogg";
- }
-
- public String getStopSoundFile()
- {
- return "Machines/IHL Tunneling Shield/TS02Stop.ogg";
- }
-
- @Override
- public void onLoaded()
- {
- super.onLoaded();
- if (IC2.platform.isSimulating()&&!this.addedToEnergyNet)
- {
- MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this));
- this.addedToEnergyNet = true;
- }
- if (IC2.platform.isRendering() && (this.startAS==null||this.loopAS==null||this.stopAS==null))
- {
- this.startAS = IC2.audioManager.createSource(this, PositionSpec.Center, this.getStartSoundFile(),false,false, 0.5F);
- this.loopAS = IC2.audioManager.createSource(this, PositionSpec.Center, this.getLoopSoundFile(),true,false, 0.5F);
- this.stopAS = IC2.audioManager.createSource(this, PositionSpec.Center, this.getStopSoundFile(),false,false, 0.5F);
- }
- }
-
- @Override
- public void onUnloaded()
- {
- super.onUnloaded();
-
- if (IC2.platform.isRendering() && this.audioSource != null)
- {
- this.audioSource.stop();
- this.audioSource = null;
- this.startAS.stop();
- this.loopAS.stop();
- this.stopAS.stop();
- this.startAS = null;
- this.loopAS = null;
- this.stopAS = null;
- IC2.audioManager.removeSources(this);
- }
-
- if (IC2.platform.isSimulating()&&this.addedToEnergyNet)
- {
- MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this));
- this.addedToEnergyNet = false;
- }
- }
-
-
- @SuppressWarnings("unchecked")
- @Override
- public void updateEntityClient()
- {
- super.updateEntityClient();
- updateEntityServer();
- if(!this.renderHelperExist)
- {
- List<DriverEntity> deList = this.worldObj.getEntitiesWithinAABB(DriverEntity.class, this.getOperationZone());
- if(deList.size()>0)
- {
- Iterator<DriverEntity> dei = deList.iterator();
- while(dei.hasNext())
- {
- DriverEntity rh=dei.next();
- if(!rh.isDead)
- {
- this.renderHelper=rh;
- rh.parent=this;
- this.renderHelperExist=true;
- break;
- }
- }
- if(!this.renderHelperExist)
- {
- this.renderHelper=new DriverEntity(this.worldObj, this, this.xCoord+this.blockShift*this.mX(), this.yCoord, this.zCoord+this.blockShift*this.mZ());
- this.renderHelperExist=true;
- }
- }
- else
- {
- this.renderHelper=new DriverEntity(this.worldObj, this, this.xCoord+this.blockShift*this.mX(), this.yCoord, this.zCoord+this.blockShift*this.mZ());
- this.renderHelper.parent=this;
- this.renderHelperExist=true;
- }
- }
-
- if(this.renderHelper!=null && !this.renderHelper.isDead && !this.worldObj.loadedEntityList.contains(this.renderHelper))
- {
- this.worldObj.spawnEntityInWorld(this.renderHelper);
- }
- if(this.audioSource==null && this.renderHelper!=null)this.audioSource = IC2.audioManager.createSource(this.renderHelper, PositionSpec.Center, this.getShieldSoundFile(),true,false, 1.0F);
- if(this.audioSource!=null)
- {
- this.audioSource.updatePosition();
- }
- if(this.audioSource!=null)
- {
- if(this.getActive())
- {
- if(this.startUpCounter>62)
- {
- this.startUpCounter=0;
- }
- if(this.startUpCounter==0)
- {
- this.stopAS.stop();
- this.startAS.play();
- }
- if(this.startUpCounter<60)
- {
- this.startUpCounter++;
- }
- else if(this.startUpCounter==60)
- {
- this.startAS.stop();
- this.loopAS.play();
- this.audioSource.play();
- this.startUpCounter++;
- }
- }
- else if(this.startUpCounter>0)
- {
- this.startAS.stop();
- this.loopAS.stop();
- this.audioSource.stop();
- this.stopAS.play();
- if(this.startUpCounter<100)
- {
- this.startUpCounter++;
- }
- else
- {
- this.startUpCounter=0;
- this.stopAS.stop();
- }
- }
- }
- else if(!this.getActive() && this.audioSource!=null)
- {
- this.audioSource.stop();
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void updateEntityServer()
- {
- if (IC2.platform.isSimulating())
- {
- this.setOverclockRates();
- }
- if(this.dischargeSlot.tier!=this.tier)
- {
- this.dischargeSlot.tier=this.tier;
- }
- int xyz[]={0,0,1,0,-1,-1,1,1,-1,2,0,2,1,2,-1,-2,0,-2,1,-2,-1,0};
- boolean freeToDigForward = true;
- boolean freeToMoveBack = true;
- if(this.blockShift>=127)
- {
- freeToDigForward = false;
- if(this.autoReverseModeOn && !this.reverseModeOn && this.worldObj.isRemote)
- {
- this.reverseModeOn=true;
- IC2.network.get().initiateClientTileEntityEvent(this, 0);
- }
- }
- else
- {
- for(int i = 0;i<21;i++)
- {
- Block block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift+1)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift+1)*this.mZ());
- if(this.blockBlackList.contains(block))
- {
- freeToDigForward = false;
- }
- }
- }
-
- if(this.blockShift<=3)
- {
- freeToMoveBack = false;
- }
- else
- {
- for(int i = 0;i<21;i++)
- {
- Block block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-3)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-3)*this.mZ());
- if(block.getCollisionBoundingBoxFromPool(worldObj, this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-3)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-3)*this.mZ())!=null && !block.getMaterial().isLiquid() && !this.blockWhiteList.contains(block))
- {
- freeToMoveBack = false;
- }
- block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ());
- if(block.getCollisionBoundingBoxFromPool(worldObj, this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ())!=null && !block.getMaterial().isLiquid() && !this.blockWhiteList.contains(block))
- {
- freeToMoveBack = false;
- }
- }
- }
-
- if(IC2.platform.isSimulating())
- {
- if(this.hasShield && this.shaftDestroyedAtA==0 && this.energy>=this.energyConsume)
- {
- if(this.reverseModeOn && freeToMoveBack)
- {
- this.energy-=this.energyConsume;
- this.setActive(true);
- }
- else if((!this.reverseModeOn) && freeToDigForward && this.miningPipesSlot.get()!=null && this.miningPipesSlot.get().stackSize>=1)
- {
- this.energy-=this.energyConsume;
- this.setActive(true);
- }
- else
- {
- this.setActive(false);
- }
- }
- else
- {
- this.setActive(false);
- }
- }
- if(this.getActive())
- {
- double velocity;
- if(this.reverseModeOn && this.modelShift>0)
- {
- this.modelShift--;
- List<Entity> entityList = this.worldObj.getEntitiesWithinAABB(Entity.class, this.getShieldBladesZone(0D));
- velocity = -0.5D;
- if(entityList.size()>0)
- {
- for(int i0=0;i0<entityList.size();i0++)
- {
- entityList.get(i0).addVelocity(velocity*mX(), 0.25D, velocity*mZ());
- }
- }
- }
- else
- {
- this.modelShift++;
- List<EntityLivingBase> entityLivingList = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, this.getShieldBladesZone(2.5D));
- float damage = 800F/(this.modelShiftSpeed);
- velocity = 0.1D*damage;
- if(entityLivingList.size()>0)
- {
- for(int i1=0;i1<entityLivingList.size();i1++)
- {
- entityLivingList.get(i1).attackEntityFrom(DamageSource.fallingBlock, damage);
- entityLivingList.get(i1).addVelocity(velocity*mX(), 0.25D*velocity, velocity*mZ());
- }
- }
- List<EntityLiving> entityLivingList2 = this.worldObj.getEntitiesWithinAABB(EntityLiving.class, this.getShieldBladesZone(2.5D));
- velocity*=0.1D;
- if(entityLivingList2.size()>0)
- {
- for(int i2=0;i2<entityLivingList2.size();i2++)
- {
- entityLivingList2.get(i2).attackEntityFrom(DamageSource.fallingBlock, damage);
- entityLivingList2.get(i2).addVelocity(velocity*mX(), 0.25D*velocity, velocity*mZ());
- }
- }
- }
- }
- this.blockShift=Math.round(this.getModelShiftAmount()+1.0F+(this.reverseModeOn?2.0F:0));
- if (IC2.platform.isSimulating())
- {
- if (this.prevHasShield!= this.hasShield)
- {
- IC2.network.get().updateTileEntityField(this, "hasShield");
- this.prevHasShield = this.hasShield;
- }
- if (this.prevShaftDestroyedAtA!= this.shaftDestroyedAtA)
- {
- IC2.network.get().updateTileEntityField(this, "shaftDestroyedAtA");
- this.prevShaftDestroyedAtA=this.shaftDestroyedAtA;
- }
- if (this.prevShaftDestroyedAtB!= this.shaftDestroyedAtB)
- {
- IC2.network.get().updateTileEntityField(this, "shaftDestroyedAtB");
- this.prevShaftDestroyedAtB=this.shaftDestroyedAtB;
- }
- if(this.getDemandedEnergy() > 1.0D)
- {
- double amount = this.dischargeSlot.discharge(this.getDemandedEnergy(), false);
- this.energy += amount;
- }
- if(this.energy>this.maxStorage)
- {
- this.energy=this.maxStorage;
- }
- }
-
- if(this.blockShift!=this.lastBlockShift)
- {
- if(this.getActive() && this.reverseModeOn && IC2.platform.isSimulating() && this.lastModelShiftAmount-this.getModelShiftAmount()<1F)
- {
- if(this.miningPipesSlot.get()==null)
- {
- this.miningPipesSlot.put(Ic2Items.miningPipe.copy());
- }
- else if(this.miningPipesSlot.get().stackSize<64)
- {
- this.miningPipesSlot.get().stackSize++;
- }
- else
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj,this.xCoord,this.yCoord+1,this.zCoord,this.miningPipesSlot.get()));
- this.miningPipesSlot.put(Ic2Items.miningPipe.copy());
- }
- this.lastModelShiftAmount-=1F;
- }
- else if(this.getActive() && IC2.platform.isSimulating() && this.getModelShiftAmount()-this.lastModelShiftAmount>1F)
- {
- this.miningPipesSlot.consume(1);
- this.lastModelShiftAmount+=1F;
- IC2.network.get().updateTileEntityField(this, "modelShift");
- }
- this.defineTechBlockVariables();
- if(this.getActive() && IC2.platform.isSimulating())
- {
- if(this.reverseModeOn)
- {
- for(int i = 0;i<21;i++)
- {
- if(this.blockShift>=2)
- {
- this.worldObj.setBlockToAir(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift)*this.mZ());
- }
- if(this.blockShift>=3)
- {
- Block block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ());
- if(block!=IHLMod.multiBlockSpacerBlock && block!=IHLMod.horizontalMiningPipeX && block!=IHLMod.horizontalMiningPipeZ)
- {
- this.harvestDrops(block, this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ(), this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-3)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-3)*this.mZ(), IHLMod.multiBlockSpacerBlock);
- }
- else
- {
- this.worldObj.setBlock(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ(), IHLMod.multiBlockSpacerBlock);
- }
- }
- }
- }
- else
- {
- for(int i = 0;i<21;i++)
- {
- Block block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+this.blockShift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+this.blockShift*this.mZ());
- this.harvestMiningDrops(block, this.xCoord+xyz[i+1]*this.mZ()+this.blockShift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+this.blockShift*this.mZ(), this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ(), IHLMod.multiBlockSpacerBlock);
- if(this.blockShift>=3)
- {
- if(i!=0)
- {
- this.worldObj.setBlockToAir(this.xCoord+xyz[i+1]*this.mZ()+(this.blockShift-2)*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+(this.blockShift-2)*this.mZ());
- }
- else
- {
- this.worldObj.setBlock(this.xCoord+(this.blockShift-2)*this.mX(), this.yCoord, this.zCoord+(this.blockShift-2)*this.mZ(), this.mX()!=0?IHLMod.horizontalMiningPipeZ:IHLMod.horizontalMiningPipeX);
- }
- }
-
- }
- }
- }
- this.lastBlockShift=this.blockShift;
- }
- }
-
- private void harvestMiningDrops(Block block, int x, int y, int z, int x1, int y1, int z1, Block setToBlock)
- {
- if(block!=null && block!=Blocks.air && block!=Blocks.bedrock)
- {
- int meta = worldObj.getBlockMetadata(x, y, z);
- ArrayList<ItemStack> drops = block.getDrops(this.worldObj, x, y, z, meta, 0);
- if(drops.size()>0)
- {
- if(!this.advancedShield || !this.handleDropsByHydrotransport(drops))
- {
- for(int i1=0;i1<drops.size();i1++)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, x1, y1, z1, drops.get(i1)));
- }
- }
- }
- }
- this.worldObj.setBlock(x, y, z, setToBlock);
- }
-
- public void setOverclockRates()
- {
- int speedUp=0;
- int tierUp=0;
- int capacityUp=0;
- int checksum=0;
- for(int i=0;i<this.upgradeSlot.size();i++)
- {
- if(this.upgradeSlot.get(i)!=null)
- {
- if(this.upgradeSlot.get(i).getItemDamage()==IC2Items.getItem("overclockerUpgrade").getItemDamage())
- {
- speedUp+=this.upgradeSlot.get(i).stackSize;
- }
- if(this.upgradeSlot.get(i).getItemDamage()==IC2Items.getItem("transformerUpgrade").getItemDamage())
- {
- tierUp+=this.upgradeSlot.get(i).stackSize;
- }
- if(this.upgradeSlot.get(i).getItemDamage()==IC2Items.getItem("energyStorageUpgrade").getItemDamage())
- {
- capacityUp+=this.upgradeSlot.get(i).stackSize;
- }
- }
- }
- checksum=speedUp*4096+tierUp*64+capacityUp;
- if(this.updateChecksum!=checksum)
- {
- double correction = this.reverseModeOn?0.1D:1D;
- float newModelShiftSpeed=(float)Math.max(correction*this.defaultModelShiftSpeed*Math.pow(0.7D, speedUp),10D);
- this.modelShift=Math.round(this.modelShift*newModelShiftSpeed/this.modelShiftSpeed);
- this.modelShiftSpeed=Math.round(newModelShiftSpeed);
- this.tier=this.defaultTier+tierUp;
- IC2.network.get().updateTileEntityField(this, "tier");
- this.maxStorage=this.defaultMaxStorage + capacityUp*10000;
- IC2.network.get().updateTileEntityField(this, "maxStorage");
- this.energyConsume=Math.min(correction*this.defaultEnergyConsume*Math.pow(1.6D, speedUp),this.maxStorage);
- IC2.network.get().updateTileEntityField(this, "modelShift");
- IC2.network.get().updateTileEntityField(this, "modelShiftSpeed");
- this.updateChecksum=checksum;
- };
- }
-
- @Override
- public void writeToNBT(NBTTagCompound var1) {
- super.writeToNBT(var1);
- var1.setDouble("energy", this.energy);
- var1.setBoolean("hasShield", this.hasShield);
- var1.setBoolean("autoReverseModeOn", this.autoReverseModeOn);
- var1.setBoolean("reverseModeOn", this.reverseModeOn);
- var1.setBoolean("advancedShield", this.advancedShield);
- var1.setInteger("modelShift", this.modelShift);
- var1.setInteger("shaftDestroyedAtA", this.shaftDestroyedAtA);
- var1.setInteger("shaftDestroyedAtB", this.shaftDestroyedAtB);
- var1.setInteger("modelShiftSpeed", this.modelShiftSpeed);
- }
-
- @Override
- public void readFromNBT(NBTTagCompound var1) {
- super.readFromNBT(var1);
- this.hasShield=var1.getBoolean("hasShield");
- this.autoReverseModeOn=var1.getBoolean("autoReverseModeOn");
- this.reverseModeOn=var1.getBoolean("reverseModeOn");
- this.advancedShield=var1.getBoolean("advancedShield");
- this.modelShift=var1.getInteger("modelShift");
- this.modelShiftSpeed=var1.getInteger("modelShiftSpeed");
- this.energy=var1.getDouble("energy");
- this.shaftDestroyedAtA=var1.getInteger("shaftDestroyedAtA");
- this.shaftDestroyedAtB=var1.getInteger("shaftDestroyedAtB");
- if(this.hasShield)
- {
- if(!MultiBlockSpacerBlock.teList.contains(this))
- {
- MultiBlockSpacerBlock.teList.add(this);
- }
- if(this.mX()==0)
- {
- if(!HorizontalMiningPipe.teList.contains(this))
- {
- HorizontalMiningPipe.teList.add(this);
- }
- }
- else
- {
- if(!HorizontalMiningPipe.teList.contains(this))
- {
- HorizontalMiningPipe.teList.add(this);
- }
- }
- }
- float shift=(float)this.modelShift/(float)this.modelShiftSpeed+1.0F;
- this.lastBlockShift=this.blockShift=Math.round(shift);
- this.defineTechBlockVariables();
- this.lastModelShiftAmount=this.getModelShiftAmount();
- }
-
- @Override
- public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) {
- return !this.hasShield && this.getFacing()!=(short)side;
- }
-
- @Override
- public short getFacing() {
- return super.getFacing();
- }
-
- @Override
- public void setFacing(short facing) {
- short newFacing = (short) Math.max(2, facing);
- super.setFacing(newFacing);
- }
-
- @Override
- public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
- return true;
- }
-
- @Override
- public float getWrenchDropRate() {
- return 1.0F;
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
- this.cleanUp();
- if(this.hasShield)
- {
- if(this.advancedShield)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord+(this.blockShift-2)*this.mX(), this.yCoord, this.zCoord+(this.blockShift-2)*this.mZ(), IHLUtils.getThisModItemStack("advancedShieldAssemblyUnitBlock")));
- }
- else
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord+(this.blockShift-2)*this.mX(), this.yCoord, this.zCoord+(this.blockShift-2)*this.mZ(), IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock")));
- }
- }
- if(this.miningPipesSlot.get()!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.miningPipesSlot.get()));
- if(this.dischargeSlot.get()!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.dischargeSlot.get()));
- if(this.upgradeSlot.get(0)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(0)));
- if(this.upgradeSlot.get(1)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(1)));
- if(this.upgradeSlot.get(2)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(2)));
- if(this.upgradeSlot.get(3)!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.upgradeSlot.get(3)));
- return new ItemStack(IHLMod.driverBlock,1);
- }
-
- @Override
- public String getInventoryName() {
- return "IHL TS-002";
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer arg0, boolean arg1) {
- return new DriverGui(new DriverContainer(arg0, this));
- }
-
- @Override
- public ContainerBase<DriverTileEntity> getGuiContainer(EntityPlayer arg0) {
- return new DriverContainer(arg0, this);
- }
-
- @Override
- public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction)
- {
- return true;
- }
-
- public boolean getGui(EntityPlayer player)
- {
- return this instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(player, this) : true) : false;
- }
-
- public boolean canPlaceShield()
- {
- if(this.hasShield)
- {
- return false;
- }
- Block block;
- int xyz[]={0,0,1,0,-1,-1,1,1,-1,2,0,2,1,2,-1,-2,0,-2,1,-2,-1,0};
- for(int i = 0;i<21;i++)
- {
- block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+this.mZ());
- if(!block.isAir(this.worldObj, this.xCoord+xyz[i+1]*this.mZ()+this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+this.mZ()))
- {
- return false;
- }
- }
- return true;
- }
-
- public int mX()
- {
- switch(this.getFacing())
- {
- case 4:
- return -1;
- case 5:
- return 1;
- default:
- return 0;
- }
- }
-
- public int mZ()
- {
- switch(this.getFacing())
- {
- case 3:
- return 1;
- case 2:
- return -1;
- case 4:
- return 0;
- case 5:
- return 0;
- default:
- return -1;
- }
- }
-
- public float getModelShiftAmount() {
- return (float)this.modelShift/(float)this.modelShiftSpeed;
- }
-
- private AxisAlignedBB getOperationZone()
- {
- int x=this.xCoord;
- int y=this.yCoord;
- int z=this.zCoord;
- double extension=this.getModelShiftAmount()+1.0D;
- return AxisAlignedBB.getBoundingBox(x + extension*Math.min(this.mX(),0)-2.0D, y-2.0D, z + extension*Math.min(this.mZ(),0)-2.0D, x + 3.0D + extension*Math.max(this.mX(),0), y + 3.0D, z + 3.0D + extension*Math.max(this.mZ(),0));
- }
-
- private AxisAlignedBB getShieldBladesZone(double offset)
- {
- double extension=this.getModelShiftAmount()+offset;
- double xShieldMinD=this.xCoord+extension*this.mX()-1D*Math.max(this.mX(), 0)-2D*Math.abs(this.mZ());
- double xShieldMaxD=this.xCoord+extension*this.mX()-1D*Math.min(this.mX(), 0)+3D*Math.abs(this.mZ());
- double yShieldMinD=this.yCoord-2D;
- double yShieldMaxD=this.yCoord+3D;
- double zShieldMinD=this.zCoord+extension*this.mZ()-1D*Math.max(this.mZ(), 0)-2D*Math.abs(this.mX());
- double zShieldMaxD=this.zCoord+extension*this.mZ()-1D*Math.min(this.mZ(), 0)+3D*Math.abs(this.mX());
- return AxisAlignedBB.getBoundingBox(xShieldMinD, yShieldMinD, zShieldMinD, xShieldMaxD, yShieldMaxD, zShieldMaxD);
- }
-
- public int getStored() {
- return Math.round((float)this.energy);
- }
-
- public void setStored(int value) {
- this.energy=value;
- }
-
- @Override
- public void onGuiClosed(EntityPlayer arg0) {}
-
- public void installShield() {
- if(IC2.platform.isSimulating())
- {
- this.hasShield=true;
- int x=this.xCoord;
- int y=this.yCoord;
- int z=this.zCoord;
- MultiBlockSpacerBlock.teList.add(this);
- this.defineTechBlockVariables();
- if(this.mX()==0)
- {
- HorizontalMiningPipe.teList.add(this);
- }
- else
- {
- HorizontalMiningPipe.teList.add(this);
- }
-
- int xyz[]={0,0,1,0,-1,-1,1,1,-1,2,0,2,1,2,-1,-2,0,-2,1,-2,-1,0};
- for(int i1 = 0;i1<21;i1++)
- {
- this.worldObj.setBlock(x+xyz[i1+1]*this.mZ()+this.mX(), y+xyz[i1], z+xyz[i1+1]*this.mX()+this.mZ(), IHLMod.multiBlockSpacerBlock, 0, 3);
- }
- }
- }
-
- public boolean isShaftCoord(int x, int y, int z)
- {
- if(IC2.platform.isSimulating() && y==this.yShaft && x>=this.xShaftMin && x<=this.xShaftMax && z>=this.zShaftMin && z<=this.zShaftMax)
- {
- int sda = (x-this.xCoord)*this.mX()+(z-this.zCoord)*this.mZ();
- if(this.shaftDestroyedAtA==0 && this.shaftDestroyedAtB==0)
- {
- this.shaftDestroyedAtA=this.shaftDestroyedAtB=sda;
- }
- else if(sda>this.shaftDestroyedAtB)
- {
- for(int i4=this.shaftDestroyedAtB;i4<sda;i4++)
- {
- int x1=this.xCoord+i4*mX();
- int y1=this.yCoord;
- int z1=this.zCoord+i4*mZ();
- Block block=this.worldObj.getBlock(x1, y1, z1);
- if(block instanceof HorizontalMiningPipe)
- {
- this.harvestDrops(block, x1, y1, z1, x1, y1, z1, Blocks.air);
- }
- }
- this.shaftDestroyedAtB=sda;
- }
- else if(sda<this.shaftDestroyedAtA)
- {
- for(int i4=sda;i4<this.shaftDestroyedAtA;i4++)
- {
- int x1=this.xCoord+i4*mX();
- int y1=this.yCoord;
- int z1=this.zCoord+i4*mZ();
- Block block=this.worldObj.getBlock(x1, y1, z1);
- if(block instanceof HorizontalMiningPipe)
- {
- this.harvestDrops(block, x1, y1, z1, x1, y1, z1, Blocks.air);
- }
- }
- this.shaftDestroyedAtA=sda;
- }
- return true;
- }
- return false;
- }
-
- @Override
- public boolean isAPartOfStructure(int x, int y, int z, boolean onBlockBeak)
- {
- if(IC2.platform.isSimulating() && y>=this.yShieldMin && y<=this.yShieldMax && x>=this.xShieldMin && x<=this.xShieldMax && z>=this.zShieldMin && z<=this.zShieldMax)
- {
- if(onBlockBeak)
- {
- this.hasShield=false;
- this.advancedShield=false;
- this.modelShift=0;
- this.lastBlockShift=this.blockShift=1;
- this.shaftDestroyedAtA=0;
- IC2.network.get().updateTileEntityField(this, "modelShift");
- IC2.network.get().updateTileEntityField(this, "advancedShield");
- this.cleanUp();
- }
- return true;
- }
- return false;
- }
-
- public boolean isShaftCoordNN(int x, int y, int z)
- {
- if(y==this.yShaft && x>=this.xShaftMin && x<=this.xShaftMax && z>=this.zShaftMin && z<=this.zShaftMax)
- {
- return true;
- }
- return false;
- }
-
- public void cleanUp()
- {
- int xyz[]={0,0,1,0,-1,-1,1,1,-1,2,0,2,1,2,-1,-2,0,-2,1,-2,-1,0};
- for(int shift = 0;shift<=this.blockShift+1;shift++)
- {
- for(int i = 0;i<21;i++)
- {
- Block block = this.worldObj.getBlock(this.xCoord+xyz[i+1]*this.mZ()+shift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+shift*this.mZ());
- if(block instanceof HorizontalMiningPipe)
- {
- ArrayList<ItemStack> drops = block.getDrops(this.worldObj, this.xCoord+xyz[i+1]*this.mZ()+shift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+shift*this.mZ(), 0, 3);
- if(drops.size()>0)
- {
- for(int i1=0;i1<drops.size();i1++)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord+xyz[i+1]*this.mZ()+shift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+shift*this.mZ(), drops.get(i1)));
- }
- }
- this.worldObj.setBlockToAir(this.xCoord+xyz[i+1]*this.mZ()+shift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+shift*this.mZ());
- }
- else if(block instanceof MultiBlockSpacerBlock)
- {
- this.worldObj.setBlockToAir(this.xCoord+xyz[i+1]*this.mZ()+shift*this.mX(), this.yCoord+xyz[i], this.zCoord+xyz[i+1]*this.mX()+shift*this.mZ());
- }
- }
- }
- }
-
- private boolean handleDropsByHydrotransport(ArrayList<ItemStack> drops)
- {
- ForgeDirection direction = ForgeDirection.getOrientation(this.getFacing()).getOpposite();
- TileEntity te = worldObj.getTileEntity(xCoord+direction.offsetX, yCoord+direction.offsetY, zCoord+direction.offsetZ);
- if(te instanceof HydrotransportPulpRegeneratorTileEntity)
- {
- HydrotransportPulpRegeneratorTileEntity hprte = (HydrotransportPulpRegeneratorTileEntity) te;
- if(hprte.getActive())
- {
- ArrayList<ItemStack> drops1 = new ArrayList<ItemStack>();
- Iterator<ItemStack> dropsIterator = drops.iterator();
- while(dropsIterator.hasNext())
- {
- ItemStack stack = dropsIterator.next();
- RecipeOutput maceratorOut = Recipes.macerator.getOutputFor(stack, false);
- if(maceratorOut!=null && !maceratorOut.items.isEmpty())
- {
- Iterator<ItemStack> maceratorOutIterator = maceratorOut.items.iterator();
- while(maceratorOutIterator.hasNext())
- {
- drops1.add(maceratorOutIterator.next().copy());
- }
- }
- else
- {
- drops1.add(stack);
- }
- }
- if(hprte.outputSlot.canAdd(drops1))
- {
- hprte.outputSlot.add(drops1);
- }
- else
- {
- for(int i1=0;i1<drops1.size();i1++)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, xCoord+direction.offsetX, yCoord+direction.offsetY, zCoord+direction.offsetZ, drops1.get(i1)));
- }
- }
- return true;
- }
- }
- return false;
- }
-
- @Override
- public void onNetworkEvent(EntityPlayer player, int event)
- {
- switch(event)
- {
- case 0:
- this.reverseModeOn=!this.reverseModeOn;
- IC2.network.get().updateTileEntityField(this, "reverseModeOn");
- this.updateChecksum=-1;
- this.setOverclockRates();
- break;
- case 1:
- this.autoReverseModeOn=!this.autoReverseModeOn;
- IC2.network.get().updateTileEntityField(this, "autoReverseModeOn");
- break;
- default:
- break;
- }
- }
-
- public void defineTechBlockVariables()
- {
- this.xShaftMin=this.xCoord+this.blockShift*Math.min(this.mX(), 0);
- this.xShaftMax=this.xCoord+this.blockShift*Math.max(this.mX(), 0);
- this.yShaft=this.yCoord;
- this.zShaftMin=this.zCoord+this.blockShift*Math.min(this.mZ(), 0);
- this.zShaftMax=this.zCoord+this.blockShift*Math.max(this.mZ(), 0);
- this.xShieldMin=this.xCoord+this.blockShift*this.mX()-3*Math.max(this.mX(), 0)-2*Math.abs(this.mZ());
- this.xShieldMax=this.xCoord+this.blockShift*this.mX()-3*Math.min(this.mX(), 0)+2*Math.abs(this.mZ());
- this.yShieldMin=this.yCoord-2;
- this.yShieldMax=this.yCoord+2;
- this.zShieldMin=this.zCoord+this.blockShift*this.mZ()-3*Math.max(this.mZ(), 0)-2*Math.abs(this.mX());
- this.zShieldMax=this.zCoord+this.blockShift*this.mZ()-3*Math.min(this.mZ(), 0)+2*Math.abs(this.mX());
- }
-
- public void harvestDrops(Block block, int x, int y, int z, int x1, int y1, int z1, Block setToBlock)
- {
- if(block!=null && block!=Blocks.air && block!=Blocks.bedrock)
- {
- int meta = worldObj.getBlockMetadata(x, y, z);
- ArrayList<ItemStack> drops = block.getDrops(this.worldObj, x, y, z, meta, 0);
- if(drops.size()>0)
- {
- for(int i1=0;i1<drops.size();i1++)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, x1, y1, z1, drops.get(i1)));
- }
- }
- }
- this.worldObj.setBlock(x, y, z, setToBlock);
- }
-
- //1.7.10 API
- @Override
- public double getDemandedEnergy()
- {
- return this.maxStorage - this.energy;
- }
-
- @Override
- public int getSinkTier()
- {
- return this.tier;
- }
-
- @Override
- public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage)
- {
- if (this.energy >= this.maxStorage)
- {
- return amount;
- }
- else
- {
- this.energy += amount;
- return 0.0D;
- }
- }
-
- @Override
- public double getEnergy() {
- return this.energy;
- }
-
- @Override
- public boolean useEnergy(double amount)
- {
- if (this.energy >= amount)
- {
- this.energy -= amount;
- return true;
- }
- else
- {
- return false;
- }
- }
-
- @Override
- public boolean shouldRenderInPass(int pass)
- {
- return pass==0;
- }
-
- @Override
- public boolean getIsInvalid()
- {
- return this.isInvalid();
- }
-
- public void installAdvancedShield()
- {
- this.installShield();
- this.advancedShield=true;
- IC2.network.get().updateTileEntityField(this, "advancedShield");
- }
-
- public ItemStack getOutput(int arg0)
- {
- return null;
- }
-
- public int getOutputSize() {
- return 0;
- }
-
- public void setOutput(int arg0, ItemStack arg1)
- {
- }
-
- @Override
- public Set<UpgradableProperty> getUpgradableProperties()
- {
- Set<UpgradableProperty> properties = new HashSet<UpgradableProperty>();
- properties.add(UpgradableProperty.EnergyStorage);
- properties.add(UpgradableProperty.Processing);
- properties.add(UpgradableProperty.Transformer);
- return properties;
- }
-}
diff --git a/ihl/tunneling_shield/HorizontalMiningPipe.java b/ihl/tunneling_shield/HorizontalMiningPipe.java
deleted file mode 100644
index 9409d27..0000000
--- a/ihl/tunneling_shield/HorizontalMiningPipe.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package ihl.tunneling_shield;
-import ic2.core.IC2;
-import ic2.core.Ic2Items;
-import ic2.core.audio.PositionSpec;
-import ic2.core.item.tool.ItemToolWrench;
-import ihl.IHLMod;
-import java.util.ArrayList;
-import java.util.Random;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class HorizontalMiningPipe extends Block {
-
- public static ArrayList<DriverTileEntity> teList = new ArrayList<DriverTileEntity>();
-
- public HorizontalMiningPipe() {
- super(Material.iron);
- this.setBlockBounds(0.1875F, 0.1875F, 0.1875F, 0.8125F, 0.8125F, 0.8125F);
- }
-
- public HorizontalMiningPipe(int meta) {
- super(Material.iron);
- this.setBlockBounds(0.1875F*meta, 0.1875F, 0.1875F*(1-meta), 0.8125F+0.1875F*(1-meta), 0.8125F, 0.8125F+0.1875F*meta);
- }
-
- @Override
- public boolean canHarvestBlock(EntityPlayer player, int meta)
- {
- return true;
- }
-
- @Override
- public Item getItem(World world, int x, int y, int z)
- {
- return Ic2Items.miningPipe.getItem();
- }
-
- @Override
- public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
- {
- return Ic2Items.miningPipe.getItem();
- }
-
- @Override
- public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
- {
- ItemStack result = Ic2Items.miningPipe;
- result.stackSize=1;
- this.dropBlockAsItem(world, x, y, z, result);
- }
-
-
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon("ic2:machine/blockMiningPipe");
- }
-
- @Override
- public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
- return this.blockIcon;
- }
-
- /**
- * The type of render function that is called for this block
- */
- @Override
- public int getRenderType()
- {
- return -2;
- }
-
- /**
- * Is this block (a) opaque and (B) a full 1m cube? This determines whether or not to render the shared face of two
- * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
- */
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- /**
- * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
- */
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-
- @Override
- public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion)
- {
- super.onBlockDestroyedByExplosion(world, x, y, z, explosion);
- this.checkIfMachinePart(world, x, y, z);
- }
-
- @Override
- public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta)
- {
- super.onBlockDestroyedByPlayer(world, x, y, z, meta);
- this.checkIfMachinePart(world, x, y, z);
- }
-
- private void checkIfMachinePart(World world, int x, int y, int z)
- {
- if(teList.size()>0)
- {
- for (int i=0;i<teList.size();i++)
- {
- if(teList.get(i)!=null && !teList.get(i).isInvalid())
- {
- if(teList.get(i).isShaftCoord(x, y, z))
- {
- return;
- }
- }
- else
- {
- teList.remove(i);
- i--;
- }
- }
- }
- }
-
- private void checkIfMachinePartNN(World world, int x, int y, int z)
- {
- boolean setToAir=true;
- if(teList.size()>0)
- {
- for (int i=0;i<teList.size();i++)
- {
- if(teList.get(i)!=null)
- {
- if(teList.get(i).isShaftCoordNN(x, y, z) && teList.get(i).hasShield)
- {
- setToAir=false;
- }
- }
- else
- {
- teList.remove(i);
- i--;
- }
- }
- }
- if(setToAir)
- {
- world.setBlockToAir(x, y, z);
- }
- }
-
-
- @Override
- public void onBlockAdded(World world, int x, int y,int z)
- {
- world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
- }
-
- @Override
- public void onNeighborBlockChange(World world, int x, int y,int z, Block block)
- {
- this.updateTick(world, x, y, z, world.rand);
- }
-
- @Override
- public void updateTick(World world, int x, int y,int z, Random rand)
- {
- world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
- this.checkIfMachinePartNN(world, x, y, z);
-
- }
-
- @Override
- public int tickRate(World world)
- {
- return 200;
- }
-
- @Override
- public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer entityPlayer,int i,float pos_x,float pos_y,float pos_z)
- {
- ItemStack currentIS = entityPlayer.inventory.getCurrentItem();
- if(currentIS!=null)
- {
- if(currentIS.getItem() instanceof ItemToolWrench && entityPlayer.inventory.hasItem(Ic2Items.miningPipe.getItem()))
- {
- if(((ItemToolWrench)currentIS.getItem()).canTakeDamage(currentIS, 10))
- {
- if (IC2.platform.isRendering())
- {
- IC2.audioManager.playOnce(entityPlayer, PositionSpec.Hand, "Tools/wrench.ogg", true, 1.0F);
- }
- if(IC2.platform.isSimulating())
- {
- if(teList.size()>0)
- {
- for (int i3=0;i3<teList.size();i3++)
- {
- DriverTileEntity t = teList.get(i3);
- if(t!=null)
- {
- if(t.isShaftCoordNN(x, y, z) && t.hasShield)
- {
- int xA=t.xCoord+t.shaftDestroyedAtA*t.mX();
- int zA=t.zCoord+t.shaftDestroyedAtA*t.mZ();
- int xB=t.xCoord+t.shaftDestroyedAtB*t.mX();
- int zB=t.zCoord+t.shaftDestroyedAtB*t.mZ();
- if(t.shaftDestroyedAtA!=0 && t.shaftDestroyedAtA==t.shaftDestroyedAtB)
- {
- if(Math.abs(x-xA+z-zA)==1)
- {
- if(world.setBlock(xA, y, zA, t.mX()!=0?IHLMod.horizontalMiningPipeZ:IHLMod.horizontalMiningPipeX))
- {
- t.shaftDestroyedAtA=t.shaftDestroyedAtB=0;
- entityPlayer.inventory.consumeInventoryItem(Ic2Items.miningPipe.getItem());
- entityPlayer.inventoryContainer.detectAndSendChanges();
- return true;
- }
- }
- }
- else if(t.shaftDestroyedAtA!=0)
- {
- if(Math.abs(x-xA+z-zA)==1)
- {
- if(world.setBlock(xA, y, zA, t.mX()!=0?IHLMod.horizontalMiningPipeZ:IHLMod.horizontalMiningPipeX))
- {
- t.shaftDestroyedAtA++;
- entityPlayer.inventory.consumeInventoryItem(Ic2Items.miningPipe.getItem());
- entityPlayer.inventoryContainer.detectAndSendChanges();
- return true;
- }
- }
- if(Math.abs(x-xB+z-zB)==1)
- {
- if(world.setBlock(xB, y, zB, t.mX()!=0?IHLMod.horizontalMiningPipeZ:IHLMod.horizontalMiningPipeX))
- {
- t.shaftDestroyedAtB--;
- entityPlayer.inventory.consumeInventoryItem(Ic2Items.miningPipe.getItem());
- entityPlayer.inventoryContainer.detectAndSendChanges();
- return true;
- }
- }
- }
- }
- }
- else
- {
- teList.remove(i);
- i--;
- }
- }
- }
- ((ItemToolWrench)currentIS.getItem()).damage(currentIS, 10, entityPlayer);
- }
- }
- return true;
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/HydrotransportPulpRegeneratorContainer.java b/ihl/tunneling_shield/HydrotransportPulpRegeneratorContainer.java
deleted file mode 100644
index 82445d7..0000000
--- a/ihl/tunneling_shield/HydrotransportPulpRegeneratorContainer.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package ihl.tunneling_shield;
-
-import java.util.List;
-
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.slot.SlotInvSlot;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-import net.minecraftforge.fluids.FluidStack;
-
-public class HydrotransportPulpRegeneratorContainer extends ContainerBase<HydrotransportPulpRegeneratorTileEntity> {
-
- protected HydrotransportPulpRegeneratorTileEntity tileEntity;
- public int lastFluidAmount = -1;
- public int lastNumberOfFluids = -1;
- public short lastProgress = -1;
- public short lastTemperature = -1;
- private int lastEnergy = -1;
- @SuppressWarnings("unused")
- private List<FluidStack> fluidTankFluidList;
- private final static int height=166;
-
- public HydrotransportPulpRegeneratorContainer(EntityPlayer entityPlayer, HydrotransportPulpRegeneratorTileEntity tileEntity1){
- super(tileEntity1);
- this.tileEntity = tileEntity1;
- fluidTankFluidList=tileEntity.fluidTank.getFluidList();
- int col,row;
- for (col = 0; col < 3; ++col)
- {
- for (int col1 = 0; col1 < 9; ++col1)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
- }
- }
- for (col = 0; col < 9; ++col)
- {
- this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
- }
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.drainInputSlot, 0, 32, 13));
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.emptyFluidItemsSlot, 0, 32, 51));
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.dischargeSlot, 0, 8, 32));
- for(col=0;col<4;col++)
- {
- for(row=0;row<3;row++)
- {
- this.addSlotToContainer(new SlotInvSlot(tileEntity1.outputSlot, col+row*4, 92+col*18, 13+row*18));
- }
- }
- }
-
- @Override
- public void detectAndSendChanges()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting)this.crafters.get(i);
-
- if (this.tileEntity.fluidTank.getFluidAmount() != this.lastFluidAmount || this.tileEntity.fluidTank.getNumberOfFluids() != this.lastNumberOfFluids)
- {
- IC2.network.get().sendContainerField(this, "fluidTankFluidList");
- }
- if (this.tileEntity.progress != this.lastProgress)
- {
- icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.progress);
- }
- if (this.tileEntity.getEnergy() != this.lastEnergy )
- {
- icrafting.sendProgressBarUpdate(this, 1, this.tileEntity.getEnergy());
- }
- }
-
- this.lastNumberOfFluids = this.tileEntity.fluidTank.getNumberOfFluids();
- this.lastFluidAmount = this.tileEntity.fluidTank.getFluidAmount();
- this.lastProgress = this.tileEntity.progress;
- this.lastEnergy = this.tileEntity.getEnergy();
- }
-
- @Override
- public void updateProgressBar(int index, int value)
- {
- super.updateProgressBar(index, value);
- switch (index)
- {
- case 0:
- this.tileEntity.progress=(short) value;
- break;
- case 1:
- this.tileEntity.setEnergy(value);
- break;
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer var1) {
- return tileEntity.isUseableByPlayer(var1);
- }
-}
diff --git a/ihl/tunneling_shield/HydrotransportPulpRegeneratorGui.java b/ihl/tunneling_shield/HydrotransportPulpRegeneratorGui.java
deleted file mode 100644
index bd86dd7..0000000
--- a/ihl/tunneling_shield/HydrotransportPulpRegeneratorGui.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package ihl.tunneling_shield;
-
-import cpw.mods.fml.relauncher.Side;
-
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import ihl.utils.IHLRenderUtils;
-
-@SideOnly(Side.CLIENT)
-public class HydrotransportPulpRegeneratorGui extends GuiContainer {
- private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIHydrotransportPulpRegenerator.png");
- private HydrotransportPulpRegeneratorContainer container;
-
- public HydrotransportPulpRegeneratorGui (HydrotransportPulpRegeneratorContainer container1) {
- //the container is instanciated and passed to the superclass for handling
- super(container1);
- this.container=container1;
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int par1, int par2) {
- int xOffset = (this.width - xSize) / 2;
- int yOffset = (this.height - ySize) / 2;
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int i1;
- if (this.container.tileEntity.getEnergy() > 0D)
- {
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.9F);
- i1 = Math.min(this.container.tileEntity.getGUIEnergy(12),12);
- this.drawTexturedModalRect(12, 16 + 12 - i1, 179, 13 - i1, 13, i1 + 1);
- }
- if (this.container.tileEntity.progress > 0)
- {
- i1 = Math.min(this.container.tileEntity.gaugeProgressScaled(18),18);
- this.drawTexturedModalRect(73, 34, 197, 0, i1 + 1, 13);
- }
- if (this.container.tileEntity.fluidTank.getFluidAmount() > 0)
- {
- IHLRenderUtils.instance.renderIHLFluidTank(this.container.tileEntity.fluidTank, 57, 16, 69, 63, zLevel, par1, par2, xOffset, yOffset);
- }
- this.mc.renderEngine.bindTexture(background);
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- }
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/HydrotransportPulpRegeneratorTileEntity.java b/ihl/tunneling_shield/HydrotransportPulpRegeneratorTileEntity.java
deleted file mode 100644
index dc5e114..0000000
--- a/ihl/tunneling_shield/HydrotransportPulpRegeneratorTileEntity.java
+++ /dev/null
@@ -1,273 +0,0 @@
-package ihl.tunneling_shield;
-
-import java.util.List;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import ic2.api.Direction;
-import ic2.core.ContainerBase;
-import ic2.core.block.invslot.InvSlot;
-import ic2.core.block.invslot.InvSlotConsumableLiquid;
-import ic2.core.block.invslot.InvSlotOutput;
-import ihl.processing.invslots.InvSlotConsumableLiquidIHL;
-import ihl.processing.metallurgy.BasicElectricMotorTileEntity;
-import ihl.utils.IHLFluidTank;
-import ihl.utils.IHLUtils;
-
-public class HydrotransportPulpRegeneratorTileEntity extends BasicElectricMotorTileEntity implements IFluidHandler
-{
- public final InvSlotConsumableLiquidIHL drainInputSlot;
- public final InvSlotOutput emptyFluidItemsSlot;
- public final InvSlotOutput outputSlot;
- final IHLFluidTank fluidTank = new IHLFluidTank(2000);
- private int timer=0;
-
- public HydrotransportPulpRegeneratorTileEntity() {
- super();
- this.drainInputSlot = new InvSlotConsumableLiquidIHL(this, "drainInput", -1, InvSlot.Access.I, 1, InvSlot.InvSide.TOP, InvSlotConsumableLiquid.OpType.Drain);
- this.emptyFluidItemsSlot = new InvSlotOutput(this, "fluidCellsOutput", 2, 1);
- this.outputSlot = new InvSlotOutput(this, "output", 3, 12);
- this.operationLength=26;
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- this.fluidTank.readFromNBT(nbttagcompound.getCompoundTag("fluidTank"));
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- NBTTagCompound fluidTankTag = new NBTTagCompound();
- this.fluidTank.writeToNBT(fluidTankTag);
- nbttagcompound.setTag("fluidTank", fluidTankTag);
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer player)
- {
- return IHLUtils.getThisModItemStack("hydrotransportPulpRegenerator");
- }
-
- @Override
- public void updateEntityServer()
- {
- super.updateEntityServer();
- ForgeDirection direction = ForgeDirection.getOrientation(this.getFacing());
- TileEntity te = worldObj.getTileEntity(xCoord+direction.offsetX,yCoord+direction.offsetY,zCoord+direction.offsetZ);
- if(!this.getActive() && this.fluidTank.getFluid()!=null && isMachineOperational())
- {
- if(te instanceof DriverTileEntity)
- {
- this.setActive(true);
- }
- }
- else if(this.getActive())
- {
- timer++;
- if(!(te instanceof DriverTileEntity) || this.fluidTank.getFluid()==null || !isMachineOperational())
- {
- this.setActive(false);
- }
- }
- if(timer>100)
- {
- this.fluidTank.drain(1, true);
- this.energy-=1d;
- timer=0;
- }
- if(timer%10==0)
- {
- if(te instanceof DriverTileEntity)
- {
- DriverTileEntity dte = (DriverTileEntity) te;
- if(dte.getActive())
- {
- this.fluidTank.drain(1, true);
- }
- }
- }
- IHLUtils.handleFluidSlotsBehaviour(null, drainInputSlot, emptyFluidItemsSlot, fluidTank);
- }
-
- @Override
- public void operate()
- {
- ForgeDirection direction = ForgeDirection.getOrientation(this.getFacing()).getOpposite();
- TileEntity te = worldObj.getTileEntity(xCoord+direction.offsetX, yCoord+direction.offsetY,zCoord+direction.offsetZ);
- int i0=0;
- for(int i1=i0;i1<outputSlot.size();i1++)
- {
- if(outputSlot.get(i1)!=null)
- {
- i0=i1;
- }
- }
- if(te instanceof ISidedInventory)
- {
- ISidedInventory si = (ISidedInventory)te;
- for(int i=0;i<si.getSizeInventory();i++)
- {
- if(outputSlot.get(i0)==null)
- {
- break;
- }
- if(si.canInsertItem(i, outputSlot.get(i0), Direction.fromForgeDirection(direction).toSideValue()))
- {
- if(si.getStackInSlot(i)==null)
- {
- si.setInventorySlotContents(i, outputSlot.get(i0));
- outputSlot.put(i0,null);
- }
- else if(IHLUtils.isItemStacksIsEqual(si.getStackInSlot(i),outputSlot.get(i0),true))
- {
- int stackSizeBefore = si.getStackInSlot(i).stackSize;
- si.getStackInSlot(i).stackSize+=outputSlot.get(i0).stackSize;
- if(si.getStackInSlot(i).stackSize>si.getInventoryStackLimit())
- {
- si.getStackInSlot(i).stackSize=si.getInventoryStackLimit();
- outputSlot.get(i0).stackSize-=si.getInventoryStackLimit()-stackSizeBefore;
- if(outputSlot.get(i0).stackSize<=0)
- {
- outputSlot.put(i0,null);
- }
- }
- else
- {
- outputSlot.put(i0,null);
- }
- }
-
- }
- }
- }
- else if(te instanceof IInventory)
- {
- IInventory si = (IInventory)te;
- for(int i=0;i<si.getSizeInventory();i++)
- {
- if(outputSlot.get(i0)==null)
- {
- break;
- }
- if(si.isItemValidForSlot(i, outputSlot.get(i0)))
- {
- if(si.getStackInSlot(i)==null)
- {
- si.setInventorySlotContents(i, outputSlot.get(i0));
- outputSlot.put(i0,null);
- }
- else if(IHLUtils.isItemStacksIsEqual(si.getStackInSlot(i),outputSlot.get(i0),true))
- {
- int stackSizeBefore = si.getStackInSlot(i).stackSize;
- si.getStackInSlot(i).stackSize+=outputSlot.get(i0).stackSize;
- if(si.getStackInSlot(i).stackSize>si.getInventoryStackLimit())
- {
- si.getStackInSlot(i).stackSize=si.getInventoryStackLimit();
- outputSlot.get(i0).stackSize-=si.getInventoryStackLimit()-stackSizeBefore;
- if(outputSlot.get(i0).stackSize<=0)
- {
- outputSlot.put(i0,null);
- }
- }
- else
- {
- outputSlot.put(i0,null);
- }
- }
- }
- }
- }
- else
- {
- for(int i1=i0;i1<outputSlot.size();i1++)
- {
- if(outputSlot.get(i1)!=null)
- {
- this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, xCoord+direction.offsetX+0.5d, yCoord+direction.offsetY+0.5d,zCoord+direction.offsetZ+0.5d, outputSlot.get(i1)));
- outputSlot.put(i1, null);
- break;
- }
- }
- }
- }
-
- private boolean isMachineOperational()
- {
- return this.energy>=this.energyConsume;
- }
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @Override
- public List[] getInput()
- {
- return null;
- }
-
- @Override
- public boolean canOperate()
- {
- return !this.outputSlot.isEmpty();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer player, boolean arg1) {
- return new HydrotransportPulpRegeneratorGui(new HydrotransportPulpRegeneratorContainer(player, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer player) {
- return new HydrotransportPulpRegeneratorContainer(player, this);
- }
-
- @Override
- public boolean canDrain(ForgeDirection arg0, Fluid arg1) {
- return false;
- }
-
- @Override
- public boolean canFill(ForgeDirection arg0, Fluid arg1)
- {
- return true;
- }
-
- @Override
- public FluidStack drain(ForgeDirection arg0, FluidStack arg1, boolean arg2) {
- return null;
- }
-
- @Override
- public FluidStack drain(ForgeDirection arg0, int arg1, boolean arg2) {
- return null;
- }
-
- @Override
- public int fill(ForgeDirection arg0, FluidStack resource, boolean doFill)
- {
- return this.fluidTank.fill(resource, doFill);
- }
-
- @Override
- public FluidTankInfo[] getTankInfo(ForgeDirection arg0)
- {
- return new FluidTankInfo[] {this.fluidTank.getInfo()};
- }
-
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/IMultiBlock.java b/ihl/tunneling_shield/IMultiBlock.java
deleted file mode 100644
index e4d32d7..0000000
--- a/ihl/tunneling_shield/IMultiBlock.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package ihl.tunneling_shield;
-
-public interface IMultiBlock
-{
- public boolean isAPartOfStructure(int x, int y, int z, boolean onBlockBeak);
- public boolean getIsInvalid();
-}
diff --git a/ihl/tunneling_shield/MultiBlockSpacerBlock.java b/ihl/tunneling_shield/MultiBlockSpacerBlock.java
deleted file mode 100644
index 79e5955..0000000
--- a/ihl/tunneling_shield/MultiBlockSpacerBlock.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package ihl.tunneling_shield;
-
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.audio.PositionSpec;
-import ic2.core.item.tool.ItemToolWrench;
-import ihl.utils.IHLUtils;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Random;
-import java.util.Set;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.World;
-
-public class MultiBlockSpacerBlock extends Block {
-
- public static Set<IMultiBlock> teList = new HashSet<IMultiBlock>();
-
- public MultiBlockSpacerBlock()
- {
- super(Material.iron);
- }
-
- /**
- * The type of render function that is called for this block
- */
- @Override
- public int getRenderType()
- {
- return -2;
- }
-
- @Override
- public ArrayList<ItemStack> getDrops(World world,int x, int y, int z, int meta, int flag)
- {
- return new ArrayList<ItemStack>();
- }
- @Override
- public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion)
- {
- super.onBlockDestroyedByExplosion(world, x, y, z, explosion);
- this.checkIfMachinePart(world, x, y, z);
- }
-
- @Override
- public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta)
- {
- super.onBlockDestroyedByPlayer(world, x, y, z, meta);
- this.checkIfMachinePart(world, x, y, z);
- }
-
- private boolean checkIfMachinePart(World world, int x, int y, int z)
- {
- if(!teList.isEmpty())
- {
- Iterator<IMultiBlock> i = MultiBlockSpacerBlock.teList.iterator();
- while(i.hasNext())
- {
- IMultiBlock te = i.next();
- if(te!=null && !te.getIsInvalid())
- {
- if(te.isAPartOfStructure(x, y, z, true))
- {
- return true;
- }
- }
- else
- {
- teList.remove(i);
- }
- }
- }
- return false;
- }
-
- private IMultiBlock getLinkedTileEntity(World world, int x, int y, int z)
- {
- if(!teList.isEmpty())
- {
- Iterator<IMultiBlock> i = MultiBlockSpacerBlock.teList.iterator();
- while(i.hasNext())
- {
- IMultiBlock te = i.next();
- if(te!=null && !te.getIsInvalid())
- {
- if(te.isAPartOfStructure(x, y, z, false))
- {
- return te;
- }
- }
- else
- {
- teList.remove(i);
- }
- }
- }
- return null;
- }
-
- /**
- * Is this block (a) opaque and (B) a full 1m cube? This determines whether or not to render the shared face of two
- * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
- */
- @Override
- public boolean isOpaqueCube()
- {
- return false;
- }
-
- /**
- * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
- */
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
-
- @Override
- public void onBlockAdded(World world, int x, int y,int z)
- {
- world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
- }
-
- @Override
- public void onNeighborBlockChange(World world, int x, int y,int z, Block block)
- {
- this.updateTick(world, x, y, z, world.rand);
- }
-
-@Override
-public void updateTick(World world, int x, int y,int z, Random rand)
-{
- world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
- if(!world.isRemote)
- {
- boolean setToAir=true;
- if(teList.size()>0)
- {
- if(!teList.isEmpty())
- {
- Iterator<IMultiBlock> i = MultiBlockSpacerBlock.teList.iterator();
- while(i.hasNext())
- {
- IMultiBlock te = i.next();
- if(te!=null && !te.getIsInvalid())
- {
- if(te.isAPartOfStructure(x, y, z, false))
- {
- setToAir=false;
- }
- }
- else
- {
- teList.remove(i);
- }
- }
- }
- }
- if(setToAir)
- {
- world.setBlockToAir(x, y, z);
- }
- }
-}
-
- @Override
- public int tickRate(World world)
- {
- return 200;
- }
-
- @Override
- public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer entityPlayer,int i,float pos_x,float pos_y,float pos_z)
- {
- IMultiBlock te = this.getLinkedTileEntity(world, x, y, z);
- ItemStack currentIS = entityPlayer.inventory.getCurrentItem();
- if(currentIS!=null)
- {
- if(currentIS.getItem() instanceof ItemToolWrench)
- {
- if(((ItemToolWrench)currentIS.getItem()).canTakeDamage(currentIS, 10))
- {
- if (IC2.platform.isRendering())
- {
- IC2.audioManager.playOnce(entityPlayer, PositionSpec.Hand, "Tools/wrench.ogg", true, 1.0F);
- }
- else if(IC2.platform.isSimulating())
- {
- if(te instanceof DriverTileEntity)
- {
- DriverTileEntity dte =(DriverTileEntity) te;
- if(dte.hasShield)
- {
- if(dte.advancedShield)
- {
- world.spawnEntityInWorld(new EntityItem(world, x, y, z, IHLUtils.getThisModItemStack("advancedShieldAssemblyUnitBlock")));
- }
- else
- {
- world.spawnEntityInWorld(new EntityItem(world, x, y, z, IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock")));
- }
- }
- dte.isAPartOfStructure(x, y, z, true);
- world.setBlockToAir(x, y, z);
- }
- ((ItemToolWrench)currentIS.getItem()).damage(currentIS, 10, entityPlayer);
- }
- }
- return true;
- }
- }
- return te instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(entityPlayer, (IHasGui)te) : true) : false;
- }
-} \ No newline at end of file
diff --git a/ihl/tunneling_shield/BlockItemRender.java b/ihl/utils/BlockItemRender.java
index 27b0f04..5a0c6de 100644
--- a/ihl/tunneling_shield/BlockItemRender.java
+++ b/ihl/utils/BlockItemRender.java
@@ -1,4 +1,4 @@
-package ihl.tunneling_shield;
+package ihl.utils;
import ic2.core.block.RenderBlockDefault;
import ihl.items_blocks.IHLItemBlock;
diff --git a/ihl/collector/GuiMultiTextureButton.java b/ihl/utils/GuiMultiTextureButton.java
index 39b36d0..eb160cd 100644
--- a/ihl/collector/GuiMultiTextureButton.java
+++ b/ihl/utils/GuiMultiTextureButton.java
@@ -1,4 +1,4 @@
-package ihl.collector;
+package ihl.utils;
import org.lwjgl.opengl.GL11;
diff --git a/ihl/utils/IHLUtils.java b/ihl/utils/IHLUtils.java
index cba20b5..84c04a1 100644
--- a/ihl/utils/IHLUtils.java
+++ b/ihl/utils/IHLUtils.java
@@ -17,11 +17,8 @@ import ihl.recipes.IRecipeInputFluid;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
-import java.io.IOException;
import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -56,252 +53,189 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidTank;
import net.minecraftforge.oredict.OreDictionary;
-public class IHLUtils
-{
- private static Map<String,ItemStack> ihlItemStackRegistry = new HashMap<String, ItemStack>();
- private static final String Digits = "(\\p{Digit}+)";
- private static final String HexDigits = "(\\p{XDigit}+)";
- private static final String Exp = "[eE][+-]?"+Digits;
- private static final String fpRegex =
- ("[\\x00-\\x20]*"+ // Optional leading "whitespace"
- "[+-]?(" + // Optional sign character
- "NaN|" + // "NaN" string
- "Infinity|" + // "Infinity" string
- "((("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+
- "(\\.("+Digits+")("+Exp+")?)|"+
- "((" +
- "(0[xX]" + HexDigits + "(\\.)?)|" +
- "(0[xX]" + HexDigits + "?(\\.)" + HexDigits + ")" +
- ")[pP][+-]?" + Digits + "))" +
- "[fFdD]?))" +
- "[\\x00-\\x20]*");// Optional trailing "whitespace"
-
-
- public static void registerLocally(String name, ItemStack stack)
- {
+public class IHLUtils {
+ private static Map<String, ItemStack> ihlItemStackRegistry = new HashMap<String, ItemStack>();
+ private static final String Digits = "(\\p{Digit}+)";
+ private static final String HexDigits = "(\\p{XDigit}+)";
+ private static final String Exp = "[eE][+-]?" + Digits;
+ private static final String fpRegex = ("[\\x00-\\x20]*" + // Optional
+ // leading
+ // "whitespace"
+ "[+-]?(" + // Optional sign character
+ "NaN|" + // "NaN" string
+ "Infinity|" + // "Infinity" string
+ "(((" + Digits + "(\\.)?(" + Digits + "?)(" + Exp + ")?)|" + "(\\.(" + Digits + ")(" + Exp + ")?)|" + "(("
+ + "(0[xX]" + HexDigits + "(\\.)?)|" + "(0[xX]" + HexDigits + "?(\\.)" + HexDigits + ")" + ")[pP][+-]?"
+ + Digits + "))" + "[fFdD]?))" + "[\\x00-\\x20]*");// Optional
+ // trailing
+ // "whitespace"
+
+ public static void registerLocally(String name, ItemStack stack) {
ihlItemStackRegistry.put(name, stack);
}
-
- public static ItemStack getOreDictItemStack(String name)
- {
+
+ public static ItemStack getOreDictItemStack(String name) {
ItemStack ore = OreDictionary.getOres(name).get(0);
- if(ore==null)return null;
+ if (ore == null)
+ return null;
ItemStack orecopy = ore.copy();
- orecopy.stackSize=1;
+ orecopy.stackSize = 1;
return orecopy;
}
-
- public static boolean hasOreDictionaryEntry(String name)
- {
+
+ public static boolean hasOreDictionaryEntry(String name) {
return !OreDictionary.getOres(name).isEmpty();
}
-
- public static Item getOreDictItem(String name)
- {
+
+ public static Item getOreDictItem(String name) {
return OreDictionary.getOres(name).get(0).getItem();
}
-
- public static Block getOreDictBlock(String name)
- {
+
+ public static Block getOreDictBlock(String name) {
return Block.getBlockFromItem(OreDictionary.getOres(name).get(0).getItem());
}
-
- public static ItemStack getOreDictItemStackWithSize(String name, int size)
- {
+
+ public static ItemStack getOreDictItemStackWithSize(String name, int size) {
ItemStack ore = OreDictionary.getOres(name).get(0);
- if(ore==null)return null;
+ if (ore == null)
+ return null;
ItemStack orecopy = ore.copy();
- orecopy.stackSize=size;
+ orecopy.stackSize = size;
return orecopy;
}
-
- public static String getFirstOreDictName(ItemStack stack)
- {
+
+ public static String getFirstOreDictName(ItemStack stack) {
int[] arrayIDs = OreDictionary.getOreIDs(stack);
- if(arrayIDs.length>0)
- {
+ if (arrayIDs.length > 0) {
return OreDictionary.getOreName(arrayIDs[0]);
}
return "";
}
-
- public static ItemStack getThisModItemStack(String name)
- {
- if(ihlItemStackRegistry.get(name)!=null)
- {
+
+ public static ItemStack getThisModItemStack(String name) {
+ if (ihlItemStackRegistry.get(name) != null) {
return ihlItemStackRegistry.get(name).copy();
}
- if(GameRegistry.findItem("ihl", name)!=null)
- {
+ if (GameRegistry.findItem("ihl", name) != null) {
return new ItemStack(GameRegistry.findItem("ihl", name));
- }
- else if(GameRegistry.findBlock("ihl", name)==null)
- {
- throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
- }
- else
- {
+ } else if (GameRegistry.findBlock("ihl", name) == null) {
+ throw new IllegalArgumentException("No such item in item registry: ihl:" + name);
+ } else {
return new ItemStack(GameRegistry.findBlock("ihl", name));
}
}
public static ItemStack getThisModItemStackWithSize(String name, int i) {
- if(ihlItemStackRegistry.get(name)!=null)
- {
+ if (ihlItemStackRegistry.get(name) != null) {
ItemStack stack = ihlItemStackRegistry.get(name).copy();
- stack.stackSize=i;
+ stack.stackSize = i;
return stack;
}
- if(GameRegistry.findItem("ihl", name)!=null)
- {
- return new ItemStack(GameRegistry.findItem("ihl", name),i);
- }
- else if(GameRegistry.findBlock("ihl", name)==null)
- {
- throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
- }
- else
- {
- return new ItemStack(GameRegistry.findBlock("ihl", name),i);
+ if (GameRegistry.findItem("ihl", name) != null) {
+ return new ItemStack(GameRegistry.findItem("ihl", name), i);
+ } else if (GameRegistry.findBlock("ihl", name) == null) {
+ throw new IllegalArgumentException("No such item in item registry: ihl:" + name);
+ } else {
+ return new ItemStack(GameRegistry.findBlock("ihl", name), i);
}
}
-
+
public static ItemStack getOtherModItemStackWithDamage(String modname, String name, int damage, int quantity) {
- if(GameRegistry.findItem(modname, name)!=null)
- {
- return new ItemStack(GameRegistry.findItem(modname, name),quantity,damage);
- }
- else if(GameRegistry.findBlock(modname, name)==null)
- {
+ if (GameRegistry.findItem(modname, name) != null) {
+ return new ItemStack(GameRegistry.findItem(modname, name), quantity, damage);
+ } else if (GameRegistry.findBlock(modname, name) == null) {
return null;
- }
- else
- {
- return new ItemStack(GameRegistry.findBlock(modname, name),quantity,damage);
+ } else {
+ return new ItemStack(GameRegistry.findBlock(modname, name), quantity, damage);
}
}
-
- public static Item getThisModItem(String name)
- {
- if(GameRegistry.findItem("ihl", name)!=null)
- {
+
+ public static Item getThisModItem(String name) {
+ if (GameRegistry.findItem("ihl", name) != null) {
return GameRegistry.findItem("ihl", name);
- }
- else if(GameRegistry.findBlock("ihl", name)==null)
- {
- throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
- }
- else
- {
+ } else if (GameRegistry.findBlock("ihl", name) == null) {
+ throw new IllegalArgumentException("No such item in item registry: ihl:" + name);
+ } else {
return Item.getItemFromBlock(GameRegistry.findBlock("ihl", name));
}
}
-
+
public static FluidStack getFluidStackWithSize(String name, int i) {
- if(FluidRegistry.isFluidRegistered(name))
- {
+ if (FluidRegistry.isFluidRegistered(name)) {
return FluidRegistry.getFluidStack(name, i);
- }
- else
- {
- throw new IllegalArgumentException("No such fluid: "+name);
+ } else {
+ throw new IllegalArgumentException("No such fluid: " + name);
}
}
- public static Block getThisModBlock(String name)
- {
- if(GameRegistry.findBlock("ihl", name)==null)
- {
- throw new IllegalArgumentException("No such block in item registry: ihl:"+name);
- }
- else
- {
+ public static Block getThisModBlock(String name) {
+ if (GameRegistry.findBlock("ihl", name) == null) {
+ throw new IllegalArgumentException("No such block in item registry: ihl:" + name);
+ } else {
return GameRegistry.findBlock("ihl", name);
}
}
- public static ItemStack getThisModItemStackWithDamage(String name,
- int value)
- {
+ public static ItemStack getThisModItemStackWithDamage(String name, int value) {
ItemStack stack = getThisModItemStack(name);
stack.setItemDamage(value);
return stack;
}
- public static boolean adjustWireLength(ItemStack stack, int adjustBy)
- {
+ public static boolean adjustWireLength(ItemStack stack, int adjustBy) {
int length = getWireLength(stack);
- if(length<=0)
- {
+ if (length <= 0) {
return true;
- }
- else
- {
- int newLength = Math.max(length+adjustBy,0);
- stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),newLength);
- stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),newLength);
- if(newLength==0)
- {
+ } else {
+ int newLength = Math.max(length + adjustBy, 0);
+ stack.stackTagCompound.setInteger(((IWire) stack.getItem()).getTag(), newLength);
+ stack.stackTagCompound.setInteger(((IWire) stack.getItem()).getTagSecondary(), newLength);
+ if (newLength == 0) {
return true;
}
return false;
}
}
- public static int getWireLength(ItemStack itemStack)
- {
- return itemStack.stackTagCompound.getInteger(((IWire)itemStack.getItem()).getTag());
+ public static int getWireLength(ItemStack itemStack) {
+ return itemStack.stackTagCompound.getInteger(((IWire) itemStack.getItem()).getTag());
}
-
+
public static ItemStack getThisModWireItemStackWithLength(String name, int i) {
- if(getThisModItemStack(name)!=null)
- {
+ if (getThisModItemStack(name) != null) {
ItemStack stack = getThisModItemStack(name);
- if(stack.getItem() instanceof IWire)
- {
+ if (stack.getItem() instanceof IWire) {
stack.stackTagCompound = new NBTTagCompound();
- stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
- stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ stack.stackTagCompound.setInteger(((IWire) stack.getItem()).getTag(), i);
+ stack.stackTagCompound.setInteger(((IWire) stack.getItem()).getTagSecondary(), i);
return stack;
+ } else {
+ throw new IllegalArgumentException("ihl:" + name + " is not an instance of IWire.");
}
- else
- {
- throw new IllegalArgumentException("ihl:"+name + " is not an instance of IWire.");
- }
- }
- else
- {
- throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ } else {
+ throw new IllegalArgumentException("No such item in item registry: ihl:" + name);
}
}
public static ItemStack getThisModWireItemStackWithLength(ItemStack stack1, int i) {
ItemStack stack = stack1.copy();
- if(stack1.getItem() instanceof IWire)
- {
+ if (stack1.getItem() instanceof IWire) {
stack.stackTagCompound = new NBTTagCompound();
- stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
- stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ stack.stackTagCompound.setInteger(((IWire) stack.getItem()).getTag(), i);
+ stack.stackTagCompound.setInteger(((IWire) stack.getItem()).getTagSecondary(), i);
return stack;
- }
- else
- {
+ } else {
throw new IllegalArgumentException(stack1.getUnlocalizedName() + " is not an instance of IWire.");
}
}
-
- public static boolean isItemsHaveSameOreDictionaryEntry(ItemStack is, ItemStack is1)
- {
+
+ public static boolean isItemsHaveSameOreDictionaryEntry(ItemStack is, ItemStack is1) {
int[] odids1 = OreDictionary.getOreIDs(is);
int[] odids2 = OreDictionary.getOreIDs(is1);
- if(odids1!=null && odids1.length>0 && odids2!=null && odids2.length>0)
- {
- for(int i1=0;i1<odids1.length;i1++)
- {
- for(int i2=0;i2<odids2.length;i2++)
- {
- if(!OreDictionary.getOreName(odids1[i1]).contains("Any") && odids1[i1]==odids2[i2])
- {
+ if (odids1 != null && odids1.length > 0 && odids2 != null && odids2.length > 0) {
+ for (int i1 = 0; i1 < odids1.length; i1++) {
+ for (int i2 = 0; i2 < odids2.length; i2++) {
+ if (!OreDictionary.getOreName(odids1[i1]).contains("Any") && odids1[i1] == odids2[i2]) {
return true;
}
}
@@ -310,934 +244,715 @@ public class IHLUtils
return false;
}
- public static List<ItemStack> getEntryListForOre(String name)
- {
+ public static List<ItemStack> getEntryListForOre(String name) {
ArrayList<ItemStack> outputList = new ArrayList<ItemStack>();
ArrayList<ItemStack> oreList = OreDictionary.getOres(name);
Iterator<ItemStack> oreListIterator = oreList.iterator();
- while(oreListIterator.hasNext())
- {
+ while (oreListIterator.hasNext()) {
outputList.add(oreListIterator.next().copy());
}
return outputList;
}
- public static ItemStack getItemStackIfExist(String name)
- {
- if(hasOreDictionaryEntry(name))
- {
+ public static ItemStack getItemStackIfExist(String name) {
+ if (hasOreDictionaryEntry(name)) {
return getOreDictItemStack(name);
- }
- else
- {
- if(ihlItemStackRegistry.get(name)!=null)
- {
+ } else {
+ if (ihlItemStackRegistry.get(name) != null) {
return ihlItemStackRegistry.get(name).copy();
}
- if(GameRegistry.findItem("ihl", name)!=null)
- {
+ if (GameRegistry.findItem("ihl", name) != null) {
return new ItemStack(GameRegistry.findItem("ihl", name));
- }
- else if(GameRegistry.findBlock("ihl", name)==null)
- {
+ } else if (GameRegistry.findBlock("ihl", name) == null) {
return null;
- }
- else
- {
+ } else {
return new ItemStack(GameRegistry.findBlock("ihl", name));
}
}
}
- public static FluidStack getFluidStackIfExist(String string, int meltingFluidAmount)
- {
- if(FluidRegistry.isFluidRegistered(string))
- {
- return getFluidStackWithSize(string,meltingFluidAmount);
+ public static FluidStack getFluidStackIfExist(String string, int meltingFluidAmount) {
+ if (FluidRegistry.isFluidRegistered(string)) {
+ return getFluidStackWithSize(string, meltingFluidAmount);
}
return null;
}
- public static boolean addItemStackToInventory(EntityPlayer player, ItemStack stack)
- {
- ItemStack[] inv = player.inventory.mainInventory;
- for (int i=0;i<=35;i++)
- {
- if(inv[i]!=null)
- {
- if(inv[i].getItem()==stack.getItem())
- {
- if(inv[i].getItemDamage()==stack.getItemDamage() && inv[i].stackSize<inv[i].getMaxStackSize())
- {
- inv[i].stackSize+=stack.stackSize;
- if(inv[i].stackSize>inv[i].getMaxStackSize())
- {
- stack.stackSize=inv[i].stackSize-inv[i].getMaxStackSize();
- }
- else
- {
- return true;
- }
- }
- }
- }
- else
- {
- inv[i]=stack;
+ public static boolean addItemStackToInventory(EntityPlayer player, ItemStack stack) {
+ ItemStack[] inv = player.inventory.mainInventory;
+ for (int i = 0; i <= 35; i++) {
+ if (inv[i] != null) {
+ if (inv[i].getItem() == stack.getItem()) {
+ if (inv[i].getItemDamage() == stack.getItemDamage()
+ && inv[i].stackSize < inv[i].getMaxStackSize()) {
+ inv[i].stackSize += stack.stackSize;
+ if (inv[i].stackSize > inv[i].getMaxStackSize()) {
+ stack.stackSize = inv[i].stackSize - inv[i].getMaxStackSize();
+ } else {
+ return true;
+ }
+ }
+ }
+ } else {
+ inv[i] = stack;
return true;
- }
- }
+ }
+ }
return false;
}
- public static FluidStack getFluidStackWithSizeChemicallyPure(String name, int amount)
- {
+ public static FluidStack getFluidStackWithSizeChemicallyPure(String name, int amount) {
FluidStack fstack = getFluidStackWithSize(name, amount);
- fstack.tag=new NBTTagCompound();
+ fstack.tag = new NBTTagCompound();
fstack.tag.setBoolean("chemicallyPure", true);
return fstack;
}
- public static void removeItemStackFromOreDictionaryEntry(String orename, ItemStack itemStack)
- {
+ public static void removeItemStackFromOreDictionaryEntry(String orename, ItemStack itemStack) {
ArrayList<ItemStack> orelist = OreDictionary.getOres(orename);
Iterator<ItemStack> oreListIterator = orelist.iterator();
ItemStack odstack = null;
- while(oreListIterator.hasNext())
- {
+ while (oreListIterator.hasNext()) {
odstack = oreListIterator.next();
- if(odstack.getItem()==itemStack.getItem())
- {
+ if (odstack.getItem() == itemStack.getItem()) {
break;
- }
- else
- {
+ } else {
odstack = null;
}
}
- if(odstack != null)
- {
+ if (odstack != null) {
orelist.remove(odstack);
- IHLMod.log.debug("Stack "+odstack.getDisplayName()+" ("+odstack.toString()+")"+" removed from ore entry '"+orename+"'");
+ IHLMod.log.debug("Stack " + odstack.getDisplayName() + " (" + odstack.toString() + ")"
+ + " removed from ore entry '" + orename + "'");
}
}
-
- public static void addIC2MaceratorRecipe(String input, ItemStack output)
- {
- if(Recipes.macerator.getOutputFor(getOreDictItemStack(input), false)==null)
- {
- ((BasicMachineRecipeManager)Recipes.macerator).addRecipe(new RecipeInputOreDict(input), new NBTTagCompound(), true, output);
- }
- else
- {
- //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+
+ public static void addIC2MaceratorRecipe(String input, ItemStack output) {
+ if (Recipes.macerator.getOutputFor(getOreDictItemStack(input), false) == null) {
+ ((BasicMachineRecipeManager) Recipes.macerator).addRecipe(new RecipeInputOreDict(input),
+ new NBTTagCompound(), true, output);
+ } else {
+ // IHLMod.log.info("IC2 macerator recipe for "+input+" already
+ // exist. Skipped.");
}
}
-
- public static void addIC2MaceratorRecipe(String input, int stacksize, ItemStack output)
- {
- if(Recipes.macerator.getOutputFor(getOreDictItemStackWithSize(input,stacksize), false)==null)
- {
- ((BasicMachineRecipeManager)Recipes.macerator).addRecipe(new RecipeInputOreDict(input,stacksize), new NBTTagCompound(), true, output);
- }
- else
- {
- //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+
+ public static void addIC2MaceratorRecipe(String input, int stacksize, ItemStack output) {
+ if (Recipes.macerator.getOutputFor(getOreDictItemStackWithSize(input, stacksize), false) == null) {
+ ((BasicMachineRecipeManager) Recipes.macerator).addRecipe(new RecipeInputOreDict(input, stacksize),
+ new NBTTagCompound(), true, output);
+ } else {
+ // IHLMod.log.info("IC2 macerator recipe for "+input+" already
+ // exist. Skipped.");
}
}
-
- public static void addIC2MaceratorRecipe(ItemStack input, ItemStack output)
- {
- if(Recipes.macerator.getOutputFor(input, false)==null)
- {
+
+ public static void addIC2MaceratorRecipe(ItemStack input, ItemStack output) {
+ if (Recipes.macerator.getOutputFor(input, false) == null) {
NBTTagCompound tag = new NBTTagCompound();
Recipes.macerator.addRecipe(new RecipeInputItemStack(input), tag, output);
- }
- else
- {
- //IHLMod.log.info("IC2 macerator recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ } else {
+ // IHLMod.log.info("IC2 macerator recipe for
+ // "+input.getDisplayName()+" already exist. Skipped.");
}
}
-
- public static void addIC2RollingRecipe(ItemStack input, ItemStack output)
- {
- if(Recipes.metalformerRolling.getOutputFor(input, false)==null)
- {
+
+ public static void addIC2RollingRecipe(ItemStack input, ItemStack output) {
+ if (Recipes.metalformerRolling.getOutputFor(input, false) == null) {
NBTTagCompound tag = new NBTTagCompound();
Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(input), tag, output);
- }
- else
- {
- //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ } else {
+ // IHLMod.log.info("IC2 metal former (rolling) recipe for
+ // "+input.getDisplayName()+" already exist. Skipped.");
}
}
-
- public static void addIC2RollingRecipe(String input, ItemStack output)
- {
- if(Recipes.metalformerRolling.getOutputFor(getThisModItemStack(input), false)==null)
- {
+
+ public static void addIC2RollingRecipe(String input, ItemStack output) {
+ if (Recipes.metalformerRolling.getOutputFor(getThisModItemStack(input), false) == null) {
NBTTagCompound tag = new NBTTagCompound();
Recipes.metalformerRolling.addRecipe(new RecipeInputOreDict(input), tag, output);
- }
- else
- {
- //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+" already exist. Skipped.");
+ } else {
+ // IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+"
+ // already exist. Skipped.");
}
}
- public static void addIC2ExtrudingRecipe(ItemStack input, ItemStack output)
- {
- if(Recipes.metalformerExtruding.getOutputFor(input, false)==null)
- {
+ public static void addIC2ExtrudingRecipe(ItemStack input, ItemStack output) {
+ if (Recipes.metalformerExtruding.getOutputFor(input, false) == null) {
NBTTagCompound tag = new NBTTagCompound();
Recipes.metalformerExtruding.addRecipe(new RecipeInputItemStack(input), tag, output);
- }
- else
- {
- //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+" already exist. Skipped.");
+ } else {
+ // IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+"
+ // already exist. Skipped.");
}
}
-
- public static void addIC2CentrifugeRecipe(String input, ItemStack output, ItemStack output2)
- {
- if(Recipes.centrifuge.getOutputFor(getOreDictItemStack(input), false)==null)
- {
+ public static void addIC2CentrifugeRecipe(String input, ItemStack output, ItemStack output2) {
+ if (Recipes.centrifuge.getOutputFor(getOreDictItemStack(input), false) == null) {
NBTTagCompound tag = new NBTTagCompound();
tag.setInteger("minHeat", 2000);
- Recipes.centrifuge.addRecipe(new RecipeInputOreDict(input), tag, new ItemStack[] {output,output2});
- }
- else
- {
- //IHLMod.log.info("IC2 centrifuge recipe for "+input+" already exist. Skipped.");
+ Recipes.centrifuge.addRecipe(new RecipeInputOreDict(input), tag, new ItemStack[] { output, output2 });
+ } else {
+ // IHLMod.log.info("IC2 centrifuge recipe for "+input+" already
+ // exist. Skipped.");
}
}
-
- public static void damageItemViaNBTTag(ItemStack stack, int amount)
- {
+
+ public static void damageItemViaNBTTag(ItemStack stack, int amount) {
NBTTagCompound gtTagCompound;
- if(stack.stackTagCompound.hasKey("GT.ToolStats"))
- {
+ if (stack.stackTagCompound.hasKey("GT.ToolStats")) {
gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
- }
- else
- {
+ } else {
stack.stackSize--;
return;
}
int damage = 0;
int maxDamage = 0;
- if(gtTagCompound.hasKey("MaxDamage"))
- {
+ if (gtTagCompound.hasKey("MaxDamage")) {
maxDamage = gtTagCompound.getInteger("MaxDamage");
- }
- else
- {
+ } else {
stack.stackSize--;
return;
}
-
- if(gtTagCompound.hasKey("Damage"))
- {
+
+ if (gtTagCompound.hasKey("Damage")) {
damage = gtTagCompound.getInteger("Damage");
}
- if(damage<maxDamage-amount)
- {
- damage+=amount;
- gtTagCompound.setInteger("Damage",damage);
- gtTagCompound.setInteger("MaxDamage",maxDamage);
+ if (damage < maxDamage - amount) {
+ damage += amount;
+ gtTagCompound.setInteger("Damage", damage);
+ gtTagCompound.setInteger("MaxDamage", maxDamage);
stack.stackTagCompound.setTag("GT.ToolStats", gtTagCompound);
- }
- else
- {
+ } else {
stack.stackSize--;
}
}
-
- public static int getDamageValueViaNBTTag(ItemStack stack)
- {
+
+ public static int getDamageValueViaNBTTag(ItemStack stack) {
NBTTagCompound gtTagCompound = null;
- if(stack!=null && stack.stackTagCompound!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
- {
+ if (stack != null && stack.stackTagCompound != null && stack.stackTagCompound.hasKey("GT.ToolStats")) {
gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
- }
- else
- {
+ } else {
return 0;
}
- if(gtTagCompound!=null && gtTagCompound.hasKey("Damage"))
- {
+ if (gtTagCompound != null && gtTagCompound.hasKey("Damage")) {
return gtTagCompound.getInteger("Damage");
- }
- else
- {
+ } else {
return 0;
}
}
-
- public static int getMaxDamageValueViaNBTTag(ItemStack stack)
- {
+
+ public static int getMaxDamageValueViaNBTTag(ItemStack stack) {
NBTTagCompound gtTagCompound = null;
- if(stack!=null && stack.stackTagCompound!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
- {
+ if (stack != null && stack.stackTagCompound != null && stack.stackTagCompound.hasKey("GT.ToolStats")) {
gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
- }
- else
- {
+ } else {
return 0;
}
- if(gtTagCompound!=null && gtTagCompound.hasKey("MaxDamage"))
- {
+ if (gtTagCompound != null && gtTagCompound.hasKey("MaxDamage")) {
return gtTagCompound.getInteger("MaxDamage");
- }
- else
- {
+ } else {
return 0;
}
}
-
- public static boolean isItemStacksIsEqual(ItemStack stack1, ItemStack stack2, boolean useOreDictionary)
- {
- if(useOreDictionary && isItemsHaveSameOreDictionaryEntry(stack1,stack2))
- {
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, ItemStack stack2, boolean useOreDictionary) {
+ if (useOreDictionary && isItemsHaveSameOreDictionaryEntry(stack1, stack2)) {
return true;
- }
- else
- {
- if(stack1.getItemDamage()==OreDictionary.WILDCARD_VALUE || stack2.getItemDamage()==OreDictionary.WILDCARD_VALUE)
- {
- return stack1.getItem()==stack2.getItem();
- }
- else
- {
- return stack1.getItem()==stack2.getItem() && stack1.getItemDamage()==stack2.getItemDamage();
+ } else {
+ if (stack1.getItemDamage() == OreDictionary.WILDCARD_VALUE
+ || stack2.getItemDamage() == OreDictionary.WILDCARD_VALUE) {
+ return stack1.getItem() == stack2.getItem();
+ } else {
+ return stack1.getItem() == stack2.getItem() && stack1.getItemDamage() == stack2.getItemDamage();
}
}
}
- public static boolean isItemStacksIsEqual(ItemStack stack1, String stack2name, boolean useOreDictionary)
- {
- return isItemStacksIsEqual(stack1, getThisModItemStack(stack2name),useOreDictionary);
+ public static boolean isItemStacksIsEqual(ItemStack stack1, String stack2name, boolean useOreDictionary) {
+ return isItemStacksIsEqual(stack1, getThisModItemStack(stack2name), useOreDictionary);
}
-
- public static boolean isIRecipeInputMatchesWithAmount(IRecipeInput input, ItemStack stack)
- {
- if(input.matches(stack))
- {
- if(stack.getItem() instanceof IWire)
- {
- return getWireLength(stack)>=input.getAmount();
- }
- else
- {
- return stack.stackSize>=input.getAmount();
+
+ public static boolean isIRecipeInputMatchesWithAmount(IRecipeInput input, ItemStack stack) {
+ if (input.matches(stack)) {
+ if (stack.getItem() instanceof IWire) {
+ return getWireLength(stack) >= input.getAmount();
+ } else {
+ return stack.stackSize >= input.getAmount();
}
}
return false;
}
- public static boolean reduceItemStackAmountUsingIRecipeInput(IRecipeInput input, ItemStack stack) {
- if(stack.getItem() instanceof IWire)
- {
- return adjustWireLength(stack,-input.getAmount());
- }
- else
- {
- stack.stackSize-=input.getAmount();
- return stack.stackSize<=0;
+ public static boolean reduceItemStackAmountUsingIRecipeInput(IRecipeInput input, ItemStack stack, int multiplier) {
+ if (stack.getItem() instanceof IWire) {
+ return adjustWireLength(stack, -input.getAmount()*multiplier);
+ } else {
+ stack.stackSize -= input.getAmount()*multiplier;
+ return stack.stackSize <= 0;
}
}
public static String getFirstOreDictNameExcludingTagAny(ItemStack stack) {
- int[] arrayIDs = OreDictionary.getOreIDs(stack);
- for(int i=0;i<arrayIDs.length;i++)
- {
- if(!OreDictionary.getOreName(arrayIDs[i]).contains("Any"))
- {
- return OreDictionary.getOreName(arrayIDs[i]);
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ for (int i = 0; i < arrayIDs.length; i++) {
+ if (!OreDictionary.getOreName(arrayIDs[i]).contains("Any")) {
+ return OreDictionary.getOreName(arrayIDs[i]);
+ }
+ }
+ return "";
+ }
+
+ public static void handleFluidSlotsBehaviour(InvSlotConsumableLiquidIHL fillInputSlot,
+ InvSlotConsumableLiquidIHL drainInputSlot, InvSlotOutput emptyFluidItemsSlot, IFluidTank fluidTank) {
+ MutableObject<ItemStack> output;
+ if (drainInputSlot != null && !drainInputSlot.isEmpty()) {
+ output = new MutableObject<ItemStack>();
+ if (fluidTank
+ .fill(drainInputSlot.drain(null, fluidTank.getCapacity() - fluidTank.getFluidAmount(), output,
+ true), false) > 0
+ && (output.getValue() == null || emptyFluidItemsSlot.canAdd(output.getValue()))) {
+ fluidTank.fill(
+ drainInputSlot.drain(null, fluidTank.getCapacity() - fluidTank.getFluidAmount(), output, false),
+ true);
+ if (output.getValue() != null) {
+ emptyFluidItemsSlot.add(output.getValue());
+ }
+ }
+ }
+ if (fillInputSlot != null && !fillInputSlot.isEmpty()) {
+ output = new MutableObject<ItemStack>();
+ if (fillInputSlot.transferFromTank(fluidTank, output, true)
+ && (output.getValue() == null || emptyFluidItemsSlot.canAdd(output.getValue()))) {
+ fillInputSlot.transferFromTank(fluidTank, output, false);
+ if (output.getValue() != null) {
+ emptyFluidItemsSlot.add(output.getValue());
}
}
- return "";
- }
-
- public static void handleFluidSlotsBehaviour(InvSlotConsumableLiquidIHL fillInputSlot, InvSlotConsumableLiquidIHL drainInputSlot, InvSlotOutput emptyFluidItemsSlot, IFluidTank fluidTank)
- {
- MutableObject<ItemStack> output;
- if (drainInputSlot!=null && !drainInputSlot.isEmpty())
- {
- output = new MutableObject<ItemStack>();
- if(fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, true),false)>0 && (output.getValue() == null || emptyFluidItemsSlot.canAdd(output.getValue())))
- {
- fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, false),true);
- if(output.getValue()!=null)
- {
- emptyFluidItemsSlot.add(output.getValue());
- }
- }
- }
- if (fillInputSlot!=null && !fillInputSlot.isEmpty())
- {
- output = new MutableObject<ItemStack>();
- if (fillInputSlot.transferFromTank(fluidTank, output, true) && (output.getValue() == null || emptyFluidItemsSlot.canAdd(output.getValue())))
- {
- fillInputSlot.transferFromTank(fluidTank, output, false);
- if(output.getValue()!=null)
- {
- emptyFluidItemsSlot.add(output.getValue());
- }
- }
- }
- }
- public static double[] tracePlayerView(EntityLivingBase player)
- {
- float f1 = player.rotationPitch;
- float f2 = player.rotationYaw;
- double x = player.posX;
- double y = player.posY;
- double z = player.posZ;
- if(IC2.platform.isSimulating())
- {
- y += player.getEyeHeight();
- }
- float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
- float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
- float f5 = -MathHelper.cos(-f1 * 0.01745329F);
- float f6 = MathHelper.sin(-f1 * 0.01745329F);
- float f7 = f4 * f5;
- float f9 = f3 * f5;
- double d3 = 1.0D;
- return new double[] {x+f7 * d3, y+f6 * d3, z+f9 * d3};
- }
-
- public static MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world)
- {
- float f1 = entityplayer.rotationPitch;
- float f2 = entityplayer.rotationYaw;
- double x = entityplayer.posX;
- double y =entityplayer.posY + entityplayer.getEyeHeight();
-
- if (world.isRemote)
- {
- y -= entityplayer.getDefaultEyeHeight();
- }
-
- double z = entityplayer.posZ;
- Vec3 vec3d = Vec3.createVectorHelper(x, y, z);
- float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
- float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
- float f5 = -MathHelper.cos(-f1 * 0.01745329F);
- float f6 = MathHelper.sin(-f1 * 0.01745329F);
- float f7 = f4 * f5;
- float f9 = f3 * f5;
- double d3 = 5.0D;
- Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
- MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
-
- if (movingobjectposition == null)
- {
- return null;
- }
-
- if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
- {
- return movingobjectposition;
- }
- return null;
- }
-
- public static short getFacingFromPlayerView(EntityLivingBase player, boolean ignoreSneaking)
- {
+ }
+ }
+
+ public static double[] tracePlayerView(EntityLivingBase player) {
+ float f1 = player.rotationPitch;
+ float f2 = player.rotationYaw;
+ double x = player.posX;
+ double y = player.posY;
+ double z = player.posZ;
+ if (IC2.platform.isSimulating()) {
+ y += player.getEyeHeight();
+ }
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float) Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float) Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 1.0D;
+ return new double[] { x + f7 * d3, y + f6 * d3, z + f9 * d3 };
+ }
+
+ public static MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world) {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y = entityplayer.posY + entityplayer.getEyeHeight();
+
+ if (world.isRemote) {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+
+ double z = entityplayer.posZ;
+ Vec3 vec3d = Vec3.createVectorHelper(x, y, z);
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float) Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float) Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 5.0D;
+ Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
+ MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
+
+ if (movingobjectposition == null) {
+ return null;
+ }
+
+ if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) {
+ return movingobjectposition;
+ }
+ return null;
+ }
+
+ public static short getFacingFromPlayerView(EntityLivingBase player, boolean ignoreSneaking) {
int var6 = MathHelper.floor_double(player.rotationPitch * 4.0F / 360.0F + 0.5D) & 3;
int var7 = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
- {
- if(var6==1)
- {
- return 1;
- }
- else if(var6==3)
- {
- return 0;
- }
- else
- {
- if(player.isSneaking() && !ignoreSneaking)
- {
- switch(var7)
- {
- case 0:
- return 3;
+ {
+ if (var6 == 1) {
+ return 1;
+ } else if (var6 == 3) {
+ return 0;
+ } else {
+ if (player.isSneaking() && !ignoreSneaking) {
+ switch (var7) {
+ case 0:
+ return 3;
+ case 1:
+ return 4;
+ case 2:
+ return 2;
+ case 3:
+ return 5;
+ default:
+ break;
+ }
+ } else {
+ switch (var7) {
+ case 0:
+ return 2;
case 1:
- return 4;
- case 2:
- return 2;
- case 3:
- return 5;
- default:
- break;
- }
- }
- else
- {
- switch(var7)
- {
- case 0:
- return 2;
- case 1:
- return 5;
- case 2:
- return 3;
- case 3:
- return 4;
- default:
- break;
- }
- }
- }
- }
+ return 5;
+ case 2:
+ return 3;
+ case 3:
+ return 4;
+ default:
+ break;
+ }
+ }
+ }
+ }
return 3;
- }
+ }
- public static int getChainID(ItemStack itemStack)
- {
- if(itemStack!=null && itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("chainUID"))
- {
+ public static int getChainID(ItemStack itemStack) {
+ if (itemStack != null && itemStack.stackTagCompound != null && itemStack.stackTagCompound.hasKey("chainUID")) {
return itemStack.stackTagCompound.getInteger("chainUID");
}
return -1;
}
-
- public static List<ItemStack> convertRecipeInputToItemStackList(List<IRecipeInput> input)
- {
- Iterator<IRecipeInput> irii=input.iterator();
+
+ public static List<ItemStack> convertRecipeInputToItemStackList(List<IRecipeInput> input) {
+ Iterator<IRecipeInput> irii = input.iterator();
List<ItemStack> output = new ArrayList<ItemStack>();
- while(irii.hasNext())
- {
+ while (irii.hasNext()) {
IRecipeInput iri = irii.next();
ItemStack stack = iri.getInputs().get(0);
- stack.stackSize=iri.getAmount();
+ stack.stackSize = iri.getAmount();
output.add(stack);
}
return output;
}
-
+
public static List<FluidStack> convertRecipeInputToFluidStackList(List<IRecipeInputFluid> input) {
- Iterator<IRecipeInputFluid> irii=input.iterator();
+ Iterator<IRecipeInputFluid> irii = input.iterator();
List<FluidStack> output = new ArrayList<FluidStack>();
- while(irii.hasNext())
- {
+ while (irii.hasNext()) {
IRecipeInputFluid iri = irii.next();
FluidStack stack = iri.getInputs().get(0);
- stack.amount=iri.getAmount();
+ stack.amount = iri.getAmount();
output.add(stack);
}
return output;
}
-
- public static int[] decodeXYZ(long longNumber)
- {
- return new int[] {(int) ((longNumber>>30) & 0xfff)-256,(int) ((longNumber>>15) & 0xfff)-256,(int) (longNumber & 0xfff)-256};
- }
-
- public static long encodeXYZ(int x,int y,int z)
- {
- return (x+256L)<<30|((y+256L)<<15)|(z+256L);
- }
-
- public static int reduceVariableByAbsoluteValue(int variable)
- {
- if(variable==0)
- {
- return 0;
+
+ public static String trim(String str) {
+ int len = str.length();
+ int start;
+ char c;
+ for (start = 0; start < len; ++start) {
+ c = str.charAt(start);
+ if (c > 32 && c != 65279) {
+ break;
+ }
}
- else if(variable<0)
- {
- return variable+1;
+ int end;
+ for (end = len - 1; end >= start; --end) {
+ c = str.charAt(end);
+ if (c > 32 && c != 65279) {
+ break;
+ }
}
- else
- {
- return variable-1;
- }
- }
-
- public static long getXYZHash(int x,int y,int z)
- {
- int sign_bits = (x & 0x80000000) >> 29 | (y & 0x80000000) >> 30 | (z & 0x80000000) >> 31;
- return (long)x<<31 ^ (long)y<<17 ^ (long)z<<3 ^ sign_bits;
- }
-
- public static String trim(String str)
- {
- int len = str.length();
- int start;
- char c;
- for (start = 0; start < len; ++start)
- {
- c = str.charAt(start);
- if (c > 32 && c != 65279)
- {
- break;
- }
- }
- int end;
- for (end = len - 1; end >= start; --end)
- {
- c = str.charAt(end);
- if (c > 32 && c != 65279)
- {
- break;
- }
- }
- return start <= 0 && end >= len - 1 ? str : str.substring(start, end + 1);
- }
-
- public static int getAmountOf(ItemStack is)
- {
- if(is.getItem() instanceof IWire)
- {
+ return start <= 0 && end >= len - 1 ? str : str.substring(start, end + 1);
+ }
+
+ public static int getAmountOf(ItemStack is) {
+ if (is.getItem() instanceof IWire) {
return getWireLength(is);
- }
- else
- {
+ } else {
return is.stackSize;
}
}
- public static ItemStack getWireItemStackCopyWithLengthMultiplied(ItemStack stack, int multiplier)
- {
+ public static ItemStack getWireItemStackCopyWithLengthMultiplied(ItemStack stack, int multiplier) {
ItemStack out = stack.copy();
- adjustWireLength(out,getWireLength(stack)*(multiplier-1));
+ adjustWireLength(out, getWireLength(stack) * (multiplier - 1));
return out;
}
public static ItemStack getUninsulatedWire(String material, int length, int transverseSection) {
ItemStack is = getThisModItemStack("copperWire");
- is.stackTagCompound=new NBTTagCompound();
- is.stackTagCompound.setBoolean("firstConnection",false);
- is.stackTagCompound.setInteger("fullLength", length);
- is.stackTagCompound.setInteger("length", length);
- is.stackTagCompound.setString("material", material);
- is.stackTagCompound.setInteger("transverseSection",transverseSection);
+ is.stackTagCompound = new NBTTagCompound();
+ is.stackTagCompound.setBoolean("firstConnection", false);
+ is.stackTagCompound.setInteger("fullLength", length);
+ is.stackTagCompound.setInteger("length", length);
+ is.stackTagCompound.setString("material", material);
+ is.stackTagCompound.setInteger("transverseSection", transverseSection);
return is;
}
-
- public static ItemStack getInsulatedWire(String material, int length, int transverseSection, String insulationMaterial, int insulationThickness) {
+
+ public static ItemStack getInsulatedWire(String material, int length, int transverseSection,
+ String insulationMaterial, int insulationThickness) {
ItemStack is = getUninsulatedWire(material, length, transverseSection);
- is.stackTagCompound.setString("insulationMaterial",insulationMaterial);
- is.stackTagCompound.setInteger("insulationThickness",insulationThickness);
- is.stackTagCompound.setInteger("maxVoltage", getInsulationMaxVoltage(insulationMaterial, insulationThickness));
+ is.stackTagCompound.setString("insulationMaterial", insulationMaterial);
+ is.stackTagCompound.setInteger("insulationThickness", insulationThickness);
+ is.stackTagCompound.setInteger("maxVoltage", getInsulationMaxVoltage(insulationMaterial, insulationThickness));
return is;
}
-
- public static long getResistance(NBTTagCompound cable)
- {
+
+ public static long getResistance(NBTTagCompound cable) {
String material = cable.getString("material");
int transverseSection = cable.getInteger("transverseSection");
- return ElectricConductor.getResistivity(material)*100L/transverseSection;
+ return ElectricConductor.getResistivity(material) * 100L / transverseSection;
}
-
- public static int getInsulationMaxVoltage(String insulationMaterial, int insulationThickness)
- {
- return Math.min(Insulation.getMaxVoltagePermm(insulationMaterial)*insulationThickness/10,Insulation.getMaxVoltageCap(insulationMaterial));
+
+ public static int getInsulationMaxVoltage(String insulationMaterial, int insulationThickness) {
+ return Math.min(Insulation.getMaxVoltagePermm(insulationMaterial) * insulationThickness / 10,
+ Insulation.getMaxVoltageCap(insulationMaterial));
}
public static ItemStack getItemStackWithTag(String unLocalizedName, String tag, int tagValue) {
ItemStack stack = IHLUtils.getThisModItemStack(unLocalizedName);
- if(stack.stackTagCompound==null)
- {
- stack.stackTagCompound=new NBTTagCompound();
+ if (stack.stackTagCompound == null) {
+ stack.stackTagCompound = new NBTTagCompound();
}
stack.stackTagCompound.setInteger(tag, tagValue);
return stack;
}
- public static boolean isSegmentInsideAABB(AxisAlignedBB collisionBox, double posX, double posY, double posZ, double posX2, double posY2, double posZ2)
- {
- if(isInsideofBoundingBox(collisionBox,(float)posX,(float)posY,(float)posZ)||isInsideofBoundingBox(collisionBox,(float)posX2,(float)posY2,(float)posZ2))
- {
+ public static boolean isSegmentInsideAABB(AxisAlignedBB collisionBox, double posX, double posY, double posZ,
+ double posX2, double posY2, double posZ2) {
+ if (isInsideofBoundingBox(collisionBox, (float) posX, (float) posY, (float) posZ)
+ || isInsideofBoundingBox(collisionBox, (float) posX2, (float) posY2, (float) posZ2)) {
return true;
+ } else {
+ double minX = Math.min(posX, posX2);
+ double maxX = Math.max(posX, posX2);
+ double minY = Math.min(posY, posY2);
+ double maxY = Math.max(posY, posY2);
+ double minZ = Math.min(posZ, posZ2);
+ double maxZ = Math.max(posZ, posZ2);
+ return !(maxX < collisionBox.minX || minX > collisionBox.maxX || maxY < collisionBox.minY
+ || minY > collisionBox.maxY || maxZ < collisionBox.minZ || minZ > collisionBox.maxZ);
}
- else
- {
- double minX=Math.min(posX, posX2);
- double maxX=Math.max(posX, posX2);
- double minY=Math.min(posY, posY2);
- double maxY=Math.max(posY, posY2);
- double minZ=Math.min(posZ, posZ2);
- double maxZ=Math.max(posZ, posZ2);
- return !(maxX<collisionBox.minX || minX>collisionBox.maxX ||
- maxY<collisionBox.minY || minY>collisionBox.maxY ||
- maxZ<collisionBox.minZ || minZ>collisionBox.maxZ);
- }
- }
-
- public static boolean isInsideofBoundingBox(AxisAlignedBB bb, float xi, float yi, float zi)
- {
- return bb.maxX>xi && bb.minX<xi && bb.maxY>yi && bb.minY<yi && bb.maxZ>zi && bb.minZ<zi;
- }
-
- public static boolean isBlockCanBeReplaced(World world, int x, int y, int z)
- {
- Block block = world.getBlock(x, y, z);
- if(block==Blocks.air || block.isAir(world, x, y, z) || block == Blocks.vine || block == Blocks.tallgrass || block == Blocks.deadbush || block == Blocks.snow_layer || block == Blocks.snow)
- {
+ }
+
+ public static boolean isInsideofBoundingBox(AxisAlignedBB bb, float xi, float yi, float zi) {
+ return bb.maxX > xi && bb.minX < xi && bb.maxY > yi && bb.minY < yi && bb.maxZ > zi && bb.minZ < zi;
+ }
+
+ public static boolean isBlockCanBeReplaced(World world, int x, int y, int z) {
+ Block block = world.getBlock(x, y, z);
+ if (block == Blocks.air || block.isAir(world, x, y, z) || block == Blocks.vine || block == Blocks.tallgrass
+ || block == Blocks.deadbush || block == Blocks.snow_layer || block == Blocks.snow) {
return true;
}
return false;
}
- public static void removeChains(IEnergyNetNode te, World world)
- {
+ public static void removeChains(IEnergyNetNode te, World world) {
Set<NBTTagCompound> cableList = te.getCableList();
Iterator<NBTTagCompound> cli = cableList.iterator();
- while(cli.hasNext())
- {
+ while (cli.hasNext()) {
NBTTagCompound c = cli.next();
cli.remove();
IHLMod.enet.removeCableEntities(c);
ItemStack is = IHLUtils.getThisModItemStack("copperWire");
- is.stackTagCompound=c;
+ is.stackTagCompound = c;
double[] pps = te.getPortPos(null);
EntityItem eitem = new EntityItem(world, pps[0], pps[1], pps[2], is);
world.spawnEntityInWorld(eitem);
- removeChain(c,null);
+ removeChain(c, null);
}
- if(te.getGridID()!=-1)
- {
+ if (te.getGridID() != -1) {
IHLMod.enet.splitGrids(te.getGridID(), te);
}
cableList.clear();
}
-
- public static void removeChain(NBTTagCompound c, IEnergyNetNode excludeNode)
- {
- int x = c.getInteger("connectorX1");
- int y = c.getInteger("connectorY1");
- int z = c.getInteger("connectorZ1");
- int t2DimensionId = c.getInteger("connectorDimensionId1");
- short facing2 = c.getShort("connectorFacing1");
- TileEntity t2 = MinecraftServer.getServer().worldServerForDimension(t2DimensionId).getTileEntity(x, y, z);
- IEnergyNetNode te2;
- if(t2 instanceof IMultiPowerCableHolder)
- {
- te2 = ((IMultiPowerCableHolder)t2).getEnergyNetNode(facing2);
- }
- else if(t2 instanceof IEnergyNetNode)
- {
- te2 = (IEnergyNetNode)t2;
- }
- else
- {
- return;
- }
- if(excludeNode!=te2)
- {
- te2.remove(c);
- }
- x = c.getInteger("connectorX");
- y = c.getInteger("connectorY");
- z = c.getInteger("connectorZ");
- t2DimensionId = c.getInteger("connectorDimensionId");
- facing2 = c.getShort("connectorFacing");
- t2 = MinecraftServer.getServer().worldServerForDimension(t2DimensionId).getTileEntity(x, y, z);
- if(t2 instanceof IMultiPowerCableHolder)
- {
- te2 = ((IMultiPowerCableHolder)t2).getEnergyNetNode(facing2);
- }
- else if(t2 instanceof IEnergyNetNode)
- {
- te2 = (IEnergyNetNode)t2;
- }
- else
- {
- return;
- }
- if(excludeNode!=te2)
- {
- te2.remove(c);
+
+ public static void removeChain(NBTTagCompound c, IEnergyNetNode excludeNode) {
+ int x = c.getInteger("connectorX1");
+ int y = c.getInteger("connectorY1");
+ int z = c.getInteger("connectorZ1");
+ int t2DimensionId = c.getInteger("connectorDimensionId1");
+ short facing2 = c.getShort("connectorFacing1");
+ TileEntity t2 = MinecraftServer.getServer().worldServerForDimension(t2DimensionId).getTileEntity(x, y, z);
+ IEnergyNetNode te2;
+ if (t2 instanceof IMultiPowerCableHolder) {
+ te2 = ((IMultiPowerCableHolder) t2).getEnergyNetNode(facing2);
+ } else if (t2 instanceof IEnergyNetNode) {
+ te2 = (IEnergyNetNode) t2;
+ } else {
+ return;
+ }
+ if (excludeNode != te2) {
+ te2.remove(c);
+ }
+ x = c.getInteger("connectorX");
+ y = c.getInteger("connectorY");
+ z = c.getInteger("connectorZ");
+ t2DimensionId = c.getInteger("connectorDimensionId");
+ facing2 = c.getShort("connectorFacing");
+ t2 = MinecraftServer.getServer().worldServerForDimension(t2DimensionId).getTileEntity(x, y, z);
+ if (t2 instanceof IMultiPowerCableHolder) {
+ te2 = ((IMultiPowerCableHolder) t2).getEnergyNetNode(facing2);
+ } else if (t2 instanceof IEnergyNetNode) {
+ te2 = (IEnergyNetNode) t2;
+ } else {
+ return;
+ }
+ if (excludeNode != te2) {
+ te2.remove(c);
}
}
-
- public static boolean isPlayerLookingAt(EntityLivingBase player, AxisAlignedBB aabb)
- {
+
+ public static boolean isPlayerLookingAt(EntityLivingBase player, AxisAlignedBB aabb) {
double[] pView = tracePlayerView(player);
- double x = player.posX;
- double y = player.posY;
- double z = player.posZ;
- if(IC2.platform.isSimulating())
- {
- y += player.getEyeHeight();
- }
- if(
- isLineSegmentInterseptRectangle(x,y,pView[0],pView[1],aabb.minX,aabb.minY,aabb.maxX,aabb.maxY) &&
- isLineSegmentInterseptRectangle(x,z,pView[0],pView[2],aabb.minX,aabb.minZ,aabb.maxX,aabb.maxZ) &&
- isLineSegmentInterseptRectangle(z,y,pView[2],pView[1],aabb.minZ,aabb.minY,aabb.maxZ,aabb.maxY))
- {
+ double x = player.posX;
+ double y = player.posY;
+ double z = player.posZ;
+ if (IC2.platform.isSimulating()) {
+ y += player.getEyeHeight();
+ }
+ if (isLineSegmentInterseptRectangle(x, y, pView[0], pView[1], aabb.minX, aabb.minY, aabb.maxX, aabb.maxY)
+ && isLineSegmentInterseptRectangle(x, z, pView[0], pView[2], aabb.minX, aabb.minZ, aabb.maxX, aabb.maxZ)
+ && isLineSegmentInterseptRectangle(z, y, pView[2], pView[1], aabb.minZ, aabb.minY, aabb.maxZ,
+ aabb.maxY)) {
return true;
}
return false;
}
- public static boolean isLineSegmentInterseptRectangle(double sx0_1,double sy0_1,double sx1_1,double sy1_1,double rx0_1,double ry0_1,double rx1_1,double ry1_1)
- {
- double sx0=sx0_1;
- double sy0=sy0_1;
- double sx1=sx1_1;
- double sy1=sy1_1;
- double rx0=rx0_1;
- double ry0=ry0_1;
- double rx1=rx1_1;
- double ry1=ry1_1;
- if(sx1_1<sx0_1)
- {
- sx0=sx1_1;
- sy0=sy1_1;
- sx1=sx0_1;
- sy1=sy0_1;
- }
- if(rx1_1<rx0_1)
- {
- rx0=rx1_1;
- ry0=ry1_1;
- rx1=rx0_1;
- ry1=ry0_1;
- }
- double ay = (sy1-sy0)/(sx1-sx0);
- double by = sy1-ay*sx1;
-
- double ax = (sx1-sx0)/(sy1-sy0);
- double bx = sx1-ax*sy1;
+ public static boolean isLineSegmentInterseptRectangle(double sx0_1, double sy0_1, double sx1_1, double sy1_1,
+ double rx0_1, double ry0_1, double rx1_1, double ry1_1) {
+ double sx0 = sx0_1;
+ double sy0 = sy0_1;
+ double sx1 = sx1_1;
+ double sy1 = sy1_1;
+ double rx0 = rx0_1;
+ double ry0 = ry0_1;
+ double rx1 = rx1_1;
+ double ry1 = ry1_1;
+ if (sx1_1 < sx0_1) {
+ sx0 = sx1_1;
+ sy0 = sy1_1;
+ sx1 = sx0_1;
+ sy1 = sy0_1;
+ }
+ if (rx1_1 < rx0_1) {
+ rx0 = rx1_1;
+ ry0 = ry1_1;
+ rx1 = rx0_1;
+ ry1 = ry0_1;
+ }
+ double ay = (sy1 - sy0) / (sx1 - sx0);
+ double by = sy1 - ay * sx1;
+
+ double ax = (sx1 - sx0) / (sy1 - sy0);
+ double bx = sx1 - ax * sy1;
double maxx0 = Math.max(sx0, rx0);
double minx1 = Math.min(sx1, rx1);
double maxy0 = Math.max(sy0, ry0);
double miny1 = Math.min(sy1, ry1);
- double y0 = ay*maxx0+by;
- double y1 = ay*minx1+by;
-
- double x0 = ax*maxy0+bx;
- double x1 = ax*miny1+bx;
- return (ry0<=y0 && ry1>=y0)||(ry0<=y1 && ry1>=y1)||(rx0<=x0 && rx1>=x0)||(rx0<=x1 && rx1>=x1);
- }
+ double y0 = ay * maxx0 + by;
+ double y1 = ay * minx1 + by;
- public static float parseFloatSafe(String string, float useSafeValue)
- {
- if (Pattern.matches(fpRegex, string))
- return Float.valueOf(string);
- else {
- return useSafeValue;
- }
+ double x0 = ax * maxy0 + bx;
+ double x1 = ax * miny1 + bx;
+ return (ry0 <= y0 && ry1 >= y0) || (ry0 <= y1 && ry1 >= y1) || (rx0 <= x0 && rx1 >= x0)
+ || (rx0 <= x1 && rx1 >= x1);
}
-
- public static int parseIntSafe(String string, int useSafeValue)
- {
- if (Pattern.matches(fpRegex, string))
- return Integer.valueOf(string);
- else {
- return useSafeValue;
- }
+
+ public static float parseFloatSafe(String string, float useSafeValue) {
+ if (Pattern.matches(fpRegex, string))
+ return Float.valueOf(string);
+ else {
+ return useSafeValue;
+ }
}
+ public static int parseIntSafe(String string, int useSafeValue) {
+ if (Pattern.matches(fpRegex, string))
+ return Integer.valueOf(string);
+ else {
+ return useSafeValue;
+ }
+ }
public static boolean isBlockRegisteredInOreDictionaryAs(Block block, String string) {
Iterator<ItemStack> isoi = OreDictionary.getOres(string).iterator();
- while(isoi.hasNext())
- {
- if(Block.getBlockFromItem(isoi.next().getItem())==block)
- {
+ while (isoi.hasNext()) {
+ if (Block.getBlockFromItem(isoi.next().getItem()) == block) {
return true;
}
}
return false;
- }
-
- public static void setBlockAndTileEntityRaw(World world, int x, int y, int z, Block block, TileEntity te)
- {
- Chunk chunk = world.getChunkProvider().provideChunk(x>>4, z>>4);
+ }
+
+ public static void setBlockAndTileEntityRaw(World world, int x, int y, int z, Block block, TileEntity te) {
+ Chunk chunk = world.getChunkProvider().provideChunk(x >> 4, z >> 4);
ExtendedBlockStorage[] ebsA = chunk.getBlockStorageArray();
- ExtendedBlockStorage ebs = ebsA[y>>4];
- if(ebs==null)
- {
+ ExtendedBlockStorage ebs = ebsA[y >> 4];
+ if (ebs == null) {
ebs = new ExtendedBlockStorage(y, true);
- ebsA[y>>4] = ebs;
+ ebsA[y >> 4] = ebs;
}
- setBlockRaw(ebs,x & 15,y & 15,z & 15,block);
- te.xCoord=x;
- te.yCoord=y;
- te.zCoord=z;
+ setBlockRaw(ebs, x & 15, y & 15, z & 15, block);
+ te.xCoord = x;
+ te.yCoord = y;
+ te.zCoord = z;
te.setWorldObj(world);
chunk.addTileEntity(te);
}
-
- public static void setBlockRaw(ExtendedBlockStorage ebs, int x, int y, int z, Block block)
- {
- int l = ebs.blockLSBArray[y << 8 | z << 4 | x] & 255;
-
- if (ebs.blockMSBArray != null)
- {
- l |= ebs.blockMSBArray.get(x, y, z) << 8;
- }
-
- Block block1 = Block.getBlockById(l);
-
- if (block1 != Blocks.air)
- {
- --ebs.blockRefCount;
-
- if (block1.getTickRandomly())
- {
- --ebs.tickRefCount;
- }
- }
-
- if (block != Blocks.air)
- {
- ++ebs.blockRefCount;
-
- if (block.getTickRandomly())
- {
- ++ebs.tickRefCount;
- }
- }
-
- int i1 = Block.getIdFromBlock(block);
- ebs.blockLSBArray[y << 8 | z << 4 | x] = (byte)(i1 & 255);
-
- if (i1 > 255)
- {
- if (ebs.blockMSBArray == null)
- {
- ebs.blockMSBArray = new NibbleArray(ebs.blockLSBArray.length, 4);
- }
-
- ebs.blockMSBArray.set(x, y, z, (i1 & 3840) >> 8);
- }
- else if (ebs.blockMSBArray != null)
- {
- ebs.blockMSBArray.set(x, y, z, 0);
- }
- }
-
- public static void dumpToFile(Set<String> unlocalisedNames, String filename) {
- try {
- OutputStreamWriter osWriter = new OutputStreamWriter(new FileOutputStream(getFile(filename)), "UTF-8");
- BufferedWriter writer = new BufferedWriter(osWriter);
- for(String string:unlocalisedNames)
- {
- writer.append(string);
- writer.newLine();
+
+ public static void setBlockRaw(ExtendedBlockStorage ebs, int x, int y, int z, Block block) {
+ int l = ebs.blockLSBArray[y << 8 | z << 4 | x] & 255;
+
+ if (ebs.blockMSBArray != null) {
+ l |= ebs.blockMSBArray.get(x, y, z) << 8;
+ }
+
+ Block block1 = Block.getBlockById(l);
+
+ if (block1 != Blocks.air) {
+ --ebs.blockRefCount;
+
+ if (block1.getTickRandomly()) {
+ --ebs.tickRefCount;
+ }
+ }
+
+ if (block != Blocks.air) {
+ ++ebs.blockRefCount;
+
+ if (block.getTickRandomly()) {
+ ++ebs.tickRefCount;
+ }
+ }
+
+ int i1 = Block.getIdFromBlock(block);
+ ebs.blockLSBArray[y << 8 | z << 4 | x] = (byte) (i1 & 255);
+
+ if (i1 > 255) {
+ if (ebs.blockMSBArray == null) {
+ ebs.blockMSBArray = new NibbleArray(ebs.blockLSBArray.length, 4);
}
- writer.close();
- osWriter.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static File getFile(String filename)
- {
- File folder = new File(IHLMod.proxy.getMinecraftDir(), "logs");
- folder.mkdirs();
- return new File(folder, filename);
- }
+
+ ebs.blockMSBArray.set(x, y, z, (i1 & 3840) >> 8);
+ } else if (ebs.blockMSBArray != null) {
+ ebs.blockMSBArray.set(x, y, z, 0);
+ }
+ }
+
}
diff --git a/ihl/utils/IHLXMLParser.java b/ihl/utils/IHLXMLParser.java
deleted file mode 100644
index 8073542..0000000
--- a/ihl/utils/IHLXMLParser.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package ihl.utils;
-
-import ihl.IHLMod;
-import ihl.guidebook.IHLGuidebookGui;
-
-import java.io.IOException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.*;
-import org.xml.sax.SAXException;
-
-public class IHLXMLParser {
-
- public DocumentBuilderFactory dbf;
- public DocumentBuilder db;
-
- public IHLXMLParser() throws ParserConfigurationException
- {
- dbf = DocumentBuilderFactory.newInstance();
- db = dbf.newDocumentBuilder();
- }
-
- public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
- {
- IHLMod.log.debug("Visiting node.");
- IHLMod.log.debug("Current section="+sectionNumber1);
- IHLMod.log.debug("Node name="+node.getNodeName());
- int sectionNumber = sectionNumber1;
- NodeList list = node.getChildNodes();
- IHLMod.log.debug("child size="+list.getLength());
- if (node instanceof Element)
- {
- IHLMod.log.debug("node instance of Element.");
- Element e = (Element) node;
- IHLMod.log.debug("Node tagname="+e.getTagName());
- IHLMod.log.debug("Node text content="+e.getTextContent());
- if(e.getTagName().equals("title"))
- {
- ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
- }
- else if(e.getTagName().equals("itemstack"))
- {
- String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
- ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage")),1));
- }
- else if(e.getTagName().equals("text"))
- {
- ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
- }
- else if(e.getTagName().equals("image"))
- {
- ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
- }
- }
- for (int i = 0; i < list.getLength(); i++)
- {
- Node childNode = list.item(i);
- if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
- {
- Element e = (Element) childNode;
- int id = Integer.parseInt(e.getAttribute("id"));
- ihlGuidebookGui.setMaxSectionNumber(id);
- if(sectionNumber==id)
- {
- visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
- }
- else
- {
- if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
- {
- sectionNumber=0;
- ihlGuidebookGui.setSectionNumber(0);
- visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
- }
- }
- }
- else
- {
- visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
- }
- }
- }
-
- public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
- {
- Document doc = db.parse(IHLMod.class.getResourceAsStream("/assets/ihl/config/ihl-guidebook.xml"));
- visit(doc, 0, sectionNumber, ihlGuidebookGui);
- }
-}
diff --git a/ihl/utils/PlayerWakeUpEventHandler.java b/ihl/utils/PlayerWakeUpEventHandler.java
deleted file mode 100644
index 5b6751f..0000000
--- a/ihl/utils/PlayerWakeUpEventHandler.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package ihl.utils;
-
-import net.minecraft.entity.player.EntityPlayer;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-
-public class PlayerWakeUpEventHandler
-{
- @SubscribeEvent
- public void onPlayerWakeUpEvent(net.minecraftforge.event.entity.player.PlayerWakeUpEvent event)
- {
- if(event.entityPlayer instanceof EntityPlayer && !event.entityPlayer.worldObj.isRemote && !event.entityLiving.getEntityData().hasKey("ihlGuidebookRecieved"))
- {
- event.entityPlayer.entityDropItem(IHLUtils.getThisModItemStack("guidebook"), 1f);
- event.entityPlayer.getEntityData().setBoolean("ihlGuidebookRecieved", true);
- }
- }
-}
diff --git a/ihl/worldgen/ores/IHLFluid.java b/ihl/worldgen/ores/IHLFluid.java
index 11f1414..ce98b86 100644
--- a/ihl/worldgen/ores/IHLFluid.java
+++ b/ihl/worldgen/ores/IHLFluid.java
@@ -134,6 +134,7 @@ public class IHLFluid extends Fluid {
public enum IHLFluidType {
// Methane("Methane","fluidAcetylene",10047, 293, 249, 373, 1150,
// "methane", Material.water, false, false, false, false),
+ NitroGlyceryl("NitroGlycerin", 10052, 293, 291, 583, 1595, "nitroglycerin", Material.water, true, false, true),
Ammonia("Ammonia", 10051, 273, 273 - 78, 273
- 33, 0.772F, "ammonia", new MaterialLiquid(MapColor.airColor), false, false, true),
Acetaldehyde("Acetaldehyde", 10050, 273, 273
@@ -178,7 +179,7 @@ public class IHLFluid extends Fluid {
NatriumHydroxide("NatriumHydroxideDissolvedInWater", 10021, 293, 249, 373, 1525, "solution.natriumhydroxide", Material.water, true, false, false),
LiquidGlass("LiquidGlass", 10020, 293, 253, 373, 2400),
fluidRubberTreeSap("fluidRubberTreeSap", "fluidRubberTreeSap", 10019, 293, 273, 393, 1200f, "fluidrubbertreesap", Material.water, true, true, false, false),
- SpruceResin("SpruceResin", 10018, 293, 273, 533, 1080, "spruceresin", Material.water, true, true, true),
+ SpruceResin("SpruceResin","fluidSpruceResin", 10018, 293, 273, 533, 1080, "spruceresin", Material.water, true, true, true, false),
CablingColophony("CablingColophony", 10017, 363, 363, 533, 1070, "cablingcolophony", Material.water, true, false, true),
Glyceryl("Glyceryl", 10016, 293, 291, 583, 1261, "glyceryl", Material.water, true, false, true),
SeedOil("SeedOil", 10015, 293, 256, 583, 920, "seedoil", Material.water, true, false, true),