diff --git a/assets/hbm/textures/gui/fluids2.png b/assets/hbm/textures/gui/fluids2.png index 08a98abed..75641be0b 100755 Binary files a/assets/hbm/textures/gui/fluids2.png and b/assets/hbm/textures/gui/fluids2.png differ diff --git a/assets/hbm/textures/items/chem_icon_ASPHALT.png b/assets/hbm/textures/items/chem_icon_ASPHALT.png new file mode 100644 index 000000000..37438f615 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_ASPHALT.png differ diff --git a/assets/hbm/textures/items/chem_icon_BP_BIOFUEL.png b/assets/hbm/textures/items/chem_icon_BP_BIOFUEL.png new file mode 100644 index 000000000..73bca44c7 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_BP_BIOFUEL.png differ diff --git a/assets/hbm/textures/items/chem_icon_BP_BIOGAS.png b/assets/hbm/textures/items/chem_icon_BP_BIOGAS.png new file mode 100644 index 000000000..f0f4ebbe2 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_BP_BIOGAS.png differ diff --git a/assets/hbm/textures/items/chem_icon_CC_HEATING.png b/assets/hbm/textures/items/chem_icon_CC_HEATING.png new file mode 100644 index 000000000..d1c82542e Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CC_HEATING.png differ diff --git a/assets/hbm/textures/items/chem_icon_CC_HEAVY.png b/assets/hbm/textures/items/chem_icon_CC_HEAVY.png new file mode 100644 index 000000000..e0f0d88f1 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CC_HEAVY.png differ diff --git a/assets/hbm/textures/items/chem_icon_CC_I.png b/assets/hbm/textures/items/chem_icon_CC_I.png new file mode 100644 index 000000000..efbf998ee Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CC_I.png differ diff --git a/assets/hbm/textures/items/chem_icon_CC_NAPHTHA.png b/assets/hbm/textures/items/chem_icon_CC_NAPHTHA.png new file mode 100644 index 000000000..ffbf1caba Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CC_NAPHTHA.png differ diff --git a/assets/hbm/textures/items/chem_icon_CC_OIL.png b/assets/hbm/textures/items/chem_icon_CC_OIL.png new file mode 100644 index 000000000..aa029c58a Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CC_OIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_CIRCUIT_4.png b/assets/hbm/textures/items/chem_icon_CIRCUIT_4.png new file mode 100644 index 000000000..c250c1c41 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CIRCUIT_4.png differ diff --git a/assets/hbm/textures/items/chem_icon_CIRCUIT_5.png b/assets/hbm/textures/items/chem_icon_CIRCUIT_5.png new file mode 100644 index 000000000..714fc1262 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_CIRCUIT_5.png differ diff --git a/assets/hbm/textures/items/chem_icon_COOLANT.png b/assets/hbm/textures/items/chem_icon_COOLANT.png new file mode 100644 index 000000000..f811c1206 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_COOLANT.png differ diff --git a/assets/hbm/textures/items/chem_icon_DESH.png b/assets/hbm/textures/items/chem_icon_DESH.png new file mode 100644 index 000000000..e5065899b Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_DESH.png differ diff --git a/assets/hbm/textures/items/chem_icon_DEUTERIUM.png b/assets/hbm/textures/items/chem_icon_DEUTERIUM.png new file mode 100644 index 000000000..6d60f0df0 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_DEUTERIUM.png differ diff --git a/assets/hbm/textures/items/chem_icon_FC_DIESEL_KEROSENE.png b/assets/hbm/textures/items/chem_icon_FC_DIESEL_KEROSENE.png new file mode 100644 index 000000000..61401b931 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FC_DIESEL_KEROSENE.png differ diff --git a/assets/hbm/textures/items/chem_icon_FC_GAS_PETROLEUM.png b/assets/hbm/textures/items/chem_icon_FC_GAS_PETROLEUM.png new file mode 100644 index 000000000..2e94b85b0 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FC_GAS_PETROLEUM.png differ diff --git a/assets/hbm/textures/items/chem_icon_FC_I_NAPHTHA.png b/assets/hbm/textures/items/chem_icon_FC_I_NAPHTHA.png new file mode 100644 index 000000000..7e28e9430 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FC_I_NAPHTHA.png differ diff --git a/assets/hbm/textures/items/chem_icon_FC_KEROSENE_PETROLEUM.png b/assets/hbm/textures/items/chem_icon_FC_KEROSENE_PETROLEUM.png new file mode 100644 index 000000000..e0a74f413 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FC_KEROSENE_PETROLEUM.png differ diff --git a/assets/hbm/textures/items/chem_icon_FP_HEAVYOIL.png b/assets/hbm/textures/items/chem_icon_FP_HEAVYOIL.png new file mode 100644 index 000000000..f43936e13 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FP_HEAVYOIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_FP_LIGHTOIL.png b/assets/hbm/textures/items/chem_icon_FP_LIGHTOIL.png new file mode 100644 index 000000000..ee8bb41eb Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FP_LIGHTOIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_FP_NAPHTHA.png b/assets/hbm/textures/items/chem_icon_FP_NAPHTHA.png new file mode 100644 index 000000000..c0a874164 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FP_NAPHTHA.png differ diff --git a/assets/hbm/textures/items/chem_icon_FP_SMEAR.png b/assets/hbm/textures/items/chem_icon_FP_SMEAR.png new file mode 100644 index 000000000..302af341c Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FP_SMEAR.png differ diff --git a/assets/hbm/textures/items/chem_icon_FR_PETROIL.png b/assets/hbm/textures/items/chem_icon_FR_PETROIL.png new file mode 100644 index 000000000..c22443dee Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FR_PETROIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_FR_REOIL.png b/assets/hbm/textures/items/chem_icon_FR_REOIL.png new file mode 100644 index 000000000..c14934e6b Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_FR_REOIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_PEROXIDE.png b/assets/hbm/textures/items/chem_icon_PEROXIDE.png new file mode 100644 index 000000000..0656d79bc Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_PEROXIDE.png differ diff --git a/assets/hbm/textures/items/chem_icon_POLYMER.png b/assets/hbm/textures/items/chem_icon_POLYMER.png new file mode 100644 index 000000000..efb64abf2 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_POLYMER.png differ diff --git a/assets/hbm/textures/items/chem_icon_PUF6.png b/assets/hbm/textures/items/chem_icon_PUF6.png new file mode 100644 index 000000000..9464a5ac6 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_PUF6.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_BIOFUEL.png b/assets/hbm/textures/items/chem_icon_SF_BIOFUEL.png new file mode 100644 index 000000000..5514b756f Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_BIOFUEL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_BIOGAS.png b/assets/hbm/textures/items/chem_icon_SF_BIOGAS.png new file mode 100644 index 000000000..2480860cb Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_BIOGAS.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_DIESEL.png b/assets/hbm/textures/items/chem_icon_SF_DIESEL.png new file mode 100644 index 000000000..14832b7ea Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_DIESEL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_GAS.png b/assets/hbm/textures/items/chem_icon_SF_GAS.png new file mode 100644 index 000000000..c81d12a7f Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_GAS.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_HEATINGOIL.png b/assets/hbm/textures/items/chem_icon_SF_HEATINGOIL.png new file mode 100644 index 000000000..06f059560 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_HEATINGOIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_HEAVYOIL.png b/assets/hbm/textures/items/chem_icon_SF_HEAVYOIL.png new file mode 100644 index 000000000..19bf8aa09 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_HEAVYOIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_KEROSENE.png b/assets/hbm/textures/items/chem_icon_SF_KEROSENE.png new file mode 100644 index 000000000..5a8602241 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_KEROSENE.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_LIGHTOIL.png b/assets/hbm/textures/items/chem_icon_SF_LIGHTOIL.png new file mode 100644 index 000000000..178ea10e6 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_LIGHTOIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_LUBRICANT.png b/assets/hbm/textures/items/chem_icon_SF_LUBRICANT.png new file mode 100644 index 000000000..dca30e9d1 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_LUBRICANT.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_NAPHTHA.png b/assets/hbm/textures/items/chem_icon_SF_NAPHTHA.png new file mode 100644 index 000000000..6d9b196ef Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_NAPHTHA.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_OIL.png b/assets/hbm/textures/items/chem_icon_SF_OIL.png new file mode 100644 index 000000000..6da485d23 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_OIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_PETROIL.png b/assets/hbm/textures/items/chem_icon_SF_PETROIL.png new file mode 100644 index 000000000..84bb29e18 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_PETROIL.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_PETROLEUM.png b/assets/hbm/textures/items/chem_icon_SF_PETROLEUM.png new file mode 100644 index 000000000..cd10e6add Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_PETROLEUM.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_RECLAIMED.png b/assets/hbm/textures/items/chem_icon_SF_RECLAIMED.png new file mode 100644 index 000000000..5b0e27ba8 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_RECLAIMED.png differ diff --git a/assets/hbm/textures/items/chem_icon_SF_SMEAR.png b/assets/hbm/textures/items/chem_icon_SF_SMEAR.png new file mode 100644 index 000000000..318306a97 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SF_SMEAR.png differ diff --git a/assets/hbm/textures/items/chem_icon_STEAM.png b/assets/hbm/textures/items/chem_icon_STEAM.png new file mode 100644 index 000000000..2fc7a8898 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_STEAM.png differ diff --git a/assets/hbm/textures/items/chem_icon_TEST.png b/assets/hbm/textures/items/chem_icon_TEST.png new file mode 100644 index 000000000..e936eab6f Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_TEST.png differ diff --git a/assets/hbm/textures/items/chem_icon_UF6.png b/assets/hbm/textures/items/chem_icon_UF6.png new file mode 100644 index 000000000..b9023fe89 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_UF6.png differ diff --git a/assets/hbm/textures/items/schrabidium_hammer.png b/assets/hbm/textures/items/schrabidium_hammer.png index 88fa578d3..d0aa0169b 100644 Binary files a/assets/hbm/textures/items/schrabidium_hammer.png and b/assets/hbm/textures/items/schrabidium_hammer.png differ diff --git a/assets/hbm/textures/items/turret_chip.png b/assets/hbm/textures/items/turret_chip.png new file mode 100644 index 000000000..29034d31e Binary files /dev/null and b/assets/hbm/textures/items/turret_chip.png differ diff --git a/assets/hbm/textures/items/turret_flamer_ammo.png b/assets/hbm/textures/items/turret_flamer_ammo.png new file mode 100644 index 000000000..19c15cfe6 Binary files /dev/null and b/assets/hbm/textures/items/turret_flamer_ammo.png differ diff --git a/assets/hbm/textures/items/turret_heavy_ammo.png b/assets/hbm/textures/items/turret_heavy_ammo.png new file mode 100644 index 000000000..0fed1fdf7 Binary files /dev/null and b/assets/hbm/textures/items/turret_heavy_ammo.png differ diff --git a/assets/hbm/textures/items/turret_light_ammo.png b/assets/hbm/textures/items/turret_light_ammo.png new file mode 100644 index 000000000..13143457c Binary files /dev/null and b/assets/hbm/textures/items/turret_light_ammo.png differ diff --git a/assets/hbm/textures/items/turret_missile_ammo.png b/assets/hbm/textures/items/turret_missile_ammo.png new file mode 100644 index 000000000..e75662c45 Binary files /dev/null and b/assets/hbm/textures/items/turret_missile_ammo.png differ diff --git a/assets/hbm/textures/items/turret_tau_ammo.png b/assets/hbm/textures/items/turret_tau_ammo.png new file mode 100644 index 000000000..7a3d511d1 Binary files /dev/null and b/assets/hbm/textures/items/turret_tau_ammo.png differ diff --git a/assets/hbm/textures/models/tank_BIOFUEL.png b/assets/hbm/textures/models/tank_BIOFUEL.png new file mode 100644 index 000000000..86efa61ad Binary files /dev/null and b/assets/hbm/textures/models/tank_BIOFUEL.png differ diff --git a/assets/hbm/textures/models/tank_BIOGAS.png b/assets/hbm/textures/models/tank_BIOGAS.png new file mode 100644 index 000000000..c8c03ce09 Binary files /dev/null and b/assets/hbm/textures/models/tank_BIOGAS.png differ diff --git a/com/hbm/blocks/bomb/TurretHeavy.java b/com/hbm/blocks/bomb/TurretHeavy.java index fc481eba0..2b7acc869 100644 --- a/com/hbm/blocks/bomb/TurretHeavy.java +++ b/com/hbm/blocks/bomb/TurretHeavy.java @@ -41,9 +41,9 @@ public class TurretHeavy extends TurretBase { if(!world.isRemote) { EntityBullet bullet = new EntityBullet(world); - bullet.posX = x + vector.xCoord * 2 + 0.5; - bullet.posY = y + vector.yCoord * 2 + 1; - bullet.posZ = z + vector.zCoord * 2 + 0.5; + bullet.posX = x + vector.xCoord * 1 + 0.5; + bullet.posY = y + vector.yCoord * 1 + 1; + bullet.posZ = z + vector.zCoord * 1 + 0.5; bullet.motionX = vector.xCoord * 3; bullet.motionY = vector.yCoord * 3; @@ -54,9 +54,9 @@ public class TurretHeavy extends TurretBase { world.spawnEntityInWorld(bullet); EntityGasFlameFX fx = new EntityGasFlameFX(world); - fx.posX = x + vector.xCoord * 2 + 0.5; - fx.posY = y + vector.yCoord * 2 + 1; - fx.posZ = z + vector.zCoord * 2 + 0.5; + fx.posX = x + vector.xCoord * 2.2 + 0.5; + fx.posY = y + vector.yCoord * 2.2 + 1; + fx.posZ = z + vector.zCoord * 2.2 + 0.5; world.spawnEntityInWorld(fx); } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 45470f2c5..b0728efe8 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -625,9 +625,6 @@ public class MachineRecipes { recipes.put(new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)), getCentrifugeOutput(Item.getItemFromBlock(ModBlocks.test_render))); } - // [REDACTED] - // recipes.put(new ItemStack(ModItems.rod_quad_euphemium), - // getCentrifugeOutput(ModItems.rod_quad_euphemium)); recipes.put(new ItemStack(ModItems.cell_sas3), getCentrifugeOutput(ModItems.cell_sas3)); recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted), getCentrifugeOutput(ModItems.rod_uranium_fuel_depleted)); @@ -694,9 +691,7 @@ public class MachineRecipes { recipes.put(new ItemStack(ModItems.rod_neptunium), getReactorOutput(ModItems.rod_neptunium)); recipes.put(new ItemStack(ModItems.rod_dual_neptunium), getReactorOutput(ModItems.rod_dual_neptunium)); recipes.put(new ItemStack(ModItems.rod_quad_neptunium), getReactorOutput(ModItems.rod_quad_neptunium)); - // [REDACTED] - // recipes.put(new ItemStack(ModItems.rod_quad_schrabidium), - // getReactorOutput(ModItems.rod_quad_schrabidium)); + recipes.put(new ItemStack(ModItems.rod_quad_schrabidium), getReactorOutput(ModItems.rod_quad_schrabidium)); recipes.put(new ItemStack(ModItems.rod_lithium), getReactorOutput(ModItems.rod_lithium)); recipes.put(new ItemStack(ModItems.rod_dual_lithium), getReactorOutput(ModItems.rod_dual_lithium)); recipes.put(new ItemStack(ModItems.rod_quad_lithium), getReactorOutput(ModItems.rod_quad_lithium)); @@ -2146,15 +2141,22 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.bolt_dura_steel, 2)); list.add(new ItemStack(ModItems.drill_titanium, 1)); break; - case SCHRABTRANS: + case TELEPORTER: list.add(new ItemStack(ModItems.ingot_titanium, 6)); list.add(new ItemStack(ModItems.plate_advanced_alloy, 12)); list.add(new ItemStack(ModItems.plate_combine_steel, 4)); list.add(new ItemStack(ModItems.telepad, 1)); list.add(new ItemStack(ModItems.entanglement_kit, 1)); - list.add(new ItemStack(ModBlocks.machine_battery, 5)); + list.add(new ItemStack(ModBlocks.machine_battery, 2)); list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 4)); break; + case SCHRABTRANS: + list.add(new ItemStack(ModItems.ingot_titanium, 24)); + list.add(new ItemStack(ModItems.plate_advanced_alloy, 18)); + list.add(new ItemStack(ModItems.plate_steel, 12)); + list.add(new ItemStack(ModBlocks.machine_battery, 5)); + list.add(new ItemStack(ModItems.ingot_magnetized_tungsten, 1)); + break; case CMB_FURNACE: list.add(new ItemStack(ModItems.ingot_steel, 8)); list.add(new ItemStack(ModItems.ingot_polymer, 6)); @@ -2283,6 +2285,10 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.circuit_schrabidium, 2)); list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 12)); break; + case FW_PORT: + list.add(new ItemStack(ModItems.ingot_tungsten, 6)); + list.add(new ItemStack(ModItems.plate_combine_steel, 4)); + break; case FW_MAGNET: list.add(new ItemStack(ModItems.plate_combine_steel, 10)); list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 5)); @@ -3070,6 +3076,9 @@ public class MachineRecipes { case MINER: output = new ItemStack(ModBlocks.machine_drill, 1); break; + case TELEPORTER: + output = new ItemStack(ModBlocks.machine_teleporter, 1); + break; case SCHRABTRANS: output = new ItemStack(ModBlocks.machine_schrabidium_transmutator, 1); break; @@ -3139,6 +3148,9 @@ public class MachineRecipes { case LW_CORE: output = new ItemStack(ModBlocks.watz_core, 1); break; + case FW_PORT: + output = new ItemStack(ModBlocks.fwatz_hatch, 1); + break; case FW_MAGNET: output = new ItemStack(ModBlocks.fwatz_conductor, 1); break; @@ -3649,6 +3661,12 @@ public class MachineRecipes { case SF_PETROLEUM: input[0] = new FluidStack(600, FluidType.PETROLEUM); break; + case SF_BIOGAS: + input[0] = new FluidStack(400, FluidType.BIOGAS); + break; + case SF_BIOFUEL: + input[0] = new FluidStack(300, FluidType.BIOFUEL); + break; case POLYMER: input[0] = new FluidStack(600, FluidType.PETROLEUM); break; @@ -3659,7 +3677,7 @@ public class MachineRecipes { input[0] = new FluidStack(1000, FluidType.WATER); break; case BP_BIOFUEL: - input[0] = new FluidStack(1000, FluidType.BIOGAS); + input[0] = new FluidStack(2000, FluidType.BIOGAS); break; default: break; @@ -3747,6 +3765,14 @@ public class MachineRecipes { output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; + case SF_BIOGAS: + output[0] = new ItemStack(ModItems.solid_fuel, 1); + output[1] = new ItemStack(ModItems.solid_fuel, 1); + break; + case SF_BIOFUEL: + output[0] = new ItemStack(ModItems.solid_fuel, 1); + output[1] = new ItemStack(ModItems.solid_fuel, 1); + break; case POLYMER: output[0] = new ItemStack(ModItems.ingot_polymer, 1); break; @@ -3827,13 +3853,13 @@ public class MachineRecipes { input[0] = new FluidStack(500, FluidType.DEUTERIUM); break; case STEAM: - input[0] = new FluidStack(1000, FluidType.DEUTERIUM); + input[0] = new FluidStack(1000, FluidType.STEAM); break; case BP_BIOGAS: - input[0] = new FluidStack(1000, FluidType.BIOGAS); + input[0] = new FluidStack(4000, FluidType.BIOGAS); break; case BP_BIOFUEL: - input[0] = new FluidStack(500, FluidType.BIOFUEL); + input[0] = new FluidStack(1000, FluidType.BIOFUEL); break; default: break; diff --git a/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index 903b9b94b..767c05807 100644 --- a/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -7,6 +7,7 @@ import java.util.List; import org.lwjgl.opengl.GL11; import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate; import com.hbm.items.tool.ItemChemistryTemplate; @@ -174,8 +175,18 @@ public class GUIScreenTemplateFolder extends GuiScreen { } public void drawIcon(boolean b) { - if(stack != null) - itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), stack, xPos + 1, yPos + 1); + try { + GL11.glDisable(GL11.GL_LIGHTING); + if(stack != null) { + if(stack.getItem() == ModItems.assembly_template) + itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), MachineRecipes.getOutputFromTempate(stack), xPos + 1, yPos + 1); + else if(stack.getItem() == ModItems.chemistry_template) + itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), new ItemStack(ModItems.chemistry_icon, 1, stack.getItemDamage()), xPos + 1, yPos + 1); + else + itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), stack, xPos + 1, yPos + 1); + } + GL11.glEnable(GL11.GL_LIGHTING); + } catch(Exception x) { } } public void drawString(int x, int y) { diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 6ae021e3b..7e90adf19 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -544,6 +544,7 @@ public class ModItems { public static Item template_folder; public static Item assembly_template; public static Item chemistry_template; + public static Item chemistry_icon; public static Item fluid_identifier; public static Item fluid_icon; @@ -923,6 +924,7 @@ public class ModItems { public static Item crate_caller; public static Item remote; public static Item turret_control; + public static Item turret_chip; public static Item chopper; public static Item bucket_mud; @@ -1750,11 +1752,13 @@ public class ModItems { linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":linker"); oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":oil_detector"); turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_control"); + turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_chip"); geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":geiger_counter"); template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":template_folder"); assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":assembly_template"); chemistry_template = new ItemChemistryTemplate().setUnlocalizedName("chemistry_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":chemistry_template"); + chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null); fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":fluid_identifier"); fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon"); fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fluid_tank"); @@ -2426,6 +2430,7 @@ public class ModItems { GameRegistry.registerItem(fluid_icon, fluid_icon.getUnlocalizedName()); GameRegistry.registerItem(assembly_template, assembly_template.getUnlocalizedName()); GameRegistry.registerItem(chemistry_template, chemistry_template.getUnlocalizedName()); + GameRegistry.registerItem(chemistry_icon, chemistry_icon.getUnlocalizedName()); //Machine Items GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); @@ -2576,6 +2581,7 @@ public class ModItems { GameRegistry.registerItem(designator, designator.getUnlocalizedName()); GameRegistry.registerItem(designator_range, designator_range.getUnlocalizedName()); GameRegistry.registerItem(turret_control, turret_control.getUnlocalizedName()); + GameRegistry.registerItem(turret_chip, turret_chip.getUnlocalizedName()); GameRegistry.registerItem(linker, linker.getUnlocalizedName()); GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName()); GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index ccd52ec95..5f4c892bd 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -280,11 +280,6 @@ public class ItemCustomLore extends ItemRadioactive { { list.add("A quad fuel rod which contains a"); list.add("very small ammount of a strange new element."); - list.add(""); - list.add("If you tell anybody about this, I will"); - list.add("tear your living guts out and use them to"); - list.add("grease the treads of my tank."); - list.add("Got that? Good."); } if(this == ModItems.ingot_euphemium) diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index a1cb479dd..3ab543c4f 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -129,6 +129,7 @@ public class ItemAssemblyTemplate extends Item { CHEMPLANT, TANK, MINER, + TELEPORTER, SCHRABTRANS, CMB_FURNACE, FA_HULL, @@ -152,6 +153,7 @@ public class ItemAssemblyTemplate extends Item { LW_HATCH, LW_PORT, LW_CORE, + FW_PORT, FW_MAGNET, FW_COMPUTER, FW_CORE, @@ -506,8 +508,10 @@ public class ItemAssemblyTemplate extends Item { return 150; case MINER: return 200; - case SCHRABTRANS: + case TELEPORTER: return 300; + case SCHRABTRANS: + return 500; case CMB_FURNACE: return 150; case FA_HULL: @@ -552,6 +556,8 @@ public class ItemAssemblyTemplate extends Item { return 250; case LW_CORE: return 350; + case FW_PORT: + return 250; case FW_MAGNET: return 250; case FW_COMPUTER: diff --git a/com/hbm/items/tool/ItemChemistryIcon.java b/com/hbm/items/tool/ItemChemistryIcon.java new file mode 100644 index 000000000..8f6d6eee9 --- /dev/null +++ b/com/hbm/items/tool/ItemChemistryIcon.java @@ -0,0 +1,72 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemChemistryTemplate.EnumChemistryTemplate; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; + +public class ItemChemistryIcon extends Item { + + @SideOnly(Side.CLIENT) + private IIcon[] icons; + + public ItemChemistryIcon() + { + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + public String getItemStackDisplayName(ItemStack stack) + { + String s = ("" + StatCollector.translateToLocal(ModItems.chemistry_template.getUnlocalizedName() + ".name")).trim(); + String s1 = ("" + StatCollector.translateToLocal("chem." + EnumChemistryTemplate.getEnum(stack.getItemDamage()).name())).trim(); + + if (s1 != null) + { + s = s + " " + s1; + } + + return s; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) + { + for (int i = 0; i < EnumChemistryTemplate.values().length; ++i) + { + list.add(new ItemStack(item, 1, i)); + } + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister reg) + { + this.icons = new IIcon[EnumChemistryTemplate.values().length]; + + for (int i = 0; i < icons.length; ++i) + { + this.icons[i] = reg.registerIcon("hbm:chem_icon_" + EnumChemistryTemplate.getEnum(i).name()); + } + } + + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int i) + { + int j = MathHelper.clamp_int(i, 0, icons.length - 1); + return this.icons[j]; + } + +} diff --git a/com/hbm/items/tool/ItemChemistryTemplate.java b/com/hbm/items/tool/ItemChemistryTemplate.java index 408e1c86b..f2c25b59c 100644 --- a/com/hbm/items/tool/ItemChemistryTemplate.java +++ b/com/hbm/items/tool/ItemChemistryTemplate.java @@ -54,6 +54,8 @@ public class ItemChemistryTemplate extends Item { SF_KEROSENE, SF_GAS, SF_PETROLEUM, + SF_BIOGAS, + SF_BIOFUEL, BP_BIOGAS, BP_BIOFUEL, ASPHALT, @@ -188,6 +190,10 @@ public class ItemChemistryTemplate extends Item { return 20; case SF_PETROLEUM: return 20; + case SF_BIOGAS: + return 20; + case SF_BIOFUEL: + return 20; case POLYMER: return 100; case DEUTERIUM: @@ -197,7 +203,7 @@ public class ItemChemistryTemplate extends Item { case BP_BIOGAS: return 200; case BP_BIOFUEL: - return 300; + return 100; default: return 100; } diff --git a/com/hbm/items/tool/ItemTurretChip.java b/com/hbm/items/tool/ItemTurretChip.java new file mode 100644 index 000000000..6a21a4b25 --- /dev/null +++ b/com/hbm/items/tool/ItemTurretChip.java @@ -0,0 +1,38 @@ +package com.hbm.items.tool; + +import com.hbm.blocks.bomb.TurretBase; +import com.hbm.tileentity.bomb.TileEntityTurretBase; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; + +public class ItemTurretChip extends Item { + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) + { + if((world.getBlock(x, y, z) instanceof TurretBase)) + { + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityTurretBase) { + ((TileEntityTurretBase)te).isAI = true; + ((TileEntityTurretBase)te).uuid = player.getUniqueID().toString(); + } + if(world.isRemote) + { + player.addChatMessage(new ChatComponentText("Turret ownership set to: " + player.getDisplayName())); + } + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + + return true; + } + + return false; + } + +} diff --git a/com/hbm/items/tool/ItemTurretControl.java b/com/hbm/items/tool/ItemTurretControl.java index 475fb2234..fbd8a7d9f 100644 --- a/com/hbm/items/tool/ItemTurretControl.java +++ b/com/hbm/items/tool/ItemTurretControl.java @@ -42,12 +42,14 @@ public class ItemTurretControl extends Item { if(te != null && te instanceof TileEntityTurretBase) { TileEntityTurretBase turret = (TileEntityTurretBase)te; - turret.rotationYaw = player.rotationYaw; - turret.rotationPitch = player.rotationPitch; - if(turret.rotationPitch < -60) - turret.rotationPitch = -60; - if(turret.rotationPitch > 30) - turret.rotationPitch = 30; + if(!turret.isAI) { + turret.rotationYaw = player.rotationYaw; + turret.rotationPitch = player.rotationPitch; + if(turret.rotationPitch < -60) + turret.rotationPitch = -60; + if(turret.rotationPitch > 30) + turret.rotationPitch = 30; + } } } } diff --git a/com/hbm/items/weapon/GunZOMG.java b/com/hbm/items/weapon/GunZOMG.java index 26ad97c6b..d542ae056 100644 --- a/com/hbm/items/weapon/GunZOMG.java +++ b/com/hbm/items/weapon/GunZOMG.java @@ -85,7 +85,8 @@ public class GunZOMG extends Item { player.addChatMessage(new ChatComponentText("[ZOMG] Gun has been validated!")); } - if (Library.superuser.contains(player.getUniqueID().toString())) { + //if(Library.superuser.contains(player.getUniqueID().toString())) { + if(player.inventory.hasItem(ModItems.polaroid)) { if (world.isRemote) { player.addChatMessage(new ChatComponentText("[ZOMG] Welcome, superuser!")); } diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 789d99feb..b3f278a9a 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -352,6 +352,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato }); diff --git a/com/hbm/main/NEIConfig.java b/com/hbm/main/NEIConfig.java index ef12a86d8..466477220 100644 --- a/com/hbm/main/NEIConfig.java +++ b/com/hbm/main/NEIConfig.java @@ -40,8 +40,8 @@ public class NEIConfig implements IConfigureNEI { API.registerUsageHandler(new AssemblerRecipeHandler()); API.registerRecipeHandler(new RefineryRecipeHandler()); API.registerUsageHandler(new RefineryRecipeHandler()); - API.registerRecipeHandler(new ModInfoHandler()); - API.registerUsageHandler(new ModInfoHandler()); + //API.registerRecipeHandler(new ModInfoHandler()); + //API.registerUsageHandler(new ModInfoHandler()); API.registerRecipeHandler(new ChemplantRecipeHandler()); API.registerUsageHandler(new ChemplantRecipeHandler()); API.registerRecipeHandler(new FluidRecipeHandler()); @@ -60,21 +60,45 @@ public class NEIConfig implements IConfigureNEI { API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.statue_elb_f))); API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.cheater_virus))); API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.cheater_virus_seed))); - API.hideItem(new ItemStack(ModItems.euphemium_helmet)); - API.hideItem(new ItemStack(ModItems.euphemium_plate)); - API.hideItem(new ItemStack(ModItems.euphemium_legs)); - API.hideItem(new ItemStack(ModItems.euphemium_boots)); - API.hideItem(new ItemStack(ModItems.apple_euphemium)); - API.hideItem(new ItemStack(ModItems.ingot_euphemium)); - API.hideItem(new ItemStack(ModItems.nugget_euphemium)); + //API.hideItem(new ItemStack(ModItems.euphemium_helmet)); + //API.hideItem(new ItemStack(ModItems.euphemium_plate)); + //API.hideItem(new ItemStack(ModItems.euphemium_legs)); + //API.hideItem(new ItemStack(ModItems.euphemium_boots)); + //API.hideItem(new ItemStack(ModItems.apple_euphemium)); + //API.hideItem(new ItemStack(ModItems.ingot_euphemium)); + //API.hideItem(new ItemStack(ModItems.nugget_euphemium)); API.hideItem(new ItemStack(ModItems.euphemium_kit)); - API.hideItem(new ItemStack(ModItems.euphemium_stopper)); - API.hideItem(new ItemStack(ModItems.watch)); - API.hideItem(new ItemStack(ModItems.rod_quad_euphemium)); - API.hideItem(new ItemStack(ModItems.rod_euphemium)); - API.hideItem(new ItemStack(ModItems.book_secret)); - if(MainRegistry.polaroidID != 11) + //API.hideItem(new ItemStack(ModItems.euphemium_stopper)); + //API.hideItem(new ItemStack(ModItems.watch)); + //API.hideItem(new ItemStack(ModItems.rod_quad_euphemium)); + //API.hideItem(new ItemStack(ModItems.rod_euphemium)); + if(MainRegistry.polaroidID != 11) { + API.hideItem(new ItemStack(ModItems.book_secret)); API.hideItem(new ItemStack(ModItems.burnt_bark)); + } + API.hideItem(new ItemStack(ModBlocks.dummy_block_assembler)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_centrifuge)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_chemplant)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_cyclotron)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_drill)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_flare)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_fluidtank)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_igenerator)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_pumpjack)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_refinery)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_turbofan)); + API.hideItem(new ItemStack(ModBlocks.dummy_block_well)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_assembler)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_chemplant)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_cyclotron)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_drill)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_flare)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_fluidtank)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_igenerator)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_pumpjack)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_refinery)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_turbofan)); + API.hideItem(new ItemStack(ModBlocks.dummy_port_well)); } @Override diff --git a/com/hbm/packet/TEFluidPacket.java b/com/hbm/packet/TEFluidPacket.java index 4aa70a3a1..405b19cc5 100644 --- a/com/hbm/packet/TEFluidPacket.java +++ b/com/hbm/packet/TEFluidPacket.java @@ -58,6 +58,7 @@ public class TEFluidPacket implements IMessage { @Override public IMessage onMessage(TEFluidPacket m, MessageContext ctx) { + try{ TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); if (te != null && te instanceof IFluidContainer) { @@ -66,6 +67,7 @@ public class TEFluidPacket implements IMessage { gen.setFillstate(m.fill, m.index); gen.setType(FluidType.getEnum(m.type), m.index); } + } catch(Exception x) { } return null; } } diff --git a/com/hbm/packet/TEPumpjackPacket.java b/com/hbm/packet/TEPumpjackPacket.java index 25f3b784f..aefb80281 100644 --- a/com/hbm/packet/TEPumpjackPacket.java +++ b/com/hbm/packet/TEPumpjackPacket.java @@ -54,6 +54,7 @@ public class TEPumpjackPacket implements IMessage { @Override public IMessage onMessage(TEPumpjackPacket m, MessageContext ctx) { + try { TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); if (te != null && te instanceof TileEntityMachinePumpjack) { @@ -62,6 +63,7 @@ public class TEPumpjackPacket implements IMessage { gen.rotation = m.spin; gen.isProgressing = m.progress; } + } catch(Exception x) { } return null; } } diff --git a/com/hbm/tileentity/bomb/TileEntityTurretBase.java b/com/hbm/tileentity/bomb/TileEntityTurretBase.java index 037f344bc..d190f43f3 100644 --- a/com/hbm/tileentity/bomb/TileEntityTurretBase.java +++ b/com/hbm/tileentity/bomb/TileEntityTurretBase.java @@ -1,25 +1,100 @@ package com.hbm.tileentity.bomb; +import com.hbm.blocks.bomb.TurretBase; import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TETurretPacket; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; public abstract class TileEntityTurretBase extends TileEntity { public double rotationYaw; public double rotationPitch; + public boolean isAI = false; + public String uuid; + public int use; @Override public void updateEntity() { + + if(isAI) { + + Object[] iter = worldObj.loadedEntityList.toArray(); + double radius = 500; + Entity target = null; + for (int i = 0; i < iter.length; i++) + { + Entity e = (Entity) iter[i]; + if (isInSight(e)) + { + double distance = e.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5); + if (distance < radius) + { + radius = distance; + target = e; + } + } + } + + if(target != null) { + Vec3 turret = Vec3.createVectorHelper(target.posX - (xCoord + 0.5), target.posY + target.getEyeHeight() - (yCoord + 1), target.posZ - (zCoord + 0.5)); + rotationPitch = -Math.asin(turret.yCoord/turret.lengthVector()) * 180 / Math.PI; + rotationYaw = -Math.atan2(turret.xCoord, turret.zCoord) * 180 / Math.PI; + + if(rotationPitch < -60) + rotationPitch = -60; + if(rotationPitch > 30) + rotationPitch = 30; + + use++; + + if(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof TurretBase) { + ((TurretBase)worldObj.getBlock(xCoord, yCoord, zCoord)).executeHoldAction(worldObj, use, rotationYaw, rotationPitch, xCoord, yCoord, zCoord); + } + + } else { + use = 0; + } + } + if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAll(new TETurretPacket(xCoord, yCoord, zCoord, rotationYaw, rotationPitch)); } + private boolean isInSight(Entity e) { + if(!(e instanceof EntityLivingBase)) + return false; + + if(e instanceof EntityPlayer && ((EntityPlayer)e).getUniqueID().toString().equals(uuid)) + return false; + + Vec3 turret = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1, zCoord + 0.5); + Vec3 entity = Vec3.createVectorHelper(e.posX, e.posY + e.getEyeHeight(), e.posZ); + Vec3 side = Vec3.createVectorHelper(entity.xCoord - turret.xCoord, entity.yCoord - turret.yCoord, entity.zCoord - turret.zCoord); + side = side.normalize(); + + turret.xCoord += side.xCoord * 1.5; + turret.yCoord += side.yCoord * 1.5; + turret.zCoord += side.zCoord * 1.5; + + MovingObjectPosition pos = worldObj.rayTraceBlocks(entity, turret); + + return true; + //return pos != null; + } + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; @@ -31,5 +106,23 @@ public abstract class TileEntityTurretBase extends TileEntity { { return 65536.0D; } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + rotationYaw = nbt.getDouble("yaw"); + rotationPitch = nbt.getDouble("pitch"); + isAI = nbt.getBoolean("AI"); + uuid = nbt.getString("player"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setDouble("yaw", rotationYaw); + nbt.setDouble("pitch", rotationPitch); + nbt.setBoolean("AI", isAI); + nbt.setString("player", uuid); + } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index a82b9b1f2..bd6e48d87 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -238,11 +238,11 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento public int getHEFromFuel() { FluidType type = tank.getTankType(); if(type.name().equals(FluidType.DIESEL.name())) - return 250; + return 500; if(type.name().equals(FluidType.PETROIL.name())) - return 150; + return 300; if(type.name().equals(FluidType.BIOFUEL.name())) - return 200; + return 400; return 0; } diff --git a/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index d92719db7..da4adab98 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -23,6 +23,8 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEIGeneratorPacket; import com.hbm.packet.TETurbofanPacket; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -555,4 +557,16 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } }