diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 1ff2586ef..5545525ad 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -14,6 +14,8 @@ death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke ger death.attack.chopperBullet=%1$s wurde von %2$s gerekt. death.attack.cmb=%1$s wurde von %2$s pulverisiert. death.attack.subAtomic=%1$s's Atome wurden von %2$s vernichtet. +death.attack.radiation=%1$s starb an Strahlenvergiftung. +death.attack.acid=%1$s fiel in Säure. item.redstone_sword.name=Redstoneschwert item.big_sword.name=Großes Schwert @@ -121,6 +123,7 @@ container.machineDiesel=Dieselgenerator tile.machine_shredder.name=Shredder container.machineShredder=Shredder tile.machine_combine_factory.name=CMB-Stahl Hochofen +container.machineCMB=CMB-Stahl Hochofen tile.factory_titanium_hull.name=Einfache Fabrikshülle tile.factory_titanium_furnace.name=Einfache Fabrikzugriffsluke @@ -271,6 +274,9 @@ tile.brick_concrete.name=Betonziegel tile.brick_obsidian.name=Obsidianziegel tile.brick_light.name=Helle Ziegel +tile.cmb_brick.name=CMB-Stahlfliese +tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel + item.nugget_uranium.name=Urannugget item.nugget_plutonium.name=Plutoniumnugget item.nugget_neptunium.name=Neptuniumnugget @@ -353,6 +359,8 @@ item.inf_tritium.name=Unendlicher Tritiumtank item.inf_coolant.name=Unendlicher Kühlflüssigkeitstank item.inf_sulfur.name=Unendlicher Schwefeltank item.inf_diesel.name=Unendlicher Dieseltank +item.inf_antimatter.name=Unendlicher Antimaterietank +item.inf_antischrabidium.name=Unendlicher Antischrabidiumtank item.canister_empty.name=Leerer Kanister item.canister_fuel.name=Treibstoffkanister @@ -411,7 +419,7 @@ item.rod_waste.name=Atommüllstab item.rod_dual_waste.name=Doppelter Atommüllstab item.rod_quad_waste.name=Vierfacher Atommüllstab -item.gun_rpg.name=RPG +item.gun_rpg.name=Raketenwerfer item.gun_rpg_ammo.name=Rakete item.flame_pony.name=Bild eines Cartoon Ponys @@ -544,7 +552,7 @@ item.gun_revolver_cursed.name=Verfluchte Pistole item.gun_fatman.name=M42 Nukleares Katapult "Fat Man" item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte -item.gun_mp.name=Des Pazifistens Machinegewehr +item.gun_mp.name=Des Pazifistens Maschinengewehr item.gun_zomg.name=Singularitätsbetriebener Paarvernichtungsstrahl "ZOMG Kanone" item.gun_super_shotgun.name=Super Shotgun item.gun_moist_nugget.name=Moisn-Nagant @@ -568,6 +576,10 @@ item.clip_revolver_schrabidium.name=Schrabidium-Muntionsbehälter item.clip_rpg.name=Raketenbehälter item.clip_xvl1456.name=Große Isotopenbox item.clip_osipr.name=AR2 Magazin +item.clip_revolver_lead.name=Box voll Atompatronen +item.clip_revolver_cursed.name=Magazin der Standardpistole des Britannischen Militärs +item.clip_fatman.name=Miniatombomben im Sechserpack +item.clip_mp.name=Magazin des Standardsturmgewehrs des Britannischen Militärs tile.block_schrabidium.name=Schrabidiumblock item.plate_gold.name=Goldplatte @@ -706,6 +718,9 @@ item.wand_k.name=Konstruktions-Zauberstab item.wand_s.name=Struktur-Zauberstab item.wand_d.name=Debug-Zauberstab +item.screwdriver.name=Schraubenzieher +item.overfuse.name=Singularitätsschraubenzieher + item.steel_helmet.name=Stahlhelm item.steel_plate.name=Stahlbrustpanzer item.steel_legs.name=Stahlbeinschutz @@ -774,7 +789,14 @@ item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet item.titanium_filter.name=Titanfilter tile.mud_block.name=Giftiger Schlamm +fluid.mud_fluid=Giftiger Schlamm item.bucket_mud.name=Eimer mit giftigem Schlamm +tile.acid_block.name=Säure +fluid.acid_fluid=Säure +item.bucket_acid.name=Säureeimer +tile.toxic_block.name=Stereotypischer grüner Schleim +fluid.toxic_fluid=Stereotypischer grüner Schleim +item.bucket_toxic.name=Eimer mit stereotypischem grünen Schleim item.tank_waste_0.name=Schlammcontainer item.tank_waste_1.name=Schlammcontainer item.tank_waste_2.name=Schlammcontainer diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 9af113eda..e43e45594 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -14,6 +14,8 @@ death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into p death.attack.chopperBullet=%1$s was rekt by %2$s. death.attack.cmb=%1$s was fizzeled by %2$s. death.attack.subAtomic=%1$s's atoms were annihilated by %2$s. +death.attack.radiation=%1$s died from radiation poisoning. +death.attack.acid=%1$s fell into acid. item.redstone_sword.name=Redstone Sword item.big_sword.name=Great Sword @@ -121,6 +123,7 @@ container.machineDiesel=Diesel Generator tile.machine_shredder.name=Shredder container.machineShredder=Shredder tile.machine_combine_factory.name=CMB Steel Furnace +container.machineCMB=CMB Steel Furnace tile.factory_titanium_hull.name=Basic Factory Casing tile.factory_titanium_furnace.name=Basic Factory Access Hatch @@ -271,6 +274,9 @@ tile.brick_concrete.name=Concrete Bricks tile.brick_obsidian.name=Obsidian Bricks tile.brick_light.name=Light Bricks +tile.cmb_brick.name=CMB Steel Tile +tile.cmb_brick_reinforced.name=Reinforced CMB Bricks + item.nugget_uranium.name=Uranium Nugget item.nugget_plutonium.name=Plutonium Nugget item.nugget_neptunium.name=Neptunium Nugget @@ -353,6 +359,8 @@ item.inf_tritium.name=Infinite Tritium Tank item.inf_coolant.name=Infinite Coolant Tank item.inf_sulfur.name=Infinite Sulfur Tank item.inf_diesel.name=Infinite Diesel Tank +item.inf_antimatter.name=Infinite Antimatter Tank +item.inf_antischrabidium.name=Infinite Antischrabidium Tank item.canister_empty.name=Empty Canister item.canister_fuel.name=Fuel Canister @@ -411,7 +419,7 @@ item.rod_waste.name=Nuclear Waste Rod item.rod_dual_waste.name=Nuclear Waste Dual Rod item.rod_quad_waste.name=Nuclear Waste Quad Rod -item.gun_rpg.name=RPG +item.gun_rpg.name=Rocket Launcher item.gun_rpg_ammo.name=Rocket item.flame_pony.name=Painting of a Cartoon Pony @@ -568,6 +576,10 @@ item.clip_revolver_schrabidium.name=Schrabidium Ammo Container item.clip_rpg.name=Rocket Container item.clip_xvl1456.name=Large Isotope Box item.clip_osipr.name=AR2 Magazine +item.clip_revolver_lead.name=Box of Nuclear Bullets +item.clip_revolver_cursed.name=Britannia Military Standard Issue Pisol Magazine +item.clip_fatman.name=Six Pack of Mini Nukes +item.clip_mp.name=Britannia Military Standard Issue Assult Rifle Magazine tile.block_schrabidium.name=Block of Schrabidium item.plate_gold.name=Gold Plate @@ -706,6 +718,9 @@ item.wand_k.name=Construction Wand item.wand_s.name=Structure Wand item.wand_d.name=Debug Wand +item.screwdriver.name=Screwdriver +item.overfuse.name=Singularity Screwdriver + item.steel_helmet.name=Steel Helmet item.steel_plate.name=Steel Chestplate item.steel_legs.name=Steel Leggings @@ -774,7 +789,14 @@ item.pellet_advanced.name=Advanced Watz Performance Improver item.titanium_filter.name=Titanium Filter tile.mud_block.name=Poisonous Mud +fluid.mud_fluid=Poisonous Mud item.bucket_mud.name=Bucket of Poisonous Mud +tile.acid_block.name=Acid +fluid.acid_fluid=Acid +item.bucket_acid.name=Bucket of Acid +tile.toxic_block.name=Stereotypical Green Ooze +fluid.toxic_fluid=Stereotypical Green Ooze +item.bucket_toxic.name=Bucket of Stereotypical Green Ooze item.tank_waste_0.name=Mud Container item.tank_waste_1.name=Mud Container item.tank_waste_2.name=Mud Container diff --git a/assets/hbm/textures/blocks/acid_flowing.png b/assets/hbm/textures/blocks/acid_flowing.png new file mode 100644 index 000000000..1a0017f89 Binary files /dev/null and b/assets/hbm/textures/blocks/acid_flowing.png differ diff --git a/assets/hbm/textures/blocks/acid_flowing.png.mcmeta b/assets/hbm/textures/blocks/acid_flowing.png.mcmeta new file mode 100644 index 000000000..8e55e43ba --- /dev/null +++ b/assets/hbm/textures/blocks/acid_flowing.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +} diff --git a/assets/hbm/textures/blocks/acid_still.png b/assets/hbm/textures/blocks/acid_still.png new file mode 100644 index 000000000..7202710de Binary files /dev/null and b/assets/hbm/textures/blocks/acid_still.png differ diff --git a/assets/hbm/textures/blocks/acid_still.png.mcmeta b/assets/hbm/textures/blocks/acid_still.png.mcmeta new file mode 100644 index 000000000..7ceb36394 --- /dev/null +++ b/assets/hbm/textures/blocks/acid_still.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/assets/hbm/textures/blocks/cmb_brick.png b/assets/hbm/textures/blocks/cmb_brick.png new file mode 100644 index 000000000..24ad4c311 Binary files /dev/null and b/assets/hbm/textures/blocks/cmb_brick.png differ diff --git a/assets/hbm/textures/blocks/cmb_brick_reinforced.png b/assets/hbm/textures/blocks/cmb_brick_reinforced.png new file mode 100644 index 000000000..ade707867 Binary files /dev/null and b/assets/hbm/textures/blocks/cmb_brick_reinforced.png differ diff --git a/assets/hbm/textures/blocks/fwatz_hatch.png b/assets/hbm/textures/blocks/fwatz_hatch.png index 1937b966f..e40535680 100644 Binary files a/assets/hbm/textures/blocks/fwatz_hatch.png and b/assets/hbm/textures/blocks/fwatz_hatch.png differ diff --git a/assets/hbm/textures/blocks/toxic_flowing.png b/assets/hbm/textures/blocks/toxic_flowing.png new file mode 100644 index 000000000..cf69fda82 Binary files /dev/null and b/assets/hbm/textures/blocks/toxic_flowing.png differ diff --git a/assets/hbm/textures/blocks/toxic_flowing.png.mcmeta b/assets/hbm/textures/blocks/toxic_flowing.png.mcmeta new file mode 100644 index 000000000..8e55e43ba --- /dev/null +++ b/assets/hbm/textures/blocks/toxic_flowing.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +} diff --git a/assets/hbm/textures/blocks/toxic_still.png b/assets/hbm/textures/blocks/toxic_still.png new file mode 100644 index 000000000..24d0cf34b Binary files /dev/null and b/assets/hbm/textures/blocks/toxic_still.png differ diff --git a/assets/hbm/textures/blocks/toxic_still.png.mcmeta b/assets/hbm/textures/blocks/toxic_still.png.mcmeta new file mode 100644 index 000000000..7ceb36394 --- /dev/null +++ b/assets/hbm/textures/blocks/toxic_still.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/assets/hbm/textures/items/bucket_acid.png b/assets/hbm/textures/items/bucket_acid.png new file mode 100644 index 000000000..691cbd231 Binary files /dev/null and b/assets/hbm/textures/items/bucket_acid.png differ diff --git a/assets/hbm/textures/items/bucket_toxic.png b/assets/hbm/textures/items/bucket_toxic.png new file mode 100644 index 000000000..ad6f75c0d Binary files /dev/null and b/assets/hbm/textures/items/bucket_toxic.png differ diff --git a/assets/hbm/textures/items/canister_superfuel.png b/assets/hbm/textures/items/canister_superfuel.png new file mode 100644 index 000000000..4a972cd72 Binary files /dev/null and b/assets/hbm/textures/items/canister_superfuel.png differ diff --git a/assets/hbm/textures/items/clip_fatman.png b/assets/hbm/textures/items/clip_fatman.png new file mode 100644 index 000000000..84342ddef Binary files /dev/null and b/assets/hbm/textures/items/clip_fatman.png differ diff --git a/assets/hbm/textures/items/clip_mp.png b/assets/hbm/textures/items/clip_mp.png new file mode 100644 index 000000000..47f5e9ce9 Binary files /dev/null and b/assets/hbm/textures/items/clip_mp.png differ diff --git a/assets/hbm/textures/items/clip_revolver_cursed.png b/assets/hbm/textures/items/clip_revolver_cursed.png new file mode 100644 index 000000000..69ab127de Binary files /dev/null and b/assets/hbm/textures/items/clip_revolver_cursed.png differ diff --git a/assets/hbm/textures/items/clip_revolver_lead.png b/assets/hbm/textures/items/clip_revolver_lead.png new file mode 100644 index 000000000..6a8db96e2 Binary files /dev/null and b/assets/hbm/textures/items/clip_revolver_lead.png differ diff --git a/assets/hbm/textures/items/inf_antimatter.png b/assets/hbm/textures/items/inf_antimatter.png new file mode 100644 index 000000000..25c43be11 Binary files /dev/null and b/assets/hbm/textures/items/inf_antimatter.png differ diff --git a/assets/hbm/textures/items/inf_antischrabidium.png b/assets/hbm/textures/items/inf_antischrabidium.png new file mode 100644 index 000000000..944d25892 Binary files /dev/null and b/assets/hbm/textures/items/inf_antischrabidium.png differ diff --git a/assets/hbm/textures/items/overfuse.png b/assets/hbm/textures/items/overfuse.png new file mode 100644 index 000000000..e11c1f1ed Binary files /dev/null and b/assets/hbm/textures/items/overfuse.png differ diff --git a/assets/hbm/textures/items/screwdriver.png b/assets/hbm/textures/items/screwdriver.png new file mode 100644 index 000000000..8e48e2af2 Binary files /dev/null and b/assets/hbm/textures/items/screwdriver.png differ diff --git a/assets/hbm/textures/items/singularity_5.png b/assets/hbm/textures/items/singularity_5.png new file mode 100644 index 000000000..922a3ab86 Binary files /dev/null and b/assets/hbm/textures/items/singularity_5.png differ diff --git a/assets/hbm/textures/models/ModelMP.png b/assets/hbm/textures/models/ModelMP.png index 48943c912..4fd02a6e8 100644 Binary files a/assets/hbm/textures/models/ModelMP.png and b/assets/hbm/textures/models/ModelMP.png differ diff --git a/com/hbm/blocks/AcidBlock.java b/com/hbm/blocks/AcidBlock.java new file mode 100644 index 000000000..2f47b2c98 --- /dev/null +++ b/com/hbm/blocks/AcidBlock.java @@ -0,0 +1,119 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +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.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.passive.EntityMooshroom; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class AcidBlock extends BlockFluidClassic { + + @SideOnly(Side.CLIENT) + public static IIcon stillIcon; + @SideOnly(Side.CLIENT) + public static IIcon flowingIcon; + public Random rand = new Random(); + + public static DamageSource damageSource; + + public AcidBlock(Fluid fluid, Material material, DamageSource damage) { + super(fluid, material); + damageSource = damage; + setQuantaPerBlock(4); + setCreativeTab(null); + displacements.put(this, false); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) ? stillIcon : flowingIcon; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + stillIcon = register.registerIcon(RefStrings.MODID + ":acid_still"); + flowingIcon = register.registerIcon(RefStrings.MODID + ":acid_flowing"); + } + + @Override + public boolean canDisplace(IBlockAccess world, int x, int y, int z) { + + if (world.getBlock(x, y, z).getMaterial().isLiquid()) { + return false; + } + return super.canDisplace(world, x, y, z); + } + + @Override + public boolean displaceIfPossible(World world, int x, int y, int z) { + + if (world.getBlock(x, y, z).getMaterial().isLiquid()) { + return false; + } + return super.displaceIfPossible(world, x, y, z); + } + + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + entity.setInWeb(); + entity.attackEntityFrom(ModDamageSource.acid, 10000F); + } + + public void updateTick(World world, int x, int y, int z, Random rand) { + super.updateTick(world, x, y, z, rand); + + reactToBlocks(world, x + 1, y, z); + reactToBlocks(world, x - 1, y, z); + reactToBlocks(world, x, y + 1, z); + reactToBlocks(world, x, y - 1, z); + reactToBlocks(world, x, y, z + 1); + reactToBlocks(world, x, y, z - 1); + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) + { + super.onNeighborBlockChange(world, x, y, z, block); + + reactToBlocks(world, x + 1, y, z); + reactToBlocks(world, x - 1, y, z); + reactToBlocks(world, x, y + 1, z); + reactToBlocks(world, x, y - 1, z); + reactToBlocks(world, x, y, z + 1); + reactToBlocks(world, x, y, z - 1); + } + + public void reactToBlocks(World world, int x, int y, int z) { + if(world.getBlock(x, y, z) != ModBlocks.acid_block) { + world.setBlock(x, y, z, Blocks.air); + } + } + + public int tickRate(World p_149738_1_) { + return 5; + } + +} diff --git a/com/hbm/blocks/AcidFluid.java b/com/hbm/blocks/AcidFluid.java new file mode 100644 index 000000000..a9747f278 --- /dev/null +++ b/com/hbm/blocks/AcidFluid.java @@ -0,0 +1,28 @@ +package com.hbm.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class AcidFluid extends Fluid { + + public AcidFluid() { + super("acid_fluid"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return AcidBlock.stillIcon; + } + + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return AcidBlock.flowingIcon; + } +} diff --git a/com/hbm/blocks/BlockOre.java b/com/hbm/blocks/BlockOre.java index e55eb50d1..fbfa7f613 100644 --- a/com/hbm/blocks/BlockOre.java +++ b/com/hbm/blocks/BlockOre.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.entity.EntityNuclearCreeper; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -122,6 +123,7 @@ public class BlockOre extends Block { } else if(!(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 60 * 20, 2)); ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 30 * 20, 0)); + entity.attackEntityFrom(ModDamageSource.radiation, 0.5F); } } if (entity instanceof EntityLivingBase && this == ModBlocks.block_waste) @@ -159,6 +161,7 @@ public class BlockOre extends Block { ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 10 * 60 * 20, 4)); ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 4 * 60 * 20, 2)); ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 60 * 20, 2)); + entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); } } if (entity instanceof EntityLivingBase && (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red)) diff --git a/com/hbm/blocks/FWatzCore.java b/com/hbm/blocks/FWatzCore.java index 4c246cc7e..09f594f0c 100644 --- a/com/hbm/blocks/FWatzCore.java +++ b/com/hbm/blocks/FWatzCore.java @@ -1,7 +1,13 @@ package com.hbm.blocks; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityFWatzCore; +import com.hbm.tileentity.TileEntityMachineBattery; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -13,7 +19,25 @@ public class FWatzCore extends BlockContainer { @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return null; + return new TileEntityFWatzCore(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + TileEntityFWatzCore entity = (TileEntityFWatzCore) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_fwatz_multiblock, world, x, y, z); + } + return true; + } else { + return false; + } } } diff --git a/com/hbm/blocks/FWatzHatch.java b/com/hbm/blocks/FWatzHatch.java index 841adbae0..9e707566d 100644 --- a/com/hbm/blocks/FWatzHatch.java +++ b/com/hbm/blocks/FWatzHatch.java @@ -4,6 +4,8 @@ import java.util.Random; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityFWatzCore; +import com.hbm.tileentity.TileEntityFusionMultiblock; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -108,4 +110,73 @@ public class FWatzHatch extends Block { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + if(world.getBlockMetadata(x, y, z) == 2) + { + if(world.getTileEntity(x, y + 11, z + 9) instanceof TileEntityFWatzCore) + { + if(((TileEntityFWatzCore)world.getTileEntity(x, y + 11, z + 9)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_fwatz_multiblock, world, x, y + 11, z + 9); + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); + } + } + if(world.getBlockMetadata(x, y, z) == 3) + { + if(world.getTileEntity(x, y + 11, z - 9) instanceof TileEntityFWatzCore) + { + if(((TileEntityFWatzCore)world.getTileEntity(x, y + 11, z - 9)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_fwatz_multiblock, world, x, y + 11, z - 9); + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); + } + } + if(world.getBlockMetadata(x, y, z) == 4) + { + if(world.getTileEntity(x + 9, y + 11, z) instanceof TileEntityFWatzCore) + { + if(((TileEntityFWatzCore)world.getTileEntity(x + 9, y + 11, z)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_fwatz_multiblock, world, x + 9, y + 11, z); + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); + } + } + if(world.getBlockMetadata(x, y, z) == 5) + { + if(world.getTileEntity(x - 9, y + 11, z) instanceof TileEntityFWatzCore) + { + if(((TileEntityFWatzCore)world.getTileEntity(x - 9, y + 11, z)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_fwatz_multiblock, world, x - 9, y + 11, z); + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); + } + } + return true; + } else { + return false; + } + } } diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 8cbc489db..555bd51fc 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -77,6 +77,9 @@ public class ModBlocks { public static Block brick_concrete; public static Block brick_obsidian; public static Block brick_light; + + public static Block cmb_brick; + public static Block cmb_brick_reinforced; public static Block block_meteor; @@ -281,6 +284,14 @@ public class ModBlocks { public static Block mud_block; public static Fluid mud_fluid; public static final Material fluidmud = (new MaterialLiquid(MapColor.adobeColor)); + + public static Block acid_block; + public static Fluid acid_fluid; + public static final Material fluidacid = (new MaterialLiquid(MapColor.purpleColor)); + + public static Block toxic_block; + public static Fluid toxic_fluid; + public static final Material fluidtoxic = (new MaterialLiquid(MapColor.greenColor)); private static void initializeBlock() { @@ -342,6 +353,9 @@ public class ModBlocks { brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); + cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.tabBlock).setHardness(25.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); + cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.tabBlock).setHardness(25.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); + block_meteor = new BlockGeneric(Material.rock).setBlockName("block_meteor").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_meteor"); tape_recorder = new DecoTapeRecorder(Material.rock).setBlockName("tape_recorder").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder"); @@ -502,6 +516,14 @@ public class ModBlocks { mud_fluid = new MudFluid().setDensity(2500).setViscosity(3000).setLuminosity(5).setTemperature(2773).setUnlocalizedName("mud_fluid"); FluidRegistry.registerFluid(mud_fluid); mud_block = new MudBlock(mud_fluid, fluidmud.setReplaceable(), ModDamageSource.mudPoisoning).setBlockName("mud_block").setResistance(500F); + + acid_fluid = new AcidFluid().setDensity(2500).setViscosity(1500).setLuminosity(5).setTemperature(2773).setUnlocalizedName("mud_fluid"); + FluidRegistry.registerFluid(acid_fluid); + acid_block = new AcidBlock(acid_fluid, fluidacid.setReplaceable(), ModDamageSource.acid).setBlockName("acid_block").setResistance(500F); + + toxic_fluid = new ToxicFluid().setDensity(2500).setViscosity(2000).setLuminosity(15).setTemperature(2773).setUnlocalizedName("mud_fluid"); + FluidRegistry.registerFluid(toxic_fluid); + toxic_block = new ToxicBlock(toxic_fluid, fluidtoxic.setReplaceable(), ModDamageSource.radiation).setBlockName("toxic_block").setResistance(500F); } private static void registerBlock() { @@ -565,6 +587,10 @@ public class ModBlocks { GameRegistry.registerBlock(brick_obsidian, brick_obsidian.getUnlocalizedName()); GameRegistry.registerBlock(brick_light, brick_light.getUnlocalizedName()); + //CMB Building Elements + GameRegistry.registerBlock(cmb_brick, cmb_brick.getUnlocalizedName()); + GameRegistry.registerBlock(cmb_brick_reinforced, cmb_brick_reinforced.getUnlocalizedName()); + //Decoration Blocks GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName()); @@ -717,5 +743,7 @@ public class ModBlocks { //Fluids GameRegistry.registerBlock(mud_block, mud_block.getUnlocalizedName()); + GameRegistry.registerBlock(acid_block, acid_block.getUnlocalizedName()); + GameRegistry.registerBlock(toxic_block, toxic_block.getUnlocalizedName()); } } diff --git a/com/hbm/blocks/MudBlock.java b/com/hbm/blocks/MudBlock.java index 007fa4e57..7e4b728ba 100644 --- a/com/hbm/blocks/MudBlock.java +++ b/com/hbm/blocks/MudBlock.java @@ -36,6 +36,7 @@ public class MudBlock extends BlockFluidClassic { public static IIcon stillIcon; @SideOnly(Side.CLIENT) public static IIcon flowingIcon; + public Random rand = new Random(); public static DamageSource damageSource; @@ -111,6 +112,103 @@ public class MudBlock extends BlockFluidClassic { public void updateTick(World world, int x, int y, int z, Random rand) { super.updateTick(world, x, y, z, rand); + + reactToBlocks2(world, x + 1, y, z); + reactToBlocks2(world, x - 1, y, z); + reactToBlocks2(world, x, y + 1, z); + reactToBlocks2(world, x, y - 1, z); + reactToBlocks2(world, x, y, z + 1); + reactToBlocks2(world, x, y, z - 1); + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) + { + super.onNeighborBlockChange(world, x, y, z, block); + + reactToBlocks(world, x + 1, y, z); + reactToBlocks(world, x - 1, y, z); + reactToBlocks(world, x, y + 1, z); + reactToBlocks(world, x, y - 1, z); + reactToBlocks(world, x, y, z + 1); + reactToBlocks(world, x, y, z - 1); + } + + public void reactToBlocks(World world, int x, int y, int z) { + if(world.getBlock(x, y, z).getMaterial() != ModBlocks.fluidmud) { + Block block = world.getBlock(x, y, z); + + if(block.getMaterial().isLiquid()) { + world.setBlock(x, y, z, Blocks.air); + } + } + } + + public void reactToBlocks2(World world, int x, int y, int z) { + if(world.getBlock(x, y, z).getMaterial() != ModBlocks.fluidmud) { + Block block = world.getBlock(x, y, z); + + if (block == Blocks.stone || + block == Blocks.stone_brick_stairs || + block == Blocks.stonebrick || + block == Blocks.stone_slab || + block == Blocks.stone) { + if(rand.nextInt(20) == 0) + world.setBlock(x, y, z, Blocks.cobblestone); + } else if (block == Blocks.cobblestone) { + if(rand.nextInt(15) == 0) + world.setBlock(x, y, z, Blocks.gravel); + } else if (block == Blocks.sandstone) { + if(rand.nextInt(5) == 0) + world.setBlock(x, y, z, Blocks.sand); + } else if (block == Blocks.hardened_clay || + block == Blocks.stained_hardened_clay) { + if(rand.nextInt(10) == 0) + world.setBlock(x, y, z, Blocks.clay); + } else if (block.getMaterial() == Material.wood) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.cactus) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.cake) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.circuits) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.cloth) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.coral) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.craftedSnow) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.glass) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.gourd) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.ice) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.leaves) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.packedIce) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.piston) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.plants) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.portal) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.redstoneLight) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.snow) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.sponge) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.vine) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getMaterial() == Material.web) { + world.setBlock(x, y, z, Blocks.air); + } else if (block.getExplosionResistance(null) < 1.2F) { + world.setBlock(x, y, z, Blocks.air); + } + } } public int tickRate(World p_149738_1_) { diff --git a/com/hbm/blocks/ToxicBlock.java b/com/hbm/blocks/ToxicBlock.java new file mode 100644 index 000000000..175b20ff6 --- /dev/null +++ b/com/hbm/blocks/ToxicBlock.java @@ -0,0 +1,145 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +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.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.passive.EntityMooshroom; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class ToxicBlock extends BlockFluidClassic { + + @SideOnly(Side.CLIENT) + public static IIcon stillIcon; + @SideOnly(Side.CLIENT) + public static IIcon flowingIcon; + public Random rand = new Random(); + + public static DamageSource damageSource; + + public ToxicBlock(Fluid fluid, Material material, DamageSource damage) { + super(fluid, material); + damageSource = damage; + setQuantaPerBlock(4); + setCreativeTab(null); + displacements.put(this, false); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) ? stillIcon : flowingIcon; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + stillIcon = register.registerIcon(RefStrings.MODID + ":toxic_still"); + flowingIcon = register.registerIcon(RefStrings.MODID + ":toxic_flowing"); + } + + @Override + public boolean canDisplace(IBlockAccess world, int x, int y, int z) { + + if (world.getBlock(x, y, z).getMaterial().isLiquid()) { + return false; + } + return super.canDisplace(world, x, y, z); + } + + @Override + public boolean displaceIfPossible(World world, int x, int y, int z) { + + if (world.getBlock(x, y, z).getMaterial().isLiquid()) { + return false; + } + return super.displaceIfPossible(world, x, y, z); + } + + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + entity.setInWeb(); + // if(entity instanceof EntityLivingBase) + // { + // entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); + // } + if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) { + /* + * Library.damageSuit(((EntityPlayer)entity), 0); + * Library.damageSuit(((EntityPlayer)entity), 1); + * Library.damageSuit(((EntityPlayer)entity), 2); + * Library.damageSuit(((EntityPlayer)entity), 3); + */ + + } else if (entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + if (!entity.isDead) + if (!world.isRemote) + world.spawnEntityInWorld(creep); + entity.setDead(); + } else if (entity instanceof EntityVillager) { + EntityZombie creep = new EntityZombie(world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + entity.setDead(); + if (!world.isRemote) + world.spawnEntityInWorld(creep); + } else if (entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) + && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { + entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); + } + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) + { + super.onNeighborBlockChange(world, x, y, z, block); + + if(reactToBlocks(world, x + 1, y, z)) + world.setBlock(x, y, z, ModBlocks.block_waste); + if(reactToBlocks(world, x - 1, y, z)) + world.setBlock(x, y, z, ModBlocks.block_waste); + if(reactToBlocks(world, x, y + 1, z)) + world.setBlock(x, y, z, ModBlocks.block_waste); + if(reactToBlocks(world, x, y - 1, z)) + world.setBlock(x, y, z, ModBlocks.block_waste); + if(reactToBlocks(world, x, y, z + 1)) + world.setBlock(x, y, z, ModBlocks.block_waste); + if(reactToBlocks(world, x, y, z - 1)) + world.setBlock(x, y, z, ModBlocks.block_waste); + } + + public boolean reactToBlocks(World world, int x, int y, int z) { + if(world.getBlock(x, y, z).getMaterial() != ModBlocks.fluidtoxic) { + if(world.getBlock(x, y, z).getMaterial().isLiquid()) { + return true; + } + } + return false; + } + + public int tickRate(World p_149738_1_) { + return 15; + } + +} diff --git a/com/hbm/blocks/ToxicFluid.java b/com/hbm/blocks/ToxicFluid.java new file mode 100644 index 000000000..3d233fe4e --- /dev/null +++ b/com/hbm/blocks/ToxicFluid.java @@ -0,0 +1,28 @@ +package com.hbm.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class ToxicFluid extends Fluid { + + public ToxicFluid() { + super("toxic_fluid"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return ToxicBlock.stillIcon; + } + + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return ToxicBlock.flowingIcon; + } +} diff --git a/com/hbm/blocks/YellowBarrel.java b/com/hbm/blocks/YellowBarrel.java index d9eaf6f0e..a5c616f0d 100644 --- a/com/hbm/blocks/YellowBarrel.java +++ b/com/hbm/blocks/YellowBarrel.java @@ -17,6 +17,8 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class YellowBarrel extends BlockContainer { + + Random rand = new Random(); protected YellowBarrel(Material p_i45386_1_) { super(p_i45386_1_); @@ -37,7 +39,11 @@ public class YellowBarrel extends BlockContainer { } public void explode(World p_149695_1_, int x, int y, int z) { - p_149695_1_.createExplosion(null, x, y, z, 18.0F, true); + if(rand.nextInt(5) == 0) { + p_149695_1_.setBlock(x, y, z, ModBlocks.toxic_block); + } else { + p_149695_1_.createExplosion(null, x, y, z, 18.0F, true); + } ExplosionNukeGeneric.waste(p_149695_1_, x, y, z, 35); } diff --git a/com/hbm/gui/ContainerFWatzCore.java b/com/hbm/gui/ContainerFWatzCore.java new file mode 100644 index 000000000..e997c618b --- /dev/null +++ b/com/hbm/gui/ContainerFWatzCore.java @@ -0,0 +1,172 @@ +package com.hbm.gui; + +import com.hbm.tileentity.TileEntityFWatzCore; +import com.hbm.tileentity.TileEntityFusionMultiblock; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerFWatzCore extends Container { + + private TileEntityFWatzCore diFurnace; + + private int cool; + private int power; + private int amat; + private int aSchrab; + private boolean isRunning; + private int singularityType; + + public ContainerFWatzCore(InventoryPlayer invPlayer, TileEntityFWatzCore tedf) { + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 108)); + this.addSlotToContainer(new Slot(tedf, 1, 62, 90)); + this.addSlotToContainer(new Slot(tedf, 2, 98, 90)); + this.addSlotToContainer(new Slot(tedf, 3, 134, 108)); + this.addSlotToContainer(new Slot(tedf, 4, 152, 108)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + @Override + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.cool); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.power); + crafting.sendProgressBarUpdate(this, 2, this.diFurnace.amat); + crafting.sendProgressBarUpdate(this, 3, this.diFurnace.aSchrab); + crafting.sendProgressBarUpdate(this, 4, isRunning ? 1 : 0); + crafting.sendProgressBarUpdate(this, 5, singularityType); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 <= 4) { + if (!this.mergeItemStack(var5, 5, this.inventorySlots.size(), true)) + { + return null; + } + } else { + return null; + } + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack) null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.cool != this.diFurnace.cool) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.cool); + } + + if(this.power != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.power); + } + + if(this.amat != this.diFurnace.amat) + { + par1.sendProgressBarUpdate(this, 2, this.diFurnace.amat); + } + + if(this.aSchrab != this.diFurnace.aSchrab) + { + par1.sendProgressBarUpdate(this, 3, this.diFurnace.aSchrab); + } + + if(this.isRunning != this.diFurnace.isRunning()) + { + par1.sendProgressBarUpdate(this, 4, this.diFurnace.isRunning() ? 1 : 0); + } + + if(this.singularityType != this.diFurnace.getSingularityType()) + { + par1.sendProgressBarUpdate(this, 5, this.diFurnace.getSingularityType()); + } + } + + this.cool = this.diFurnace.cool; + this.power = this.diFurnace.power; + this.amat = this.diFurnace.amat; + this.aSchrab = this.diFurnace.aSchrab; + this.isRunning = this.diFurnace.isRunning(); + this.singularityType = this.diFurnace.getSingularityType(); + } + + @Override + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.cool = j; + } + if(i == 1) + { + diFurnace.power = j; + } + if(i == 2) + { + diFurnace.amat = j; + } + if(i == 3) + { + diFurnace.aSchrab = j; + } + if(i == 4) + { + if(j == 0) + { + diFurnace.emptyPlasma(); + } else { + diFurnace.fillPlasma(); + } + } + } +} diff --git a/com/hbm/gui/ContainerMachineCMBFactory.java b/com/hbm/gui/ContainerMachineCMBFactory.java index 96814641e..a57e3be59 100644 --- a/com/hbm/gui/ContainerMachineCMBFactory.java +++ b/com/hbm/gui/ContainerMachineCMBFactory.java @@ -23,11 +23,11 @@ public class ContainerMachineCMBFactory extends Container { diFurnace = tedf; - this.addSlotToContainer(new Slot(tedf, 0, 44, 18)); - this.addSlotToContainer(new Slot(tedf, 1, 62, 18)); - this.addSlotToContainer(new Slot(tedf, 2, 80, 18)); - this.addSlotToContainer(new Slot(tedf, 3, 44, 36)); - this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 4, 116, 18)); + this.addSlotToContainer(new Slot(tedf, 0, 62, 17)); + this.addSlotToContainer(new Slot(tedf, 1, 80, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 62, 53)); + this.addSlotToContainer(new Slot(tedf, 3, 80, 53)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 4, 134, 35)); for(int i = 0; i < 3; i++) { @@ -62,16 +62,15 @@ public class ContainerMachineCMBFactory extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if (par2 <= 29) { - if (!this.mergeItemStack(var5, 30, this.inventorySlots.size(), true)) + if (par2 <= 4) { + if (!this.mergeItemStack(var5, 5, this.inventorySlots.size(), true)) { return null; } } else { - if (!this.mergeItemStack(var5, 0, 9, false)) - if (!this.mergeItemStack(var5, 27, 30, false)) + if (!this.mergeItemStack(var5, 0, 4, false)) return null; } diff --git a/com/hbm/gui/GUIFWatzCore.java b/com/hbm/gui/GUIFWatzCore.java new file mode 100644 index 000000000..1f902260f --- /dev/null +++ b/com/hbm/gui/GUIFWatzCore.java @@ -0,0 +1,60 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.TileEntityFWatzCore; +import com.hbm.tileentity.TileEntityFusionMultiblock; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIFWatzCore extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_fwatz_multiblock.png"); + private TileEntityFWatzCore diFurnace; + + public GUIFWatzCore(InventoryPlayer invPlayer, TileEntityFWatzCore tedf) { + super(new ContainerFWatzCore(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 222; + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = diFurnace.getWaterScaled(88); + drawTexturedModalRect(guiLeft + 134, guiTop + 106 - i, 208, 88 - i, 16, i); + + int j = diFurnace.getCoolantScaled(88); + drawTexturedModalRect(guiLeft + 8, guiTop + 106 - j, 176, 88 - j, 16, j); + + int k = diFurnace.getPowerScaled(88); + drawTexturedModalRect(guiLeft + 26, guiTop + 106 - k, 192, 88 - k, 16, k); + + int l = diFurnace.getHeatScaled(88); + drawTexturedModalRect(guiLeft + 152, guiTop + 106 - l, 224, 88 - l, 16, l); + + if(diFurnace.isRunning()) + drawTexturedModalRect(guiLeft + 64, guiTop + 29, 176, 88, 48, 48); + + int m = diFurnace.getSingularityType(); + drawTexturedModalRect(guiLeft + 98, guiTop + 109, 240, 4 * m, 16, 4); + } +} diff --git a/com/hbm/gui/GUIMachineCMBFactory.java b/com/hbm/gui/GUIMachineCMBFactory.java index 262ab4473..628e6ccc1 100644 --- a/com/hbm/gui/GUIMachineCMBFactory.java +++ b/com/hbm/gui/GUIMachineCMBFactory.java @@ -38,10 +38,17 @@ public class GUIMachineCMBFactory extends GuiContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - + if(diFurnace.power > 0) { - int i = diFurnace.getPowerScaled(88); - drawTexturedModalRect(guiLeft + 8, guiTop + 106 - i, 176, 160 - i, 16, i); + int i = diFurnace.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 8, guiTop + 69 - i, 176, 52 - i, 16, i); } + if(diFurnace.waste > 0) { + int i = diFurnace.getWasteScaled(52); + drawTexturedModalRect(guiLeft + 26, guiTop + 69 - i, 192, 52 - i, 16, i); + } + + int j1 = diFurnace.getProgressScaled(24); + drawTexturedModalRect(guiLeft + 101, guiTop + 34, 208, 0, j1 + 1, 16); } } diff --git a/com/hbm/items/ItemBoy.java b/com/hbm/items/ItemBoy.java index d53f209d8..765b4ac81 100644 --- a/com/hbm/items/ItemBoy.java +++ b/com/hbm/items/ItemBoy.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemBoy extends Item { +public class ItemBoy extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemClip.java b/com/hbm/items/ItemClip.java index ffef4713f..e15082788 100644 --- a/com/hbm/items/ItemClip.java +++ b/com/hbm/items/ItemClip.java @@ -84,6 +84,38 @@ public class ItemClip extends Item { } } + if(this == ModItems.clip_revolver_lead) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_lead_ammo, 12))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_revolver_lead_ammo, 12), false); + } + } + + if(this == ModItems.clip_revolver_cursed) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_cursed_ammo, 17))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_revolver_cursed_ammo, 17), false); + } + } + + if(this == ModItems.clip_fatman) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_fatman_ammo, 6))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_fatman_ammo, 6), false); + } + } + + if(this == ModItems.clip_mp) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_mp_ammo, 30))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_mp_ammo, 30), false); + } + } + return stack; } diff --git a/com/hbm/items/ItemCustomLore.java b/com/hbm/items/ItemCustomLore.java index 719691016..7e45f2fcf 100644 --- a/com/hbm/items/ItemCustomLore.java +++ b/com/hbm/items/ItemCustomLore.java @@ -2,12 +2,18 @@ package com.hbm.items; import java.util.List; +import com.hbm.lib.ModDamageSource; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; -public class ItemCustomLore extends Item { +public class ItemCustomLore extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) @@ -346,6 +352,16 @@ public class ItemCustomLore extends Item { { list.add("It's super broken!"); } + + if(this == ModItems.screwdriver) + { + list.add("Could be used instead of a fuse..."); + } + + if(this == ModItems.overfuse) + { + list.add("Say what?"); + } } @Override diff --git a/com/hbm/items/ItemDrop.java b/com/hbm/items/ItemDrop.java index 2156d6ac6..21d48e702 100644 --- a/com/hbm/items/ItemDrop.java +++ b/com/hbm/items/ItemDrop.java @@ -169,8 +169,8 @@ public class ItemDrop extends Item { } if (itemstack.getItem() != null && itemstack.getItem() == ModItems.black_hole) { list.add("Contains a regular singularity"); - list.add("in the center. Too small to"); - list.add("stac stable. It's not the end"); + list.add("in the center. Large enough to"); + list.add("stay stable. It's not the end"); list.add("of the world as we know it,"); list.add("and I don't feel fine."); } diff --git a/com/hbm/items/ItemFleija.java b/com/hbm/items/ItemFleija.java index 49a274736..4449d0fd6 100644 --- a/com/hbm/items/ItemFleija.java +++ b/com/hbm/items/ItemFleija.java @@ -7,7 +7,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemFleija extends Item{ +public class ItemFleija extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemFuelRod.java b/com/hbm/items/ItemFuelRod.java index cde8d371c..c924d7e3a 100644 --- a/com/hbm/items/ItemFuelRod.java +++ b/com/hbm/items/ItemFuelRod.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemFuelRod extends Item { +public class ItemFuelRod extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemGadget.java b/com/hbm/items/ItemGadget.java index e8affe97a..33d4cb303 100644 --- a/com/hbm/items/ItemGadget.java +++ b/com/hbm/items/ItemGadget.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemGadget extends Item { +public class ItemGadget extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemManMike.java b/com/hbm/items/ItemManMike.java index e2a1d9b3a..a5b89fe97 100644 --- a/com/hbm/items/ItemManMike.java +++ b/com/hbm/items/ItemManMike.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemManMike extends Item { +public class ItemManMike extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemMike.java b/com/hbm/items/ItemMike.java index 9e127b11b..95f1bb6d7 100644 --- a/com/hbm/items/ItemMike.java +++ b/com/hbm/items/ItemMike.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemMike extends Item { +public class ItemMike extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemRadioactive.java b/com/hbm/items/ItemRadioactive.java new file mode 100644 index 000000000..910e76a8d --- /dev/null +++ b/com/hbm/items/ItemRadioactive.java @@ -0,0 +1,206 @@ +package com.hbm.items; + +import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class ItemRadioactive extends Item { + + public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { + if((entity instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)entity)) || !(entity instanceof EntityPlayer)) + { + doRadiationDamage(entity); + } + } + + public void doRadiationDamage(Entity entity) { + + //Ultra Deadly: Watz Fuel + //Strong: U235, Pu239, Pu240, all fuels except Schrabidium + //Medium: Plutonium, Neptunium, Pu238, RTG Pellet + //Weak: Uranium, U238 + //Incendiary: All radioactive powders + //Schrabidic: All Schrabidium related materials + + if (entity instanceof EntityLivingBase) { + + EntityLivingBase living = (EntityLivingBase)entity; + + //Ultra Deadly + + if (this == ModItems.pellet_hes || + this == ModItems.pellet_les || + this == ModItems.pellet_mes || + this == ModItems.pellet_neptunium || + this == ModItems.pellet_schrabidium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 120 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.wither.id, 30 * 20, 2)); + living.attackEntityFrom(ModDamageSource.radiation, 15); + } + + //Strong + + if (this == ModItems.ingot_u235 || + this == ModItems.ingot_pu239 || + this == ModItems.ingot_pu240 || + this == ModItems.ingot_uranium_fuel || + this == ModItems.ingot_plutonium_fuel || + this == ModItems.ingot_mox_fuel || + this == ModItems.rod_quad_u235 || + this == ModItems.rod_dual_u235 || + this == ModItems.rod_quad_pu239 || + this == ModItems.rod_dual_pu239 || + this == ModItems.rod_quad_pu240 || + this == ModItems.rod_dual_pu240 || + this == ModItems.rod_quad_uranium_fuel || + this == ModItems.rod_dual_uranium_fuel || + this == ModItems.rod_quad_plutonium_fuel || + this == ModItems.rod_dual_plutonium_fuel || + this == ModItems.rod_quad_mox_fuel || + this == ModItems.rod_dual_mox_fuel || + this == ModItems.rod_quad_uranium_fuel_depleted || + this == ModItems.rod_dual_uranium_fuel_depleted || + this == ModItems.rod_quad_plutonium_fuel_depleted || + this == ModItems.rod_dual_plutonium_fuel_depleted || + this == ModItems.rod_quad_mox_fuel_depleted || + this == ModItems.rod_dual_mox_fuel_depleted || + this == ModItems.boy_bullet || + this == ModItems.boy_target || + this == ModItems.gadget_core || + this == ModItems.man_core) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 45 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 2)); + living.attackEntityFrom(ModDamageSource.radiation, 3); + } + + //Strong Nuggets + + if (this == ModItems.nugget_u235 || + this == ModItems.nugget_pu239 || + this == ModItems.nugget_pu240 || + this == ModItems.nugget_uranium_fuel || + this == ModItems.nugget_plutonium_fuel || + this == ModItems.nugget_mox_fuel || + this == ModItems.rod_u235 || + this == ModItems.rod_pu239 || + this == ModItems.rod_pu240 || + this == ModItems.rod_uranium_fuel || + this == ModItems.rod_plutonium_fuel || + this == ModItems.rod_mox_fuel || + this == ModItems.rod_uranium_fuel_depleted || + this == ModItems.rod_plutonium_fuel_depleted || + this == ModItems.rod_mox_fuel_depleted) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 35 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.wither.id, 1 * 20, 2)); + living.attackEntityFrom(ModDamageSource.radiation, 1); + } + + //Medium + + if (this == ModItems.ingot_neptunium || + this == ModItems.ingot_pu238 || + this == ModItems.ingot_plutonium || + this == ModItems.pellet_rtg || + this == ModItems.rod_quad_neptunium || + this == ModItems.rod_dual_neptunium || + this == ModItems.rod_quad_pu238 || + this == ModItems.rod_dual_pu238 || + this == ModItems.rod_quad_plutonium || + this == ModItems.rod_dual_plutonium || + this == ModItems.mike_core || + this == ModItems.tsar_core) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 25 * 20, 4)); + living.attackEntityFrom(ModDamageSource.radiation, 1); + } + + //Medium Nuggets + + if (this == ModItems.nugget_neptunium || + this == ModItems.nugget_pu238 || + this == ModItems.nugget_plutonium || + this == ModItems.rod_neptunium || + this == ModItems.rod_pu238 || + this == ModItems.rod_plutonium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 2)); + } + + //Weak + + if (this == ModItems.ingot_uranium || + this == ModItems.ingot_u238 || + this == ModItems.rod_quad_uranium || + this == ModItems.rod_dual_uranium || + this == ModItems.rod_quad_u238 || + this == ModItems.rod_dual_u238 || + this == ModItems.rod_quad_pu238 || + this == ModItems.rod_dual_pu238) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 0)); + } + + //Weak Nuggets + + if (this == ModItems.nugget_uranium || + this == ModItems.nugget_u238 || + this == ModItems.rod_uranium || + this == ModItems.rod_u238 || + this == ModItems.cell_tritium || + this == ModItems.rod_tritium || + this == ModItems.rod_dual_tritium || + this == ModItems.rod_quad_tritium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 5 * 20, 0)); + } + + //Powder + + if (this == ModItems.powder_neptunium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 25 * 20, 4)); + living.attackEntityFrom(ModDamageSource.radiation, 1); + living.setFire(5); + } + + if (this == ModItems.powder_uranium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 0)); + living.setFire(5); + } + + //Schrabidic + + if (this == ModItems.ingot_schrabidium || + this == ModItems.ingot_schrabidium_fuel || + this == ModItems.ingot_hes || + this == ModItems.ingot_les || + this == ModItems.cell_sas3 || + this == ModItems.fleija_propellant) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 30); + } + + if (this == ModItems.nugget_schrabidium || + this == ModItems.nugget_schrabidium_fuel || + this == ModItems.nugget_hes || + this == ModItems.nugget_les) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 10); + } + + if (this == ModItems.plate_schrabidium) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 15); + } + + if (this == ModItems.powder_schrabidium) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 30); + living.setFire(5); + } + } + } +} diff --git a/com/hbm/items/ItemTsar.java b/com/hbm/items/ItemTsar.java index abd51e2e6..7c1731a31 100644 --- a/com/hbm/items/ItemTsar.java +++ b/com/hbm/items/ItemTsar.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemTsar extends Item { +public class ItemTsar extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemWandS.java b/com/hbm/items/ItemWandS.java index 146b92f82..9c8b66c0c 100644 --- a/com/hbm/items/ItemWandS.java +++ b/com/hbm/items/ItemWandS.java @@ -3,6 +3,7 @@ package com.hbm.items; import java.util.List; import java.util.Random; +import com.hbm.world.FWatz; import com.hbm.world.FactoryAdvanced; import com.hbm.world.FactoryTitanium; import com.hbm.world.FusionReactor; @@ -46,6 +47,9 @@ public class ItemWandS extends Item { case 4: list.add("Structure: Watz Power Plant"); break; + case 5: + list.add("Structure: Fusionary Watz Plant"); + break; } } } @@ -82,6 +86,9 @@ public class ItemWandS extends Item { case 4: new Watz().generate(world, rand, x, up ? y : y - 12, z); break; + case 5: + new FWatz().generateHull(world, rand, x, up ? y : y - 18, z); + break; } } @@ -103,7 +110,7 @@ public class ItemWandS extends Item { int i = stack.stackTagCompound.getInteger("building"); i++; stack.stackTagCompound.setInteger("building", i); - if(i >= 5) { + if(i >= 6) { stack.stackTagCompound.setInteger("building", 0); } @@ -126,6 +133,9 @@ public class ItemWandS extends Item { case 4: player.addChatMessage(new ChatComponentText("Set Structure: Watz Power Plant")); break; + case 5: + player.addChatMessage(new ChatComponentText("Set Structure: Fusionary Watz Plant")); + break; default: player.addChatMessage(new ChatComponentText("Set Structure: Titanium Factory")); break; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 6c63f0484..02f774db1 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -250,6 +250,8 @@ public class ModItems { public static Item inf_tritium; public static Item inf_sulfur; public static Item inf_diesel; + public static Item inf_antimatter; + public static Item inf_antischrabidium; public static Item canister_empty; public static Item canister_fuel; @@ -482,6 +484,8 @@ public class ModItems { public static Item fuse; public static Item redcoil_capacitor; public static Item titanium_filter; + public static Item screwdriver; + public static Item overfuse; public static Item tank_waste; @@ -592,9 +596,13 @@ public class ModItems { public static Item clip_revolver_iron; public static Item clip_revolver; public static Item clip_revolver_gold; + public static Item clip_revolver_lead; public static Item clip_revolver_schrabidium; + public static Item clip_revolver_cursed; public static Item clip_rpg; + public static Item clip_fatman; public static Item clip_osipr; + public static Item clip_mp; public static Item clip_xvl1456; public static Item igniter; @@ -603,6 +611,8 @@ public class ModItems { public static Item remote; public static Item bucket_mud; + public static Item bucket_acid; + public static Item bucket_toxic; public static Item smoke1; public static Item smoke2; @@ -641,25 +651,25 @@ public class ModItems { test_nuke_tier1_target = new Item().setUnlocalizedName("test_nuke_tier1_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_target"); test_nuke_tier2_target = new Item().setUnlocalizedName("test_nuke_tier2_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_target"); - ingot_uranium = new Item().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_u235 = new Item().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_u238 = new Item().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_plutonium = new Item().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.tabParts).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu238 = new Item().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu239 = new Item().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu240 = new Item().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_uranium = new ItemRadioactive().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u235 = new ItemRadioactive().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u238 = new ItemRadioactive().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_plutonium = new ItemRadioactive().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.tabParts).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu238 = new ItemRadioactive().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu239 = new ItemRadioactive().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu240 = new ItemRadioactive().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); ingot_neptunium = new ItemCustomLore().setUnlocalizedName("ingot_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_neptunium"); ingot_titanium = new Item().setUnlocalizedName("ingot_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_titanium"); sulfur = new Item().setUnlocalizedName("sulfur").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":sulfur"); - ingot_uranium_fuel = new Item().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_plutonium_fuel = new Item().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_mox_fuel = new Item().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); - ingot_schrabidium_fuel = new Item().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); - nugget_uranium_fuel = new Item().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_plutonium_fuel = new Item().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_mox_fuel = new Item().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); - nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); + ingot_uranium_fuel = new ItemRadioactive().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_plutonium_fuel = new ItemRadioactive().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_mox_fuel = new ItemRadioactive().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); + ingot_schrabidium_fuel = new ItemRadioactive().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); + nugget_uranium_fuel = new ItemRadioactive().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_plutonium_fuel = new ItemRadioactive().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_mox_fuel = new ItemRadioactive().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); + nugget_schrabidium_fuel = new ItemRadioactive().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy"); niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":salpeter"); @@ -688,14 +698,14 @@ public class ModItems { plate_mixed = new Item().setUnlocalizedName("plate_mixed").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_mixed"); plate_paa = new ItemCustomLore().setUnlocalizedName("plate_paa").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_paa"); - nugget_uranium = new Item().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_u235 = new Item().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_u238 = new Item().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_plutonium = new Item().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu238 = new Item().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu239 = new Item().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu240 = new Item().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_neptunium = new Item().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_neptunium"); + nugget_uranium = new ItemRadioactive().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u235 = new ItemRadioactive().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u238 = new ItemRadioactive().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_plutonium = new ItemRadioactive().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu238 = new ItemRadioactive().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu239 = new ItemRadioactive().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu240 = new ItemRadioactive().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_neptunium = new ItemRadioactive().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_neptunium"); plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_titanium"); plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_aluminium"); wire_red_copper = new Item().setUnlocalizedName("wire_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_red_copper"); @@ -705,15 +715,15 @@ public class ModItems { nugget_schrabidium = new ItemCustomLore().setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_beryllium"); hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hazmat_cloth"); - ingot_hes = new Item().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_hes"); - ingot_les = new Item().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les"); - nugget_hes = new Item().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes"); - nugget_les = new Item().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_les"); + ingot_hes = new ItemRadioactive().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_hes"); + ingot_les = new ItemRadioactive().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les"); + nugget_hes = new ItemRadioactive().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes"); + nugget_les = new ItemRadioactive().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_les"); plate_combine_steel = new Item().setUnlocalizedName("plate_combine_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_combine_steel"); powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_lead"); powder_neptunium = new ItemCustomLore().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_neptunium"); - powder_schrabidium = new ItemCustomLore().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); + powder_schrabidium = new ItemRadioactive().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); powder_aluminium = new Item().setUnlocalizedName("powder_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_aluminium"); powder_beryllium = new Item().setUnlocalizedName("powder_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_beryllium"); powder_copper = new Item().setUnlocalizedName("powder_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_copper"); @@ -721,7 +731,7 @@ public class ModItems { powder_iron = new Item().setUnlocalizedName("powder_iron").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_iron"); powder_titanium = new Item().setUnlocalizedName("powder_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_titanium"); powder_tungsten = new Item().setUnlocalizedName("powder_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_tungsten"); - powder_uranium = new Item().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_uranium"); + powder_uranium = new ItemRadioactive().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_uranium"); dust = new ItemCustomLore().setUnlocalizedName("dust").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dust"); powder_advanced_alloy = new Item().setUnlocalizedName("powder_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_advanced_alloy"); powder_coal = new Item().setUnlocalizedName("powder_coal").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_coal"); @@ -823,12 +833,12 @@ public class ModItems { cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6"); cell_antimatter = new ItemDrop().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter"); cell_deuterium = new Item().setUnlocalizedName("cell_deuterium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_deuterium"); - cell_tritium = new Item().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); + cell_tritium = new ItemRadioactive().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); cell_sas3 = new ItemCustomLore().setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3"); cell_anti_schrabidium = new ItemDrop().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium"); singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity"); singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt"); - singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_3"); + singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_5"); black_hole = new ItemDrop().setUnlocalizedName("black_hole").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_4"); crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":crystal_xen"); inf_water = new Item().setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_water"); @@ -837,6 +847,8 @@ public class ModItems { inf_tritium = new Item().setUnlocalizedName("inf_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_tritium"); inf_sulfur = new Item().setUnlocalizedName("inf_sulfur").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_sulfur"); inf_diesel = new Item().setUnlocalizedName("inf_diesel").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_diesel"); + inf_antimatter = new Item().setUnlocalizedName("inf_antimatter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_antimatter"); + inf_antischrabidium = new Item().setUnlocalizedName("inf_antischrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_antischrabidium"); blades_aluminium = new ItemBlades(1 * 1200).setUnlocalizedName("blades_aluminium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_aluminium"); blades_gold = new ItemBlades(5 * 1200).setUnlocalizedName("blades_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_gold"); @@ -1071,7 +1083,7 @@ public class ModItems { battery_generic = new ItemBattery(50).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_generic"); battery_advanced = new ItemBattery(200).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced"); - battery_schrabidium = new ItemBattery(1000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); + battery_schrabidium = new ItemBattery(10000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); battery_creative = new Item().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_creative"); fusion_core = new ItemBattery(5000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); @@ -1079,6 +1091,8 @@ public class ModItems { fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fuse"); redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); titanium_filter = new ItemCapacitor(72000).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":titanium_filter"); + screwdriver = new ItemCustomLore().setUnlocalizedName("screwdriver").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":screwdriver"); + overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse"); factory_core_titanium = new ItemBattery(70400).setUnlocalizedName("factory_core_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_titanium"); factory_core_advanced = new ItemBattery(41600).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced"); @@ -1107,9 +1121,13 @@ public class ModItems { clip_revolver_iron = new ItemClip().setUnlocalizedName("clip_revolver_iron").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_iron"); clip_revolver = new ItemClip().setUnlocalizedName("clip_revolver").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver"); clip_revolver_gold = new ItemClip().setUnlocalizedName("clip_revolver_gold").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_gold"); + clip_revolver_lead = new ItemClip().setUnlocalizedName("clip_revolver_lead").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_lead"); clip_revolver_schrabidium = new ItemClip().setUnlocalizedName("clip_revolver_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_schrabidium"); + clip_revolver_cursed = new ItemClip().setUnlocalizedName("clip_revolver_cursed").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_cursed"); clip_rpg = new ItemClip().setUnlocalizedName("clip_rpg").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_rpg"); + clip_fatman = new ItemClip().setUnlocalizedName("clip_fatman").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_fatman"); clip_osipr = new ItemClip().setUnlocalizedName("clip_osipr").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_osipr"); + clip_mp = new ItemClip().setUnlocalizedName("clip_mp").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_mp"); clip_xvl1456 = new ItemClip().setUnlocalizedName("clip_xvl1456").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_xvl1456"); ingot_euphemium = new ItemCustomLore().setUnlocalizedName("ingot_euphemium").setTextureName(RefStrings.MODID + ":ingot_euphemium"); @@ -1197,6 +1215,8 @@ public class ModItems { crowbar = new ModSword(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("crowbar").setFull3D().setTextureName(RefStrings.MODID + ":crowbar"); bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_mud"); + bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_acid"); + bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_toxic"); smoke1 = new Item().setUnlocalizedName("smoke1").setTextureName(RefStrings.MODID + ":smoke1"); smoke2 = new Item().setUnlocalizedName("smoke2").setTextureName(RefStrings.MODID + ":smoke2"); @@ -1215,9 +1235,13 @@ public class ModItems { b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7"); b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8"); energy_ball = new Item().setUnlocalizedName("energy_ball").setTextureName(RefStrings.MODID + ":energy_ball"); - + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.toxic_fluid, 1000), new ItemStack(ModItems.bucket_toxic)); BucketHandler.INSTANCE.buckets.put(ModBlocks.mud_block, ModItems.bucket_mud); + BucketHandler.INSTANCE.buckets.put(ModBlocks.acid_block, ModItems.bucket_acid); + BucketHandler.INSTANCE.buckets.put(ModBlocks.toxic_block, ModItems.bucket_toxic); MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); } @@ -1473,6 +1497,8 @@ public class ModItems { GameRegistry.registerItem(inf_tritium, inf_tritium.getUnlocalizedName()); GameRegistry.registerItem(inf_sulfur, inf_sulfur.getUnlocalizedName()); GameRegistry.registerItem(inf_diesel, inf_diesel.getUnlocalizedName()); + GameRegistry.registerItem(inf_antimatter, inf_antimatter.getUnlocalizedName()); + GameRegistry.registerItem(inf_antischrabidium, inf_antischrabidium.getUnlocalizedName()); //Large Tanks GameRegistry.registerItem(tank_waste, tank_waste.getUnlocalizedName()); @@ -1494,6 +1520,8 @@ public class ModItems { GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName()); + GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); + GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName()); //Shredder Blades GameRegistry.registerItem(blades_aluminium, blades_aluminium.getUnlocalizedName()); @@ -1661,10 +1689,14 @@ public class ModItems { GameRegistry.registerItem(clip_revolver_iron, clip_revolver_iron.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver, clip_revolver.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_gold, clip_revolver_gold.getUnlocalizedName()); + GameRegistry.registerItem(clip_revolver_lead, clip_revolver_lead.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_schrabidium, clip_revolver_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(clip_revolver_cursed, clip_revolver_cursed.getUnlocalizedName()); GameRegistry.registerItem(clip_rpg, clip_rpg.getUnlocalizedName()); + GameRegistry.registerItem(clip_fatman, clip_fatman.getUnlocalizedName()); GameRegistry.registerItem(clip_xvl1456, clip_xvl1456.getUnlocalizedName()); GameRegistry.registerItem(clip_osipr, clip_osipr.getUnlocalizedName()); + GameRegistry.registerItem(clip_mp, clip_mp.getUnlocalizedName()); //Grenades GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName()); @@ -1850,6 +1882,8 @@ public class ModItems { //THIS is a bucket. GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); + GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName()); + GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName()); //Technical Items GameRegistry.registerItem(smoke1, smoke1.getUnlocalizedName()); diff --git a/com/hbm/items/WatzFuel.java b/com/hbm/items/WatzFuel.java index 2ca14c613..f680da2b8 100644 --- a/com/hbm/items/WatzFuel.java +++ b/com/hbm/items/WatzFuel.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class WatzFuel extends Item { +public class WatzFuel extends ItemRadioactive { public int power; public float powerMultiplier; diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index f1481f2c9..4fb6e82b1 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -182,6 +182,10 @@ public class Library { { return true; } + if(checkArmorPiece(player, ModItems.schrabidium_helmet, 3)) + { + return true; + } if(checkArmorPiece(player, ModItems.euphemium_helmet, 3)) { return true; @@ -200,7 +204,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.factory_titanium_conductor || world.getBlock(x, y, z) == ModBlocks.factory_advanced_conductor || - world.getBlock(x, y, z) == ModBlocks.watz_conductor) + world.getBlock(x, y, z) == ModBlocks.watz_conductor || + world.getBlock(x, y, z) == ModBlocks.fwatz_hatch) { return true; } diff --git a/com/hbm/lib/ModDamageSource.java b/com/hbm/lib/ModDamageSource.java index ce9ebae17..2ae9fa017 100644 --- a/com/hbm/lib/ModDamageSource.java +++ b/com/hbm/lib/ModDamageSource.java @@ -13,9 +13,11 @@ public class ModDamageSource extends DamageSource { public static DamageSource nuclearBlast = (new DamageSource("nuclearBlast")).setExplosion(); public static DamageSource mudPoisoning = (new DamageSource("mudPoisoning")).setDamageBypassesArmor(); + public static DamageSource acid = (new DamageSource("acid")).setDamageBypassesArmor(); public static DamageSource euthanizedSelf = (new DamageSource("euthanizedSelf")).setDamageBypassesArmor(); public static DamageSource euthanizedSelf2 = (new DamageSource("euthanizedSelf2")).setDamageBypassesArmor(); public static DamageSource tauBlast = (new DamageSource("tauBlast")).setDamageBypassesArmor(); + public static DamageSource radiation = (new DamageSource("radiation")).setDamageBypassesArmor(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); diff --git a/com/hbm/main/GUIHandler.java b/com/hbm/main/GUIHandler.java index efb1c4c18..a160d845a 100644 --- a/com/hbm/main/GUIHandler.java +++ b/com/hbm/main/GUIHandler.java @@ -9,6 +9,7 @@ import com.hbm.gui.ContainerConverterRfHe; import com.hbm.gui.ContainerCoreAdvanced; import com.hbm.gui.ContainerCoreTitanium; import com.hbm.gui.ContainerElectricFurnace; +import com.hbm.gui.ContainerFWatzCore; import com.hbm.gui.ContainerFusionMultiblock; import com.hbm.gui.ContainerGenerator; import com.hbm.gui.ContainerLaunchPadTier1; @@ -39,6 +40,7 @@ import com.hbm.gui.GUIConverterHeRf; import com.hbm.gui.GUIConverterRfHe; import com.hbm.gui.GUICoreAdvanced; import com.hbm.gui.GUICoreTitanium; +import com.hbm.gui.GUIFWatzCore; import com.hbm.gui.GUIFusionMultiblock; import com.hbm.gui.GUILaunchPadTier1; import com.hbm.gui.GUIMachineBattery; @@ -73,6 +75,7 @@ import com.hbm.tileentity.TileEntityConverterRfHe; import com.hbm.tileentity.TileEntityCoreAdvanced; import com.hbm.tileentity.TileEntityCoreTitanium; import com.hbm.tileentity.TileEntityDiFurnace; +import com.hbm.tileentity.TileEntityFWatzCore; import com.hbm.tileentity.TileEntityFusionMultiblock; import com.hbm.tileentity.TileEntityLaunchPad; import com.hbm.tileentity.TileEntityMachineBattery; @@ -378,6 +381,14 @@ public class GUIHandler implements IGuiHandler { return new ContainerMachineCMBFactory(player.inventory, (TileEntityMachineCMBFactory) entity); } } + + case ModBlocks.guiID_fwatz_multiblock: + { + if(entity instanceof TileEntityFWatzCore) + { + return new ContainerFWatzCore(player.inventory, (TileEntityFWatzCore) entity); + } + } } return null; } @@ -654,6 +665,14 @@ public class GUIHandler implements IGuiHandler { return new GUIMachineCMBFactory(player.inventory, (TileEntityMachineCMBFactory) entity); } } + + case ModBlocks.guiID_fwatz_multiblock: + { + if(entity instanceof TileEntityFWatzCore) + { + return new GUIFWatzCore(player.inventory, (TileEntityFWatzCore) entity); + } + } } } return null; diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 5e933d76b..c2990d68a 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -96,9 +96,11 @@ import com.hbm.tileentity.TileEntityDecoPoleTop; import com.hbm.tileentity.TileEntityDecoSteelPoles; import com.hbm.tileentity.TileEntityDecoTapeRecorder; import com.hbm.tileentity.TileEntityDiFurnace; +import com.hbm.tileentity.TileEntityFWatzCore; import com.hbm.tileentity.TileEntityFusionMultiblock; import com.hbm.tileentity.TileEntityLaunchPad; import com.hbm.tileentity.TileEntityMachineBattery; +import com.hbm.tileentity.TileEntityMachineCMBFactory; import com.hbm.tileentity.TileEntityMachineCentrifuge; import com.hbm.tileentity.TileEntityMachineCoal; import com.hbm.tileentity.TileEntityMachineDeuterium; @@ -296,8 +298,10 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityConverterRfHe.class, "tileentity_converter_rfhe"); GameRegistry.registerTileEntity(TileEntityMachineSchrabidiumTransmutator.class, "tileentity_schrabidium_transmutator"); GameRegistry.registerTileEntity(TileEntityMachineDiesel.class, "tileentity_diesel_generator"); - GameRegistry.registerTileEntity(TileEntityWatzCore.class, "tileentity_watz_powerplant"); + GameRegistry.registerTileEntity(TileEntityWatzCore.class, "tileentity_watz_multiblock"); GameRegistry.registerTileEntity(TileEntityMachineShredder.class, "tileentity_machine_shredder"); + GameRegistry.registerTileEntity(TileEntityMachineCMBFactory.class, "tileentity_machine_cmb"); + GameRegistry.registerTileEntity(TileEntityFWatzCore.class, "tileentity_fwatz_multiblock"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); diff --git a/com/hbm/tileentity/TileEntityFWatzCore.java b/com/hbm/tileentity/TileEntityFWatzCore.java new file mode 100644 index 000000000..a8562af8d --- /dev/null +++ b/com/hbm/tileentity/TileEntityFWatzCore.java @@ -0,0 +1,538 @@ +package com.hbm.tileentity; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.calc.UnionOfTileEntitiesAndBooleans; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.interfaces.IConductor; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IReactor; +import com.hbm.interfaces.ISource; +import com.hbm.items.ModItems; +import com.hbm.items.WatzFuel; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.world.FWatz; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +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.world.World; + +public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, IReactor, ISource { + + public int cool; + public final static int maxCool = 100000000; + public int power; + public final static int maxPower = 100000000; + public int amat; + public final static int maxAmat = 100000000; + public int aSchrab; + public final static int maxASchrab = 100000000; + public boolean cooldown = false; + + Random rand = new Random(); + + private ItemStack slots[]; + public int age = 0; + public List list = new ArrayList(); + + private String customName; + + public TileEntityFWatzCore() { + slots = new ItemStack[5]; + } + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.fusionaryWatzPlant"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return true; + } + } + + @Override + public void openInventory() {} + + @Override + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + if(slots[i] != null) + { + if(slots[i].stackSize <= j) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if (slots[i].stackSize == 0) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) { + return false; + } + + @Override + public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) { + return false; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + cool = nbt.getShort("cool") * 10000; + power = nbt.getShort("power") * 10000; + amat = nbt.getShort("amat") * 10000; + aSchrab = nbt.getShort("aSchrab") * 10000; + + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("cool", (short) (cool/10000)); + nbt.setShort("power", (short) (power/10000)); + nbt.setShort("amat", (short) (amat/10000)); + nbt.setShort("aSchrab", (short) (aSchrab/10000)); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + @Override + public boolean isStructureValid(World world) { + return FWatz.checkHull(world, this.xCoord, this.yCoord, this.zCoord); + } + + @Override + public boolean isCoatingValid(World world) { + { + return true; + } + + //return false; + } + + @Override + public boolean hasFuse() { + return slots[1] != null && (slots[1].getItem() == ModItems.fuse || slots[1].getItem() == ModItems.screwdriver); + } + + @Override + public int getCoolantScaled(int i) { + return (cool/100 * i) / (maxCool/100); + } + + @Override + public int getPowerScaled(int i) { + return (power/100 * i) / (maxPower/100); + } + + @Override + public int getWaterScaled(int i) { + return (amat/100 * i) / (maxAmat/100); + } + + @Override + public int getHeatScaled(int i) { + return (aSchrab/100 * i) / (maxASchrab/100); + } + + public int getSingularityType() { + + if(slots[2] != null) { + Item item = slots[2].getItem(); + + if(item == ModItems.singularity) + return 1; + if(item == ModItems.singularity_counter_resonant) + return 2; + if(item == ModItems.singularity_super_heated) + return 3; + if(item == ModItems.black_hole) + return 4; + if(item == ModItems.overfuse) + return 5; + } + + return 0; + } + + @Override + public void updateEntity() { + if (this.isStructureValid(this.worldObj) && !this.worldObj.isRemote) { + + age++; + if (age >= 20) { + age = 0; + } + + if (age == 9 || age == 19) + ffgeuaInit(); + + if (hasFuse() && getSingularityType() > 0) { + if(cooldown) { + + this.emptyPlasma(); + + int i = getSingularityType(); + + if(i == 1) + cool += 1500; + if(i == 2) + cool += 3000; + if(i == 3) + cool += 750; + if(i == 4) + cool += 7500; + if(i == 5) + cool += 150000; + + if(cool >= maxCool) { + cooldown = false; + cool = maxCool; + } + + } else { + int i = getSingularityType(); + + this.fillPlasma(); + + if(i == 1 && amat - 750 >= 0 && aSchrab - 750 >= 0) { + cool -= 150; + amat -= 750; + aSchrab -= 750; + power += 500000; + } + if(i == 2 && amat - 750 >= 0 && aSchrab - 350 >= 0) { + cool -= 75; + amat -= 350; + aSchrab -= 300; + power += 250000; + } + if(i == 3 && amat - 750 >= 0 && aSchrab - 1400 >= 0) { + cool -= 300; + amat -= 750; + aSchrab -= 1400; + power += 1000000; + } + if(i == 4 && amat - 1000 >= 0 && aSchrab - 1000 >= 0) { + cool -= 100; + amat -= 1000; + aSchrab -= 1000; + power += 1000000; + } + if(i == 5 && amat - 150 >= 0 && aSchrab - 150 >= 0) { + cool -= 150; + amat -= 150; + aSchrab -= 150; + power += 10000000; + } + + if(power > maxPower) + power = maxPower; + + if(cool <= 0) { + cooldown = true; + cool = 0; + } + } + } + + if(power > maxPower) + power = maxPower; + + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.factory_core_titanium && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.factory_core_advanced && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(amat + 1000000 <= maxAmat && slots[3] != null && slots[3].getItem() == ModItems.cell_antimatter) + { + this.slots[3].stackSize--; + this.amat += 1000000; + if(this.slots[3].stackSize == 0) + { + this.slots[3] = null; + } + } + if(aSchrab + 1000000 <= maxASchrab && slots[4] != null && slots[4].getItem() == ModItems.cell_anti_schrabidium) + { + this.slots[4].stackSize--; + this.aSchrab += 1000000; + if(this.slots[4].stackSize == 0) + { + this.slots[4] = null; + } + } + + if(slots[3] != null && slots[3].getItem() == ModItems.inf_antimatter) + { + this.amat = maxAmat; + } + if(slots[4] != null && slots[4].getItem() == ModItems.inf_antischrabidium) + { + this.aSchrab = maxASchrab; + } + } + } + + public void fillPlasma() { + FWatz.fillPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + public void emptyPlasma() { + FWatz.emptyPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + public boolean isRunning() { + return FWatz.getPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord) && this.isStructureValid(worldObj); + } + + @Override + public void ffgeua(int x, int y, int z, boolean newTact) { + Block block = this.worldObj.getBlock(x, y, z); + TileEntity tileentity = this.worldObj.getTileEntity(x, y, z); + + if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) + { + tileentity = this.worldObj.getTileEntity(x, y + 1, z); + } + if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_titanium_core) + { + tileentity = this.worldObj.getTileEntity(x, y - 1, z); + } + if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_advanced_core) + { + tileentity = this.worldObj.getTileEntity(x, y + 1, z); + } + if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_advanced_core) + { + tileentity = this.worldObj.getTileEntity(x, y - 1, z); + } + + if(tileentity instanceof IConductor) + { + if(tileentity instanceof TileEntityCable) + { + if(Library.checkUnionList(((TileEntityCable)tileentity).uoteab, this)) + { + for(int i = 0; i < ((TileEntityCable)tileentity).uoteab.size(); i++) + { + if(((TileEntityCable)tileentity).uoteab.get(i).source == this) + { + if(((TileEntityCable)tileentity).uoteab.get(i).ticked != newTact) + { + ((TileEntityCable)tileentity).uoteab.get(i).ticked = newTact; + ffgeua(x, y + 1, z, getTact()); + ffgeua(x, y - 1, z, getTact()); + ffgeua(x - 1, y, z, getTact()); + ffgeua(x + 1, y, z, getTact()); + ffgeua(x, y, z - 1, getTact()); + ffgeua(x, y, z + 1, getTact()); + } + } + } + } else { + ((TileEntityCable)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + } + } + if(tileentity instanceof TileEntityWireCoated) + { + if(Library.checkUnionList(((TileEntityWireCoated)tileentity).uoteab, this)) + { + for(int i = 0; i < ((TileEntityWireCoated)tileentity).uoteab.size(); i++) + { + if(((TileEntityWireCoated)tileentity).uoteab.get(i).source == this) + { + if(((TileEntityWireCoated)tileentity).uoteab.get(i).ticked != newTact) + { + ((TileEntityWireCoated)tileentity).uoteab.get(i).ticked = newTact; + ffgeua(x, y + 1, z, getTact()); + ffgeua(x, y - 1, z, getTact()); + ffgeua(x - 1, y, z, getTact()); + ffgeua(x + 1, y, z, getTact()); + ffgeua(x, y, z - 1, getTact()); + ffgeua(x, y, z + 1, getTact()); + } + } + } + } else { + ((TileEntityWireCoated)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + } + } + } + + if(tileentity instanceof IConsumer && newTact && !(tileentity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)tileentity).conducts)) + { + list.add((IConsumer)tileentity); + } + + if(!newTact) + { + int size = list.size(); + if(size > 0) + { + int part = this.power / size; + for(IConsumer consume : list) + { + if(consume.getPower() < consume.getMaxPower()) + { + if(consume.getMaxPower() - consume.getPower() >= part) + { + this.power -= part; + consume.setPower(consume.getPower() + part); + } else { + this.power -= consume.getMaxPower() - consume.getPower(); + consume.setPower(consume.getMaxPower()); + } + } + } + } + list.clear(); + } + } + + @Override + public void ffgeuaInit() { + ffgeua(this.xCoord + 10, this.yCoord - 11, this.zCoord, getTact()); + ffgeua(this.xCoord - 10, this.yCoord - 11, this.zCoord, getTact()); + ffgeua(this.xCoord, this.yCoord - 11, this.zCoord + 10, getTact()); + ffgeua(this.xCoord, this.yCoord - 11, this.zCoord - 10, getTact()); + } + + public boolean getTact() { + if(age >= 0 && age < 10) + { + return true; + } + + return false; + } +} diff --git a/com/hbm/tileentity/TileEntityFusionMultiblock.java b/com/hbm/tileentity/TileEntityFusionMultiblock.java index 6e3fddb01..952b611ae 100644 --- a/com/hbm/tileentity/TileEntityFusionMultiblock.java +++ b/com/hbm/tileentity/TileEntityFusionMultiblock.java @@ -942,7 +942,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve @Override public boolean hasFuse() { - return false; + return slots[8] != null && (slots[8].getItem() == ModItems.fuse || slots[8].getItem() == ModItems.screwdriver); } @Override @@ -1074,7 +1074,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve slots[5] != null && (slots[5].getItem() == ModItems.fusion_core || slots[5].getItem() == ModItems.energy_core) && slots[5].getItemDamage() == 0 && slots[6] != null && (slots[6].getItem() == ModItems.fusion_core || slots[6].getItem() == ModItems.energy_core) && slots[6].getItemDamage() == 0 && slots[7] != null && (slots[7].getItem() == ModItems.fusion_core || slots[7].getItem() == ModItems.energy_core) && slots[7].getItemDamage() == 0 && - slots[8] != null && slots[8].getItem() == ModItems.fuse && + hasFuse() && deut > 0 && trit > 0) { slots[4] = null; @@ -1148,7 +1148,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve } public boolean isRunning() { - if(slots[8] != null && slots[8].getItem() == ModItems.fuse && ( + if(hasFuse() && ( worldObj.getBlock(xCoord + 4, yCoord, zCoord - 3) == ModBlocks.plasma || worldObj.getBlock(xCoord + 4, yCoord, zCoord - 2) == ModBlocks.plasma || worldObj.getBlock(xCoord + 4, yCoord, zCoord - 1) == ModBlocks.plasma || diff --git a/com/hbm/tileentity/TileEntityLaunchPad.java b/com/hbm/tileentity/TileEntityLaunchPad.java index a07fe4743..3de12d71d 100644 --- a/com/hbm/tileentity/TileEntityLaunchPad.java +++ b/com/hbm/tileentity/TileEntityLaunchPad.java @@ -210,7 +210,7 @@ public class TileEntityLaunchPad extends TileEntity implements ISidedInventory, slots[2].setItemDamage(slots[2].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() < 10000) { power += 100; slots[2].setItemDamage(slots[2].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityMachineBattery.java b/com/hbm/tileentity/TileEntityMachineBattery.java index c754afde9..e4b644250 100644 --- a/com/hbm/tileentity/TileEntityMachineBattery.java +++ b/com/hbm/tileentity/TileEntityMachineBattery.java @@ -250,7 +250,7 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent slots[0].setItemDamage(slots[0].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 10000) { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityMachineCMBFactory.java b/com/hbm/tileentity/TileEntityMachineCMBFactory.java index d71aebc51..264cf66e9 100644 --- a/com/hbm/tileentity/TileEntityMachineCMBFactory.java +++ b/com/hbm/tileentity/TileEntityMachineCMBFactory.java @@ -19,13 +19,14 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv public int power = 0; public int waste = 0; public int process = 0; + public int soundCycle = 0; public static final int maxFill = 1000; public static final int maxPower = 10000; public static final int processSpeed = 200; - private static final int[] slots_top = new int[] {3}; - private static final int[] slots_bottom = new int[] {4, 0, 1}; - private static final int[] slots_side = new int[] {0, 1, 2}; + private static final int[] slots_top = new int[] {1, 3}; + private static final int[] slots_bottom = new int[] {0, 2, 4}; + private static final int[] slots_side = new int[] {0, 2}; private String customName; @@ -107,15 +108,15 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv return true; break; case 1: - if(stack.getItem() == ModItems.rod_water || stack.getItem() == ModItems.rod_dual_water || stack.getItem() == ModItems.rod_quad_water || stack.getItem() == Items.water_bucket) + if(stack.getItem() == ModItems.ingot_magnetized_tungsten || stack.getItem() == ModItems.powder_magnetized_tungsten) return true; break; case 2: - if(stack.getItem() == ModItems.sulfur) + if(stack.getItem() == ModItems.bucket_mud || (stack.getItem() == ModItems.tank_waste && stack.getItemDamage() > 0)) return true; break; case 3: - if(stack.getItem() == ModItems.cell_empty) + if(stack.getItem() == ModItems.ingot_advanced_alloy || stack.getItem() == ModItems.powder_advanced_alloy) return true; break; } @@ -205,8 +206,8 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv if(i == 0 && itemStack.getItem() instanceof ItemBattery) if(itemStack.getItemDamage() == itemStack.getMaxDamage()) return true; - if(i == 1) - if(itemStack.getItem() == Items.bucket || itemStack.getItem() == ModItems.rod_empty || itemStack.getItem() == ModItems.rod_dual_empty || itemStack.getItem() == ModItems.rod_quad_empty) + if(i == 2) + if(itemStack.getItem() == Items.bucket || (itemStack.getItem() == ModItems.tank_waste && itemStack.getItemDamage() <= 0)) return true; return false; @@ -225,7 +226,18 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv } public boolean canProcess() { - return false; + + boolean b = false; + + if(waste > 0 && power > 0 && slots[1] != null && slots[3] != null && (slots[4] == null || slots[4].stackSize <= 60)) + { + boolean flag0 = slots[1].getItem() == ModItems.ingot_magnetized_tungsten || slots[1].getItem() == ModItems.powder_magnetized_tungsten; + boolean flag1 = slots[3].getItem() == ModItems.ingot_advanced_alloy || slots[3].getItem() == ModItems.powder_advanced_alloy; + + b = flag0 && flag1; + } + + return b; } public boolean isProcessing() { @@ -234,25 +246,28 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv public void process() { waste -= 1; - power -= 25; + power -= 3; process++; if(process >= processSpeed) { + slots[1].stackSize--; + if (slots[1].stackSize == 0) { + slots[1] = null; + } + slots[3].stackSize--; - - if(slots[3].stackSize == 0) - { + if (slots[3].stackSize == 0) { slots[3] = null; } if(slots[4] == null) { - slots[4] = new ItemStack(ModItems.cell_deuterium); + slots[4] = new ItemStack(ModItems.ingot_combine_steel, 4); } else { - slots[4].stackSize++; + slots[4].stackSize += 4; } process = 0; @@ -264,14 +279,58 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv if (!worldObj.isRemote) { - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core + if (slots[0] != null && slots[0].getItem() == ModItems.battery_creative) { + power = maxPower; + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic + && slots[0].getItemDamage() < 50) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced + && slots[0].getItemDamage() < 200) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium + && slots[0].getItemDamage() < 1000) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core && slots[0].getItemDamage() < 5000) { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); } + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core + && slots[0].getItemDamage() < 5000) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(waste + 500 <= maxFill && slots[2] != null && slots[2].getItem() == ModItems.bucket_mud) { + waste += 500; + slots[2] = new ItemStack(slots[2].getItem().getContainerItem()); + } + + if(waste + 500 <= maxFill && slots[2] != null && slots[2].getItem() == ModItems.tank_waste && slots[2].getItemDamage() > 0) { + waste += 500; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + if (canProcess()) { process(); + if(soundCycle == 0) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "minecart.base", 1.0F, 1.5F); + soundCycle++; + + if(soundCycle >= 25) + soundCycle = 0; } else { process = 0; } diff --git a/com/hbm/tileentity/TileEntityMachineElectricFurnace.java b/com/hbm/tileentity/TileEntityMachineElectricFurnace.java index a6bdfc8eb..695aad1aa 100644 --- a/com/hbm/tileentity/TileEntityMachineElectricFurnace.java +++ b/com/hbm/tileentity/TileEntityMachineElectricFurnace.java @@ -323,7 +323,7 @@ public class TileEntityMachineElectricFurnace extends TileEntity implements ISid slots[0].setItemDamage(slots[0].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 10000) { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java b/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java index 5d84f6402..c6dd4863d 100644 --- a/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java +++ b/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java @@ -284,7 +284,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntity impleme } if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.battery_schrabidium - && slots[3].getItemDamage() < 1000) { + && slots[3].getItemDamage() < 10000) { power += 100; slots[3].setItemDamage(slots[3].getItemDamage() + 1); } diff --git a/com/hbm/tileentity/TileEntityMachineShredder.java b/com/hbm/tileentity/TileEntityMachineShredder.java index c3a95dde0..dd6a51133 100644 --- a/com/hbm/tileentity/TileEntityMachineShredder.java +++ b/com/hbm/tileentity/TileEntityMachineShredder.java @@ -277,7 +277,7 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven slots[29].setItemDamage(slots[29].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_schrabidium && slots[29].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_schrabidium && slots[29].getItemDamage() < 10000) { power += 100; slots[29].setItemDamage(slots[29].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityReactorMultiblock.java b/com/hbm/tileentity/TileEntityReactorMultiblock.java index d95bc8b46..3644b2d88 100644 --- a/com/hbm/tileentity/TileEntityReactorMultiblock.java +++ b/com/hbm/tileentity/TileEntityReactorMultiblock.java @@ -308,7 +308,7 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv } - if(slots[33] != null && slots[33].getItem() == ModItems.fuse) + if(hasFuse()) { for(int i = 0; i < 30; i++) { @@ -741,7 +741,7 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv @Override public boolean hasFuse() { - return false; + return slots[33] != null && (slots[33].getItem() == ModItems.fuse || slots[33].getItem() == ModItems.screwdriver); } public void attemptPower(int i) { diff --git a/com/hbm/world/FWatz.java b/com/hbm/world/FWatz.java new file mode 100644 index 000000000..ced3d09e8 --- /dev/null +++ b/com/hbm/world/FWatz.java @@ -0,0 +1,937 @@ +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class FWatz { + + static String[][] fwatz = new String[19][19]; + + static String s0101 = " XXX "; + static String s0102 = " XXX "; + static String s0103 = " "; + static String s0104 = " "; + static String s0105 = " "; + static String s0106 = " "; + static String s0107 = " "; + static String s0108 = " SSSSS "; + static String s0109 = "XX SSSSS XX"; + static String s0110 = "XX SSSSS XX"; + static String s0111 = "XX SSSSS XX"; + static String s0112 = " SSSSS "; + static String s0113 = " "; + static String s0114 = " "; + static String s0115 = " "; + static String s0116 = " "; + static String s0117 = " "; + static String s0118 = " XXX "; + static String s0119 = " XXX "; + + static String s0201 = " XHX "; + static String s0202 = " XXX "; + static String s0203 = " "; + static String s0204 = " "; + static String s0205 = " "; + static String s0206 = " "; + static String s0207 = " "; + static String s0208 = " SSSSS "; + static String s0209 = "XX STTTS XX"; + static String s0210 = "HX STTTS XH"; + static String s0211 = "XX STTTS XX"; + static String s0212 = " SSSSS "; + static String s0213 = " "; + static String s0214 = " "; + static String s0215 = " "; + static String s0216 = " "; + static String s0217 = " "; + static String s0218 = " XXX "; + static String s0219 = " XHX "; + + static String s0301 = " XXX "; + static String s0302 = " XXX "; + static String s0303 = " "; + static String s0304 = " "; + static String s0305 = " "; + static String s0306 = " "; + static String s0307 = " "; + static String s0308 = " SSSSS "; + static String s0309 = "XX STTTS XX"; + static String s0310 = "XX STTTS XX"; + static String s0311 = "XX STTTS XX"; + static String s0312 = " SSSSS "; + static String s0313 = " "; + static String s0314 = " "; + static String s0315 = " "; + static String s0316 = " "; + static String s0317 = " "; + static String s0318 = " XXX "; + static String s0319 = " XXX "; + + static String s0401 = " "; + static String s0402 = " XXX "; + static String s0403 = " XXX "; + static String s0404 = " X "; + static String s0405 = " X "; + static String s0406 = " X "; + static String s0407 = " X "; + static String s0408 = " SSXSS "; + static String s0409 = " XX STTTS XX "; + static String s0410 = " XXXXXXXTTTXXXXXXX "; + static String s0411 = " XX STTTS XX "; + static String s0412 = " SSXSS "; + static String s0413 = " X "; + static String s0414 = " X "; + static String s0415 = " X "; + static String s0416 = " X "; + static String s0417 = " XXX "; + static String s0418 = " XXX "; + static String s0419 = " "; + + static String s0501 = " "; + static String s0502 = " XXX "; + static String s0503 = " XXX "; + static String s0504 = " "; + static String s0505 = " "; + static String s0506 = " "; + static String s0507 = " "; + static String s0508 = " SSSSS "; + static String s0509 = " XX STTTS XX "; + static String s0510 = " XX STTTS XX "; + static String s0511 = " XX STTTS XX "; + static String s0512 = " SSSSS "; + static String s0513 = " "; + static String s0514 = " "; + static String s0515 = " "; + static String s0516 = " "; + static String s0517 = " XXX "; + static String s0518 = " XXX "; + static String s0519 = " "; + + static String s0601 = " "; + static String s0602 = " XXX "; + static String s0603 = " XXX "; + static String s0604 = " "; + static String s0605 = " "; + static String s0606 = " "; + static String s0607 = " "; + static String s0608 = " SSSSS "; + static String s0609 = " XX STTTS XX "; + static String s0610 = " XX STTTS XX "; + static String s0611 = " XX STTTS XX "; + static String s0612 = " SSSSS "; + static String s0613 = " "; + static String s0614 = " "; + static String s0615 = " "; + static String s0616 = " "; + static String s0617 = " XXX "; + static String s0618 = " XXX "; + static String s0619 = " "; + + static String s0701 = " "; + static String s0702 = " "; + static String s0703 = " XXX "; + static String s0704 = " XXX "; + static String s0705 = " "; + static String s0706 = " "; + static String s0707 = " "; + static String s0708 = " MMMMM "; + static String s0709 = " XX MMMMM XX "; + static String s0710 = " XX MMMMM XX "; + static String s0711 = " XX MMMMM XX "; + static String s0712 = " MMMMM "; + static String s0713 = " "; + static String s0714 = " "; + static String s0715 = " "; + static String s0716 = " XXX "; + static String s0717 = " XXX "; + static String s0718 = " "; + static String s0719 = " "; + + static String s0801 = " "; + static String s0802 = " "; + static String s0803 = " XXX "; + static String s0804 = " XXX "; + static String s0805 = " XXX "; + static String s0806 = " MMMMM "; + static String s0807 = " MMMMMMM "; + static String s0808 = " MMMMMMMMM "; + static String s0809 = " XXXMMMMMMMMMXXX "; + static String s0810 = " XXXMMMMMMMMMXXX "; + static String s0811 = " XXXMMMMMMMMMXXX "; + static String s0812 = " MMMMMMMMM "; + static String s0813 = " MMMMMMM "; + static String s0814 = " MMMMM "; + static String s0815 = " XXX "; + static String s0816 = " XXX "; + static String s0817 = " XXX "; + static String s0818 = " "; + static String s0819 = " "; + + static String s0901 = " "; + static String s0902 = " "; + static String s0903 = " XXX "; + static String s0904 = " XXX "; + static String s0905 = " MMMMM "; + static String s0906 = " MMMMMMM "; + static String s0907 = " MMMMMMMMM "; + static String s0908 = " MMMMPPPMMMM "; + static String s0909 = " XXMMMPPPPPMMMXX "; + static String s0910 = " XXMMMPPPPPMMMXX "; + static String s0911 = " XXMMMPPPPPMMMXX "; + static String s0912 = " MMMMPPPMMMM "; + static String s0913 = " MMMMMMMMM "; + static String s0914 = " MMMMMMM "; + static String s0915 = " MMMMM "; + static String s0916 = " XXX "; + static String s0917 = " XXX "; + static String s0918 = " "; + static String s0919 = " "; + + static String s1001 = " "; + static String s1002 = " "; + static String s1003 = " "; + static String s1004 = " XXX "; + static String s1005 = " MMMMMMM "; + static String s1006 = " MMMMMMMMM "; + static String s1007 = " MMMMPPPMMMM "; + static String s1008 = " MMMPPPPPMMM "; + static String s1009 = " XMMPPPPPPPMMX "; + static String s1010 = " XMMPPPPPPPMMX "; + static String s1011 = " XMMPPPPPPPMMX "; + static String s1012 = " MMMPPPPPMMM "; + static String s1013 = " MMMMPPPMMMM "; + static String s1014 = " MMMMMMMMM "; + static String s1015 = " MMMMMMM "; + static String s1016 = " XXX "; + static String s1017 = " "; + static String s1018 = " "; + static String s1019 = " "; + + static String s1101 = " "; + static String s1102 = " "; + static String s1103 = " "; + static String s1104 = " MMMMM "; + static String s1105 = " MMMMMMMMM "; + static String s1106 = " MMMMPPPMMMM "; + static String s1107 = " MMMPPPPPMMM "; + static String s1108 = " MMMPPPPPPPMMM "; + static String s1109 = " MMPPPMMMPPPMM "; + static String s1110 = " MMPPPMMMPPPMM "; + static String s1111 = " MMPPPMMMPPPMM "; + static String s1112 = " MMMPPPPPPPMMM "; + static String s1113 = " MMMPPPPPMMM "; + static String s1114 = " MMMMPPPMMMM "; + static String s1115 = " MMMMMMMMM "; + static String s1116 = " MMMMM "; + static String s1117 = " "; + static String s1118 = " "; + static String s1119 = " "; + + static String s1201 = " "; + static String s1202 = " "; + static String s1203 = " "; + static String s1204 = " MMMMM "; + static String s1205 = " MMMMMMMMM "; + static String s1206 = " MMMPPPPPMMM "; + static String s1207 = " MMPPPPPPPMM "; + static String s1208 = " MMPPPMMMPPPMM "; + static String s1209 = " MMPPMMMMMPPMM "; + static String s1210 = " MMPPMMCMMPPMM "; + static String s1211 = " MMPPMMMMMPPMM "; + static String s1212 = " MMPPPMMMPPPMM "; + static String s1213 = " MMPPPPPPPMM "; + static String s1214 = " MMMPPPPPMMM "; + static String s1215 = " MMMMMMMMM "; + static String s1216 = " MMMMM "; + static String s1217 = " "; + static String s1218 = " "; + static String s1219 = " "; + + static String s1301 = " "; + static String s1302 = " "; + static String s1303 = " "; + static String s1304 = " MMMMM "; + static String s1305 = " MMMMMMMMM "; + static String s1306 = " MMMPPPPPMMM "; + static String s1307 = " MMPPPPPPPMM "; + static String s1308 = " MMPPPMMMPPPMM "; + static String s1309 = " MMPPMMCMMPPMM "; + static String s1310 = " MMPPMC#CMPPMM "; + static String s1311 = " MMPPMMCMMPPMM "; + static String s1312 = " MMPPPMMMPPPMM "; + static String s1313 = " MMPPPPPPPMM "; + static String s1314 = " MMMPPPPPMMM "; + static String s1315 = " MMMMMMMMM "; + static String s1316 = " MMMMM "; + static String s1317 = " "; + static String s1318 = " "; + static String s1319 = " "; + + static String s1401 = " "; + static String s1402 = " "; + static String s1403 = " "; + static String s1404 = " MMMMM "; + static String s1405 = " MMMMMMMMM "; + static String s1406 = " MMMPPPPPMMM "; + static String s1407 = " MMPPPPPPPMM "; + static String s1408 = " MMPPPMMMPPPMM "; + static String s1409 = " MMPPMMMMMPPMM "; + static String s1410 = " MMPPMMCMMPPMM "; + static String s1411 = " MMPPMMMMMPPMM "; + static String s1412 = " MMPPPMMMPPPMM "; + static String s1413 = " MMPPPPPPPMM "; + static String s1414 = " MMMPPPPPMMM "; + static String s1415 = " MMMMMMMMM "; + static String s1416 = " MMMMM "; + static String s1417 = " "; + static String s1418 = " "; + static String s1419 = " "; + + static String s1501 = " "; + static String s1502 = " "; + static String s1503 = " "; + static String s1504 = " MMMMM "; + static String s1505 = " MMMMMMMMM "; + static String s1506 = " MMMMPPPMMMM "; + static String s1507 = " MMMPPPPPMMM "; + static String s1508 = " MMMPPPPPPPMMM "; + static String s1509 = " MMPPPMMMPPPMM "; + static String s1510 = " MMPPPMMMPPPMM "; + static String s1511 = " MMPPPMMMPPPMM "; + static String s1512 = " MMMPPPPPPPMMM "; + static String s1513 = " MMMPPPPPMMM "; + static String s1514 = " MMMMPPPMMMM "; + static String s1515 = " MMMMMMMMM "; + static String s1516 = " MMMMM "; + static String s1517 = " "; + static String s1518 = " "; + static String s1519 = " "; + + static String s1601 = " "; + static String s1602 = " "; + static String s1603 = " "; + static String s1604 = " "; + static String s1605 = " MMMMMMM "; + static String s1606 = " MMMMMMMMM "; + static String s1607 = " MMMMPPPMMMM "; + static String s1608 = " MMMPPPPPMMM "; + static String s1609 = " MMPPPPPPPMM "; + static String s1610 = " MMPPPPPPPMM "; + static String s1611 = " MMPPPPPPPMM "; + static String s1612 = " MMMPPPPPMMM "; + static String s1613 = " MMMMPPPMMMM "; + static String s1614 = " MMMMMMMMM "; + static String s1615 = " MMMMMMM "; + static String s1616 = " "; + static String s1617 = " "; + static String s1618 = " "; + static String s1619 = " "; + + static String s1701 = " "; + static String s1702 = " "; + static String s1703 = " "; + static String s1704 = " "; + static String s1705 = " MMMMM "; + static String s1706 = " MMMMMMM "; + static String s1707 = " MMMMMMMMM "; + static String s1708 = " MMMMPPPMMMM "; + static String s1709 = " MMMPPPPPMMM "; + static String s1710 = " MMMPPPPPMMM "; + static String s1711 = " MMMPPPPPMMM "; + static String s1712 = " MMMMPPPMMMM "; + static String s1713 = " MMMMMMMMM "; + static String s1714 = " MMMMMMM "; + static String s1715 = " MMMMM "; + static String s1716 = " "; + static String s1717 = " "; + static String s1718 = " "; + static String s1719 = " "; + + static String s1801 = " "; + static String s1802 = " "; + static String s1803 = " "; + static String s1804 = " "; + static String s1805 = " "; + static String s1806 = " MMMMM "; + static String s1807 = " MMMMMMM "; + static String s1808 = " MMMMMMMMM "; + static String s1809 = " MMMMMMMMM "; + static String s1810 = " MMMMMMMMM "; + static String s1811 = " MMMMMMMMM "; + static String s1812 = " MMMMMMMMM "; + static String s1813 = " MMMMMMM "; + static String s1814 = " MMMMM "; + static String s1815 = " "; + static String s1816 = " "; + static String s1817 = " "; + static String s1818 = " "; + static String s1819 = " "; + + static String s1901 = " "; + static String s1902 = " "; + static String s1903 = " "; + static String s1904 = " "; + static String s1905 = " "; + static String s1906 = " "; + static String s1907 = " "; + static String s1908 = " MMMMM "; + static String s1909 = " MMMMM "; + static String s1910 = " MMMMM "; + static String s1911 = " MMMMM "; + static String s1912 = " MMMMM "; + static String s1913 = " "; + static String s1914 = " "; + static String s1915 = " "; + static String s1916 = " "; + static String s1917 = " "; + static String s1918 = " "; + static String s1919 = " "; + + public void generateHull(World world, Random rand, int x, int y, int z) { + + x -= 9; + z -= 9; + + uniteStructure(); + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + Block b = Blocks.air; + + if(c.equals("X")) + b = ModBlocks.fwatz_scaffold; + if(c.equals("H")) + b = ModBlocks.fwatz_hatch; + if(c.equals("S")) + b = ModBlocks.fwatz_cooler; + if(c.equals("T")) + b = ModBlocks.fwatz_tank; + if(c.equals("M")) + b = ModBlocks.fwatz_conductor; + if(c.equals("C")) + b = ModBlocks.fwatz_computer; + if(c.equals("#")) + b = ModBlocks.fwatz_core; + + world.setBlock(x + i, y + j, z + k, b); + } + } + } + + world.setBlock(x + 0, y + 1, z + 9, ModBlocks.fwatz_hatch, 4, 3); + world.setBlock(x + 18, y + 1, z + 9, ModBlocks.fwatz_hatch, 5, 3); + world.setBlock(x + 9, y + 1, z + 18, ModBlocks.fwatz_hatch, 3, 3); + world.setBlock(x + 9, y + 1, z + 0, ModBlocks.fwatz_hatch, 2, 3); + + } + + public static boolean checkHull(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + boolean flag = true; + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + Block b = Blocks.air; + boolean flag2 = false; + + if(c.equals("X")) { + b = ModBlocks.fwatz_scaffold; + flag2 = true; + } + if(c.equals("H")) { + b = ModBlocks.fwatz_hatch; + flag2 = true; + } + if(c.equals("S")) { + b = ModBlocks.fwatz_cooler; + flag2 = true; + } + if(c.equals("T")) { + b = ModBlocks.fwatz_tank; + flag2 = true; + } + if(c.equals("M")) { + b = ModBlocks.fwatz_conductor; + flag2 = true; + } + if(c.equals("C")) { + b = ModBlocks.fwatz_computer; + flag2 = true; + } + if(c.equals("#")) { + b = ModBlocks.fwatz_core; + flag2 = true; + } + + if(flag2) + if(world.getBlock(x + i, y + j, z + k) != b) + flag = false; + } + } + } + + return flag; + } + + public static void fillPlasma(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + + if(c.equals("P")) + world.setBlock(x + i, y + j, z + k, ModBlocks.fwatz_plasma); + } + } + } + } + + public static void emptyPlasma(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + + if(c.equals("P") && world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) + world.setBlock(x + i, y + j, z + k, Blocks.air); + } + } + } + } + + public static boolean getPlasma(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + boolean flag = false; + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + + if(c == "P" && world.getBlock(x + i, y + j, z + k) == ModBlocks.plasma) + flag = true; + } + } + } + + return flag; + } + + public static void uniteStructure() { + int x = 0; + fwatz[x][0] = s0101; + fwatz[x][1] = s0102; + fwatz[x][2] = s0103; + fwatz[x][3] = s0104; + fwatz[x][4] = s0105; + fwatz[x][5] = s0106; + fwatz[x][6] = s0107; + fwatz[x][7] = s0108; + fwatz[x][8] = s0109; + fwatz[x][9] = s0110; + fwatz[x][10] = s0111; + fwatz[x][11] = s0112; + fwatz[x][12] = s0113; + fwatz[x][13] = s0114; + fwatz[x][14] = s0115; + fwatz[x][15] = s0116; + fwatz[x][16] = s0117; + fwatz[x][17] = s0118; + fwatz[x][18] = s0119; + x++; + fwatz[x][0] = s0201; + fwatz[x][1] = s0202; + fwatz[x][2] = s0203; + fwatz[x][3] = s0204; + fwatz[x][4] = s0205; + fwatz[x][5] = s0206; + fwatz[x][6] = s0207; + fwatz[x][7] = s0208; + fwatz[x][8] = s0209; + fwatz[x][9] = s0210; + fwatz[x][10] = s0211; + fwatz[x][11] = s0212; + fwatz[x][12] = s0213; + fwatz[x][13] = s0214; + fwatz[x][14] = s0215; + fwatz[x][15] = s0216; + fwatz[x][16] = s0217; + fwatz[x][17] = s0218; + fwatz[x][18] = s0219; + x++; + fwatz[x][0] = s0301; + fwatz[x][1] = s0302; + fwatz[x][2] = s0303; + fwatz[x][3] = s0304; + fwatz[x][4] = s0305; + fwatz[x][5] = s0306; + fwatz[x][6] = s0307; + fwatz[x][7] = s0308; + fwatz[x][8] = s0309; + fwatz[x][9] = s0310; + fwatz[x][10] = s0311; + fwatz[x][11] = s0312; + fwatz[x][12] = s0313; + fwatz[x][13] = s0314; + fwatz[x][14] = s0315; + fwatz[x][15] = s0316; + fwatz[x][16] = s0317; + fwatz[x][17] = s0318; + fwatz[x][18] = s0319; + x++; + fwatz[x][0] = s0401; + fwatz[x][1] = s0402; + fwatz[x][2] = s0403; + fwatz[x][3] = s0404; + fwatz[x][4] = s0405; + fwatz[x][5] = s0406; + fwatz[x][6] = s0407; + fwatz[x][7] = s0408; + fwatz[x][8] = s0409; + fwatz[x][9] = s0410; + fwatz[x][10] = s0411; + fwatz[x][11] = s0412; + fwatz[x][12] = s0413; + fwatz[x][13] = s0414; + fwatz[x][14] = s0415; + fwatz[x][15] = s0416; + fwatz[x][16] = s0417; + fwatz[x][17] = s0418; + fwatz[x][18] = s0419; + x++; + fwatz[x][0] = s0501; + fwatz[x][1] = s0502; + fwatz[x][2] = s0503; + fwatz[x][3] = s0504; + fwatz[x][4] = s0505; + fwatz[x][5] = s0506; + fwatz[x][6] = s0507; + fwatz[x][7] = s0508; + fwatz[x][8] = s0509; + fwatz[x][9] = s0510; + fwatz[x][10] = s0511; + fwatz[x][11] = s0512; + fwatz[x][12] = s0513; + fwatz[x][13] = s0514; + fwatz[x][14] = s0515; + fwatz[x][15] = s0516; + fwatz[x][16] = s0517; + fwatz[x][17] = s0518; + fwatz[x][18] = s0519; + x++; + fwatz[x][0] = s0601; + fwatz[x][1] = s0602; + fwatz[x][2] = s0603; + fwatz[x][3] = s0604; + fwatz[x][4] = s0605; + fwatz[x][5] = s0606; + fwatz[x][6] = s0607; + fwatz[x][7] = s0608; + fwatz[x][8] = s0609; + fwatz[x][9] = s0610; + fwatz[x][10] = s0611; + fwatz[x][11] = s0612; + fwatz[x][12] = s0613; + fwatz[x][13] = s0614; + fwatz[x][14] = s0615; + fwatz[x][15] = s0616; + fwatz[x][16] = s0617; + fwatz[x][17] = s0618; + fwatz[x][18] = s0619; + x++; + fwatz[x][0] = s0701; + fwatz[x][1] = s0702; + fwatz[x][2] = s0703; + fwatz[x][3] = s0704; + fwatz[x][4] = s0705; + fwatz[x][5] = s0706; + fwatz[x][6] = s0707; + fwatz[x][7] = s0708; + fwatz[x][8] = s0709; + fwatz[x][9] = s0710; + fwatz[x][10] = s0711; + fwatz[x][11] = s0712; + fwatz[x][12] = s0713; + fwatz[x][13] = s0714; + fwatz[x][14] = s0715; + fwatz[x][15] = s0716; + fwatz[x][16] = s0717; + fwatz[x][17] = s0718; + fwatz[x][18] = s0719; + x++; + fwatz[x][0] = s0801; + fwatz[x][1] = s0802; + fwatz[x][2] = s0803; + fwatz[x][3] = s0804; + fwatz[x][4] = s0805; + fwatz[x][5] = s0806; + fwatz[x][6] = s0807; + fwatz[x][7] = s0808; + fwatz[x][8] = s0809; + fwatz[x][9] = s0810; + fwatz[x][10] = s0811; + fwatz[x][11] = s0812; + fwatz[x][12] = s0813; + fwatz[x][13] = s0814; + fwatz[x][14] = s0815; + fwatz[x][15] = s0816; + fwatz[x][16] = s0817; + fwatz[x][17] = s0818; + fwatz[x][18] = s0819; + x++; + fwatz[x][0] = s0901; + fwatz[x][1] = s0902; + fwatz[x][2] = s0903; + fwatz[x][3] = s0904; + fwatz[x][4] = s0905; + fwatz[x][5] = s0906; + fwatz[x][6] = s0907; + fwatz[x][7] = s0908; + fwatz[x][8] = s0909; + fwatz[x][9] = s0910; + fwatz[x][10] = s0911; + fwatz[x][11] = s0912; + fwatz[x][12] = s0913; + fwatz[x][13] = s0914; + fwatz[x][14] = s0915; + fwatz[x][15] = s0916; + fwatz[x][16] = s0917; + fwatz[x][17] = s0918; + fwatz[x][18] = s0919; + x++; + fwatz[x][0] = s1001; + fwatz[x][1] = s1002; + fwatz[x][2] = s1003; + fwatz[x][3] = s1004; + fwatz[x][4] = s1005; + fwatz[x][5] = s1006; + fwatz[x][6] = s1007; + fwatz[x][7] = s1008; + fwatz[x][8] = s1009; + fwatz[x][9] = s1010; + fwatz[x][10] = s1011; + fwatz[x][11] = s1012; + fwatz[x][12] = s1013; + fwatz[x][13] = s1014; + fwatz[x][14] = s1015; + fwatz[x][15] = s1016; + fwatz[x][16] = s1017; + fwatz[x][17] = s1018; + fwatz[x][18] = s1019; + x++; + fwatz[x][0] = s1101; + fwatz[x][1] = s1102; + fwatz[x][2] = s1103; + fwatz[x][3] = s1104; + fwatz[x][4] = s1105; + fwatz[x][5] = s1106; + fwatz[x][6] = s1107; + fwatz[x][7] = s1108; + fwatz[x][8] = s1109; + fwatz[x][9] = s1110; + fwatz[x][10] = s1111; + fwatz[x][11] = s1112; + fwatz[x][12] = s1113; + fwatz[x][13] = s1114; + fwatz[x][14] = s1115; + fwatz[x][15] = s1116; + fwatz[x][16] = s1117; + fwatz[x][17] = s1118; + fwatz[x][18] = s1119; + x++; + fwatz[x][0] = s1201; + fwatz[x][1] = s1202; + fwatz[x][2] = s1203; + fwatz[x][3] = s1204; + fwatz[x][4] = s1205; + fwatz[x][5] = s1206; + fwatz[x][6] = s1207; + fwatz[x][7] = s1208; + fwatz[x][8] = s1209; + fwatz[x][9] = s1210; + fwatz[x][10] = s1211; + fwatz[x][11] = s1212; + fwatz[x][12] = s1213; + fwatz[x][13] = s1214; + fwatz[x][14] = s1215; + fwatz[x][15] = s1216; + fwatz[x][16] = s1217; + fwatz[x][17] = s1218; + fwatz[x][18] = s1219; + x++; + fwatz[x][0] = s1301; + fwatz[x][1] = s1302; + fwatz[x][2] = s1303; + fwatz[x][3] = s1304; + fwatz[x][4] = s1305; + fwatz[x][5] = s1306; + fwatz[x][6] = s1307; + fwatz[x][7] = s1308; + fwatz[x][8] = s1309; + fwatz[x][9] = s1310; + fwatz[x][10] = s1311; + fwatz[x][11] = s1312; + fwatz[x][12] = s1313; + fwatz[x][13] = s1314; + fwatz[x][14] = s1315; + fwatz[x][15] = s1316; + fwatz[x][16] = s1317; + fwatz[x][17] = s1318; + fwatz[x][18] = s1319; + x++; + fwatz[x][0] = s1401; + fwatz[x][1] = s1402; + fwatz[x][2] = s1403; + fwatz[x][3] = s1404; + fwatz[x][4] = s1405; + fwatz[x][5] = s1406; + fwatz[x][6] = s1407; + fwatz[x][7] = s1408; + fwatz[x][8] = s1409; + fwatz[x][9] = s1410; + fwatz[x][10] = s1411; + fwatz[x][11] = s1412; + fwatz[x][12] = s1413; + fwatz[x][13] = s1414; + fwatz[x][14] = s1415; + fwatz[x][15] = s1416; + fwatz[x][16] = s1417; + fwatz[x][17] = s1418; + fwatz[x][18] = s1419; + x++; + fwatz[x][0] = s1501; + fwatz[x][1] = s1502; + fwatz[x][2] = s1503; + fwatz[x][3] = s1504; + fwatz[x][4] = s1505; + fwatz[x][5] = s1506; + fwatz[x][6] = s1507; + fwatz[x][7] = s1508; + fwatz[x][8] = s1509; + fwatz[x][9] = s1510; + fwatz[x][10] = s1511; + fwatz[x][11] = s1512; + fwatz[x][12] = s1513; + fwatz[x][13] = s1514; + fwatz[x][14] = s1515; + fwatz[x][15] = s1516; + fwatz[x][16] = s1517; + fwatz[x][17] = s1518; + fwatz[x][18] = s1519; + x++; + fwatz[x][0] = s1601; + fwatz[x][1] = s1602; + fwatz[x][2] = s1603; + fwatz[x][3] = s1604; + fwatz[x][4] = s1605; + fwatz[x][5] = s1606; + fwatz[x][6] = s1607; + fwatz[x][7] = s1608; + fwatz[x][8] = s1609; + fwatz[x][9] = s1610; + fwatz[x][10] = s1611; + fwatz[x][11] = s1612; + fwatz[x][12] = s1613; + fwatz[x][13] = s1614; + fwatz[x][14] = s1615; + fwatz[x][15] = s1616; + fwatz[x][16] = s1617; + fwatz[x][17] = s1618; + fwatz[x][18] = s1619; + x++; + fwatz[x][0] = s1701; + fwatz[x][1] = s1702; + fwatz[x][2] = s1703; + fwatz[x][3] = s1704; + fwatz[x][4] = s1705; + fwatz[x][5] = s1706; + fwatz[x][6] = s1707; + fwatz[x][7] = s1708; + fwatz[x][8] = s1709; + fwatz[x][9] = s1710; + fwatz[x][10] = s1711; + fwatz[x][11] = s1712; + fwatz[x][12] = s1713; + fwatz[x][13] = s1714; + fwatz[x][14] = s1715; + fwatz[x][15] = s1716; + fwatz[x][16] = s1717; + fwatz[x][17] = s1718; + fwatz[x][18] = s1719; + x++; + fwatz[x][0] = s1801; + fwatz[x][1] = s1802; + fwatz[x][2] = s1803; + fwatz[x][3] = s1804; + fwatz[x][4] = s1805; + fwatz[x][5] = s1806; + fwatz[x][6] = s1807; + fwatz[x][7] = s1808; + fwatz[x][8] = s1809; + fwatz[x][9] = s1810; + fwatz[x][10] = s1811; + fwatz[x][11] = s1812; + fwatz[x][12] = s1813; + fwatz[x][13] = s1814; + fwatz[x][14] = s1815; + fwatz[x][15] = s1816; + fwatz[x][16] = s1817; + fwatz[x][17] = s1818; + fwatz[x][18] = s1819; + x++; + fwatz[x][0] = s1901; + fwatz[x][1] = s1902; + fwatz[x][2] = s1903; + fwatz[x][3] = s1904; + fwatz[x][4] = s1905; + fwatz[x][5] = s1906; + fwatz[x][6] = s1907; + fwatz[x][7] = s1908; + fwatz[x][8] = s1909; + fwatz[x][9] = s1910; + fwatz[x][10] = s1911; + fwatz[x][11] = s1912; + fwatz[x][12] = s1913; + fwatz[x][13] = s1914; + fwatz[x][14] = s1915; + fwatz[x][15] = s1916; + fwatz[x][16] = s1917; + fwatz[x][17] = s1918; + fwatz[x][18] = s1919; + + } + +} \ No newline at end of file