aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-04-27 17:06:22 +0200
committerTechnus <daniel112092@gmail.com>2017-04-27 17:06:22 +0200
commit929073a7aea2ff925aa04403be746398b1fc57e7 (patch)
tree8f162d84344aeadbef04b3e313fdd8e5438130c0 /src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
parent2ee3b7e712413604549af3097fda93cbb22a262e (diff)
parentf5e078aa1eb2da76585d620afa91903f0dbdd031 (diff)
downloadGT5-Unofficial-929073a7aea2ff925aa04403be746398b1fc57e7.tar.gz
GT5-Unofficial-929073a7aea2ff925aa04403be746398b1fc57e7.tar.bz2
GT5-Unofficial-929073a7aea2ff925aa04403be746398b1fc57e7.zip
Merge branch 'experimental' from GTNH into mergeGTNH (based on BLOODASP)
# Conflicts: # build.properties # src/main/java/gregtech/GT_Mod.java # src/main/java/gregtech/api/enums/ItemList.java # src/main/java/gregtech/api/enums/Materials.java # src/main/java/gregtech/api/enums/Textures.java # src/main/java/gregtech/api/enums/Tier.java # src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java # src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java # src/main/java/gregtech/api/util/GT_ModHandler.java # src/main/java/gregtech/api/util/GT_Recipe.java # src/main/java/gregtech/api/util/GT_RecipeRegistrator.java # src/main/java/gregtech/api/util/GT_Utility.java # src/main/java/gregtech/common/GT_Client.java # src/main/java/gregtech/common/GT_Pollution.java # src/main/java/gregtech/common/GT_Proxy.java # src/main/java/gregtech/common/GT_RecipeAdder.java # src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java # src/main/java/gregtech/common/GT_Worldgenerator.java # src/main/java/gregtech/common/blocks/GT_Block_Casings3.java # src/main/java/gregtech/common/blocks/GT_Block_Casings_Abstract.java # src/main/java/gregtech/common/blocks/GT_Block_Machines.java # src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java # src/main/java/gregtech/common/blocks/GT_Item_Machines.java # src/main/java/gregtech/common/blocks/GT_Item_Ores.java # src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java # src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java # src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java # src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java # src/main/java/gregtech/common/gui/GT_Container_Regulator.java # src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java # src/main/java/gregtech/common/items/armor/ArmorData.java # src/main/java/gregtech/common/items/armor/GuiElectricArmor1.java # src/main/java/gregtech/common/items/armor/ModularArmor_Item.java # src/main/java/gregtech/common/items/armor/Values.java # src/main/java/gregtech/common/items/armor/gui/GuiModularArmor.java # src/main/java/gregtech/common/items/armor/gui/InventoryArmor.java # src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java # src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java # src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java # src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java # src/main/java/gregtech/common/tools/GT_Tool_Scoop.java # src/main/java/gregtech/loaders/load/GT_FuelLoader.java # src/main/java/gregtech/loaders/misc/GT_Achievements.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDustSmall.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDustTiny.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingGemExquisite.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawless.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeLarge.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeMedium.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeSmall.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate1.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate3.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate4.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate5.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadBuzzSaw.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadChainsaw.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadDrill.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadFile.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadWrench.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire01.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire02.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire04.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire08.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire12.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire16.java # src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java # src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java # src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java # src/main/java/gregtech/loaders/preload/GT_Loader_ItemData.java # src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java # src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java # src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java # src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java # src/main/resources/assets/gregtech/textures/items/gt.Double_Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.Double_NaquadahcellDep.png # src/main/resources/assets/gregtech/textures/items/gt.Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.NaquadahcellDep.png # src/main/resources/assets/gregtech/textures/items/gt.Quad_Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.Quad_NaquadahcellDep.png
Diffstat (limited to 'src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java59
1 files changed, 52 insertions, 7 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java b/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
index ca25a0a12d..73cfd7dae9 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
@@ -1,7 +1,12 @@
package gregtech.common.covers;
import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.objects.XSTR;
import gregtech.api.util.GT_CoverBehavior;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
public class GT_Cover_SolarPanel
extends GT_CoverBehavior {
@@ -12,18 +17,58 @@ public class GT_Cover_SolarPanel
}
public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) {
+ if(aSide != 1)return 0;
+ int coverState=aCoverVariable&0x3;
+ int coverNum=aCoverVariable>>2;
if (aTimer % 100L == 0L) {
- if ((aSide != 1) || (aTileEntity.getWorld().isThundering())) {
- aCoverVariable = 0;
+ if (aTileEntity.getWorld().isThundering()) {
+ return aTileEntity.getBiome().rainfall > 0.0F && aTileEntity.getSkyAtSide(aSide) ? Math.min(20,coverNum)<<2 : coverNum<<2;
} else {
- boolean bRain = (aTileEntity.getWorld().isRaining()) && (aTileEntity.getBiome().rainfall > 0.0F);
- aCoverVariable = bRain && aTileEntity.getWorld().skylightSubtracted >= 4 || !aTileEntity.getSkyAtSide(aSide) ? 0 : ((int) (!bRain && aTileEntity.getWorld().isDaytime() ? 1 : 2));
+ if(aTileEntity.getWorld().isRaining() && aTileEntity.getBiome().rainfall > 0.0F){//really rains
+ if(aTileEntity.getSkyAtSide(aSide)) coverNum=Math.min(30,coverNum);
+ if(aTileEntity.getWorld().skylightSubtracted >= 4){
+ if(aTileEntity.getWorld().isDaytime()){
+ coverState=2;
+ }else{
+ return coverNum<<2;
+ }
+ }
+ }else{//not rains
+ if(aTileEntity.getWorld().isDaytime()){
+ coverState=1;
+ }else{
+ coverState=2;
+ }
+ }
}
}
- if ((aCoverVariable == 1) || ((aCoverVariable == 2) && (aTimer % 8L == 0L))) {
- aTileEntity.injectEnergyUnits((byte) 6, this.mVoltage, 1L);
+ if (coverState == 1 || (coverState == 2 && aTimer % 8L == 0L))
+ aTileEntity.injectEnergyUnits((byte) 6, ((100L-(long)coverNum)*((long)this.mVoltage))/100L, 1L);
+ if(aTimer % 28800L == 0L && coverNum<100 && (coverNum>10 || (new XSTR()).nextInt(3)==2))
+ coverNum++;
+ return coverState+(coverNum<<2);
+ }
+
+ @Override
+ public boolean onCoverRightclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if(aPlayer.capabilities.isCreativeMode){
+ GT_Utility.sendChatToPlayer(aPlayer,"Cleaned solar panel from "+(aCoverVariable>>2)+"% dirt");
+ aTileEntity.setCoverDataAtSide(aSide, (aCoverVariable & 0x3));
+ return true;
+ }
+ for(int i=0;i<aPlayer.inventory.mainInventory.length;i++){
+ ItemStack is=aPlayer.inventory.mainInventory[i];
+ if(is==null) continue;
+ if(is.getUnlocalizedName().equals(new ItemStack(Items.water_bucket).getUnlocalizedName())){
+ aPlayer.inventory.mainInventory[i]=new ItemStack(Items.bucket);
+ if (aPlayer.inventoryContainer != null) aPlayer.inventoryContainer.detectAndSendChanges();
+ GT_Utility.sendChatToPlayer(aPlayer,"Cleaned solar panel from "+(aCoverVariable>>2)+"% dirt");
+ aTileEntity.setCoverDataAtSide(aSide, (aCoverVariable & 0x3));
+ return true;
+ }
}
- return aCoverVariable;
+ GT_Utility.sendChatToPlayer(aPlayer,"You need water bucket in inventory to clean the panel.");
+ return false;
}
public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {