updated textures, item abilities, code cleanup
@ -68,6 +68,12 @@ potion.hbm_radaway=Radaway
|
||||
potion.hbm_telekinesis=! ! !
|
||||
potion.hbm_phosphorus=Phosphorverbrennung
|
||||
|
||||
tool.ability.recursion=Erzadern-Miner
|
||||
tool.ability.hammer=AoE
|
||||
tool.ability.smelter=Auto-Ofen
|
||||
tool.ability.shredder=Auto-Brecher
|
||||
tool.ability.cnetrifuge=Auto-Zentrifuge
|
||||
|
||||
hbmfluid.none=Nichts
|
||||
hbmfluid.water=Wasser
|
||||
hbmfluid.steam=Dampf
|
||||
@ -107,6 +113,7 @@ hbmfluid.hydrogen=Flüssiger Wasserstoff
|
||||
hbmfluid.oxygen=Flüssiger Sauerstoff
|
||||
hbmfluid.xenon=Xenongas
|
||||
hbmfluid.balefire=BF-Raketentreibstoff
|
||||
hbmfluid.mercury=Quecksilber
|
||||
|
||||
chem.TEST=Test
|
||||
chem.FP_HEAVYOIL=Schwerölverarbeitung
|
||||
@ -167,6 +174,7 @@ chem.KEVLAR=Kevlarverbundherstellung
|
||||
chem.SOLID_FUEL=Festbrennstoffherstellung
|
||||
chem.ELECTROLYSIS=Kryo-Elektrolyse
|
||||
chem.XENON=Lindeverfahren (Xenon)
|
||||
chem.SATURN=Saturnitherstellung
|
||||
|
||||
item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core
|
||||
item.record.ss.desc=Valve - Sector Sweep
|
||||
@ -700,7 +708,7 @@ item.powder_spark_mix.name=Sparkmischung
|
||||
item.ingot_dineutronium.name=Dineutroniumbarren
|
||||
item.powder_dineutronium.name=Dineutroniumstaub
|
||||
item.nugget_dineutronium.name=Dineutroniumnugget
|
||||
item.ingot_starmetal.name=Sternenmetallbarren
|
||||
item.ingot_starmetal.name=§9Sternenmetallbarren§r
|
||||
item.ingot_saturnite.name=Saturnitbarren
|
||||
item.plate_saturnite.name=Saturnitplatte
|
||||
item.ingot_fiberglass.name=Fiberglasstafel
|
||||
@ -806,17 +814,21 @@ tile.block_daffergon.name=Daffergonblock
|
||||
tile.block_verticium.name=Verticiumblock
|
||||
tile.block_desh.name=Verstärketer Deshblock
|
||||
tile.block_yellowcake.name=Yellowcakeblock
|
||||
tile.block_starmetal.name=Sternenmetallblock
|
||||
tile.block_starmetal.name=§9Sternenmetallblock§r
|
||||
tile.block_insulator.name=Isolatorrolle
|
||||
tile.block_fiberglass.name=Fiberglasrolle
|
||||
tile.block_asbestos.name=Asbestblock
|
||||
tile.block_cobalt.name=Kobaltblock
|
||||
tile.block_lithium.name=Lithiumblock
|
||||
tile.block_white_phosphorus.name=Weißer Phosphorblock
|
||||
tile.block_red_phosphorus.name=Roter Phosphorblock
|
||||
|
||||
tile.block_u233.name=U233-Block
|
||||
tile.block_u235.name=U235-Block
|
||||
tile.block_u238.name=U238-Block
|
||||
tile.block_neptunium.name=NeptuniumBlock
|
||||
tile.block_uranium_fuel.name=Urankernbrennstoffblock
|
||||
tile.block_mox_fuel.name=MOX-Kernbrennstoffblock
|
||||
tile.block_plutonium.name=Plutoniumblock
|
||||
tile.block_pu238.name=Pu238-Block
|
||||
tile.block_pu239.name=Pu239-Block
|
||||
@ -844,7 +856,7 @@ tile.ore_nether_uranium.name=Nether-Uranerz
|
||||
tile.ore_nether_plutonium.name=Nether-Plutoniumerz
|
||||
tile.ore_nether_tungsten.name=Nether-Wolframerz
|
||||
tile.ore_nether_sulfur.name=Nether-Schwefelerz
|
||||
tile.ore_nether_fire.name=Feuererz
|
||||
tile.ore_nether_fire.name=Nether-Phosphorerz
|
||||
tile.ore_nether_schrabidium.name=Nether-Schrabidiumerz
|
||||
|
||||
tile.ore_meteor_aluminium.name=Meteoriten-Aluminiumerz
|
||||
@ -1250,7 +1262,7 @@ item.flame_opinion.name=Eigene Meinung
|
||||
item.pellet_cluster.name=Explosive Pellets
|
||||
item.pellet_buckshot.name=Schrotkugeln
|
||||
item.pellet_flechette.name=Flechets
|
||||
item.powder_fire.name=Flammenpulver
|
||||
item.powder_fire.name=Roter Phosphor
|
||||
item.powder_ice.name=Kryopulver
|
||||
item.powder_poison.name=Giftpulver
|
||||
item.pellet_gas.name=Giftgaskatusche
|
||||
@ -1469,6 +1481,7 @@ item.gun_b93.name=§cB93 Energiemod§r
|
||||
item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp
|
||||
item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte
|
||||
item.gun_immolator.name=Der Immolator
|
||||
item.gun_flamer.name=Herr Topaz
|
||||
item.gun_cryolator.name=Der Cryolator
|
||||
item.gun_mp.name=Maschinengewehr des Pazifisten
|
||||
item.gun_zomg.name=Singularitätsbetriebener Paarvernichtungsstrahl "ZOMG Kanone"
|
||||
@ -1588,6 +1601,10 @@ item.ammo_grenade_concussion.name=40mm Granate (Erschütterung)
|
||||
item.ammo_grenade_finned.name=40mm Granate (Geflügelt)
|
||||
item.ammo_grenade_nuclear.name=40mm Granate (Привет)
|
||||
item.ammo_grenade_sleek.name=40mm Granate (IF-F&E)
|
||||
item.ammo_fuel.name=Dieselkatusche
|
||||
item.ammo_fuel_napalm.name=Napalmkatusche
|
||||
item.ammo_fuel_phosphorus.name=WP-Katusche
|
||||
item.ammo_fuel_gas.name=Gaskatusche
|
||||
|
||||
item.folly_shell.name=Silberne Kanonenhülse
|
||||
item.folly_bullet.name=12,8cm Sternenmetall-Hochenergiegeschoss
|
||||
@ -2063,6 +2080,14 @@ item.security_helmet.name=Sicherheitshelm
|
||||
item.security_plate.name=Sicherheitsbrustpanzer
|
||||
item.security_legs.name=Sicherheitsbeinschutz
|
||||
item.security_boots.name=Sicherheitsstiefel
|
||||
item.cobalt_helmet.name=Kobalthelm
|
||||
item.cobalt_plate.name=Kobaltbrustpanzer
|
||||
item.cobalt_legs.name=Kobaltbeinschutz
|
||||
item.cobalt_boots.name=Kobaltstiefel
|
||||
item.starmetal_helmet.name=Sternenmetallhelm
|
||||
item.starmetal_plate.name=Sternenmetallbrustpanzer
|
||||
item.starmetal_legs.name=Sternenmetallbeinschutz
|
||||
item.starmetal_boots.name=Sternenmetallstiefel
|
||||
|
||||
item.steel_sword.name=Stahlschwert
|
||||
item.steel_pickaxe.name=Stahlspitzhacke
|
||||
|
||||
@ -68,6 +68,12 @@ potion.hbm_radaway=Radaway
|
||||
potion.hbm_telekinesis=! ! !
|
||||
potion.hbm_phosphorus=Phosphorus Burns
|
||||
|
||||
tool.ability.recursion=Vein Miner
|
||||
tool.ability.hammer=AoE
|
||||
tool.ability.smelter=Auto-Smelter
|
||||
tool.ability.shredder=Auto-Shredder
|
||||
tool.ability.centrifuge=Auto-Centrifuge
|
||||
|
||||
hbmfluid.none=None
|
||||
hbmfluid.water=Water
|
||||
hbmfluid.steam=Steam
|
||||
@ -107,6 +113,7 @@ hbmfluid.hydrogen=Liquid Hydrogen
|
||||
hbmfluid.oxygen=Liquid Oxygen
|
||||
hbmfluid.xenon=Xenon Gas
|
||||
hbmfluid.balefire=BF Rocket Fuel
|
||||
hbmfluid.mercury=Mercury
|
||||
|
||||
chem.TEST=Test
|
||||
chem.FP_HEAVYOIL=Heavy Oil Processing
|
||||
@ -167,6 +174,7 @@ chem.KEVLAR=Kevlar Compound Production
|
||||
chem.SOLID_FUEL=Solid Rocket Fuel Production
|
||||
chem.ELECTROLYSIS=Cryo-Electrolysis
|
||||
chem.XENON=Linde Xenon Cycle
|
||||
chem.SATURN=Saturnite Production
|
||||
|
||||
item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core
|
||||
item.record.ss.desc=Valve - Sector Sweep
|
||||
@ -700,7 +708,7 @@ item.powder_spark_mix.name=Spark Blend
|
||||
item.ingot_dineutronium.name=Dineutronium Ingot
|
||||
item.powder_dineutronium.name=Dineutronium Powder
|
||||
item.nugget_dineutronium.name=Dineutronium Nugget
|
||||
item.ingot_starmetal.name=Starmetal Ingot
|
||||
item.ingot_starmetal.name=§9Starmetal Ingot§r
|
||||
item.ingot_saturnite.name=Saturnite Ingot
|
||||
item.plate_saturnite.name=Saturnite Plate
|
||||
item.ingot_fiberglass.name=Fiberglass Bar
|
||||
@ -806,17 +814,21 @@ tile.block_daffergon.name=Block of Daffergon
|
||||
tile.block_verticium.name=Block of Verticium
|
||||
tile.block_desh.name=Reinforced Block of Desh
|
||||
tile.block_yellowcake.name=Block of Yellowcake
|
||||
tile.block_starmetal.name=Block of Starmetal
|
||||
tile.block_starmetal.name=§9Block of Starmetal§r
|
||||
tile.block_insulator.name=Roll of Insulation
|
||||
tile.block_fiberglass.name=Roll of Fiberglass
|
||||
tile.block_asbestos.name=Block of Asbestos
|
||||
tile.block_cobalt.name=Block of Cobalt
|
||||
tile.block_lithium.name=Block of Lithium
|
||||
tile.block_white_phosphorus.name=Block of White Phosphorus
|
||||
tile.block_red_phosphorus.name=Block of Red Phosphorus
|
||||
|
||||
tile.block_u233.name=Block of U233
|
||||
tile.block_u235.name=Block of U235
|
||||
tile.block_u238.name=Block of U238
|
||||
tile.block_neptunium.name=Block of Neptunium
|
||||
tile.block_uranium_fuel.name=Block of Uranium Fuel
|
||||
tile.block_mox_fuel.name=Block of MOX Fuel
|
||||
tile.block_plutonium.name=Block of Plutonium
|
||||
tile.block_pu238.name=Block of Pu238
|
||||
tile.block_pu239.name=Block of Pu239
|
||||
@ -844,7 +856,7 @@ tile.ore_nether_uranium.name=Nether Uranium Ore
|
||||
tile.ore_nether_plutonium.name=Nether Plutonium Ore
|
||||
tile.ore_nether_tungsten.name=Nether Tungsten Ore
|
||||
tile.ore_nether_sulfur.name=Nether Sulfur Ore
|
||||
tile.ore_nether_fire.name=Fire Ore
|
||||
tile.ore_nether_fire.name=Nether Phosphorus Ore
|
||||
tile.ore_nether_schrabidium.name=Nether Schrabidium Ore
|
||||
|
||||
tile.ore_meteor_aluminium.name=Meteor Aluminium Ore
|
||||
@ -1250,7 +1262,7 @@ item.flame_opinion.name=Own Opinion
|
||||
item.pellet_cluster.name=Explosive Pellets
|
||||
item.pellet_buckshot.name=Lead Pellets
|
||||
item.pellet_flechette.name=Flechettes
|
||||
item.powder_fire.name=Flame Powder
|
||||
item.powder_fire.name=Red Phosphorus
|
||||
item.powder_ice.name=Cryo Powder
|
||||
item.powder_poison.name=Poison Powder
|
||||
item.pellet_gas.name=Poison Gas Cartridge
|
||||
@ -1469,6 +1481,7 @@ item.gun_b93.name=§cB93 Energy Mod§r
|
||||
item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype
|
||||
item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle
|
||||
item.gun_immolator.name=The Immolator
|
||||
item.gun_flamer.name=Mister Topaz
|
||||
item.gun_cryolator.name=The Cryolator
|
||||
item.gun_mp.name=Pacifist's Machine Gun
|
||||
item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon"
|
||||
@ -1588,6 +1601,10 @@ item.ammo_grenade_concussion.name=40mm Grenade (Concussion)
|
||||
item.ammo_grenade_finned.name=40mm Grenade (Finned)
|
||||
item.ammo_grenade_nuclear.name=40mm Grenade (Привет)
|
||||
item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D)
|
||||
item.ammo_fuel.name=Diesel Tank
|
||||
item.ammo_fuel_napalm.name=Napalm Tank
|
||||
item.ammo_fuel_phosphorus.name=WP Tank
|
||||
item.ammo_fuel_gas.name=Gas Tank
|
||||
|
||||
item.folly_shell.name=Silver Bullet Casing
|
||||
item.folly_bullet.name=12.8cm Starmetal High-Energy Shell
|
||||
@ -2063,6 +2080,14 @@ item.security_helmet.name=Security Helmet
|
||||
item.security_plate.name=Security Chestplate
|
||||
item.security_legs.name=Security Leggings
|
||||
item.security_boots.name=Security Boots
|
||||
item.cobalt_helmet.name=Cobalt Helmet
|
||||
item.cobalt_plate.name=Cobalt Chestplate
|
||||
item.cobalt_legs.name=Cobalt Leggings
|
||||
item.cobalt_boots.name=Cobalt Boots
|
||||
item.starmetal_helmet.name=Starmetal Helmet
|
||||
item.starmetal_plate.name=Starmetal Chestplate
|
||||
item.starmetal_legs.name=Starmetal Leggings
|
||||
item.starmetal_boots.name=Starmetal Boots
|
||||
|
||||
item.steel_sword.name=Steel Sword
|
||||
item.steel_pickaxe.name=Steel Pickaxe
|
||||
|
||||
1755
assets/hbm/models/weapons/flamer.obj
Normal file
@ -121,6 +121,7 @@
|
||||
"weapon.deagleShoot": {"category": "player", "sounds": [{"name": "weapon/deagleShoot", "stream": false}]},
|
||||
"weapon.tesla": {"category": "block", "sounds": ["weapon/tesla1", "weapon/tesla2", "weapon/tesla3", "weapon/tesla4"]},
|
||||
"weapon.teslaShoot": {"category": "player", "sounds": [{"name": "weapon/teslaShoot", "stream": false}]},
|
||||
"weapon.flamerReload": {"category": "player", "sounds": [{"name": "weapon/flamerReload", "stream": false}]},
|
||||
|
||||
"weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]},
|
||||
"weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]},
|
||||
|
||||
BIN
assets/hbm/sounds/weapon/flamerReload.ogg
Normal file
BIN
assets/hbm/textures/blocks/block_mox_fuel.png
Normal file
|
After Width: | Height: | Size: 626 B |
BIN
assets/hbm/textures/blocks/block_red_phosphorus.png
Normal file
|
After Width: | Height: | Size: 642 B |
|
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 577 B |
BIN
assets/hbm/textures/blocks/block_white_phosphorus.png
Normal file
|
After Width: | Height: | Size: 562 B |
BIN
assets/hbm/textures/blocks/mercury.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/hbm/textures/blocks/particle/particle_base.png
Normal file
|
After Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
BIN
assets/hbm/textures/gui/weapon/gui_turret.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
assets/hbm/textures/items/ammo_357_ender.png
Normal file
|
After Width: | Height: | Size: 316 B |
BIN
assets/hbm/textures/items/ammo_fuel.png
Normal file
|
After Width: | Height: | Size: 302 B |
BIN
assets/hbm/textures/items/ammo_fuel_gas.png
Normal file
|
After Width: | Height: | Size: 281 B |
BIN
assets/hbm/textures/items/ammo_fuel_napalm.png
Normal file
|
After Width: | Height: | Size: 296 B |
BIN
assets/hbm/textures/items/ammo_fuel_phosphorus.png
Normal file
|
After Width: | Height: | Size: 413 B |
BIN
assets/hbm/textures/items/chem_icon_SATURN.png
Normal file
|
After Width: | Height: | Size: 263 B |
|
Before Width: | Height: | Size: 221 B After Width: | Height: | Size: 288 B |
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 395 B |
|
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 266 B |
|
Before Width: | Height: | Size: 395 B |
|
Before Width: | Height: | Size: 507 B |
|
Before Width: | Height: | Size: 379 B |
|
Before Width: | Height: | Size: 356 B |
BIN
assets/hbm/textures/items/powder_red_phosphorus.png
Normal file
|
After Width: | Height: | Size: 611 B |
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 378 B |
BIN
assets/hbm/textures/models/weapons/flamer.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 675 B |
246
com/hbm/blocks/BlockDummyable.java
Normal file
@ -0,0 +1,246 @@
|
||||
package com.hbm.blocks;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.handler.MultiblockHandlerXR;
|
||||
import com.hbm.handler.ThreeInts;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public abstract class BlockDummyable extends BlockContainer {
|
||||
|
||||
public BlockDummyable(Material mat) {
|
||||
super(mat);
|
||||
this.setTickRandomly(true);
|
||||
}
|
||||
|
||||
/// BLOCK METADATA ///
|
||||
|
||||
//0-5 dummy rotation (for dummy neighbor checks)
|
||||
//6-11 extra (6 rotations with flag, for pipe connectors and the like)
|
||||
//12-15 block rotation (for rendering the TE)
|
||||
|
||||
//meta offset from dummy to TE rotation
|
||||
public static final int offset = 10;
|
||||
//meta offset from dummy to extra rotation
|
||||
public static final int extra = 6;
|
||||
|
||||
public static boolean safeRem = false;
|
||||
|
||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
|
||||
|
||||
super.onNeighborBlockChange(world, x, y, z, block);
|
||||
|
||||
if(world.isRemote)
|
||||
return;
|
||||
|
||||
int metadata = world.getBlockMetadata(x, y, z);
|
||||
|
||||
//if it's an extra, remove the extra-ness
|
||||
if(metadata >= extra)
|
||||
metadata -= extra;
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite();
|
||||
Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(b != this) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateTick(World world, int x, int y, int z, Random rand) {
|
||||
|
||||
super.updateTick(world, x, y, z, rand);
|
||||
|
||||
if(world.isRemote)
|
||||
return;
|
||||
|
||||
int metadata = world.getBlockMetadata(x, y, z);
|
||||
|
||||
//if it's an extra, remove the extra-ness
|
||||
if(metadata >= extra)
|
||||
metadata -= extra;
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite();
|
||||
Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(b != this) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int[] findCore(World world, int x, int y, int z) {
|
||||
positions.clear();
|
||||
return findCoreRec(world, x, y, z);
|
||||
}
|
||||
|
||||
List<ThreeInts> positions = new ArrayList();
|
||||
public int[] findCoreRec(World world, int x, int y, int z) {
|
||||
|
||||
ThreeInts pos = new ThreeInts(x, y, z);
|
||||
|
||||
int metadata = world.getBlockMetadata(x, y, z);
|
||||
|
||||
//if it's an extra, remove the extra-ness
|
||||
if(metadata >= extra)
|
||||
metadata -= extra;
|
||||
|
||||
//if the block matches and the orientation is "UNKNOWN", it's the core
|
||||
if(world.getBlock(x, y, z) == this && ForgeDirection.getOrientation(metadata) == ForgeDirection.UNKNOWN)
|
||||
return new int[] { x, y, z };
|
||||
|
||||
if(positions.contains(pos))
|
||||
return null;
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite();
|
||||
|
||||
Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(b != this) {
|
||||
return null;
|
||||
}
|
||||
|
||||
positions.add(pos);
|
||||
|
||||
return findCoreRec(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
|
||||
|
||||
if(!(player instanceof EntityPlayer))
|
||||
return;
|
||||
|
||||
EntityPlayer pl = (EntityPlayer) player;
|
||||
|
||||
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
|
||||
int o = -getOffset();
|
||||
|
||||
ForgeDirection dir = ForgeDirection.NORTH;
|
||||
|
||||
if(i == 0)
|
||||
{
|
||||
dir = ForgeDirection.getOrientation(2);
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
dir = ForgeDirection.getOrientation(5);
|
||||
}
|
||||
if(i == 2)
|
||||
{
|
||||
dir = ForgeDirection.getOrientation(3);
|
||||
}
|
||||
if(i == 3)
|
||||
{
|
||||
dir = ForgeDirection.getOrientation(4);
|
||||
}
|
||||
|
||||
if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
|
||||
if(!pl.capabilities.isCreativeMode) {
|
||||
ItemStack stack = pl.inventory.mainInventory[pl.inventory.currentItem];
|
||||
Item item = Item.getItemFromBlock(this);
|
||||
|
||||
if(stack == null) {
|
||||
pl.inventory.mainInventory[pl.inventory.currentItem] = new ItemStack(this);
|
||||
} else {
|
||||
if(stack.getItem() != item || stack.stackSize == stack.getMaxStackSize()) {
|
||||
pl.inventory.addItemStackToInventory(new ItemStack(this));
|
||||
} else {
|
||||
pl.getHeldItem().stackSize++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
world.setBlock(x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, this, dir.ordinal() + offset, 3);
|
||||
MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), this, dir);
|
||||
world.scheduleBlockUpdate(x, y, z, this, 1);
|
||||
world.scheduleBlockUpdate(x, y, z, this, 2);
|
||||
|
||||
super.onBlockPlacedBy(world, x, y, z, player, itemStack);
|
||||
}
|
||||
|
||||
//"upgrades" regular dummy blocks to ones with the extra flag
|
||||
public void makeExtra(World world, int x, int y, int z) {
|
||||
|
||||
if(world.getBlock(x, y, z) != this)
|
||||
return;
|
||||
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
if(meta > 5)
|
||||
return;
|
||||
|
||||
//world.setBlockMetadataWithNotify(x, y, z, meta + extra, 3);
|
||||
this.safeRem = true;
|
||||
world.setBlock(x, y, z, this, meta + extra, 3);
|
||||
this.safeRem = false;
|
||||
|
||||
}
|
||||
|
||||
//checks if the dummy metadata is within the extra range
|
||||
public boolean hasExtra(int meta) {
|
||||
|
||||
return meta > 5 && meta < 12;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, int x, int y, int z, Block b, int i)
|
||||
{
|
||||
if(i >= 12) {
|
||||
//ForgeDirection d = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - offset);
|
||||
//MultiblockHandler.emptySpace(world, x, y, z, getDimensions(), this, d);
|
||||
} else if(!safeRem) {
|
||||
|
||||
if(i >= extra)
|
||||
i -= extra;
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(i).getOpposite();
|
||||
int[] pos = findCore(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(pos != null) {
|
||||
|
||||
//ForgeDirection d = ForgeDirection.getOrientation(world.getBlockMetadata(pos[0], pos[1], pos[2]) - offset);
|
||||
world.setBlockToAir(pos[0], pos[1], pos[2]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
super.breakBlock(world, x, y, z, b, i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public abstract int[] getDimensions();
|
||||
public abstract int getOffset();
|
||||
|
||||
}
|
||||
@ -99,6 +99,7 @@ public class ModBlocks {
|
||||
public static Block block_u238;
|
||||
public static Block block_uranium_fuel;
|
||||
public static Block block_neptunium;
|
||||
public static Block block_mox_fuel;
|
||||
public static Block block_plutonium;
|
||||
public static Block block_pu238;
|
||||
public static Block block_pu239;
|
||||
@ -131,10 +132,13 @@ public class ModBlocks {
|
||||
public static Block block_desh;
|
||||
public static Block block_starmetal;
|
||||
public static Block block_yellowcake;
|
||||
public static Block block_insulator;
|
||||
public static Block block_fiberglass;
|
||||
public static Block block_asbestos;
|
||||
public static Block block_cobalt;
|
||||
public static Block block_lithium;
|
||||
public static Block block_white_phosphorus;
|
||||
public static Block block_red_phosphorus;
|
||||
|
||||
public static Block block_australium;
|
||||
public static Block block_weidanium;
|
||||
@ -833,6 +837,7 @@ public class ModBlocks {
|
||||
block_thorium = new BlockGeneric(Material.iron).setBlockName("block_thorium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium");
|
||||
block_thorium_fuel = new BlockGeneric(Material.iron).setBlockName("block_thorium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium_fuel");
|
||||
block_neptunium = new BlockOre(Material.iron, 10F, 100F).setBlockName("block_neptunium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_neptunium");
|
||||
block_mox_fuel = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_mox_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_mox_fuel");
|
||||
block_plutonium = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_plutonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium");
|
||||
block_pu238 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_pu238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu238");
|
||||
block_pu239 = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_pu239").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu239");
|
||||
@ -857,18 +862,21 @@ public class ModBlocks {
|
||||
block_solinium = new BlockGeneric(Material.iron).setBlockName("block_solinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_solinium");
|
||||
block_schrabidium_fuel = new BlockOre(Material.iron, 20F, 250F).setBlockName("block_schrabidium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_fuel");
|
||||
block_euphemium = new BlockGeneric(Material.iron).setBlockName("block_euphemium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium");
|
||||
block_schrabidium_cluster = new BlockGenericPillar(Material.rock).setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F);
|
||||
block_euphemium_cluster = new BlockGenericPillar(Material.rock).setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F);
|
||||
block_schrabidium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_schrabidium_cluster_top").setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_cluster_side");
|
||||
block_euphemium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_euphemium_cluster_top").setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium_cluster_side");
|
||||
block_advanced_alloy = new BlockGeneric(Material.iron).setBlockName("block_advanced_alloy").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_advanced_alloy");
|
||||
block_magnetized_tungsten = new BlockGeneric(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten");
|
||||
block_combine_steel = new BlockGeneric(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel");
|
||||
block_desh = new BlockGeneric(Material.iron).setBlockName("block_desh").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_desh");
|
||||
block_starmetal = new BlockGeneric(Material.iron).setBlockName("block_starmetal").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_starmetal");
|
||||
block_yellowcake = new BlockFallingRad(Material.sand, 0.5F, 3F).setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake");
|
||||
block_fiberglass = new BlockReactor(Material.cloth).setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F);
|
||||
block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side");
|
||||
block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side");
|
||||
block_asbestos = new BlockGeneric(Material.cloth).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos");
|
||||
block_cobalt = new BlockGeneric(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt");
|
||||
block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium");
|
||||
block_white_phosphorus = new BlockGeneric(Material.rock).setBlockName("block_white_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_white_phosphorus");
|
||||
block_red_phosphorus = new BlockFalling(Material.sand).setStepSound(Block.soundTypeSand).setBlockName("block_red_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_phosphorus");
|
||||
|
||||
block_australium = new BlockGeneric(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium");
|
||||
block_weidanium = new BlockGeneric(Material.iron).setBlockName("block_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_weidanium");
|
||||
@ -921,9 +929,9 @@ public class ModBlocks {
|
||||
meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy");
|
||||
meteor_brick_cracked = new BlockGeneric(Material.rock).setBlockName("meteor_brick_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_cracked");
|
||||
meteor_brick_chiseled = new BlockGeneric(Material.rock).setBlockName("meteor_brick_chiseled").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_chiseled");
|
||||
meteor_pillar = new BlockGenericPillar(Material.rock).setBlockName("meteor_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F);
|
||||
meteor_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":meteor_pillar_top").setBlockName("meteor_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_pillar_top");
|
||||
meteor_spawner = new BlockCybercrab(Material.rock).setBlockName("meteor_spawner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F);
|
||||
meteor_battery = new BlockReactor(Material.rock).setBlockName("meteor_battery").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F);
|
||||
meteor_battery = new BlockPillar(Material.rock, RefStrings.MODID + ":meteor_power").setBlockName("meteor_battery").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_spawner_side");
|
||||
|
||||
tape_recorder = new DecoTapeRecorder(Material.rock).setBlockName("tape_recorder").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder");
|
||||
steel_poles = new DecoSteelPoles(Material.rock).setBlockName("steel_poles").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam");
|
||||
@ -1103,39 +1111,39 @@ public class ModBlocks {
|
||||
|
||||
factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
|
||||
factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace");
|
||||
factory_titanium_conductor = new BlockReactor(Material.iron).setBlockName("factory_titanium_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_conductor");
|
||||
factory_titanium_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_titanium_conductor").setBlockName("factory_titanium_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
|
||||
factory_titanium_core = new FactoryCoreTitanium(Material.iron).setBlockName("factory_titanium_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_core");
|
||||
factory_advanced_hull = new BlockGeneric(Material.iron).setBlockName("factory_advanced_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull");
|
||||
factory_advanced_furnace = new FactoryHatch(Material.iron).setBlockName("factory_advanced_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_furnace");
|
||||
factory_advanced_conductor = new BlockReactor(Material.iron).setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_conductor");
|
||||
factory_advanced_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_advanced_conductor").setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull");
|
||||
factory_advanced_core = new FactoryCoreAdvanced(Material.iron).setBlockName("factory_advanced_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_core");
|
||||
|
||||
reactor_element = new BlockReactor(Material.iron).setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side");
|
||||
reactor_control = new BlockReactor(Material.iron).setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side");
|
||||
reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side");
|
||||
reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side");
|
||||
reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
|
||||
reactor_ejector = new BlockRotatable(Material.iron).setBlockName("reactor_ejector").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
|
||||
reactor_inserter = new BlockRotatable(Material.iron).setBlockName("reactor_inserter").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
|
||||
reactor_conductor = new BlockReactor(Material.iron).setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side");
|
||||
reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side");
|
||||
reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer");
|
||||
|
||||
fusion_conductor = new BlockReactor(Material.iron).setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side");
|
||||
fusion_center = new BlockReactor(Material.iron).setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side");
|
||||
fusion_motor = new BlockReactor(Material.iron).setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side");
|
||||
fusion_heater = new BlockReactor(Material.iron).setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side");
|
||||
fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_steel").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt3");
|
||||
fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt");
|
||||
fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt");
|
||||
fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side");
|
||||
fusion_hatch = new FusionHatch(Material.iron).setBlockName("fusion_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_hatch");
|
||||
fusion_core = new FusionCore(Material.iron).setBlockName("fusion_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_core_side");
|
||||
plasma = new BlockPlasma(Material.iron).setBlockName("plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma");
|
||||
|
||||
watz_element = new BlockReactor(Material.iron).setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element");
|
||||
watz_control = new BlockReactor(Material.iron).setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control");
|
||||
watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side");
|
||||
watz_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side");
|
||||
watz_cooler = new BlockGeneric(Material.iron).setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler");
|
||||
watz_end = new BlockGeneric(Material.iron).setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_end");
|
||||
watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch");
|
||||
watz_conductor = new BlockReactor(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor");
|
||||
watz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_conductor_top").setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_side");
|
||||
watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer");
|
||||
|
||||
fwatz_conductor = new BlockReactor(Material.iron).setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor");
|
||||
fwatz_cooler = new BlockReactor(Material.iron).setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler");
|
||||
fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side");
|
||||
fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler");
|
||||
fwatz_tank = new ReinforcedBlock(Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_tank");
|
||||
fwatz_scaffold = new BlockGeneric(Material.iron).setBlockName("fwatz_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_scaffold");
|
||||
fwatz_hatch = new FWatzHatch(Material.iron).setBlockName("fwatz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer");
|
||||
@ -1432,6 +1440,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(block_u238, block_u238.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_uranium_fuel, block_uranium_fuel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_neptunium, block_neptunium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_mox_fuel, block_mox_fuel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_plutonium, block_plutonium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_pu238, block_pu238.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_pu239, block_pu239.getUnlocalizedName());
|
||||
@ -1453,9 +1462,12 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(block_steel, block_steel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_lead, block_lead.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_lithium, ItemBlockLore.class, block_lithium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_white_phosphorus, block_white_phosphorus.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_red_phosphorus, block_red_phosphorus.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_yellowcake, block_yellowcake.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_scrap, block_scrap.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_electrical_scrap, block_electrical_scrap.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_insulator, block_insulator.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_fiberglass, block_fiberglass.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_asbestos, block_asbestos.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName());
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.blocks.fluid;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -73,19 +73,8 @@ public class MudBlock extends BlockFluidClassic {
|
||||
@Override
|
||||
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 EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer) entity)) { } else {
|
||||
entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
|
||||
@ -49,10 +49,10 @@ public class BarbedWire extends Block {
|
||||
ent.attackEntityFrom(DamageSource.cactus, 2.0F);
|
||||
|
||||
if(ent instanceof EntityPlayer) {
|
||||
Library.damageSuit((EntityPlayer)ent, 0, 1);
|
||||
Library.damageSuit((EntityPlayer)ent, 1, 1);
|
||||
Library.damageSuit((EntityPlayer)ent, 2, 1);
|
||||
Library.damageSuit((EntityPlayer)ent, 3, 1);
|
||||
ArmorUtil.damageSuit((EntityPlayer)ent, 0, 1);
|
||||
ArmorUtil.damageSuit((EntityPlayer)ent, 1, 1);
|
||||
ArmorUtil.damageSuit((EntityPlayer)ent, 2, 1);
|
||||
ArmorUtil.damageSuit((EntityPlayer)ent, 3, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2,8 +2,7 @@ package com.hbm.blocks.generic;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.lib.Library;
|
||||
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
@ -68,10 +67,10 @@ public class BlockClorine extends Block {
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity)
|
||||
{
|
||||
if (entity instanceof EntityPlayer && Library.checkForGasMask((EntityPlayer) entity)) {
|
||||
if (entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity)) {
|
||||
|
||||
if(world.rand.nextInt(25) == 0)
|
||||
Library.damageSuit((EntityPlayer)entity, 3, world.rand.nextInt(2));
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 3, world.rand.nextInt(2));
|
||||
|
||||
} else if (entity instanceof EntityLivingBase) {
|
||||
((EntityLivingBase) entity)
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockRotatedPillar;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
public class BlockGenericPillar extends BlockRotatedPillar {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected IIcon iconSide;
|
||||
|
||||
public BlockGenericPillar(Material p_i45425_1_) {
|
||||
super(p_i45425_1_);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister reg)
|
||||
{
|
||||
if(this == ModBlocks.meteor_pillar) {
|
||||
this.field_150164_N = reg.registerIcon(RefStrings.MODID + ":meteor_pillar_top");
|
||||
this.iconSide = reg.registerIcon(RefStrings.MODID + ":meteor_pillar");
|
||||
}
|
||||
if(this == ModBlocks.block_schrabidium_cluster) {
|
||||
this.field_150164_N = reg.registerIcon(RefStrings.MODID + ":block_schrabidium_cluster_top");
|
||||
this.iconSide = reg.registerIcon(RefStrings.MODID + ":block_schrabidium_cluster_side");
|
||||
}
|
||||
if(this == ModBlocks.block_euphemium_cluster) {
|
||||
this.field_150164_N = reg.registerIcon(RefStrings.MODID + ":block_euphemium_cluster_top");
|
||||
this.iconSide = reg.registerIcon(RefStrings.MODID + ":block_euphemium_cluster_side");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IIcon getSideIcon(int p_150163_1_) {
|
||||
return iconSide;
|
||||
}
|
||||
|
||||
}
|
||||
@ -74,7 +74,7 @@ public class BlockOre extends Block {
|
||||
}
|
||||
if(this == ModBlocks.ore_nether_fire)
|
||||
{
|
||||
return rand.nextInt(3) == 0 ? ModItems.ingot_phosphorus : Items.blaze_powder;
|
||||
return rand.nextInt(10) == 0 ? ModItems.ingot_phosphorus : ModItems.powder_fire;
|
||||
}
|
||||
if(this == ModBlocks.block_meteor)
|
||||
{
|
||||
|
||||
34
com/hbm/blocks/generic/BlockRotatablePillar.java
Normal file
@ -0,0 +1,34 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockRotatedPillar;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
public class BlockRotatablePillar extends BlockRotatedPillar {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected IIcon iconSide;
|
||||
|
||||
private String textureTop;
|
||||
|
||||
public BlockRotatablePillar(Material mat, String top) {
|
||||
super(mat);
|
||||
textureTop = top;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister reg) {
|
||||
|
||||
this.field_150164_N = reg.registerIcon(textureTop);
|
||||
this.iconSide = reg.registerIcon(this.getTextureName());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IIcon getSideIcon(int p_150163_1_) {
|
||||
return iconSide;
|
||||
}
|
||||
|
||||
}
|
||||
88
com/hbm/blocks/machine/BlockPillar.java
Normal file
@ -0,0 +1,88 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockPillar extends Block {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconAlt;
|
||||
|
||||
private String textureTop = "";
|
||||
private String textureAlt = "";
|
||||
|
||||
public BlockPillar(Material mat, String top) {
|
||||
super(mat);
|
||||
textureTop = top;
|
||||
}
|
||||
|
||||
public BlockPillar(Material mat, String top, String bottom) {
|
||||
this(mat, top);
|
||||
textureAlt = bottom;
|
||||
}
|
||||
|
||||
public Block setBlockTextureName(String name) {
|
||||
|
||||
if(textureTop.isEmpty())
|
||||
textureTop = name;
|
||||
|
||||
if(textureAlt.isEmpty())
|
||||
textureAlt = name;
|
||||
|
||||
this.textureName = name;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
|
||||
this.iconAlt = iconRegister.registerIcon(textureAlt.isEmpty() ? RefStrings.MODID + ":code" : textureAlt);
|
||||
this.iconTop = iconRegister.registerIcon(textureTop);
|
||||
this.blockIcon = iconRegister.registerIcon(this.textureName);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
|
||||
if(this == ModBlocks.reactor_element && metadata == 1)
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.iconAlt);
|
||||
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
|
||||
if(this != ModBlocks.reactor_element)
|
||||
return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ);
|
||||
|
||||
if(player.isSneaking())
|
||||
{
|
||||
if(world.getBlockMetadata(x, y, z) == 0) {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 1, 3);
|
||||
} else {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 0, 3);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,146 +0,0 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockReactor extends Block {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconAlt;
|
||||
|
||||
public BlockReactor(Material p_i45394_1_) {
|
||||
super(p_i45394_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
|
||||
this.iconAlt = iconRegister.registerIcon(RefStrings.MODID + ":code");
|
||||
|
||||
if(this == ModBlocks.reactor_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":reactor_conductor_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_conductor_side");
|
||||
}
|
||||
if(this == ModBlocks.reactor_control)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":reactor_control_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_control_side");
|
||||
}
|
||||
if(this == ModBlocks.reactor_element)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":reactor_element_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_element_side");
|
||||
this.iconAlt = iconRegister.registerIcon(RefStrings.MODID + ":reactor_element_base");
|
||||
}
|
||||
if(this == ModBlocks.fusion_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_top_alt"*/":block_steel");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_alt"*/":fusion_conductor_side_alt3");
|
||||
}
|
||||
if(this == ModBlocks.fusion_center)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_top_alt");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_side_alt");
|
||||
}
|
||||
if(this == ModBlocks.fusion_motor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_top_alt");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_side_alt");
|
||||
}
|
||||
if(this == ModBlocks.fusion_heater)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_heater_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_heater_side");
|
||||
}
|
||||
if(this == ModBlocks.factory_titanium_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":factory_titanium_conductor");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":factory_titanium_hull");
|
||||
}
|
||||
if(this == ModBlocks.factory_advanced_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":factory_advanced_conductor");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":factory_advanced_hull");
|
||||
}
|
||||
if(this == ModBlocks.watz_element)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_element_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_element_side");
|
||||
}
|
||||
if(this == ModBlocks.watz_control)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_control_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_control_side");
|
||||
}
|
||||
if(this == ModBlocks.watz_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_conductor_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_conductor_side");
|
||||
}
|
||||
if(this == ModBlocks.fwatz_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_combine_steel");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_conductor_side");
|
||||
}
|
||||
if(this == ModBlocks.fwatz_cooler)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_cooler_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_cooler");
|
||||
}
|
||||
if(this == ModBlocks.block_fiberglass)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_fiberglass_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_fiberglass_side");
|
||||
}
|
||||
if(this == ModBlocks.meteor_battery)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":meteor_power");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":meteor_spawner_side");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
|
||||
if(this == ModBlocks.reactor_element && metadata == 1)
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.iconAlt);
|
||||
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
|
||||
if(this != ModBlocks.reactor_element)
|
||||
return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ);
|
||||
|
||||
if(player.isSneaking())
|
||||
{
|
||||
if(world.getBlockMetadata(x, y, z) == 0) {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 1, 3);
|
||||
} else {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 0, 3);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,7 +1,9 @@
|
||||
package com.hbm.calc;
|
||||
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.interfaces.Spaghetti;
|
||||
|
||||
@Spaghetti("i deserve to be shot for this one")
|
||||
public class UnionOfTileEntitiesAndBooleans {
|
||||
|
||||
public UnionOfTileEntitiesAndBooleans(ISource tileentity, boolean bool)
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.entity.missile;
|
||||
import com.hbm.entity.particle.EntityGasFlameFX;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemSatChip;
|
||||
import com.hbm.items.machine.ItemSatChip;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.saveddata.satellites.Satellite;
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.List;
|
||||
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemSatChip;
|
||||
import com.hbm.items.machine.ItemSatChip;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.saveddata.satellites.Satellite;
|
||||
|
||||
@ -35,8 +35,8 @@ import com.hbm.blocks.generic.RedBarrel;
|
||||
import com.hbm.entity.grenade.EntityGrenadeTau;
|
||||
import com.hbm.entity.mob.EntityNuclearCreeper;
|
||||
import com.hbm.entity.particle.EntityBSmokeFX;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
|
||||
import cpw.mods.fml.relauncher.ReflectionHelper;
|
||||
@ -497,7 +497,7 @@ public class EntityBullet extends Entity implements IProjectile {
|
||||
|
||||
if (rad) {
|
||||
if (entitylivingbase instanceof EntityPlayer
|
||||
&& Library.checkForHazmat((EntityPlayer) entitylivingbase)) {
|
||||
&& ArmorUtil.checkForHazmat((EntityPlayer) entitylivingbase)) {
|
||||
} else if (entitylivingbase instanceof EntityCreeper) {
|
||||
EntityNuclearCreeper creep = new EntityNuclearCreeper(this.worldObj);
|
||||
creep.setLocationAndAngles(entitylivingbase.posX, entitylivingbase.posY, entitylivingbase.posZ,
|
||||
|
||||
@ -16,9 +16,9 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.explosion.ExplosionNukeGeneric;
|
||||
import com.hbm.explosion.ExplosionParticle;
|
||||
import com.hbm.explosion.ExplosionParticleB;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
@ -351,8 +351,18 @@ public class EntityBulletBase extends Entity implements IProjectile {
|
||||
this.setDead();
|
||||
|
||||
if(worldObj.isRemote && !config.vPFX.isEmpty()) {
|
||||
for (i = 0; i < 8; ++i) {
|
||||
this.worldObj.spawnParticle(config.vPFX, this.posX - this.motionX * i / 1.0D, this.posY - this.motionY * i / 1.0D, this.posZ - this.motionZ * i / 1.0D, 0, 0, 0);
|
||||
|
||||
double motion = Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector();
|
||||
|
||||
for (i = 0; i < motion * 2; ++i) {
|
||||
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
nbt.setString("type", "vanillaExt");
|
||||
nbt.setString("mode", config.vPFX);
|
||||
nbt.setDouble("posX", this.posX - this.motionX * i / 1.0D);
|
||||
nbt.setDouble("posY", this.posY - this.motionY * i / 1.0D);
|
||||
nbt.setDouble("posZ", this.posZ - this.motionZ * i / 1.0D);
|
||||
MainRegistry.proxy.effectNT(nbt);
|
||||
}
|
||||
}
|
||||
|
||||
@ -504,10 +514,10 @@ public class EntityBulletBase extends Entity implements IProjectile {
|
||||
}
|
||||
|
||||
if(config.caustic > 0 && e instanceof EntityPlayer){
|
||||
Library.damageSuit((EntityPlayer)e, 0, config.caustic);
|
||||
Library.damageSuit((EntityPlayer)e, 1, config.caustic);
|
||||
Library.damageSuit((EntityPlayer)e, 2, config.caustic);
|
||||
Library.damageSuit((EntityPlayer)e, 3, config.caustic);
|
||||
ArmorUtil.damageSuit((EntityPlayer)e, 0, config.caustic);
|
||||
ArmorUtil.damageSuit((EntityPlayer)e, 1, config.caustic);
|
||||
ArmorUtil.damageSuit((EntityPlayer)e, 2, config.caustic);
|
||||
ArmorUtil.damageSuit((EntityPlayer)e, 3, config.caustic);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ import com.hbm.entity.projectile.EntityRainbow;
|
||||
import com.hbm.entity.projectile.EntityRocket;
|
||||
import com.hbm.entity.projectile.EntityRubble;
|
||||
import com.hbm.entity.projectile.EntitySchrab;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
|
||||
@ -636,8 +636,8 @@ public class ExplosionChaos {
|
||||
d7 = entity.posZ - z;
|
||||
double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7);
|
||||
if (d9 < wat) {
|
||||
if (entity instanceof EntityPlayer && Library.checkForGasMask((EntityPlayer) entity)) {
|
||||
Library.damageSuit((EntityPlayer)entity, 3, rand.nextInt(2));
|
||||
if (entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity)) {
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 3, rand.nextInt(2));
|
||||
|
||||
} else if (entity instanceof EntityLivingBase) {
|
||||
((EntityLivingBase) entity)
|
||||
@ -690,10 +690,10 @@ public class ExplosionChaos {
|
||||
|
||||
if (entity instanceof EntityPlayer) {
|
||||
|
||||
Library.damageSuit((EntityPlayer)entity, 0, 25);
|
||||
Library.damageSuit((EntityPlayer)entity, 1, 25);
|
||||
Library.damageSuit((EntityPlayer)entity, 2, 25);
|
||||
Library.damageSuit((EntityPlayer)entity, 3, 25);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 0, 25);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 1, 25);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 2, 25);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 3, 25);
|
||||
|
||||
}
|
||||
|
||||
@ -737,14 +737,14 @@ public class ExplosionChaos {
|
||||
|
||||
if (entity instanceof EntityPlayer) {
|
||||
|
||||
Library.damageSuit((EntityPlayer)entity, 0, 5);
|
||||
Library.damageSuit((EntityPlayer)entity, 1, 5);
|
||||
Library.damageSuit((EntityPlayer)entity, 2, 5);
|
||||
Library.damageSuit((EntityPlayer)entity, 3, 5);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 0, 5);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 1, 5);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 2, 5);
|
||||
ArmorUtil.damageSuit((EntityPlayer)entity, 3, 5);
|
||||
|
||||
}
|
||||
|
||||
if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) { } else {
|
||||
if (entity instanceof EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer) entity)) { } else {
|
||||
|
||||
if(entity instanceof EntityLivingBase && ((EntityLivingBase)entity).isPotionActive(HbmPotion.taint.id)) {
|
||||
((EntityLivingBase)entity).removePotionEffect(HbmPotion.taint.id);
|
||||
|
||||
@ -31,6 +31,7 @@ import com.hbm.entity.projectile.EntityBulletBase;
|
||||
import com.hbm.entity.projectile.EntityExplosiveBeam;
|
||||
import com.hbm.entity.projectile.EntityMiniMIRV;
|
||||
import com.hbm.entity.projectile.EntityMiniNuke;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.items.ModItems;
|
||||
@ -146,7 +147,7 @@ public class ExplosionNukeGeneric {
|
||||
&& !(entity instanceof EntityMiniMIRV) && !(entity instanceof EntityGrenadeASchrab)
|
||||
&& !(entity instanceof EntityGrenadeNuclear) && !(entity instanceof EntityExplosiveBeam)
|
||||
&& !(entity instanceof EntityBulletBase) && !(entity instanceof EntityPlayer
|
||||
&& Library.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet,
|
||||
&& ArmorUtil.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet,
|
||||
ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))) {
|
||||
d5 /= d9;
|
||||
d6 /= d9;
|
||||
@ -208,7 +209,7 @@ public class ExplosionNukeGeneric {
|
||||
d7 = entity.posZ - z;
|
||||
double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7);
|
||||
if (d9 < wat && !(entity instanceof EntityPlayer
|
||||
&& Library.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet,
|
||||
&& ArmorUtil.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet,
|
||||
ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))) {
|
||||
d5 /= d9;
|
||||
d6 /= d9;
|
||||
@ -254,7 +255,7 @@ public class ExplosionNukeGeneric {
|
||||
d7 = entity.posZ - z;
|
||||
double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7);
|
||||
if (d9 < wat && !(entity instanceof EntityPlayer
|
||||
&& Library.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet,
|
||||
&& ArmorUtil.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet,
|
||||
ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))) {
|
||||
d5 /= d9;
|
||||
d6 /= d9;
|
||||
|
||||
@ -4,8 +4,7 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.Library;
|
||||
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
@ -494,7 +493,7 @@ public class ExplosionThermo {
|
||||
if (d9 < wat && !(entity instanceof EntityOcelot) && entity instanceof EntityLivingBase)
|
||||
{
|
||||
|
||||
if(!(entity instanceof EntityPlayer && Library.checkForAsbestos((EntityPlayer) entity))) {
|
||||
if(!(entity instanceof EntityPlayer && ArmorUtil.checkForAsbestos((EntityPlayer) entity))) {
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.weakness.getId(), 15 * 20, 4));
|
||||
entity.setFire(10);
|
||||
}
|
||||
|
||||
222
com/hbm/handler/ArmorUtil.java
Normal file
@ -0,0 +1,222 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ArmorUtil {
|
||||
|
||||
public static boolean checkArmor(EntityPlayer player, Item helmet, Item plate, Item legs, Item boots) {
|
||||
|
||||
if(player.inventory.armorInventory[0] != null &&
|
||||
player.inventory.armorInventory[0].getItem() == boots &&
|
||||
player.inventory.armorInventory[1] != null &&
|
||||
player.inventory.armorInventory[1].getItem() == legs &&
|
||||
player.inventory.armorInventory[2] != null &&
|
||||
player.inventory.armorInventory[2].getItem() == plate &&
|
||||
player.inventory.armorInventory[3] != null &&
|
||||
player.inventory.armorInventory[3].getItem() == helmet)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkArmorPiece(EntityPlayer player, Item armor, int slot)
|
||||
{
|
||||
if(player.inventory.armorInventory[slot] != null &&
|
||||
player.inventory.armorInventory[slot].getItem() == armor)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkArmorNull(EntityPlayer player, int slot)
|
||||
{
|
||||
if(player.inventory.armorInventory[slot] == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void damageSuit(EntityPlayer player, int slot, int amount) {
|
||||
|
||||
if(player.inventory.armorInventory[slot] == null)
|
||||
return;
|
||||
|
||||
int j = player.inventory.armorInventory[slot].getItemDamage();
|
||||
player.inventory.armorInventory[slot].setItemDamage(j += amount);
|
||||
|
||||
if(player.inventory.armorInventory[slot].getItemDamage() >= player.inventory.armorInventory[slot].getMaxDamage())
|
||||
{
|
||||
player.inventory.armorInventory[slot] = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean checkForHazmat(EntityPlayer player) {
|
||||
|
||||
if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) ||
|
||||
checkArmor(player, ModItems.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red) ||
|
||||
checkArmor(player, ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey) ||
|
||||
checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) ||
|
||||
checkArmor(player, ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots) ||
|
||||
checkForHaz2(player)) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if(player.isPotionActive(HbmPotion.mutation))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkForHaz2(EntityPlayer player) {
|
||||
|
||||
if(checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots) ||
|
||||
checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkForAsbestos(EntityPlayer player) {
|
||||
|
||||
if(checkArmor(player, ModItems.asbestos_helmet, ModItems.asbestos_plate, ModItems.asbestos_legs, ModItems.asbestos_boots))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkForFaraday(EntityPlayer player) {
|
||||
|
||||
ItemStack[] armor = player.inventory.armorInventory;
|
||||
|
||||
if(armor[0] == null || armor[1] == null || armor[2] == null || armor[3] == null) return false;
|
||||
|
||||
if(isFaradayArmor(armor[0].getItem()) &&
|
||||
isFaradayArmor(armor[1].getItem()) &&
|
||||
isFaradayArmor(armor[2].getItem()) &&
|
||||
isFaradayArmor(armor[3].getItem()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static final String[] metals = new String[] {
|
||||
"chainmail",
|
||||
"iron",
|
||||
"silver",
|
||||
"gold",
|
||||
"platinum",
|
||||
"tin",
|
||||
"lead",
|
||||
"schrabidium",
|
||||
"euphemium",
|
||||
"steel",
|
||||
"cmb",
|
||||
"titanium",
|
||||
"alloy",
|
||||
"copper",
|
||||
"bronze",
|
||||
"electrum",
|
||||
"t45",
|
||||
"hazmat", //also count because rubber is insulating
|
||||
"rubber"
|
||||
};
|
||||
|
||||
public static boolean isFaradayArmor(Item item) {
|
||||
|
||||
String name = item.getUnlocalizedName();
|
||||
|
||||
for(String metal : metals) {
|
||||
|
||||
if(name.toLowerCase().contains(metal))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkForGasMask(EntityPlayer player) {
|
||||
|
||||
if(checkArmorPiece(player, ModItems.hazmat_helmet, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.hazmat_helmet_red, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.hazmat_helmet_grey, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.hazmat_paa_helmet, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.gas_mask, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.gas_mask_m65, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.t45_helmet, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.schrabidium_helmet, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.euphemium_helmet, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(player.isPotionActive(HbmPotion.mutation))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkForGoggles(EntityPlayer player) {
|
||||
|
||||
if(checkArmorPiece(player, ModItems.goggles, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.gas_mask, 3))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkForFiend(EntityPlayer player) {
|
||||
|
||||
return checkArmorPiece(player, ModItems.jackt, 2) && Library.checkForHeld(player, ModItems.shimmer_sledge);
|
||||
}
|
||||
|
||||
public static boolean checkForFiend2(EntityPlayer player) {
|
||||
|
||||
return checkArmorPiece(player, ModItems.jackt2, 2) && Library.checkForHeld(player, ModItems.shimmer_axe);
|
||||
}
|
||||
}
|
||||
@ -7,7 +7,7 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.gui.GUIScreenBobmazon.Offer;
|
||||
import com.hbm.inventory.gui.GUIScreenBobmazon.Requirement;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.items.machine.ItemBattery;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
||||
@ -112,6 +112,11 @@ public class BulletConfigSyncingUtil {
|
||||
public static int SPECIAL_GAUSS_CHARGED = i++;
|
||||
public static int SPECIAL_EMP = i++;
|
||||
|
||||
public static int FLAMER_NORMAL = i++;
|
||||
public static int FLAMER_NAPALM = i++;
|
||||
public static int FLAMER_WP = i++;
|
||||
public static int FLAMER_GAS = i++;
|
||||
|
||||
public static int G20_NORMAL_FIRE = i++;
|
||||
public static int G20_SHRAPNEL_FIRE = i++;
|
||||
public static int G20_SLUG_FIRE = i++;
|
||||
@ -228,6 +233,11 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig());
|
||||
configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig());
|
||||
configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig());
|
||||
|
||||
configSet.put(FLAMER_NORMAL, GunEnergyFactory.getFlameConfig());
|
||||
configSet.put(FLAMER_NAPALM, GunEnergyFactory.getNapalmConfig());
|
||||
configSet.put(FLAMER_WP, GunEnergyFactory.getPhosphorusConfig());
|
||||
configSet.put(FLAMER_GAS, GunEnergyFactory.getGasConfig());
|
||||
|
||||
configSet.put(G20_NORMAL_FIRE, Gun20GaugeFactory.get20GaugeConfig().setToFire(3));
|
||||
configSet.put(G20_SHRAPNEL_FIRE, Gun20GaugeFactory.get20GaugeShrapnelConfig().setToFire(3));
|
||||
|
||||
@ -14,6 +14,8 @@ public class BulletConfiguration {
|
||||
|
||||
//what item this specific configuration consumes
|
||||
public Item ammo;
|
||||
//how many ammo units one item restores
|
||||
public int ammoCount = 1;
|
||||
//how fast the bullet is (in sanics per second, or sps)
|
||||
public float velocity;
|
||||
//spread of bullets in gaussian range
|
||||
@ -81,6 +83,7 @@ public class BulletConfiguration {
|
||||
//vanilla particle FX
|
||||
public String vPFX = "";
|
||||
|
||||
public static final int STYLE_NONE = -1;
|
||||
public static final int STYLE_NORMAL = 0;
|
||||
public static final int STYLE_FLECHETTE = 1;
|
||||
public static final int STYLE_PELLET = 2;
|
||||
|
||||
@ -61,7 +61,9 @@ public class FluidTypeHandler {
|
||||
HYDROGEN (0x4286f4, 3, 1, 2, 3, 4, 0, EnumSymbol.CROYGENIC, "hbmfluid.hydrogen"),
|
||||
OXYGEN (0x98bdf9, 4, 1, 2, 3, 0, 0, EnumSymbol.CROYGENIC, "hbmfluid.oxygen"),
|
||||
XENON (0xba45e8, 5, 1, 2, 0, 0, 0, EnumSymbol.ASPHYXIANT, "hbmfluid.xenon"),
|
||||
BALEFIRE (0x28e02e, 6, 1, 2, 4, 4, 3, EnumSymbol.RADIATION, "hbmfluid.balefire", true, true, false);
|
||||
BALEFIRE (0x28e02e, 6, 1, 2, 4, 4, 3, EnumSymbol.RADIATION, "hbmfluid.balefire", true, true, false),
|
||||
|
||||
MERCURY (0x808080, 7, 1, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.mercury");
|
||||
|
||||
|
||||
//Approximate HEX Color of the fluid, used for pipe rendering
|
||||
|
||||
147
com/hbm/handler/MultiblockHandlerXR.java
Normal file
@ -0,0 +1,147 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MultiblockHandlerXR {
|
||||
|
||||
//when looking north
|
||||
// U D N S W E
|
||||
public static int[] uni = new int[] { 3, 0, 4, 4, 4, 4 };
|
||||
|
||||
public static boolean checkSpace(World world, int x, int y, int z, int[] dim, int ox, int oy, int oz, ForgeDirection dir) {
|
||||
|
||||
if(dim == null || dim.length != 6)
|
||||
return false;
|
||||
|
||||
int count = 0;
|
||||
|
||||
int[] rot = rotate(dim, dir);
|
||||
|
||||
for(int a = x - rot[4]; a <= x + rot[5]; a++) {
|
||||
for(int b = y - rot[1]; b <= y + rot[0]; b++) {
|
||||
for(int c = z - rot[2]; c <= z + rot[3]; c++) {
|
||||
|
||||
//if the position matches the just placed block, the space counts as unoccupied
|
||||
if(a == ox && b == oy && c == oz)
|
||||
continue;
|
||||
|
||||
if(!world.getBlock(a, b, c).canPlaceBlockAt(world, a, b, c)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
count++;
|
||||
|
||||
if(count > 2000) {
|
||||
System.out.println("checkspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void fillSpace(World world, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) {
|
||||
|
||||
if(dim == null || dim.length != 6)
|
||||
return;
|
||||
|
||||
int count = 0;
|
||||
|
||||
int[] rot = rotate(dim, dir);
|
||||
|
||||
for(int a = x - rot[4]; a <= x + rot[5]; a++) {
|
||||
for(int b = y - rot[1]; b <= y + rot[0]; b++) {
|
||||
for(int c = z - rot[2]; c <= z + rot[3]; c++) {
|
||||
|
||||
int meta = 0;
|
||||
|
||||
if(b < y) {
|
||||
meta = ForgeDirection.DOWN.ordinal();
|
||||
} else if(b > y) {
|
||||
meta = ForgeDirection.UP.ordinal();
|
||||
} else if(a < x) {
|
||||
meta = ForgeDirection.WEST.ordinal();
|
||||
} else if(a > x) {
|
||||
meta = ForgeDirection.EAST.ordinal();
|
||||
} else if(c < z) {
|
||||
meta = ForgeDirection.NORTH.ordinal();
|
||||
} else if(c > z) {
|
||||
meta = ForgeDirection.SOUTH.ordinal();
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
|
||||
world.setBlock(a, b, c, block, meta, 3);
|
||||
|
||||
count++;
|
||||
|
||||
if(count > 2000) {
|
||||
System.out.println("fillspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void emptySpace(World world, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) {
|
||||
|
||||
if(dim == null || dim.length != 6)
|
||||
return;
|
||||
|
||||
int count = 0;
|
||||
|
||||
System.out.println("emptyspace is deprecated and shouldn't even be executed");
|
||||
|
||||
int[] rot = rotate(dim, dir);
|
||||
|
||||
for(int a = x - rot[4]; a <= x + rot[5]; a++) {
|
||||
for(int b = y - rot[1]; b <= y + rot[0]; b++) {
|
||||
for(int c = z - rot[2]; c <= z + rot[3]; c++) {
|
||||
|
||||
if(world.getBlock(a, b, c) == block)
|
||||
world.setBlockToAir(a, b, c);
|
||||
|
||||
count++;
|
||||
|
||||
if(count > 2000) {
|
||||
System.out.println("emptyspace: ded " + a + " " + b + " " + c);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int[] rotate(int[] dim, ForgeDirection dir) {
|
||||
|
||||
if(dim == null)
|
||||
return null;
|
||||
|
||||
if(dir == ForgeDirection.SOUTH)
|
||||
return dim;
|
||||
|
||||
if(dir == ForgeDirection.NORTH) {
|
||||
// U D N S W E
|
||||
return new int[] { dim[0], dim[1], dim[3], dim[2], dim[5], dim[4] };
|
||||
}
|
||||
|
||||
if(dir == ForgeDirection.EAST) {
|
||||
// U D N S W E
|
||||
return new int[] { dim[0], dim[1], dim[5], dim[4], dim[2], dim[3] };
|
||||
}
|
||||
|
||||
if(dir == ForgeDirection.WEST) {
|
||||
// U D N S W E
|
||||
return new int[] { dim[0], dim[1], dim[4], dim[5], dim[3], dim[2] };
|
||||
}
|
||||
|
||||
return dim;
|
||||
}
|
||||
|
||||
}
|
||||
48
com/hbm/handler/ThreeInts.java
Normal file
@ -0,0 +1,48 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
public class ThreeInts implements Comparable {
|
||||
|
||||
public int x;
|
||||
public int y;
|
||||
public int z;
|
||||
|
||||
public ThreeInts(int x, int y, int z) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + x;
|
||||
result = prime * result + y;
|
||||
result = prime * result + z;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ThreeInts other = (ThreeInts) obj;
|
||||
if (x != other.x)
|
||||
return false;
|
||||
if (y != other.y)
|
||||
return false;
|
||||
if (z != other.z)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Object o) {
|
||||
|
||||
return equals(o) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
228
com/hbm/handler/ToolAbility.java
Normal file
@ -0,0 +1,228 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.hbm.inventory.MachineRecipes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemToolAbility;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import scala.actors.threadpool.Arrays;
|
||||
|
||||
public abstract class ToolAbility {
|
||||
|
||||
public abstract void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool);
|
||||
public abstract String getName();
|
||||
public abstract String getFullName();
|
||||
|
||||
public static class RecursionAbility extends ToolAbility {
|
||||
|
||||
int radius;
|
||||
|
||||
public RecursionAbility(int radius) {
|
||||
this.radius = radius;
|
||||
}
|
||||
|
||||
private Set<ThreeInts> pos = new HashSet();
|
||||
|
||||
@Override
|
||||
public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) {
|
||||
|
||||
List<Integer> indices = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5});
|
||||
Collections.shuffle(indices);
|
||||
|
||||
pos.clear();
|
||||
|
||||
for(Integer i : indices) {
|
||||
switch(i) {
|
||||
case 0: breakExtra(world, x + 1, y, z, x, y, z, player, tool); break;
|
||||
case 1: breakExtra(world, x - 1, y, z, x, y, z, player, tool); break;
|
||||
case 2: breakExtra(world, x, y + 1, z, x, y, z, player, tool); break;
|
||||
case 3: breakExtra(world, x, y - 1, z, x, y, z, player, tool); break;
|
||||
case 4: breakExtra(world, x, y, z + 1, x, y, z, player, tool); break;
|
||||
case 5: breakExtra(world, x, y, z - 1, x, y, z, player, tool); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void breakExtra(World world, int x, int y, int z, int refX, int refY, int refZ, EntityPlayer player, ItemToolAbility tool) {
|
||||
|
||||
if(pos.contains(new ThreeInts(x, y, z)))
|
||||
return;
|
||||
|
||||
pos.add(new ThreeInts(x, y, z));
|
||||
|
||||
//don't lose the ref block just yet
|
||||
if(x == refX && y == refY && z == refZ)
|
||||
return;
|
||||
|
||||
if(Vec3.createVectorHelper(x - refX, y - refY, z - refZ).lengthVector() > radius)
|
||||
return;
|
||||
|
||||
Block b = world.getBlock(x, y, z);
|
||||
Block ref = world.getBlock(refX, refY, refZ);
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
int refMeta = world.getBlockMetadata(refX, refY, refZ);
|
||||
|
||||
if(b != ref)
|
||||
return;
|
||||
|
||||
if(meta != refMeta)
|
||||
return;
|
||||
|
||||
if(player.getHeldItem() == null)
|
||||
return;
|
||||
|
||||
tool.breakExtraBlock(world, x, y, z, player, refX, refY, refZ);
|
||||
|
||||
List<Integer> indices = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5});
|
||||
Collections.shuffle(indices);
|
||||
|
||||
for(Integer i : indices) {
|
||||
switch(i) {
|
||||
case 0: breakExtra(world, x + 1, y, z, refX, refY, refZ, player, tool); break;
|
||||
case 1: breakExtra(world, x - 1, y, z, refX, refY, refZ, player, tool); break;
|
||||
case 2: breakExtra(world, x, y + 1, z, refX, refY, refZ, player, tool); break;
|
||||
case 3: breakExtra(world, x, y - 1, z, refX, refY, refZ, player, tool); break;
|
||||
case 4: breakExtra(world, x, y, z + 1, refX, refY, refZ, player, tool); break;
|
||||
case 5: breakExtra(world, x, y, z - 1, refX, refY, refZ, player, tool); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "tool.ability.recursion";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return I18n.format(getName()) + " (" + radius + ")";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static class HammerAbility extends ToolAbility {
|
||||
|
||||
int range;
|
||||
|
||||
public HammerAbility(int range) {
|
||||
this.range = range;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) {
|
||||
|
||||
for(int a = x - range; a <= x + range; a++) {
|
||||
for(int b = y - range; b <= y + range; b++) {
|
||||
for(int c = z - range; c <= z + range; c++) {
|
||||
|
||||
if(a == x && b == y && c == z)
|
||||
continue;
|
||||
|
||||
tool.breakExtraBlock(world, a, b ,c, player, x, y, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "tool.ability.hammer";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return I18n.format(getName()) + " (" + range + ")";
|
||||
}
|
||||
}
|
||||
|
||||
public static class SmelterAbility extends ToolAbility {
|
||||
|
||||
@Override
|
||||
public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) {
|
||||
|
||||
ItemStack stack = new ItemStack(block, 1, meta);
|
||||
ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack);
|
||||
|
||||
if(result != null) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "tool.ability.smelter";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return I18n.format(getName());
|
||||
}
|
||||
}
|
||||
|
||||
public static class ShredderAbility extends ToolAbility {
|
||||
|
||||
@Override
|
||||
public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) {
|
||||
|
||||
ItemStack stack = new ItemStack(block, 1, meta);
|
||||
ItemStack result = MachineRecipes.getShredderResult(stack);
|
||||
|
||||
if(result != null && result.getItem() != ModItems.scrap) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "tool.ability.shredder";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return I18n.format(getName());
|
||||
}
|
||||
}
|
||||
|
||||
public static class CentrifugeAbility extends ToolAbility {
|
||||
|
||||
@Override
|
||||
public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) {
|
||||
|
||||
ItemStack stack = new ItemStack(block, 1, meta);
|
||||
ItemStack[] result = MachineRecipes.getCentrifugeProcessingResult(stack);
|
||||
|
||||
if(result != null) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
|
||||
for(ItemStack st : result) {
|
||||
if(st != null)
|
||||
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, st.copy()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "tool.ability.centrifuge";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return I18n.format(getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ package com.hbm.handler.guncfg;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBulletBase;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
@ -14,7 +15,9 @@ import com.hbm.potion.HbmPotion;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
@ -180,7 +183,7 @@ public class BulletConfigFactory {
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration) {
|
||||
public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration, final int count, final double motion) {
|
||||
|
||||
IBulletImpactBehavior impact = new IBulletImpactBehavior() {
|
||||
|
||||
@ -206,8 +209,52 @@ public class BulletConfigFactory {
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaburst");
|
||||
data.setString("mode", "flame");
|
||||
data.setInteger("count", 100);
|
||||
data.setDouble("motion", 0.5D);
|
||||
data.setInteger("count", count);
|
||||
data.setDouble("motion", motion);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50));
|
||||
}
|
||||
};
|
||||
|
||||
return impact;
|
||||
}
|
||||
|
||||
public static IBulletImpactBehavior getGasEffect(final int radius, final int duration) {
|
||||
|
||||
IBulletImpactBehavior impact = new IBulletImpactBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
|
||||
|
||||
List<Entity> hit = bullet.worldObj.getEntitiesWithinAABBExcludingEntity(bullet, AxisAlignedBB.getBoundingBox(bullet.posX - radius, bullet.posY - radius, bullet.posZ - radius, bullet.posX + radius, bullet.posY + radius, bullet.posZ + radius));
|
||||
|
||||
for(Entity e : hit) {
|
||||
|
||||
if(!Library.isObstructed(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) {
|
||||
|
||||
if(e instanceof EntityLivingBase) {
|
||||
|
||||
if(e instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) e))
|
||||
continue;
|
||||
|
||||
PotionEffect eff0 = new PotionEffect(Potion.poison.id, duration, 2, true);
|
||||
PotionEffect eff1 = new PotionEffect(Potion.digSlowdown.id, duration, 2, true);
|
||||
PotionEffect eff2 = new PotionEffect(Potion.weakness.id, duration, 4, true);
|
||||
eff0.getCurativeItems().clear();
|
||||
eff1.getCurativeItems().clear();
|
||||
eff2.getCurativeItems().clear();
|
||||
((EntityLivingBase)e).addPotionEffect(eff0);
|
||||
((EntityLivingBase)e).addPotionEffect(eff1);
|
||||
((EntityLivingBase)e).addPotionEffect(eff2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaburst");
|
||||
data.setString("mode", "cloud");
|
||||
data.setInteger("count", 15);
|
||||
data.setDouble("motion", 0.1D);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50));
|
||||
}
|
||||
|
||||
@ -2,12 +2,18 @@ package com.hbm.handler.guncfg;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBulletBase;
|
||||
import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
|
||||
@ -43,6 +49,46 @@ public class GunEnergyFactory {
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getFlamerConfig() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
|
||||
config.rateOfFire = 1;
|
||||
config.roundsPerCycle = 1;
|
||||
config.gunMode = GunConfiguration.MODE_NORMAL;
|
||||
config.firingMode = GunConfiguration.FIRE_AUTO;
|
||||
config.hasReloadAnim = false;
|
||||
config.hasFiringAnim = false;
|
||||
config.hasSpinup = false;
|
||||
config.hasSpindown = false;
|
||||
config.reloadDuration = 20;
|
||||
config.reloadSoundEnd = false;
|
||||
config.firingDuration = 0;
|
||||
config.ammoCap = 100;
|
||||
config.durability = 1000;
|
||||
config.reloadType = GunConfiguration.RELOAD_FULL;
|
||||
config.allowsInfinity = true;
|
||||
config.crosshair = Crosshair.L_CIRCLE;
|
||||
config.firingSound = "hbm:weapon.immolatorShoot";
|
||||
config.reloadSound = "hbm:weapon.flamerReload";
|
||||
|
||||
config.name = "Heavy Duty Flamer";
|
||||
config.manufacturer = "MWT Prototype Labs";
|
||||
|
||||
config.comment.add("Dragon-slaying: Advanced techniques, part 1:");
|
||||
config.comment.add("Try not to get eaten by the dragon.");
|
||||
config.comment.add("");
|
||||
config.comment.add("Hope that helps.");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.FLAMER_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.FLAMER_NAPALM);
|
||||
config.config.add(BulletConfigSyncingUtil.FLAMER_WP);
|
||||
config.config.add(BulletConfigSyncingUtil.FLAMER_GAS);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getOrbusConfig() {
|
||||
|
||||
BulletConfiguration bullet = new BulletConfiguration();
|
||||
@ -71,4 +117,98 @@ public class GunEnergyFactory {
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getFlameConfig() {
|
||||
|
||||
BulletConfiguration bullet = new BulletConfiguration();
|
||||
|
||||
bullet.ammo = ModItems.ammo_fuel;
|
||||
bullet.ammoCount = 100;
|
||||
|
||||
bullet.velocity = 0.75F;
|
||||
bullet.spread = 0.025F;
|
||||
bullet.wear = 1;
|
||||
bullet.bulletsMin = 3;
|
||||
bullet.bulletsMax = 5;
|
||||
bullet.dmgMin = 2;
|
||||
bullet.dmgMax = 4;
|
||||
bullet.gravity = 0.01D;
|
||||
bullet.maxAge = 60;
|
||||
bullet.doesRicochet = false;
|
||||
bullet.doesPenetrate = true;
|
||||
bullet.doesBreakGlass = false;
|
||||
bullet.style = BulletConfiguration.STYLE_NONE;
|
||||
bullet.plink = BulletConfiguration.PLINK_NONE;
|
||||
bullet.vPFX = "flame";
|
||||
bullet.incendiary = 10;
|
||||
|
||||
bullet.bImpact = new IBulletImpactBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaburst");
|
||||
data.setString("mode", "flame");
|
||||
data.setInteger("count", 15);
|
||||
data.setDouble("motion", 0.1D);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50));
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getNapalmConfig() {
|
||||
|
||||
BulletConfiguration bullet = getFlameConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_fuel_napalm;
|
||||
bullet.wear = 2;
|
||||
bullet.dmgMin = 4;
|
||||
bullet.dmgMax = 6;
|
||||
bullet.maxAge = 200;
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getPhosphorusConfig() {
|
||||
|
||||
BulletConfiguration bullet = getFlameConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_fuel_phosphorus;
|
||||
bullet.wear = 2;
|
||||
bullet.spread = 0.0F;
|
||||
bullet.bulletsMin = 1;
|
||||
bullet.bulletsMax = 1;
|
||||
bullet.dmgMin = 4;
|
||||
bullet.dmgMax = 6;
|
||||
bullet.maxAge = 200;
|
||||
bullet.vPFX = "smoke";
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getGasConfig() {
|
||||
|
||||
BulletConfiguration bullet = getFlameConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_fuel_gas;
|
||||
bullet.wear = 1;
|
||||
bullet.spread = 0.05F;
|
||||
bullet.gravity = 0D;
|
||||
bullet.bulletsMin = 5;
|
||||
bullet.bulletsMax = 7;
|
||||
bullet.dmgMin = 0;
|
||||
bullet.dmgMax = 0;
|
||||
bullet.vPFX = "cloud";
|
||||
bullet.incendiary = 0;
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getGasEffect(5, 60 * 20);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,7 +107,7 @@ public class GunGrenadeFactory {
|
||||
bullet.trail = 0;
|
||||
bullet.incendiary = 2;
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20);
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
@ -277,7 +277,7 @@ public class GunRocketFactory {
|
||||
bullet.incendiary = 5;
|
||||
bullet.trail = 9;
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20);
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
@ -1,105 +0,0 @@
|
||||
package com.hbm.handler.nei;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.hbm.inventory.MachineRecipes;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ModInfoHandler extends TemplateRecipeHandler {
|
||||
|
||||
public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe
|
||||
{
|
||||
PositionedStack item;
|
||||
|
||||
public SmeltingSet(ItemStack item) {
|
||||
item.stackSize = 1;
|
||||
this.item = new PositionedStack(item, 129 - 54, 24 - 17);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PositionedStack> getIngredients() {
|
||||
return getCycledIngredients(cycleticks / 48, Arrays.asList(new PositionedStack[] {item}));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PositionedStack getResult() {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRecipeName() {
|
||||
return "Mod Info";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuiTexture() {
|
||||
return RefStrings.MODID + ":textures/gui/gui_info.png";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadCraftingRecipes(String outputId, Object... results) {
|
||||
if ((outputId.equals("hbminfo")) && getClass() == ModInfoHandler.class) {
|
||||
Map<Object, Object[]> recipes = MachineRecipes.instance().getItemInfo();
|
||||
for (Map.Entry<Object, Object[]> recipe : recipes.entrySet()) {
|
||||
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey()));
|
||||
}
|
||||
} else {
|
||||
super.loadCraftingRecipes(outputId, results);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadCraftingRecipes(ItemStack result) {
|
||||
Map<Object, Object[]> recipes = MachineRecipes.instance().getItemInfo();
|
||||
for (Map.Entry<Object, Object[]> recipe : recipes.entrySet()) {
|
||||
if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getKey(), result))
|
||||
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadUsageRecipes(String inputId, Object... ingredients) {
|
||||
if ((inputId.equals("hbminfo")) && getClass() == ModInfoHandler.class) {
|
||||
loadCraftingRecipes("hbminfo", new Object[0]);
|
||||
} else {
|
||||
super.loadUsageRecipes(inputId, ingredients);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadUsageRecipes(ItemStack ingredient) {
|
||||
Map<Object, Object[]> recipes = MachineRecipes.instance().getItemInfo();
|
||||
for (Map.Entry<Object, Object[]> recipe : recipes.entrySet()) {
|
||||
if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()))
|
||||
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey()));
|
||||
}
|
||||
}
|
||||
|
||||
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
|
||||
|
||||
@Override
|
||||
public void drawExtras(int recipe) {
|
||||
ItemStack stack = arecipes.get(recipe).getResult().item;
|
||||
String[] strings = MachineRecipes.instance().getInfoFromItem(stack);
|
||||
|
||||
font.drawString(stack.getDisplayName() + ":", 5, 24 + 5, 4210752);
|
||||
|
||||
for(int i = 0; i < strings.length; i++)
|
||||
font.drawString(strings[i], 5 + 3, 34 + 5 + 10 * i, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TemplateRecipeHandler newInstance() {
|
||||
return super.newInstance();
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.hbm.interfaces;
|
||||
|
||||
//Universal notation for shitty code
|
||||
// know TODO is a thing, but it's nice to hover over a class and see wtf is wrong with it
|
||||
//I know TODO is a thing, but it's nice to hover over a class and see wtf is wrong with it
|
||||
public @interface Spaghetti {
|
||||
|
||||
public String value();
|
||||
|
||||
@ -11,27 +11,13 @@ public class FluidContainerRegistry {
|
||||
|
||||
public static final FluidContainerRegistry instance = new FluidContainerRegistry();
|
||||
|
||||
//TODO: somehow incorporate hashmaps into this
|
||||
List<FluidContainer> allContainers = new ArrayList<FluidContainer>();
|
||||
|
||||
public void registerContainer(FluidContainer con) {
|
||||
allContainers.add(con);
|
||||
}
|
||||
|
||||
/*public static boolean containsFluid(ItemStack stack, FluidType type) {
|
||||
if(stack == null)
|
||||
return false;
|
||||
|
||||
ItemStack sta = stack.copy();
|
||||
sta.stackSize = 1;
|
||||
|
||||
for(FluidContainer container : instance.allContainers) {
|
||||
if(container.type == type && getEmptyContainer(sta) != null)
|
||||
return container.content > 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}*/
|
||||
|
||||
public static int getFluidContent(ItemStack stack, FluidType type) {
|
||||
|
||||
if(stack == null)
|
||||
|
||||
@ -3,11 +3,11 @@ package com.hbm.inventory;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.inventory.gui.GuiInfoContainer;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.gear.JetpackBooster;
|
||||
import com.hbm.items.gear.JetpackBreak;
|
||||
import com.hbm.items.gear.JetpackRegular;
|
||||
import com.hbm.items.gear.JetpackVectorized;
|
||||
import com.hbm.items.tool.ItemFluidIdentifier;
|
||||
import com.hbm.items.armor.JetpackBooster;
|
||||
import com.hbm.items.armor.JetpackBreak;
|
||||
import com.hbm.items.armor.JetpackRegular;
|
||||
import com.hbm.items.armor.JetpackVectorized;
|
||||
import com.hbm.items.machine.ItemFluidIdentifier;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEFluidPacket;
|
||||
|
||||
@ -9,11 +9,11 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.Spaghetti;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.items.tool.ItemAssemblyTemplate;
|
||||
import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate;
|
||||
import com.hbm.items.tool.ItemChemistryTemplate;
|
||||
import com.hbm.items.tool.ItemFluidIcon;
|
||||
import com.hbm.items.machine.ItemAssemblyTemplate;
|
||||
import com.hbm.items.machine.ItemBattery;
|
||||
import com.hbm.items.machine.ItemChemistryTemplate;
|
||||
import com.hbm.items.machine.ItemFluidIcon;
|
||||
import com.hbm.items.machine.ItemAssemblyTemplate.EnumAssemblyTemplate;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
@ -24,6 +24,8 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
//TODO: clean this shit up
|
||||
@Spaghetti("everything")
|
||||
public class MachineRecipes {
|
||||
|
||||
public MachineRecipes() {
|
||||
@ -100,21 +102,16 @@ public class MachineRecipes {
|
||||
return new ItemStack(ModItems.ingot_dura_steel, 2);
|
||||
}
|
||||
|
||||
if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2.getItem() == ModItems.powder_cobalt
|
||||
|| item.getItem() == ModItems.powder_cobalt && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) {
|
||||
if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && mODE(item2, new String[] {"ingotCobalt", "dustCobalt"})
|
||||
|| mODE(item, new String[] {"ingotCobalt", "dustCobalt"}) && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) {
|
||||
return new ItemStack(ModItems.ingot_dura_steel, 2);
|
||||
}
|
||||
|
||||
if (mODE(item, new String[] {"ingotDuraSteel", "dustDuraSteel"}) && item2.getItem() == ModItems.powder_meteorite
|
||||
|| item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotDuraSteel", "dustDuraSteel"})) {
|
||||
if (mODE(item, new String[] {"ingotSaturnite", "dustSaturnite"}) && item2.getItem() == ModItems.powder_meteorite
|
||||
|| item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotSaturnite", "dustSaturnite"})) {
|
||||
return new ItemStack(ModItems.ingot_starmetal, 2);
|
||||
}
|
||||
|
||||
if (mODE(item, new String[] {"dustCobalt"}) && item2.getItem() == ModItems.ingot_starmetal
|
||||
|| item.getItem() == ModItems.ingot_starmetal && mODE(item2, new String[] {"dustCobalt"})) {
|
||||
return new ItemStack(ModItems.ingot_saturnite, 2);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -246,38 +243,14 @@ public class MachineRecipes {
|
||||
return plutoniumF;
|
||||
}
|
||||
|
||||
/*if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) {
|
||||
return plutonium2;
|
||||
}
|
||||
|
||||
if (item.getItem() == ModItems.rod_quad_plutonium_fuel_depleted) {
|
||||
return plutonium3;
|
||||
}*/
|
||||
|
||||
if (item.getItem() == ModItems.waste_mox) {
|
||||
return moxF;
|
||||
}
|
||||
|
||||
/*if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) {
|
||||
return mox2;
|
||||
}
|
||||
|
||||
if (item.getItem() == ModItems.rod_quad_mox_fuel_depleted) {
|
||||
return mox3;
|
||||
}*/
|
||||
|
||||
if (item.getItem() == ModItems.waste_schrabidium) {
|
||||
return schrabidiumF;
|
||||
}
|
||||
|
||||
/*if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) {
|
||||
return schrabidium2;
|
||||
}
|
||||
|
||||
if (item.getItem() == ModItems.rod_quad_schrabidium_fuel_depleted) {
|
||||
return schrabidium3;
|
||||
}*/
|
||||
|
||||
if (item.getItem() == ModItems.powder_cloud) {
|
||||
return cloud;
|
||||
}
|
||||
@ -376,10 +349,19 @@ public class MachineRecipes {
|
||||
|
||||
if (item.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_fire)) {
|
||||
return new ItemStack[] {
|
||||
new ItemStack(Items.blaze_powder),
|
||||
new ItemStack(Items.blaze_powder),
|
||||
new ItemStack(Items.blaze_powder, 2),
|
||||
new ItemStack(ModItems.powder_fire, 2),
|
||||
new ItemStack(ModItems.ingot_phosphorus),
|
||||
new ItemStack(Blocks.netherrack),
|
||||
new ItemStack(Blocks.netherrack)
|
||||
};
|
||||
}
|
||||
|
||||
if (item.getItem() == Items.blaze_rod) {
|
||||
return new ItemStack[] {
|
||||
new ItemStack(Items.blaze_powder, 1),
|
||||
new ItemStack(Items.blaze_powder, 1),
|
||||
new ItemStack(ModItems.powder_fire, 1),
|
||||
new ItemStack(ModItems.powder_fire, 1)
|
||||
};
|
||||
}
|
||||
|
||||
@ -676,9 +658,6 @@ public class MachineRecipes {
|
||||
|
||||
if(input.getItem() == ModItems.assembly_nopip)
|
||||
return new ItemStack(ModItems.ammo_44);
|
||||
|
||||
//if(input.getItem() == ModItems.ammo_rocket)
|
||||
// return new ItemStack(ModItems.ammo_44_rocket);
|
||||
}
|
||||
|
||||
if(stamp.getItem() == ModItems.stamp_9) {
|
||||
@ -691,9 +670,6 @@ public class MachineRecipes {
|
||||
return new ItemStack(ModItems.gun_mp_ammo);
|
||||
if(input.getItem() == ModItems.assembly_lacunae)
|
||||
return new ItemStack(ModItems.ammo_5mm);
|
||||
|
||||
//if(input.getItem() == ModItems.ammo_rocket)
|
||||
// return new ItemStack(ModItems.ammo_9mm_rocket);
|
||||
}
|
||||
|
||||
if(stamp.getItem() == ModItems.stamp_50) {
|
||||
@ -1222,12 +1198,10 @@ public class MachineRecipes {
|
||||
getFurnaceOutput(new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold)).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten) },
|
||||
getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten)).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) },
|
||||
getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt)).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_dura_steel), new ItemStack(ModItems.powder_meteorite) },
|
||||
getFurnaceOutput(new ItemStack(ModItems.ingot_dura_steel), new ItemStack(ModItems.powder_meteorite)).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt) },
|
||||
getFurnaceOutput(new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt)).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_cobalt) },
|
||||
getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_cobalt)).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_saturnite), new ItemStack(ModItems.powder_meteorite) },
|
||||
getFurnaceOutput(new ItemStack(ModItems.ingot_saturnite), new ItemStack(ModItems.powder_meteorite)).copy());
|
||||
} catch (Exception x) {
|
||||
MainRegistry.logger.error("Unable to register alloy recipes for NEI!");
|
||||
}
|
||||
@ -1314,6 +1288,8 @@ public class MachineRecipes {
|
||||
getCentrifugeOutput(new ItemStack(ModBlocks.block_euphemium_cluster)));
|
||||
recipes.put(new ItemStack(ModBlocks.ore_nether_fire),
|
||||
getCentrifugeOutput(new ItemStack(ModBlocks.ore_nether_fire)));
|
||||
recipes.put(new ItemStack(Items.blaze_rod),
|
||||
getCentrifugeOutput(new ItemStack(Items.blaze_rod)));
|
||||
return recipes;
|
||||
}
|
||||
|
||||
@ -5052,6 +5028,10 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.niter, 1));
|
||||
list.add(new ItemStack(Items.redstone, 1));
|
||||
break;
|
||||
case SATURN:
|
||||
list.add(new ItemStack(ModItems.powder_dura_steel, 1));
|
||||
list.add(new ItemStack(ModItems.powder_fire, 1));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -5245,6 +5225,10 @@ public class MachineRecipes {
|
||||
case XENON:
|
||||
input[0] = new FluidStack(0, FluidType.NONE);
|
||||
break;
|
||||
case SATURN:
|
||||
input[0] = new FluidStack(100, FluidType.ACID);
|
||||
input[1] = new FluidStack(200, FluidType.MERCURY);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -5365,6 +5349,9 @@ public class MachineRecipes {
|
||||
case SOLID_FUEL:
|
||||
output[0] = new ItemStack(ModItems.rocket_fuel, 1);
|
||||
break;
|
||||
case SATURN:
|
||||
output[0] = new ItemStack(ModItems.ingot_saturnite, 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -5492,194 +5479,6 @@ public class MachineRecipes {
|
||||
return output;
|
||||
}
|
||||
|
||||
public String[] getInfoFromItem(ItemStack stack) {
|
||||
stack.stackSize = 1;
|
||||
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.asphalt))
|
||||
return new String[] { "Explosion resisant block", "Made from bitumen" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_uranium))
|
||||
return new String[] { "Block of uranium ore", "Found below Y:25" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_titanium))
|
||||
return new String[] { "Block of titanium ore", "Found below Y:35" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_sulfur))
|
||||
return new String[] { "Block of sulfur ore", "Found below Y:35", "Drops as sulfur dust" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_niter))
|
||||
return new String[] { "Block of niter ore", "Found below Y:35", "Drops as niter dust" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_copper))
|
||||
return new String[] { "Block of copper ore", "Found below Y:50" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_tungsten))
|
||||
return new String[] { "Block of tungsten ore", "Found below Y:35" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_aluminium))
|
||||
return new String[] { "Block of aluminium ore", "Found below Y:45" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_fluorite))
|
||||
return new String[] { "Block of fluorite ore", "Found below Y:40" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_beryllium))
|
||||
return new String[] { "Block of beryllium ore", "Found below Y:35" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_lead))
|
||||
return new String[] { "Block of lead ore", "Found below Y:35" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_oil))
|
||||
return new String[] { "Block of oil deposit", "Found below Y:25", "Spawns in large bubbles", "Exctractable via oil derrick" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_schrabidium))
|
||||
return new String[] { "Block of schrabidium ore", "Does not spawn naturally", "Created by nukes near uranium" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_australium))
|
||||
return new String[] { "Block of australium ore", "Found between Y:15 and Y:30", "Deposit location: X:-400, Z:-400" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_weidanium))
|
||||
return new String[] { "Block of weidanium ore", "Found below Y:25", "Deposit location: X:0, Z:300" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_reiium))
|
||||
return new String[] { "Block of reiium ore", "Found below Y:35", "Deposit location: X:0, Z:0" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_unobtainium))
|
||||
return new String[] { "Block of unobtainium ore", "Found below Y:128", "Deposit location: X:200, Z:200" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_daffergon))
|
||||
return new String[] { "Block of daffergon ore", "Found below Y:10", "Deposit location: X:400, Z:-200" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_verticium))
|
||||
return new String[] { "Block of verticium ore", "Found between Y:25 and Y:50", "Deposit location: X:-300, Z:200" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_uranium))
|
||||
return new String[] { "Block of uranium ore", "Only found in the nether" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_plutonium))
|
||||
return new String[] { "Block of plutonium ore", "Only found in the nether", "Disabled in config by default" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_tungsten))
|
||||
return new String[] { "Block of tungsten ore", "Only found in the nether" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_sulfur))
|
||||
return new String[] { "Block of sulfur ore", "Only found in the nether" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_fire))
|
||||
return new String[] { "Block of fire ore", "Only found in the nether", "Drops blaze or fire powder" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_schrabidium))
|
||||
return new String[] { "Block of schrabidium ore", "Does not spawn naturally" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_brick))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_glass))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_light))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_sand))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_lamp_off))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.brick_concrete))
|
||||
return new String[] { "Reinforced block", "Mostly withstands nukes" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.brick_obsidian))
|
||||
return new String[] { "Reinforced block", "Greatly withstands nukes" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.brick_light))
|
||||
return new String[] { "Reinforced block", "Barely withstands nukes" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.cmb_brick))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced))
|
||||
return new String[] { "Reinforced block", "Withstands nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.block_meteor))
|
||||
return new String[] { "Only found on space ships", "Used for late-game reactors", "Sometimes drops angry metal" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.tape_recorder))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_poles))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.pole_top))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.pole_satellite_receiver))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold))
|
||||
return new String[] { "Decorative block" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.mush))
|
||||
return new String[] { "Only grows on dead grass", "or on glowing mycelium", "Spreads" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_earth))
|
||||
return new String[] { "Radioactive grass", "Created by nuclear explosions" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_mycelium))
|
||||
return new String[] { "Radioactive mycelium", "Spreads onto dirt blocks", "Spread disabled by default" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_trinitite))
|
||||
return new String[] { "Radioactive sand ore", "Created by nuclear explosions", "Drops trinitite" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_trinitite_red))
|
||||
return new String[] { "Radioactive sand ore", "Created by nuclear explosions", "Drops trinitite" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_log))
|
||||
return new String[] { "Burnt log block", "Created by nuclear explosions", "Drops charcoal" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_planks))
|
||||
return new String[] { "Burnt planks block", "Created by nuclear explosions", "Drops charcoal" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_grass))
|
||||
return new String[] { "Frozen grass block", "Drops snowballs" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_dirt))
|
||||
return new String[] { "Frozen dirt block", "Drops snowballs" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_log))
|
||||
return new String[] { "Frozen log block", "Drops snowballs" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_planks))
|
||||
return new String[] { "Frozen planks block", "Drops snowballs" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.seal_frame))
|
||||
return new String[] { "Silo hatch frame piece", "Instructions:", "Build square from frame blocks", "Possible sizes: 3x3 - 11x11", "Add controller to any side" };
|
||||
if(stack.getItem() == Item.getItemFromBlock(ModBlocks.seal_controller))
|
||||
return new String[] { "Silo hatch controller", "Instructions:", "Build square from frame blocks", "Possible sizes: 3x3 - 11x11", "Add controller to any side" };
|
||||
|
||||
return new String[] { "xxx", "xxx" };
|
||||
}
|
||||
|
||||
public Map<Object, Object[]> getItemInfo() {
|
||||
Map<Object, Object[]> map = new HashMap<Object, Object[]>();
|
||||
map.put(new ItemStack(ModBlocks.asphalt), getInfoFromItem(new ItemStack(ModBlocks.asphalt)));
|
||||
map.put(new ItemStack(ModBlocks.ore_uranium), getInfoFromItem(new ItemStack(ModBlocks.ore_uranium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_titanium), getInfoFromItem(new ItemStack(ModBlocks.ore_titanium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_sulfur), getInfoFromItem(new ItemStack(ModBlocks.ore_sulfur)));
|
||||
map.put(new ItemStack(ModBlocks.ore_niter), getInfoFromItem(new ItemStack(ModBlocks.ore_niter)));
|
||||
map.put(new ItemStack(ModBlocks.ore_copper), getInfoFromItem(new ItemStack(ModBlocks.ore_copper)));
|
||||
map.put(new ItemStack(ModBlocks.ore_tungsten), getInfoFromItem(new ItemStack(ModBlocks.ore_tungsten)));
|
||||
map.put(new ItemStack(ModBlocks.ore_aluminium), getInfoFromItem(new ItemStack(ModBlocks.ore_aluminium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_fluorite), getInfoFromItem(new ItemStack(ModBlocks.ore_fluorite)));
|
||||
map.put(new ItemStack(ModBlocks.ore_beryllium), getInfoFromItem(new ItemStack(ModBlocks.ore_beryllium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_lead), getInfoFromItem(new ItemStack(ModBlocks.ore_lead)));
|
||||
map.put(new ItemStack(ModBlocks.ore_oil), getInfoFromItem(new ItemStack(ModBlocks.ore_oil)));
|
||||
map.put(new ItemStack(ModBlocks.ore_schrabidium), getInfoFromItem(new ItemStack(ModBlocks.ore_schrabidium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_australium), getInfoFromItem(new ItemStack(ModBlocks.ore_australium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_weidanium), getInfoFromItem(new ItemStack(ModBlocks.ore_weidanium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_reiium), getInfoFromItem(new ItemStack(ModBlocks.ore_reiium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_unobtainium), getInfoFromItem(new ItemStack(ModBlocks.ore_unobtainium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_daffergon), getInfoFromItem(new ItemStack(ModBlocks.ore_daffergon)));
|
||||
map.put(new ItemStack(ModBlocks.ore_verticium), getInfoFromItem(new ItemStack(ModBlocks.ore_verticium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_nether_uranium), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_uranium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_nether_plutonium), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_plutonium)));
|
||||
map.put(new ItemStack(ModBlocks.ore_nether_tungsten), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_tungsten)));
|
||||
map.put(new ItemStack(ModBlocks.ore_nether_sulfur), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_sulfur)));
|
||||
map.put(new ItemStack(ModBlocks.ore_nether_fire), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_fire)));
|
||||
map.put(new ItemStack(ModBlocks.ore_nether_schrabidium), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_schrabidium)));
|
||||
map.put(new ItemStack(ModBlocks.reinforced_brick), getInfoFromItem(new ItemStack(ModBlocks.reinforced_brick)));
|
||||
map.put(new ItemStack(ModBlocks.reinforced_glass), getInfoFromItem(new ItemStack(ModBlocks.reinforced_glass)));
|
||||
map.put(new ItemStack(ModBlocks.reinforced_light), getInfoFromItem(new ItemStack(ModBlocks.reinforced_light)));
|
||||
map.put(new ItemStack(ModBlocks.reinforced_lamp_off), getInfoFromItem(new ItemStack(ModBlocks.reinforced_lamp_off)));
|
||||
map.put(new ItemStack(ModBlocks.reinforced_sand), getInfoFromItem(new ItemStack(ModBlocks.reinforced_sand)));
|
||||
map.put(new ItemStack(ModBlocks.brick_concrete), getInfoFromItem(new ItemStack(ModBlocks.brick_concrete)));
|
||||
map.put(new ItemStack(ModBlocks.brick_obsidian), getInfoFromItem(new ItemStack(ModBlocks.brick_obsidian)));
|
||||
map.put(new ItemStack(ModBlocks.brick_light), getInfoFromItem(new ItemStack(ModBlocks.brick_light)));
|
||||
map.put(new ItemStack(ModBlocks.cmb_brick), getInfoFromItem(new ItemStack(ModBlocks.cmb_brick)));
|
||||
map.put(new ItemStack(ModBlocks.cmb_brick_reinforced), getInfoFromItem(new ItemStack(ModBlocks.cmb_brick_reinforced)));
|
||||
map.put(new ItemStack(ModBlocks.block_meteor), getInfoFromItem(new ItemStack(ModBlocks.block_meteor)));
|
||||
map.put(new ItemStack(ModBlocks.tape_recorder), getInfoFromItem(new ItemStack(ModBlocks.tape_recorder)));
|
||||
map.put(new ItemStack(ModBlocks.steel_poles), getInfoFromItem(new ItemStack(ModBlocks.steel_poles)));
|
||||
map.put(new ItemStack(ModBlocks.pole_top), getInfoFromItem(new ItemStack(ModBlocks.pole_top)));
|
||||
map.put(new ItemStack(ModBlocks.pole_satellite_receiver), getInfoFromItem(new ItemStack(ModBlocks.pole_satellite_receiver)));
|
||||
map.put(new ItemStack(ModBlocks.steel_wall), getInfoFromItem(new ItemStack(ModBlocks.steel_wall)));
|
||||
map.put(new ItemStack(ModBlocks.steel_corner), getInfoFromItem(new ItemStack(ModBlocks.steel_corner)));
|
||||
map.put(new ItemStack(ModBlocks.steel_roof), getInfoFromItem(new ItemStack(ModBlocks.steel_roof)));
|
||||
map.put(new ItemStack(ModBlocks.steel_beam), getInfoFromItem(new ItemStack(ModBlocks.steel_beam)));
|
||||
map.put(new ItemStack(ModBlocks.mush), getInfoFromItem(new ItemStack(ModBlocks.mush)));
|
||||
map.put(new ItemStack(ModBlocks.waste_earth), getInfoFromItem(new ItemStack(ModBlocks.waste_earth)));
|
||||
map.put(new ItemStack(ModBlocks.waste_mycelium), getInfoFromItem(new ItemStack(ModBlocks.waste_mycelium)));
|
||||
map.put(new ItemStack(ModBlocks.waste_trinitite), getInfoFromItem(new ItemStack(ModBlocks.waste_trinitite)));
|
||||
map.put(new ItemStack(ModBlocks.waste_trinitite_red), getInfoFromItem(new ItemStack(ModBlocks.waste_trinitite_red)));
|
||||
map.put(new ItemStack(ModBlocks.waste_log), getInfoFromItem(new ItemStack(ModBlocks.waste_log)));
|
||||
map.put(new ItemStack(ModBlocks.waste_planks), getInfoFromItem(new ItemStack(ModBlocks.waste_planks)));
|
||||
map.put(new ItemStack(ModBlocks.frozen_grass), getInfoFromItem(new ItemStack(ModBlocks.frozen_grass)));
|
||||
map.put(new ItemStack(ModBlocks.frozen_dirt), getInfoFromItem(new ItemStack(ModBlocks.frozen_dirt)));
|
||||
map.put(new ItemStack(ModBlocks.frozen_log), getInfoFromItem(new ItemStack(ModBlocks.frozen_log)));
|
||||
map.put(new ItemStack(ModBlocks.frozen_planks), getInfoFromItem(new ItemStack(ModBlocks.frozen_planks)));
|
||||
map.put(new ItemStack(ModBlocks.seal_frame), getInfoFromItem(new ItemStack(ModBlocks.seal_frame)));
|
||||
map.put(new ItemStack(ModBlocks.seal_controller), getInfoFromItem(new ItemStack(ModBlocks.seal_controller)));
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public Map<Object, Object> getFluidContainers() {
|
||||
Map<Object, Object> map = new HashMap<Object, Object>();
|
||||
|
||||
|
||||
@ -17,8 +17,8 @@ public class ContainerMachineBattery extends Container {
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 26, 35));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 134, 35));
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 26, 17));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 26, 53));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
|
||||
@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIBombMulti extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/bombGeneric.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/bombGeneric.png");
|
||||
private TileEntityBombMulti testNuke;
|
||||
|
||||
public GUIBombMulti(InventoryPlayer invPlayer, TileEntityBombMulti tedf) {
|
||||
|
||||
@ -13,7 +13,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUICelPrime extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/celprime_cmd_alt_thirdslot.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/celprime_cmd_alt_thirdslot.png");
|
||||
private TileEntityCelPrime testNuke;
|
||||
|
||||
public GUICelPrime(InventoryPlayer invPlayer, TileEntityCelPrime tedf) {
|
||||
|
||||
@ -13,7 +13,7 @@ import com.hbm.tileentity.bomb.TileEntityLaunchPad;
|
||||
|
||||
public class GUILaunchPadTier1 extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_pad.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_pad.png");
|
||||
private TileEntityLaunchPad diFurnace;
|
||||
|
||||
public GUILaunchPadTier1(InventoryPlayer invPlayer, TileEntityLaunchPad tedf) {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@ -9,16 +10,18 @@ import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerMachineBattery;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.AuxButtonPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineBattery;
|
||||
|
||||
public class GUIMachineBattery extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_battery.png");
|
||||
private TileEntityMachineBattery diFurnace;
|
||||
private TileEntityMachineBattery battery;
|
||||
|
||||
public GUIMachineBattery(InventoryPlayer invPlayer, TileEntityMachineBattery tedf) {
|
||||
super(new ContainerMachineBattery(invPlayer, tedf));
|
||||
diFurnace = tedf;
|
||||
battery = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
@ -28,18 +31,34 @@ public class GUIMachineBattery extends GuiInfoContainer {
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 52, 52, diFurnace.power, diFurnace.maxPower);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 52, 52, battery.power, battery.maxPower);
|
||||
|
||||
String[] text = new String[] { "Only stores power by default.",
|
||||
"Apply redstone signal to set it to",
|
||||
"output mode." };
|
||||
String[] text = new String[] { "Click the buttons on the right",
|
||||
"to change battery behavior for",
|
||||
"when redstone is or isn't applied." };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text);
|
||||
}
|
||||
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(guiLeft + 133 <= x && guiLeft + 133 + 18 > x && guiTop + 16 < y && guiTop + 16 + 18 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(battery.xCoord, battery.yCoord, battery.zCoord, 0, 0));
|
||||
}
|
||||
|
||||
if(guiLeft + 133 <= x && guiLeft + 133 + 18 > x && guiTop + 52 < y && guiTop + 52 + 18 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(battery.xCoord, battery.yCoord, battery.zCoord, 0, 1));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
|
||||
name += (" (" + this.diFurnace.power + " HE)");
|
||||
String name = this.battery.hasCustomInventoryName() ? this.battery.getInventoryName() : I18n.format(this.battery.getInventoryName());
|
||||
name += (" (" + this.battery.power + " HE)");
|
||||
|
||||
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);
|
||||
@ -51,10 +70,16 @@ public class GUIMachineBattery extends GuiInfoContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
if(diFurnace.power > 0) {
|
||||
int i = (int)diFurnace.getPowerRemainingScaled(52);
|
||||
if(battery.power > 0) {
|
||||
int i = (int)battery.getPowerRemainingScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 62, guiTop + 69 - i, 176, 52 - i, 52, i);
|
||||
}
|
||||
|
||||
int i = battery.redLow;
|
||||
drawTexturedModalRect(guiLeft + 133, guiTop + 16, 176, 52 + i * 18, 18, 18);
|
||||
|
||||
int j = battery.redHigh;
|
||||
drawTexturedModalRect(guiLeft + 133, guiTop + 52, 176, 52 + j * 18, 18, 18);
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineCompactLauncher extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_table_small.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_table_small.png");
|
||||
private TileEntityCompactLauncher launcher;
|
||||
|
||||
public GUIMachineCompactLauncher(InventoryPlayer invPlayer, TileEntityCompactLauncher tedf) {
|
||||
|
||||
@ -22,7 +22,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineLaunchTable extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_table.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_table.png");
|
||||
private TileEntityLaunchTable launcher;
|
||||
|
||||
public GUIMachineLaunchTable(InventoryPlayer invPlayer, TileEntityLaunchTable tedf) {
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.inventory.gui;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerMachineSiren;
|
||||
import com.hbm.items.tool.ItemCassette.TrackType;
|
||||
import com.hbm.items.machine.ItemCassette.TrackType;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSiren;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUINukeBoy extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/lilBoySchematic.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/lilBoySchematic.png");
|
||||
private TileEntityNukeBoy testNuke;
|
||||
|
||||
public GUINukeBoy(InventoryPlayer invPlayer, TileEntityNukeBoy tedf) {
|
||||
|
||||
@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUINukeCustom extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gunBombSchematic.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gunBombSchematic.png");
|
||||
private TileEntityNukeCustom testNuke;
|
||||
|
||||
public GUINukeCustom(InventoryPlayer invPlayer, TileEntityNukeCustom tedf) {
|
||||
|
||||
@ -15,7 +15,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeFleija;
|
||||
|
||||
public class GUINukeFleija extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fleijaSchematic.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/fleijaSchematic.png");
|
||||
private TileEntityNukeFleija testNuke;
|
||||
|
||||
public GUINukeFleija(InventoryPlayer invPlayer, TileEntityNukeFleija tedf) {
|
||||
|
||||
@ -14,7 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeGadget;
|
||||
|
||||
public class GUINukeGadget extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gadgetSchematic.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gadgetSchematic.png");
|
||||
private TileEntityNukeGadget testNuke;
|
||||
|
||||
public GUINukeGadget(InventoryPlayer invPlayer, TileEntityNukeGadget tedf) {
|
||||
|
||||
@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUINukeMike extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/ivyMikeSchematic.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/ivyMikeSchematic.png");
|
||||
private TileEntityNukeMike testNuke;
|
||||
|
||||
public GUINukeMike(InventoryPlayer invPlayer, TileEntityNukeMike tedf) {
|
||||
|
||||