diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 00eb695da..2f96dd3f7 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -339,6 +339,7 @@ tile.crate_lead.name=Gefahrenstoffkiste tile.crate_metal.name=Maschinenkiste tile.crate_red.name=Rote Kiste tile.crate_can.name=Konservenkiste +tile.crate_ammo.name=Sternenmetallkiste tile.marker_structure.name=Multiblock-Strukturvorlage tile.struct_launcher.name=Startrampe-Komponentenblock @@ -478,6 +479,7 @@ container.barrel=Fass tile.broadcaster_pc.name=Korrupter Sender +tile.tesla.name=Teslaspule tile.radiobox.name=Rosenberg Ungeziefervernichter tile.radiorec.name=Kaputtes UKW Radio container.radiobox=UKW-Sender @@ -796,6 +798,7 @@ tile.ore_thorium.name=Thoriumerz tile.ore_schrabidium.name=Schrabidiumerz tile.ore_beryllium.name=Berylliumerz tile.ore_lignite.name=Braunkohleerz +tile.ore_asbestos.name=Asbesterz tile.ore_nether_uranium.name=Nether-Uranerz tile.ore_nether_plutonium.name=Nether-Plutoniumerz diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 526fb71f9..81328ca35 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -339,6 +339,7 @@ tile.crate_lead.name=Hazmat Crate tile.crate_metal.name=Machine Crate tile.crate_red.name=Red Crate tile.crate_can.name=Conserve Crate +tile.crate_ammo.name=Starmetal Crate tile.marker_structure.name=Multiblock Structure Marker tile.struct_launcher.name=Launch Pad Component Block @@ -478,6 +479,7 @@ container.barrel=Barrel tile.broadcaster_pc.name=Corrupted Broadcaster +tile.tesla.name=Tesla Coil tile.radiobox.name=Rosenberg Pest Control Box tile.radiorec.name=Broken FM Radio container.radiobox=FM Transmitter @@ -796,6 +798,7 @@ tile.ore_thorium.name=Thorium Ore tile.ore_schrabidium.name=Schrabidium Ore tile.ore_beryllium.name=Beryllium Ore tile.ore_lignite.name=Lignite Ore +tile.ore_asbestos.name=Asbestos Ore tile.ore_nether_uranium.name=Nether Uranium Ore tile.ore_nether_plutonium.name=Nether Plutonium Ore diff --git a/assets/hbm/textures/blocks/tesla.png b/assets/hbm/textures/blocks/tesla.png new file mode 100644 index 000000000..7fa8da692 Binary files /dev/null and b/assets/hbm/textures/blocks/tesla.png differ diff --git a/com/hbm/handler/BobmazonOfferFactory.java b/com/hbm/handler/BobmazonOfferFactory.java index 68dbfb3d3..2dc0ab890 100644 --- a/com/hbm/handler/BobmazonOfferFactory.java +++ b/com/hbm/handler/BobmazonOfferFactory.java @@ -158,40 +158,44 @@ public class BobmazonOfferFactory { tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 100 * inflation)); tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 160 * inflation)); - special.add(new Offer(new ItemStack(ModItems.nuke_starter_kit), Requirement.STEEL, 200)); - special.add(new Offer(new ItemStack(ModItems.nuke_advanced_kit), Requirement.STEEL, 300)); - special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.STEEL, 350)); - special.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 24), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModItems.ammo_20gauge_incendiary, 24), Requirement.STEEL, 15)); - special.add(new Offer(new ItemStack(ModItems.gun_uzi_silencer, 1), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ammo_22lr, 64), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap, 64), Requirement.STEEL, 15)); - special.add(new Offer(new ItemStack(ModItems.gun_hk69, 24), Requirement.STEEL, 30)); - special.add(new Offer(new ItemStack(ModItems.ammo_grenade, 6), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek, 6), Requirement.STEEL, 40)); - special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 10), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 5), Requirement.STEEL, 15)); - special.add(new Offer(new ItemStack(ModBlocks.machine_epress, 2), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModBlocks.machine_assembler, 1), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModBlocks.machine_chemplant, 1), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off, 1), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModBlocks.machine_well, 1), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModBlocks.machine_refinery, 1), Requirement.STEEL, 25)); - special.add(new Offer(new ItemStack(ModBlocks.machine_fluidtank, 4), Requirement.STEEL, 10)); - special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ingot_copper, 64), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ingot_red_copper, 64), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ingot_titanium, 64), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModItems.ingot_tungsten, 64), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core, 1), Requirement.STEEL, 30)); - special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core_large, 1), Requirement.STEEL, 30)); - special.add(new Offer(new ItemStack(ModBlocks.struct_launcher, 40), Requirement.STEEL, 20)); - special.add(new Offer(new ItemStack(ModBlocks.struct_scaffold, 11), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModItems.loot_10, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModItems.loot_15, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModItems.loot_misc, 1), Requirement.STEEL, 5)); - special.add(new Offer(new ItemStack(ModBlocks.crate_can, 1), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.nuke_starter_kit), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.nuke_advanced_kit), Requirement.STEEL, 30)); + special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.STEEL, 35)); + special.add(new Offer(new ItemStack(ModItems.missile_kit), Requirement.STEEL, 60)); + special.add(new Offer(new ItemStack(ModItems.grenade_kit), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 24), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.ammo_20gauge_incendiary, 24), Requirement.STEEL, 7)); + special.add(new Offer(new ItemStack(ModItems.gun_uzi_silencer, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.ammo_22lr, 64), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap, 64), Requirement.STEEL, 4)); + special.add(new Offer(new ItemStack(ModItems.gun_hk69, 24), Requirement.STEEL, 8)); + special.add(new Offer(new ItemStack(ModItems.ammo_grenade, 6), Requirement.STEEL, 4)); + special.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek, 6), Requirement.STEEL, 6)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 10), Requirement.STEEL, 1)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 5), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModBlocks.machine_epress, 2), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_assembler, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_chemplant, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_well, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModBlocks.machine_refinery, 1), Requirement.STEEL, 8)); + special.add(new Offer(new ItemStack(ModBlocks.machine_fluidtank, 4), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModBlocks.barrel_antimatter, 4), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_copper, 64), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_red_copper, 64), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_titanium, 64), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.ingot_tungsten, 64), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core, 1), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core_large, 1), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher, 40), Requirement.STEEL, 7)); + special.add(new Offer(new ItemStack(ModBlocks.struct_scaffold, 11), Requirement.STEEL, 7)); + special.add(new Offer(new ItemStack(ModItems.loot_10, 1), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.loot_15, 1), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModItems.loot_misc, 1), Requirement.STEEL, 2)); + special.add(new Offer(new ItemStack(ModBlocks.crate_can, 1), Requirement.STEEL, 1)); + special.add(new Offer(new ItemStack(ModBlocks.crate_ammo, 1), Requirement.STEEL, 15)); } public static List getOffers(ItemStack stack) { diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 620bbc6bd..4ce216c12 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -371,15 +371,7 @@ public class ModEventHandler } } - String[] hashes = new String[] { - "7e6fabead604ce497b32c2ff29148254879980c045b97fa627eb074eb2de81e7", - "9031b60664473360593e89c7c9ece297ee3fbee25b0891450d904f15b3255bf6", - "d841ef1ebaf7bdb284fc20be3508a8db1dae78f8630bf9d192bb7cd8384458da", - "7c78f529c5f4748577bd8922753c04135cd733f525172b5a782894cfb9d544a8" - - }; - - static final String salt = "df5fe65986dc0f145a867ad29aee9bfebc3a1cd5afb05f32"; + private static final String hash = "a4e6e2d37cc6bae3b19a925569c008d8f98b867e62ecb72398ee6fd5d7ee535a"; @SubscribeEvent public void onClickSign(PlayerInteractEvent event) { @@ -393,18 +385,10 @@ public class ModEventHandler TileEntitySign sign = (TileEntitySign)world.getTileEntity(x, y, z); - int correct = 0; + String result = smoosh(sign.signText[0], sign.signText[1], sign.signText[2], sign.signText[3]); + //System.out.println(result); - for(int i = 0; i < 4; i++) { - if(hashes[i].equals(getHash(sign.signText[i] + salt))) { - sign.signText[i] = "Correct!"; - sign.markDirty(); - sign.getWorldObj().markBlockForUpdate(x, y, z); - correct++; - } - } - - if(correct == 4) { + if(result.equals(hash)) { world.func_147480_a(x, y, z, false); EntityItem entityitem = new EntityItem(world, x, y, z, new ItemStack(ModItems.bobmazon_hidden)); entityitem.delayBeforeCanPickup = 10; @@ -414,6 +398,43 @@ public class ModEventHandler } + private String smoosh(String s1, String s2, String s3, String s4) { + + Random rand = new Random(); + String s = ""; + + byte[] b1 = s1.getBytes(); + byte[] b2 = s2.getBytes(); + byte[] b3 = s3.getBytes(); + byte[] b4 = s4.getBytes(); + + if(b1.length == 0 || b2.length == 0 || b3.length == 0 || b4.length == 0) + return ""; + + s += s1; + rand.setSeed(b1[0]); + s += rand.nextInt(0xffffff); + + s += s2; + rand.setSeed(rand.nextInt(0xffffff) + b2[0]); + rand.setSeed(b2[0]); + s += rand.nextInt(0xffffff); + + s += s3; + rand.setSeed(rand.nextInt(0xffffff) + b3[0]); + rand.setSeed(b3[0]); + s += rand.nextInt(0xffffff); + + s += s4; + rand.setSeed(rand.nextInt(0xffffff) + b4[0]); + rand.setSeed(b4[0]); + s += rand.nextInt(0xffffff); + + //System.out.println(s); + + return getHash(s); + } + private String getHash(String inp) { try { @@ -430,11 +451,4 @@ public class ModEventHandler return ""; } - - /*@SubscribeEvent - public void itemCollected(PlayerEvent.ItemPickupEvent e) { - if(e.pickedUp.getEntityItem().equals(ModItems.nothing)) { - //e.player.addStat(MainRegistry.achievementGetAmblygonite, 1); - } - }*/ }