Merge remote-tracking branch 'origin/master'

This commit is contained in:
Vaern 2021-12-22 11:57:19 -08:00
commit 218cc2bf02
36 changed files with 2842 additions and 10 deletions

View File

@ -4,6 +4,7 @@ import static com.hbm.inventory.OreDictManager.*;
import com.hbm.items.ModItems;
import com.hbm.main.CraftingManager;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
@ -17,6 +18,7 @@ public class PowderRecipes {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_power, 5), new Object[] { REDSTONE.dust(), "dustGlowstone", DIAMOND.dust(), NP237.dust(), MAGTUNG.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ballistite, 3), new Object[] { Items.gunpowder, KNO.dust(), Items.sugar });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_dynamite, 2), new Object[] { KNO.dust(), Items.sugar, Blocks.sand });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ingot_steel_dusted, 1), new Object[] { STEEL.ingot(), COAL.dust() });
//Gunpowder

View File

@ -119,7 +119,8 @@ public class ToolRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_chip, 1), new Object[] { "WWW", "CPC", "WWW", 'W', ModItems.wire_gold, 'P', POLYMER.ingot(), 'C', ModItems.circuit_gold, });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_biometry, 1), new Object[] { "CC ", "GGS", "SSS", 'C', ModItems.circuit_copper, 'S', STEEL.plate(), 'G', GOLD.plate(), 'I', PB.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.survey_scanner, 1), new Object[] { "SWS", " G ", "PCP", 'W', ModItems.wire_gold, 'P', POLYMER.ingot(), 'C', ModItems.circuit_gold, 'S', STEEL.plate(), 'G', GOLD.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.plate_polymer, 'C', ModItems.circuit_aluminium, 'G', GOLD.ingot(), 'S', STEEL.plate(), 'B', ModItems.ingot_beryllium });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.plate_polymer, 'C', ModItems.circuit_red_copper, 'G', GOLD.ingot(), 'S', STEEL.plate(), 'B', ModItems.ingot_beryllium });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dosimeter, 1), new Object[] { "WGW", "WCW", "WBW", 'W', KEY_PLANKS, 'G', KEY_ANYPANE, 'C', ModItems.circuit_aluminium, 'B', BE.ingot() });
CraftingManager.addShapelessAuto(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.digamma_diagnostic), new Object[] { ModItems.geiger_counter, PO210.billet(), ASBESTOS.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.ingot(), 'S', STEEL.plate() });

View File

@ -343,6 +343,8 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout });
//CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_nuke), new Object[] { "CGC", "CGC", "PAP", 'C', ModBlocks.det_charge, 'G', ModItems.grenade_mk2, 'P', ALLOY.plate(), 'A', Blocks.anvil });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', Items.string, 'P', Items.paper, 'D', ModItems.ball_dynamite });
//IF Grenades
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_generic, 1), new Object[] { " C ", "PTP", " P ", 'C', ModItems.coil_tungsten, 'P', STEEL.plate(), 'T', Blocks.tnt });

View File

@ -0,0 +1,35 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World;
public class EntityGrenadeDynamite extends EntityGrenadeBouncyBase {
public EntityGrenadeDynamite(World world) {
super(world);
}
public EntityGrenadeDynamite(World world, EntityLivingBase living) {
super(world, living);
}
public EntityGrenadeDynamite(World world, double x, double y, double z) {
super(world, x, y, z);
}
@Override
public void explode() {
worldObj.newExplosion(this, posX, posY + 0.25D, posZ, 3F, false, false);
this.setDead();
}
@Override
protected int getMaxTimer() {
return 60;
}
@Override
protected double getBounceMod() {
return 0.5D;
}
}

View File

@ -11,9 +11,15 @@ public class FuelHandler implements IFuelHandler {
@Override
public int getBurnTime(ItemStack fuel) {
int single = 200;
if(fuel.getItem().equals(ModItems.solid_fuel))
return 3200;
return single * 16;
if(fuel.getItem().equals(ModItems.solid_fuel_presto))
return single * 40;
if(fuel.getItem().equals(ModItems.solid_fuel_presto_triplet))
return single * 200;
if(fuel.getItem().equals(ModItems.biomass))
return 800;
if(fuel.getItem().equals(ModItems.biomass_compressed))

View File

@ -433,7 +433,7 @@ public class OreDictManager {
private String[] appendToAll(String prefix) {
String[] names = new String[mats.length];
for(int i = 0; i < mats.length; i++) {
names[i] = "prefix" + mats[i];
names[i] = prefix + mats[i];
}
return names;
}

View File

@ -313,6 +313,8 @@ public class ModItems {
public static Item oil_tar;
public static Item solid_fuel;
public static Item solid_fuel_presto;
public static Item solid_fuel_presto_triplet;
public static Item rocket_fuel;
public static Item crystal_coal;
@ -1212,14 +1214,17 @@ public class ModItems {
public static Item test_nuke_tier2_bullet;
public static Item test_nuke_tier1_target;
public static Item test_nuke_tier2_target;
public static Item cordite;
public static Item ballistite;
public static Item ball_dynamite;
public static Item ball_tnt;
public static Item pellet_cluster;
public static Item powder_fire;
public static Item powder_ice;
public static Item powder_poison;
public static Item powder_thermite;
public static Item cordite;
public static Item ballistite;
public static Item pellet_gas;
public static Item magnetron;
public static Item pellet_buckshot;
@ -1237,6 +1242,7 @@ public class ModItems {
public static Item linker;
public static Item reactor_sensor;
public static Item oil_detector;
public static Item dosimeter;
public static Item geiger_counter;
public static Item digamma_diagnostic;
public static Item survey_scanner;
@ -1723,6 +1729,8 @@ public class ModItems {
public static Item crucible;
public static Item stick_dynamite;
public static Item grenade_generic;
public static Item grenade_strong;
public static Item grenade_frag;
@ -2128,6 +2136,7 @@ public class ModItems {
public static Item volcanic_pickaxe;
public static Item chlorophyte_pickaxe;
public static Item mese_pickaxe;
public static Item dnt_sword;
public static Item meteorite_sword;
public static Item meteorite_sword_seared;
@ -2732,6 +2741,8 @@ public class ModItems {
oil_tar = new Item().setUnlocalizedName("oil_tar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":oil_tar");
solid_fuel = new Item().setUnlocalizedName("solid_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel");
solid_fuel_presto = new Item().setUnlocalizedName("solid_fuel_presto").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto");
solid_fuel_presto_triplet = new Item().setUnlocalizedName("solid_fuel_presto_triplet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_triplet");
rocket_fuel = new Item().setUnlocalizedName("rocket_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rocket_fuel");
coke = new Item().setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke");
lignite = new Item().setUnlocalizedName("lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lignite");
@ -3909,6 +3920,8 @@ public class ModItems {
powder_thermite = new ItemCustomLore().setUnlocalizedName("powder_thermite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_thermite");
cordite = new ItemHazard().addExplosive(5F).toItem().setUnlocalizedName("cordite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cordite");
ballistite = new ItemHazard().addExplosive(3F).toItem().setUnlocalizedName("ballistite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ballistite");
ball_dynamite = new Item().setUnlocalizedName("ball_dynamite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_dynamite");
ball_tnt = new Item().setUnlocalizedName("ball_tnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tnt");
pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas");
magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt");
pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead");
@ -4391,6 +4404,8 @@ public class ModItems {
ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0);
crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible");
stick_dynamite = new ItemGrenade(3).setUnlocalizedName("stick_dynamite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite");
grenade_generic = new ItemGrenade(4).setUnlocalizedName("grenade_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_generic");
grenade_strong = new ItemGrenade(5).setUnlocalizedName("grenade_strong").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_strong");
grenade_frag = new ItemGrenade(4).setUnlocalizedName("grenade_frag").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_frag_alt");
@ -4726,6 +4741,7 @@ public class ModItems {
turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_control");
turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_chip");
turret_biometry = new ItemTurretBiometry().setUnlocalizedName("turret_biometry").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":rei_scanner");
dosimeter = new ItemDosimeter().setUnlocalizedName("dosimeter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":dosimeter");
geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":geiger_counter");
digamma_diagnostic = new ItemDigammaDiagnostic().setUnlocalizedName("digamma_diagnostic").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":digamma_diagnostic");
survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner");
@ -5309,6 +5325,8 @@ public class ModItems {
.addHitAbility(new WeaponAbility.PhosphorusAbility(60))
.addHitAbility(new WeaponAbility.BeheaderAbility())
.setDepthRockBreaker().setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe");
dnt_sword = new ItemSwordAbility(12F, 0, matMese).setUnlocalizedName("dnt_sword").setTextureName(RefStrings.MODID + ":dnt_sword");
ToolMaterial matMeteorite = EnumHelper.addToolMaterial("HBM_METEORITE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa));
meteorite_sword = new ItemSwordMeteorite(10F, 0, matMeteorite).setUnlocalizedName("meteorite_sword").setTextureName(RefStrings.MODID + ":meteorite_sword");
@ -5683,6 +5701,8 @@ public class ModItems {
GameRegistry.registerItem(ingot_semtex, ingot_semtex.getUnlocalizedName());
GameRegistry.registerItem(oil_tar, oil_tar.getUnlocalizedName());
GameRegistry.registerItem(solid_fuel, solid_fuel.getUnlocalizedName());
GameRegistry.registerItem(solid_fuel_presto, solid_fuel_presto.getUnlocalizedName());
GameRegistry.registerItem(solid_fuel_presto_triplet, solid_fuel_presto_triplet.getUnlocalizedName());
GameRegistry.registerItem(rocket_fuel, rocket_fuel.getUnlocalizedName());
GameRegistry.registerItem(ingot_fiberglass, ingot_fiberglass.getUnlocalizedName());
GameRegistry.registerItem(ingot_asbestos, ingot_asbestos.getUnlocalizedName());
@ -5851,6 +5871,8 @@ public class ModItems {
GameRegistry.registerItem(powder_power, powder_power.getUnlocalizedName());
GameRegistry.registerItem(cordite, cordite.getUnlocalizedName());
GameRegistry.registerItem(ballistite, ballistite.getUnlocalizedName());
GameRegistry.registerItem(ball_dynamite, ball_dynamite.getUnlocalizedName());
GameRegistry.registerItem(ball_tnt, ball_tnt.getUnlocalizedName());
//Crystals
GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName());
@ -6856,6 +6878,7 @@ public class ModItems {
GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName());
GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName());
GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName());
GameRegistry.registerItem(dosimeter, dosimeter.getUnlocalizedName());
GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName());
GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName());
GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName());
@ -7364,6 +7387,7 @@ public class ModItems {
GameRegistry.registerItem(ammo_container, ammo_container.getUnlocalizedName());
//Grenades
GameRegistry.registerItem(stick_dynamite, stick_dynamite.getUnlocalizedName()); //heave-ho!
GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName());
GameRegistry.registerItem(grenade_strong, grenade_strong.getUnlocalizedName());
GameRegistry.registerItem(grenade_frag, grenade_frag.getUnlocalizedName());
@ -7474,6 +7498,7 @@ public class ModItems {
GameRegistry.registerItem(elec_pickaxe, elec_pickaxe.getUnlocalizedName());
GameRegistry.registerItem(elec_axe, elec_axe.getUnlocalizedName());
GameRegistry.registerItem(elec_shovel, elec_shovel.getUnlocalizedName());
GameRegistry.registerItem(dnt_sword, dnt_sword.getUnlocalizedName());
GameRegistry.registerItem(smashing_hammer, smashing_hammer.getUnlocalizedName());
GameRegistry.registerItem(centri_stick, centri_stick.getUnlocalizedName());
GameRegistry.registerItem(drax, drax.getUnlocalizedName());

View File

@ -61,7 +61,7 @@ public class ItemColtanCompass extends Item {
TextureMap map = (TextureMap) register;
TextureColtass cumpiss = new TextureColtass(this.getIconString());
map.setTextureEntry(this.getIconString(), cumpiss);
this.itemIcon = cumpiss;
this.itemIcon = cumpiss; //apparently i was quite pissed when i wrote this
} else {
this.itemIcon = register.registerIcon(this.getIconString());
}

View File

@ -0,0 +1,71 @@
package com.hbm.items.tool;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.items.armor.ArmorFSB;
import com.hbm.util.ContaminationUtil;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class ItemDosimeter extends Item {
Random rand = new Random();
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean bool) {
if(!(entity instanceof EntityLivingBase) || world.isRemote)
return;
if(entity instanceof EntityPlayer) {
if(ArmorFSB.hasFSBArmor((EntityPlayer)entity) && ((ArmorFSB)((EntityPlayer)entity).inventory.armorInventory[2].getItem()).geigerSound)
return;
}
float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity);
if(world.getTotalWorldTime() % 5 == 0) {
if(x > 1E-5) {
List<Integer> list = new ArrayList<Integer>();
if(x < 0.5)
list.add(0);
if(x < 1)
list.add(1);
if(x >= 0.5 && x < 2)
list.add(2);
if(x >= 1 && x >= 2)
list.add(3);
int r = list.get(rand.nextInt(list.size()));
if(r > 0)
world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); //TODO: rip new sounds either from BM or FO3
} else if(rand.nextInt(100) == 0) {
world.playSoundAtEntity(entity, "hbm:item.geiger"+ (1 + rand.nextInt(1)), 1.0F, 1.0F);
}
}
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(!world.isRemote) {
world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F);
ContaminationUtil.printDosimeterData(player);
}
return stack;
}
}

View File

@ -39,7 +39,7 @@ public class ItemGeigerCounter extends Item {
float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity);
if(world.getTotalWorldTime() % 5 == 0) {
if(x > 0) {
if(x > 1E-5) {
List<Integer> list = new ArrayList<Integer>();
if(x < 1)
@ -98,5 +98,4 @@ public class ItemGeigerCounter extends Item {
return stack;
}
}

View File

@ -8,6 +8,7 @@ import com.hbm.entity.grenade.EntityGrenadeBreach;
import com.hbm.entity.grenade.EntityGrenadeBurst;
import com.hbm.entity.grenade.EntityGrenadeCloud;
import com.hbm.entity.grenade.EntityGrenadeCluster;
import com.hbm.entity.grenade.EntityGrenadeDynamite;
import com.hbm.entity.grenade.EntityGrenadeElectric;
import com.hbm.entity.grenade.EntityGrenadeFire;
import com.hbm.entity.grenade.EntityGrenadeFlare;
@ -70,6 +71,14 @@ public class ItemGrenade extends Item {
p_77659_2_.playSoundAtEntity(p_77659_3_, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
//TODO:
/*
* kill all this stupid bullshit
* make a PROPER grenade entity base class
* have all the grenade items be an NBT stat in the entity instead of having new entities for every fucking grenade type
* register explosion effects with some lambdas to save on LOC
* jesus christ why do i keep doing this
*/
if (!p_77659_2_.isRemote) {
if (this == ModItems.grenade_generic) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeGeneric(p_77659_2_, p_77659_3_));
@ -202,6 +211,9 @@ public class ItemGrenade extends Item {
if (this == ModItems.nuclear_waste_pearl) {
p_77659_2_.spawnEntityInWorld(new EntityWastePearl(p_77659_2_, p_77659_3_));
}
if (this == ModItems.stick_dynamite) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeDynamite(p_77659_2_, p_77659_3_));
}
}
return p_77659_1_;

View File

@ -296,6 +296,7 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.starmetal_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
MinecraftForgeClient.registerItemRenderer(ModItems.dnt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
for(ItemSwordMeteorite sword : ItemSwordMeteorite.swords) {
// MinecraftForgeClient.registerItemRenderer(sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
@ -517,6 +518,7 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHopwire.class, new RenderSnowball(ModItems.grenade_if_hopwire));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFNull.class, new RenderSnowball(ModItems.grenade_if_null));
RenderingRegistry.registerEntityRenderingHandler(EntityWastePearl.class, new RenderSnowball(ModItems.nuclear_waste_pearl));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite));
//missiles
RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom());

View File

@ -444,11 +444,16 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.flame_politics, 1), new Object[] { " I ", "IPI", " I ", 'P', Items.paper, 'I', KEY_BLACK });
addRecipeAuto(new ItemStack(ModItems.flame_opinion, 1), new Object[] { " R ", "RPR", " R ", 'P', Items.paper, 'R', KEY_RED });
addRecipeAuto(new ItemStack(ModItems.solid_fuel_presto, 1), new Object[] { " P ", "SRS", " P ", 'P', Items.paper, 'S', ModItems.solid_fuel, 'R', REDSTONE.dust() });
addShapelessAuto(new ItemStack(ModItems.solid_fuel_presto_triplet, 1), new Object[] { ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.ball_dynamite });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.flame_war), 1), new Object[] { "WHW", "CTP", "WOW", 'W', Item.getItemFromBlock(Blocks.planks), 'T', Item.getItemFromBlock(Blocks.tnt), 'H', ModItems.flame_pony, 'C', ModItems.flame_conspiracy, 'P', ModItems.flame_politics, 'O', ModItems.flame_opinion });
addRecipeAuto(new ItemStack(ModBlocks.det_cord, 8), new Object[] { "TNT", "NGN", "TNT", 'T', IRON.plate(), 'N', KNO.dust(), 'G', Items.gunpowder });
addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ModItems.ingot_semtex });
addRecipeAuto(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PDP", "DCD", "PDP", 'P', ModItems.plate_desh, 'D', ModBlocks.det_charge, 'C', ModItems.man_core });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 3), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', IRON.plate(), 'T', Blocks.tnt });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 4), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', IRON.plate(), 'T', ModItems.ball_dynamite });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 12), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', STEEL.plate(), 'T', ModItems.ingot_semtex });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.emp_bomb), 1), new Object[] { "LML", "LCL", "LML", 'L', PB.plate(), 'M', ModItems.magnetron, 'C', ModItems.circuit_gold });

View File

@ -84,14 +84,12 @@ import com.hbm.tileentity.TileMappings;
import com.hbm.tileentity.bomb.TileEntityNukeCustom;
import com.hbm.tileentity.machine.TileEntityMachineReactorLarge;
import com.hbm.tileentity.machine.rbmk.RBMKDials;
import com.hbm.util.ArmorRegistry;
import com.hbm.util.ArmorUtil;
import com.hbm.world.feature.SchistStratum;
import com.hbm.world.generator.CellularDungeonFactory;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent;
import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
@ -492,6 +490,7 @@ public class MainRegistry {
EntityRegistry.registerModEntity(EntityMissileShuttle.class, "entity_missile_shuttle", 160, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityZirnoxDebris.class, "entity_zirnox_debris", 161, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityGhost.class, "entity_ntm_ghost", 162, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityGrenadeDynamite.class, "entity_grenade_dynamite", 163, this, 250, 1, true);
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
@ -773,6 +772,12 @@ public class MainRegistry {
return new EntityWastePearl(world, position.getX(), position.getY(), position.getZ());
}
});
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.stick_dynamite, new BehaviorProjectileDispense() {
protected IProjectile getProjectileEntity(World world, IPosition position) {
return new EntityGrenadeDynamite(world, position.getX(), position.getY(), position.getZ());
}
});
}
@EventHandler

View File

@ -216,6 +216,22 @@ public class ContaminationUtil {
player.addChatMessage(new ChatComponentTranslation("geiger.playerRes").appendSibling(new ChatComponentText(" " + resPrefix + res + "% (" + resKoeff + ")")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
}
public static void printDosimeterData(EntityPlayer player) {
double env = ((int)(HbmLivingProps.getRadBuf(player) * 10D)) / 10D;
boolean limit = false;
if(env > 3.6D) {
env = 3.6D;
limit = true;
}
String envPrefix = getPreffixFromRad(env);
player.addChatMessage(new ChatComponentText("===== ☢ ").appendSibling(new ChatComponentTranslation("geiger.title.dosimeter")).appendSibling(new ChatComponentText(" ☢ =====")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD)));
player.addChatMessage(new ChatComponentTranslation("geiger.envRad").appendSibling(new ChatComponentText(" " + envPrefix + (limit ? ">" : "") + env + " RAD/s")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
}
public static String getPreffixFromRad(double rads) {
String chunkPrefix = "";

View File

@ -393,6 +393,7 @@ geiger.envRad=Gesamte Umgebungsstrahlung:
geiger.playerRad=Spieler-Kontaminierung:
geiger.playerRes=Strahlungsresistenz:
geiger.title=GEIGERZÄHLER
geiger.title.dosimeter=DOSIMETER
hadron.analysis=Analysiere...
hadron.buttonOn=Analysekammer (falls vorhanden) ist AN
@ -728,6 +729,7 @@ item.back_tesla.name=Teslarucksack
item.balefire_and_ham.name=Ham and Balefire-Eggs
item.balefire_and_steel.name=Balefire-Zeug
item.balefire_scrambled.name=Rühr-Balefire-Ei
item.ball_dynamite.name=Dynamit
item.ballistite.name=Ballistit
item.bandaid.name=Samtenes Pflaster
item.bathwater.name=Toxisches Seifenwasser
@ -1202,6 +1204,7 @@ item.dnt_plate.name=dineutrom brustplatte
item.door_bunker.name=Bunkertür
item.door_metal.name=Metalltür
item.door_office.name=Bürotür
item.dosimeter.name=Dosimeter
item.drax.name=Terra-Bohrer
item.drax_mk2.name=Gehärteter Terra-Bohrer
item.drax_mk3.name=Schrabidischer Terra-Bohrer
@ -2459,6 +2462,8 @@ item.siox.name=SiOX-Krebsmedikament
item.siren_track.name=Sirenentrack
item.smashing_hammer.name=Zerschmetterungshammer
item.solid_fuel.name=Festbrennstoff
item.solid_fuel_presto.name=Superzündi
item.solid_fuel_presto_triplet.name=Verbesserte Superzündis
item.solinium_core.name=Semistabiler Soliniumkern
item.solinium_igniter.name=SOL-Impulszünder
item.solinium_kit.name=Solinium Kit
@ -2521,6 +2526,7 @@ item.steel_pickaxe.name=Stahlspitzhacke
item.steel_plate.name=Stahlbrustpanzer
item.steel_shovel.name=Stahlschaufel
item.steel_sword.name=Stahlschwert
item.stick_dynamite.name=Stange Dynamit
item.stopsign.name=Stopschild-Streitaxt
item.sulfur.name=Schwefel
item.survey_scanner.name=Tiefenscanner

View File

@ -507,6 +507,7 @@ geiger.envRad=Total environmental radiation:
geiger.playerRad=Player contamination:
geiger.playerRes=Player resistance:
geiger.title=GEIGER COUNTER
geiger.title.dosimeter=DOSIMETER
hadron.analysis=Analyzing...
hadron.buttonOn=Analysis Chamber (if present) is ON
@ -842,6 +843,7 @@ item.back_tesla.name=Back-Mounted Tesla Coil
item.balefire_and_ham.name=Ham and Balefire Eggs
item.balefire_and_steel.name=Balefire and Steel
item.balefire_scrambled.name=Scrambled Balefire Egg
item.ball_dynamite.name=Dynamite
item.ballistite.name=Ballistite
item.bandaid.name=Velvet Band-Aid
item.bathwater.name=Toxic Soapy Water
@ -1318,6 +1320,7 @@ item.dnt_plate.name=dineutrom chestplate
item.door_bunker.name=Bunker Door
item.door_metal.name=Metal Door
item.door_office.name=Office Door
item.dosimeter.name=Dosimeter
item.drill_titanium.name=Titanium Drill
item.drax.name=Terra Drill
item.drax_mk2.name=Hardened Terra Drill
@ -2575,6 +2578,8 @@ item.siox.name=SiOX Cancer Medication
item.siren_track.name=Siren Track
item.smashing_hammer.name=Smashing Hammer
item.solid_fuel.name=Solid Fuel
item.solid_fuel_presto.name=Presto Log
item.solid_fuel_presto_triplet.name=Boosted Presto Logs
item.solinium_core.name=Semi-Stable Solinium Core
item.solinium_igniter.name=SOL Pulse Igniter
item.solinium_kit.name=Solinium Kit
@ -2637,6 +2642,7 @@ item.steel_pickaxe.name=Steel Pickaxe
item.steel_plate.name=Steel Chestplate
item.steel_shovel.name=Steel Shovel
item.steel_sword.name=Steel Sword
item.stick_dynamite.name=Stick of Dynamite
item.stopsign.name=Stop Sign Battle Axe
item.sulfur.name=Sulfur
item.survey_scanner.name=Survey Scanner

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B