strata, improved worldgen, finished BJ armor

This commit is contained in:
Bob 2020-10-26 00:02:06 +01:00
parent c3ea6a2e84
commit 6f5cfc3723
47 changed files with 2056 additions and 1017 deletions

View File

@ -40,6 +40,8 @@ achievement.sacrifice.desc=Sterbe im Feuer, aber irgendwie auch nicht.
achievement.sacrifice=Sororizid
achievement.selenium.desc=Lange nicht gesehen!
achievement.selenium=Und täglich grüßt der Mond
achievement.stratum.desc=Steig' auf die Bremse, Mitts.
achievement.stratum=Stratum
achievement.soyuz.desc=Werde knusprig
achievement.soyuz=Gebackene Kartoffel
achievement.space.desc=Scheitere in jeder möglichen Weise und verschwende 90 Millionen Dollar an Forschungsgeldern.
@ -527,6 +529,10 @@ item.battery_trixite.name=Billige Spark-Batterie-Nachmache
item.big_sword.name=Großes Schwert
item.biomass.name=Biomasse
item.biomass_compressed.name=Verdichtete Biomasse
item.bj_boots.name=Lunare Beschlagene Stiefel
item.bj_helmet.name=Augenklappe mit Infrarot-Sensor
item.bj_legs.name=Lunare Kybernetischer Beinersatz
item.bj_plate.name=Lunare Kybernetische Panzerung
item.black_hole.name=Miniatur Schwarzes Loch
item.blade_titanium.name=Titanturbinenschaufel
item.blade_tungsten.name=Wolframverstärktes Turbinenblatt
@ -1244,6 +1250,7 @@ item.missile_soyuz_lander.name=Orbitalmodul
item.missile_strong.name=Starke HE Rakete
item.missile_taint.name=Verdorbene Rakete
item.motor.name=Motor
item.motor_desh.name=Desh-Motor
item.mp_c_1.name=Stufe 1 Zielsucher-Schaltkreis
item.mp_c_2.name=Stufe 2 Zielsucher-Schaltkreis
item.mp_c_3.name=Stufe 3 Zielsucher-Schaltkreis
@ -1427,6 +1434,7 @@ item.padlock.name=Vorhängeschloss
item.padlock_reinforced.name=Verstärktes Vorhängeschloss
item.padlock_rusty.name=Rostiges Vorhängeschloss
item.padlock_unbreakable.name=Unzerstörbares Vorhängeschloss
item.pancake.name=Pfannkuchen aus Altmetall, Nägeln und Edelsteinpulver
item.part_beryllium.name=Berylliumstaubkiste
item.part_carbon.name=Kohlenstoffstaubkiste
item.part_copper.name=Kupferstaubkiste
@ -2211,6 +2219,7 @@ tile.machine_minirtg.name=Radioisotopenzelle
tile.machine_missile_assembly.name=Raketenmontagestation
tile.machine_nuke_furnace_off.name=Atombetriebener Ofen
tile.machine_nuke_furnace_on.name=Atombetriebener Ofen
tile.machine_powerrtg.name=PT-Isotopenzelle
tile.machine_press.name=Befeuerte Presse
tile.machine_puf6_tank.name=Plutoniumhexafluorit-Tank
tile.machine_pumpjack.name=Pferdekopfpumpe
@ -2288,6 +2297,15 @@ tile.ore_beryllium.name=Berylliumerz
tile.ore_copper.name=Kupfererz
tile.ore_daffergon.name=Dellit
tile.ore_fluorite.name=Fluoriterz
tile.ore_gneiss_asbestos.name=Schiefer-Asbesterz
tile.ore_gneiss_copper.name=Schiefer-Kupfererz
tile.ore_gneiss_gold.name=Schiefer-Golderz
tile.ore_gneiss_iron.name=Schiefer-Eisenerz
tile.ore_gneiss_lithium.name=Schifer-Lithiumerz
tile.ore_gneiss_rare.name=Schiefer-Seltenerden-Erz
tile.ore_gneiss_schrabidium.name=Schiefer-Schrabidiumerz
tile.ore_gneiss_uranium.name=Schiefer-Uranerz
tile.ore_gneiss_uranium_scorched.name=Verschmortes Schiefer-Uranerz
tile.ore_lead.name=Bleierz
tile.ore_lignite.name=Braunkohleerz
tile.ore_meteor_aluminium.name=Meteoriten-Aluminiumerz
@ -2386,6 +2404,7 @@ tile.steel_poles.name=Stahlmasten
tile.steel_roof.name=Flaches Stachldach
tile.steel_scaffold.name=Stahlgerüst
tile.steel_wall.name=Stahlwand
tile.stone_gneiss.name=Graphitschiefer
tile.struct_iter_core.name=Fusionsreaktor-Kernkomponente
tile.struct_launcher.name=Startrampe-Komponentenblock
tile.struct_launcher_core.name=Kompaktrampe-Kernkomponente

View File

@ -40,6 +40,8 @@ achievement.sacrifice.desc=Face the fire and live.
achievement.sacrifice=Sororicide
achievement.selenium.desc=Yeah.
achievement.selenium=XVIII The Moon
achievement.stratum.desc=Hit the brakes, Mitts.
achievement.stratum=Stratum
achievement.soyuz.desc=Become crunchy.
achievement.soyuz=Baked Potato
achievement.space.desc=Fail in every way possible and waste funds worth 90 million dollars.
@ -527,6 +529,10 @@ item.battery_trixite.name=Off-Brand Spark Battery
item.big_sword.name=Great Sword
item.biomass.name=Biomass
item.biomass_compressed.name=Compressed Biomass
item.bj_boots.name=Lunar Studded Boots
item.bj_helmet.name=Eyepatch with Thermal Sensor
item.bj_legs.name=Lunar Cybernetic Leg Replacements
item.bj_plate.name=Lunar Cybernetic Plating
item.black_hole.name=Miniature Black Hole
item.blade_titanium.name=Titanium Blade
item.blade_tungsten.name=Tungsten Reinforced Blade
@ -1244,6 +1250,7 @@ item.missile_soyuz_lander.name=Orbital Module
item.missile_strong.name=Strong HE Missile
item.missile_taint.name=Taint-Tipped Missile
item.motor.name=Motor
item.motor_desh.name=Desh Motor
item.mp_c_1.name=Tier 1 Missile Targeting Circuit
item.mp_c_2.name=Tier 2 Missile Targeting Circuit
item.mp_c_3.name=Tier 3 Missile Targeting Circuit
@ -1427,6 +1434,7 @@ item.padlock.name=Padlock
item.padlock_reinforced.name=Reinforced Padlock
item.padlock_rusty.name=Rusty Padlock
item.padlock_unbreakable.name=Unbreakable Padlock
item.pancake.name=Pancake made from Scrap Metal, Nails and Gem Dust
item.part_beryllium.name=Box of Beryllium Dust
item.part_carbon.name=Box of Carbon Dust
item.part_copper.name=Box of Copper Dust
@ -2211,6 +2219,7 @@ tile.machine_minirtg.name=Radio Isotope Cell
tile.machine_missile_assembly.name=Missile Assembly Station
tile.machine_nuke_furnace_off.name=Nuclear Furnace
tile.machine_nuke_furnace_on.name=Nuclear Furnace
tile.machine_powerrtg.name=PT Isotope Cell
tile.machine_press.name=Burner Press
tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank
tile.machine_pumpjack.name=Pumpjack
@ -2288,6 +2297,15 @@ tile.ore_beryllium.name=Beryllium Ore
tile.ore_copper.name=Copper Ore
tile.ore_daffergon.name=Dellite
tile.ore_fluorite.name=Fluorite Ore
tile.ore_gneiss_asbestos.name=Schist Asbestos Ore
tile.ore_gneiss_copper.name=Schist Copper Ore
tile.ore_gneiss_gold.name=Schist Gold Ore
tile.ore_gneiss_iron.name=Schist Iron Ore
tile.ore_gneiss_lithium.name=Schist Lithium Ore
tile.ore_gneiss_rare.name=Schist Rare Earth Ore
tile.ore_gneiss_schrabidium.name=Schist Schrabidium Ore
tile.ore_gneiss_uranium.name=Schist Uranium Ore
tile.ore_gneiss_uranium_scorched.name=Scorched Schist Uranium Ore
tile.ore_lead.name=Lead Ore
tile.ore_lignite.name=Lignite Ore
tile.ore_meteor_aluminium.name=Meteor Aluminium Ore
@ -2386,6 +2404,7 @@ tile.steel_poles.name=Steel Pole
tile.steel_roof.name=Flat Steel Roof
tile.steel_scaffold.name=Steel Scaffold
tile.steel_wall.name=Steel Wall
tile.stone_gneiss.name=Graphitic Schist
tile.struct_iter_core.name=Fusion Reactor Core Component
tile.struct_launcher.name=Launch Pad Component Block
tile.struct_launcher_core.name=Compact Launcher Core Component

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 B

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 311 B

View File

@ -46,7 +46,6 @@ public class ModBlocks {
public static Block ore_titanium;
public static Block ore_sulfur;
public static Block ore_thorium;
public static Block ore_niter;
public static Block ore_copper;
public static Block ore_tungsten;
@ -55,6 +54,13 @@ public class ModBlocks {
public static Block ore_lead;
public static Block ore_schrabidium;
public static Block ore_beryllium;
public static Block ore_australium;
public static Block ore_weidanium;
public static Block ore_reiium;
public static Block ore_unobtainium;
public static Block ore_daffergon;
public static Block ore_verticium;
public static Block ore_rare;
public static Block ore_nether_uranium;
public static Block ore_nether_uranium_scorched;
@ -74,14 +80,17 @@ public class ModBlocks {
public static Block ore_meteor_lead;
public static Block ore_meteor_lithium;
public static Block ore_meteor_starmetal;
public static Block ore_australium;
public static Block ore_weidanium;
public static Block ore_reiium;
public static Block ore_unobtainium;
public static Block ore_daffergon;
public static Block ore_verticium;
public static Block ore_rare;
public static Block stone_gneiss;
public static Block ore_gneiss_iron;
public static Block ore_gneiss_gold;
public static Block ore_gneiss_uranium;
public static Block ore_gneiss_uranium_scorched;
public static Block ore_gneiss_copper;
public static Block ore_gneiss_asbestos;
public static Block ore_gneiss_lithium;
public static Block ore_gneiss_schrabidium;
public static Block ore_gneiss_rare;
public static Block ore_oil;
public static Block ore_oil_empty;
@ -872,6 +881,17 @@ public class ModBlocks {
ore_meteor_lead = new BlockOre(Material.rock).setBlockName("ore_meteor_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lead");
ore_meteor_lithium = new BlockOre(Material.rock).setBlockName("ore_meteor_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lithium");
ore_meteor_starmetal = new BlockOre(Material.rock).setBlockName("ore_meteor_starmetal").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_starmetal");
stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var");
ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron");
ore_gneiss_gold = new BlockOre(Material.rock).setBlockName("ore_gneiss_gold").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gold");
ore_gneiss_uranium = new BlockOre(Material.rock).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium");
ore_gneiss_uranium_scorched = new BlockOre(Material.rock).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched");
ore_gneiss_copper = new BlockOre(Material.rock).setBlockName("ore_gneiss_copper").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_copper");
ore_gneiss_asbestos = new BlockOre(Material.rock).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos");
ore_gneiss_lithium = new BlockOre(Material.rock).setBlockName("ore_gneiss_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_lithium");
ore_gneiss_schrabidium = new BlockOre(Material.rock).setBlockName("ore_gneiss_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_schrabidium");
ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare");
ore_australium = new BlockGeneric(Material.rock).setBlockName("ore_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_australium");
ore_weidanium = new BlockGeneric(Material.rock).setBlockName("ore_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_weidanium");
@ -1543,9 +1563,23 @@ public class ModBlocks {
GameRegistry.registerBlock(ore_meteor_lithium, ore_meteor_lithium.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_starmetal, ore_meteor_starmetal.getUnlocalizedName());
//Gneiss Ores
GameRegistry.registerBlock(ore_gneiss_iron, ore_gneiss_iron.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_gold, ore_gneiss_gold.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_uranium, ore_gneiss_uranium.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_uranium_scorched, ore_gneiss_uranium_scorched.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_copper, ore_gneiss_copper.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_asbestos, ore_gneiss_asbestos.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_lithium, ore_gneiss_lithium.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_schrabidium, ItemBlockLore.class, ore_gneiss_schrabidium.getUnlocalizedName());
GameRegistry.registerBlock(ore_gneiss_rare, ItemOreBlock.class, ore_gneiss_rare.getUnlocalizedName());
//End Ores
GameRegistry.registerBlock(ore_tikite, ore_tikite.getUnlocalizedName());
//Stone Variants
GameRegistry.registerBlock(stone_gneiss, stone_gneiss.getUnlocalizedName());
//Blocks
GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName());
GameRegistry.registerBlock(block_u233, block_u233.getUnlocalizedName());

View File

@ -129,7 +129,7 @@ public class BlockOre extends Block {
case 35: return ModItems.glitch;
}
}
if(this == ModBlocks.ore_rare)
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare)
{
switch(rand.nextInt(6)) {
case 0: return ModItems.fragment_actinium;
@ -199,7 +199,7 @@ public class BlockOre extends Block {
{
return 2 + p_149745_1_.nextInt(3);
}
if(this == ModBlocks.ore_rare)
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare)
{
return 4 + p_149745_1_.nextInt(8);
}

View File

@ -18,6 +18,8 @@ public class WorldConfig {
public static int berylliumSpawn = 6;
public static int ligniteSpawn = 2;
public static int asbestosSpawn = 4;
public static int rareSpawn = 6;
public static int lithiumSpawn = 6;
public static int radioStructure = 500;
public static int antennaStructure = 250;
@ -64,6 +66,8 @@ public class WorldConfig {
thoriumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.10_thoriumSpawnrate", "Ammount of thorium ore veins per chunk", 7);
ligniteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.11_ligniteSpawnrate", "Ammount of lignite ore veins per chunk", 2);
asbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.12_asbestosSpawnRate", "Ammount of asbestos ore veins per chunk", 2);
lithiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.13_lithiumSpawnRate", "Ammount of schist lithium ore veins per chunk", 6);
rareSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.14_rareEarthSpawnRate", "Ammount of rare earth ore veins per chunk", 6);
final String CATEGORY_DUNGEON = "04_dungeons";
radioStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.00_radioSpawn", "Spawn radio station on every nTH chunk", 500);

View File

@ -190,6 +190,14 @@ public class EntityFalloutRain extends Entity {
else
worldObj.setBlock(x, y, z, ModBlocks.ore_nether_uranium_scorched);
return;
}
else if(b == ModBlocks.ore_gneiss_uranium) {
if(rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0)
worldObj.setBlock(x, y, z, ModBlocks.ore_gneiss_schrabidium);
else
worldObj.setBlock(x, y, z, ModBlocks.ore_gneiss_uranium_scorched);
return;
//this piece stops the "stomp" from reaching below ground
} else if(b.isNormalCube()) {

View File

@ -485,6 +485,15 @@ public class ExplosionNukeGeneric {
}
}
else if (b == ModBlocks.ore_gneiss_uranium) {
rand = random.nextInt(VersatileConfig.getSchrabOreChance());
if (rand == 1) {
world.setBlock(x, y, z, ModBlocks.ore_gneiss_schrabidium);
} else {
world.setBlock(x, y, z, ModBlocks.ore_gneiss_uranium_scorched);
}
}
}
}

View File

@ -43,8 +43,8 @@ public class CrystallizerRecipes {
recipes.put("oreSchrabidium", new ItemStack(ModItems.crystal_schrabidium));
recipes.put("oreLithium", new ItemStack(ModItems.crystal_lithium));
recipes.put("oreStarmetal", new ItemStack(ModItems.crystal_starmetal));
recipes.put("oreRareEarth", new ItemStack(ModItems.crystal_rare));
recipes.put(new ComparableStack(ModBlocks.ore_rare), new ItemStack(ModItems.crystal_rare));
recipes.put(new ComparableStack(ModBlocks.ore_nether_fire), new ItemStack(ModItems.crystal_phosphorus));
recipes.put(new ComparableStack(ModBlocks.ore_tikite), new ItemStack(ModItems.crystal_trixite));
recipes.put(new ComparableStack(ModBlocks.gravel_diamond), new ItemStack(ModItems.crystal_diamond));

View File

@ -197,6 +197,16 @@ public class OreDictManager {
OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium);
OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare);
OreDictionary.registerOre("oreIron", ModBlocks.ore_gneiss_iron);
OreDictionary.registerOre("oreGold", ModBlocks.ore_gneiss_gold);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_gneiss_uranium);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_gneiss_uranium_scorched);
OreDictionary.registerOre("oreCopper", ModBlocks.ore_gneiss_copper);
OreDictionary.registerOre("oreAsbestos", ModBlocks.ore_gneiss_asbestos);
OreDictionary.registerOre("oreLithium", ModBlocks.ore_gneiss_lithium);
OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_gneiss_rare);
OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_gneiss_schrabidium);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium_scorched);
OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium);

View File

@ -17,6 +17,7 @@ import com.hbm.items.weapon.*;
import com.hbm.items.weapon.ItemMissile.*;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.potion.HbmPotion;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.creativetab.CreativeTabs;
@ -1383,6 +1384,7 @@ public class ModItems {
public static Item twinkie;
public static Item static_sandwich;
public static Item pudding;
public static Item pancake;
public static Item med_ipecac;
public static Item med_ptsd;
@ -3261,6 +3263,7 @@ public class ModItems {
pudding = new ItemLemon(6, 15, false).setUnlocalizedName("pudding").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pudding");
canteen_13 = new ItemCanteen(1 * 60 * 20).setUnlocalizedName("canteen_13").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_13");
canteen_vodka = new ItemCanteen(3 * 60 * 20).setUnlocalizedName("canteen_vodka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_vodka");
pancake = new ItemPancake(20, 20, false).setUnlocalizedName("pancake").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pancake");
defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser");
@ -3612,18 +3615,21 @@ public class ModItems {
starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs");
starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots");
bj_helmet = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000, 100, 10).setMod(0.5F).setCap(15F)
bj_helmet = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).setMod(0.25F).setCap(7.5F)
.setFireproof(true)
.enableThermalSight(true)
.addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addEffect(new PotionEffect(Potion.field_76443_y.id, 20, 0))
.addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0))
.setBlastProtection(0.5F)
.setGravity(0.02D)
.setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land")
.addResistance("fall", 0).setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet");
bj_plate = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000, 100, 10).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate");
bj_legs = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000, 100, 10).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs");
bj_boots = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000, 100, 10).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots");
bj_plate = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate");
bj_legs = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs");
bj_boots = new ArmorBJ(MainRegistry.aMatStarmetal, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots");
jackt = new ModArmor(MainRegistry.aMatSteel, 7, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt");
jackt2 = new ModArmor(MainRegistry.aMatSteel, 7, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2");
@ -5645,6 +5651,7 @@ public class ModItems {
GameRegistry.registerItem(twinkie, twinkie.getUnlocalizedName());
GameRegistry.registerItem(static_sandwich, static_sandwich.getUnlocalizedName());
GameRegistry.registerItem(pudding, pudding.getUnlocalizedName());
GameRegistry.registerItem(pancake, pancake.getUnlocalizedName());
GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName());
GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName());
//GameRegistry.registerItem(med_schizophrenia, med_schizophrenia.getUnlocalizedName());

View File

@ -31,11 +31,8 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.sound.PlaySoundEvent17;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.PlayerFlyableFallEvent;
//Armor with full set bonus
public class ArmorFSB extends ItemArmor {
@ -80,6 +77,11 @@ public class ArmorFSB extends ItemArmor {
return this;
}
public ArmorFSB setBlastProtection(float blastProtection) {
this.blastProtection = blastProtection;
return this;
}
public ArmorFSB setFireproof(boolean fire) {
this.fireproof = fire;
return this;
@ -127,6 +129,7 @@ public class ArmorFSB extends ItemArmor {
this.resistance = original.resistance;
this.damageCap = original.damageCap;
this.damageMod = original.damageMod;
this.blastProtection = original.blastProtection;
this.fireproof = original.fireproof;
this.noHelmet = original.noHelmet;
this.thermal = original.thermal;
@ -151,36 +154,44 @@ public class ArmorFSB extends ItemArmor {
if(!effects.isEmpty()) {
for(PotionEffect effect : effects) {
list.add(" " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName()));
list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName()));
}
}
if(!resistance.isEmpty()) {
for(Entry<String, Float> struct : resistance.entrySet()) {
list.add(" Damage modifier of " + struct.getValue() + " against " + I18n.format(struct.getKey()));
if(struct.getValue() != 0)
list.add(EnumChatFormatting.YELLOW + " Damage modifier of " + struct.getValue() + " against " + I18n.format(struct.getKey()));
else
list.add(EnumChatFormatting.RED + " Nullifies all damage from " + I18n.format(struct.getKey()));
}
}
if(blastProtection != -1) {
list.add(" Damage modifier of " + blastProtection + " against explosions");
list.add(EnumChatFormatting.YELLOW + " Damage modifier of " + blastProtection + " against explosions");
}
if(damageCap != -1) {
list.add(" Hard damage cap of " + damageCap);
list.add(EnumChatFormatting.YELLOW + " Hard damage cap of " + damageCap);
}
if(damageMod != -1) {
list.add(" General damage modifier of " + damageMod);
list.add(EnumChatFormatting.YELLOW + " General damage modifier of " + damageMod);
}
if(fireproof) {
list.add(" Fireproof");
list.add(EnumChatFormatting.RED + " Fireproof");
}
if(thermal) {
list.add(" Thermal Sight");
list.add(EnumChatFormatting.RED + " Thermal Sight");
}
if(gravity != 0) {
list.add(EnumChatFormatting.BLUE + " Gravity modifier of " + gravity);
}
}

View File

@ -106,7 +106,7 @@ public class ItemBlockLore extends ItemBlock {
if(this.field_150939_a == ModBlocks.ore_schrabidium || this.field_150939_a == ModBlocks.ore_nether_schrabidium ||
this.field_150939_a == ModBlocks.block_schrabidium || this.field_150939_a == ModBlocks.block_schrabidium_cluster ||
this.field_150939_a == ModBlocks.block_schrabidium_fuel || this.field_150939_a == ModBlocks.block_solinium ||
this.field_150939_a == ModBlocks.gravel_diamond)
this.field_150939_a == ModBlocks.gravel_diamond || this.field_150939_a == ModBlocks.ore_gneiss_schrabidium)
return EnumRarity.rare;
if(this.field_150939_a == ModBlocks.block_euphemium || this.field_150939_a == ModBlocks.block_euphemium_cluster ||

View File

@ -0,0 +1,59 @@
package com.hbm.items.food;
import java.util.List;
import com.hbm.items.ModItems;
import com.hbm.items.armor.ArmorFSB;
import api.hbm.energy.IBatteryItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
public class ItemPancake extends ItemFood {
public ItemPancake(int p_i45339_1_, float p_i45339_2_, boolean p_i45339_3_) {
super(p_i45339_1_, p_i45339_2_, p_i45339_3_);
this.setAlwaysEdible();
}
@Override
protected void onFoodEaten(ItemStack stack, World world, EntityPlayer player) {
for(ItemStack st : player.inventory.armorInventory) {
if(st == null)
continue;
if(st.getItem() instanceof IBatteryItem) {
((IBatteryItem)st.getItem()).setCharge(st, ((IBatteryItem)st.getItem()).getMaxCharge());
}
}
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(ArmorFSB.hasFSBArmor(player) && player.inventory.armorInventory[3].getItem() == ModItems.bj_helmet) {
return super.onItemRightClick(stack, world, player);
}
if(!world.isRemote)
player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Your teeth are too soft to eat this."));
return stack;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Can be eaten to recharge lunar cybernetic armor");
list.add("Not for people with weak molars");
list.add("");
list.add("Half burnt and smells horrible");
}
}

View File

@ -30,7 +30,10 @@ import com.hbm.world.feature.OilBubble;
import com.hbm.world.feature.OilSandBubble;
import com.hbm.world.feature.Sellafield;
import com.hbm.world.generator.CellularDungeonFactory;
import com.hbm.world.generator.DungeonToolbox;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityChest;
@ -39,6 +42,8 @@ import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.NoiseGeneratorOctaves;
import net.minecraft.world.gen.NoiseGeneratorPerlin;
import net.minecraft.world.gen.feature.WorldGenMinable;
import cpw.mods.fml.common.IWorldGenerator;
@ -60,100 +65,86 @@ public class HbmWorldGen implements IWorldGenerator {
}
}
NoiseGeneratorOctaves octaves = new NoiseGeneratorOctaves(new Random(0x706f6e6379756dL), 1);
/**
* Fake noise generator "unruh" ("unrest", the motion of a clockwork), using a bunch of layered, scaaled and offset
* sine functions to simulate a simple noise generator that runs somewhat efficiently
* @param long the random function seed used for this operation
* @param x the exact x-coord of the height you want
* @param z the exact z-coord of the height you want
* @param scale how much the x/z coords should be amplified
* @param depth the resolution of the operation, higher numbers call more sine functions
* @return the height value
*/
private double generateUnruh(long seed, int x, int z, double scale, int depth) {
scale = 1/scale;
double result = 1;
Random rand = new Random(seed);
for(int i = 0; i < depth; i++) {
double offsetX = rand.nextDouble() * Math.PI * 2;
double offsetZ = rand.nextDouble() * Math.PI * 2;
result += Math.sin(x / Math.pow(2, depth) * scale + offsetX) * Math.sin(z / Math.pow(2, depth) * scale + offsetZ);
}
return result / depth;
}
private void generateSurface(World world, Random rand, int i, int j) {
// Ore stains per chunk
for (int k = 0; k < WorldConfig.uraniumSpawn; k++) {
int randPosX = i + rand.nextInt(16);
// Max height of generation
int randPosY = rand.nextInt(25);
int randPosZ = j + rand.nextInt(16);
// Ore, amount of ore in one stain
(new WorldGenMinable(ModBlocks.ore_uranium, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
for(int x = 0; x < 16; x++) {
for(int z = 0; z < 16; z++) {
double unruh = Math.abs(generateUnruh(world.getSeed(), i + x, j + z, 4, 4)) * 1.5;
double thresh = 0.8D;
if(unruh >= thresh) {
int span = (int)(Math.floor((unruh - thresh) * 7));
for(int s = -span; s <= span; s++) {
int y = 35 + s;
Block b = world.getBlock(x, y, z);
if(b.getMaterial() == Material.rock || b == Blocks.dirt)
world.setBlock(i + x, (int) (y), j + z, ModBlocks.stone_gneiss, 0, 2);
}
}
}
}
for (int k = 0; k < WorldConfig.thoriumSpawn; k++) {
int randPosX = i + rand.nextInt(16);
// Max height of generation
int randPosY = rand.nextInt(30);
int randPosZ = j + rand.nextInt(16);
DungeonToolbox.generateOre(world, rand, i, j, 25, 6, 30, 10, ModBlocks.ore_gneiss_iron, ModBlocks.stone_gneiss);
DungeonToolbox.generateOre(world, rand, i, j, 10, 6, 30, 10, ModBlocks.ore_gneiss_gold, ModBlocks.stone_gneiss);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.uraniumSpawn * 3, 6, 30, 10, ModBlocks.ore_gneiss_uranium, ModBlocks.stone_gneiss);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperSpawn * 3, 6, 30, 10, ModBlocks.ore_gneiss_copper, ModBlocks.stone_gneiss);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.asbestosSpawn * 3, 6, 30, 10, ModBlocks.ore_gneiss_asbestos, ModBlocks.stone_gneiss);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.lithiumSpawn, 6, 30, 10, ModBlocks.ore_gneiss_lithium, ModBlocks.stone_gneiss);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.rareSpawn, 6, 30, 10, ModBlocks.ore_gneiss_asbestos, ModBlocks.stone_gneiss);
// Ore, amount of ore in one stain
(new WorldGenMinable(ModBlocks.ore_thorium, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.titaniumSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_titanium, 6)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.sulfurSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_sulfur, 8)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.aluminiumSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(45);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_aluminium, 6)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.copperSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(50);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_copper, 6)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.fluoriteSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(40);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_fluorite, 4)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.niterSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_niter, 6)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.tungstenSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_tungsten, 8)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.leadSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_lead, 9)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.berylliumSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(35);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_beryllium, 4)).generate(world, rand, randPosX, randPosY, randPosZ);
}
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.uraniumSpawn, 5, 5, 20, ModBlocks.ore_uranium);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.thoriumSpawn, 5, 5, 25, ModBlocks.ore_thorium);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumSpawn, 6, 5, 30, ModBlocks.ore_titanium);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.sulfurSpawn, 8, 5, 30, ModBlocks.ore_sulfur);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.aluminiumSpawn, 6, 5, 40, ModBlocks.ore_aluminium);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperSpawn, 6, 5, 45, ModBlocks.ore_copper);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.fluoriteSpawn, 4, 5, 45, ModBlocks.ore_fluorite);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.niterSpawn, 6, 5, 30, ModBlocks.ore_niter);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.tungstenSpawn, 8, 5, 30, ModBlocks.ore_tungsten);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.leadSpawn, 9, 5, 30, ModBlocks.ore_lead);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.berylliumSpawn, 4, 5, 30, ModBlocks.ore_beryllium);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.rareSpawn, 5, 5, 20, ModBlocks.ore_rare);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ligniteSpawn, 24, 35, 25, ModBlocks.ore_lignite);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.asbestosSpawn, 4, 16, 16, ModBlocks.ore_asbestos);
for (int k = 0; k < 6; k++) {
int randPosX = i + rand.nextInt(16);
@ -209,30 +200,6 @@ public class HbmWorldGen implements IWorldGenerator {
(new WorldGenMinable(ModBlocks.ore_verticium, 16)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.niterSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(25);
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_rare, 5)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.ligniteSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(25) + 35;
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_lignite, 24)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < WorldConfig.asbestosSpawn; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(16) + 16;
int randPosZ = j + rand.nextInt(16);
(new WorldGenMinable(ModBlocks.ore_asbestos, 4)).generate(world, rand, randPosX, randPosY, randPosZ);
}
if (GeneralConfig.enableDungeons) {
BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, j);

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (3654)";
public static final String VERSION = "1.0.27 BETA (3668)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -517,6 +517,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.tank_steel, 1), new Object[] { "STS", "S S", "STS", 'S', "plateSteel", 'T', "plateTitanium" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", "ITI", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', "plateIron", 'C', ModItems.coil_copper }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", " T ", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', "plateSteel", 'C', ModItems.coil_copper }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor_desh, 1), new Object[] { "PCP", "DMD", "PCP", 'P', ModItems.ingot_polymer, 'C', ModItems.coil_gold_torus, 'D', "ingotDesh", 'M', ModItems.motor }));
//GameRegistry.addRecipe(new ItemStack(ModItems.centrifuge_element, 1), new Object[] { " T ", "WTW", "RMR", 'R', ModItems.wire_red_copper, 'T', ModItems.tank_steel, 'M', ModItems.motor, 'W', ModItems.coil_tungsten });
//GameRegistry.addRecipe(new ItemStack(ModItems.centrifuge_tower, 1), new Object[] { "LL", "EE", "EE", 'E', ModItems.centrifuge_element, 'L', new ItemStack(Items.dye, 1, 4) });
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_core, 1), new Object[] { "LNL", "N N", "LNL", 'N', "plateDenseLead", 'L', "plateLead" }));
@ -719,12 +720,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_corner)), new Object[] { Item.getItemFromBlock(ModBlocks.steel_wall), Item.getItemFromBlock(ModBlocks.steel_wall) });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_roof), 2), new Object[] { "SSS", 'S', "ingotSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_scaffold), 8), new Object[] { "SSS", " S ", "SSS", 'S', "ingotSteel" }));
reg2();
}
public static void reg2() {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " MW", 'S', ModItems.hull_small_steel, 'W', "plateIron", 'M', ModItems.mechanism_launcher_1 }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "SSS", " MW", 'S', ModItems.hull_small_steel, 'W', "plateCopper", 'M', ModItems.mechanism_launcher_1 }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_karl, 1), new Object[] { "SSW", " MW", 'S', ModItems.hull_small_steel, 'W', "plateAdvanced", 'M', ModItems.mechanism_launcher_2 }));
@ -743,6 +739,12 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', "plateSteel", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare2, 1), new Object[] { "SSM", "RRW", 'S', "plateDenseLead", 'W', "ingotTungsten", 'R', ModItems.wire_gold, 'M', ModItems.mechanism_special }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', "plateSteel", 'I', "ingotSteel", 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 }));
reg2();
}
public static void reg2() {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', "plateSteel", 'L', "plateLead", 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman }));
GameRegistry.addRecipe(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman });
GameRegistry.addRecipe(new ItemStack(ModItems.gun_bf_ammo, 1), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard });
@ -1030,6 +1032,8 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.balefire_and_ham, 1), new Object[] { ModItems.balefire_scrambled, Items.cooked_beef });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.med_ipecac, 1), new Object[] { Items.glass_bottle, Items.nether_wart });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.med_ptsd, 1), new Object[] { ModItems.med_ipecac });
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pancake, 1), new Object[] { "dustRedstone", "dustDiamond", Items.wheat, ModItems.bolt_tungsten, ModItems.wire_copper, "plateSteel" }));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pancake, 1), new Object[] { "dustRedstone", "dustEmerald", Items.wheat, ModItems.bolt_tungsten, ModItems.wire_copper, "plateSteel" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.can_empty, 1), new Object[] { "P", "P", 'P', "plateAluminum" }));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.can_smart, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, ModItems.niter });
@ -1258,6 +1262,11 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_cobalt });
GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_cobalt });
GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_cobalt });
GameRegistry.addRecipe(new ItemStack(ModItems.bj_helmet, 1), new Object[] { "SBS", " C ", " I ", 'S', Items.string, 'B', new ItemStack(Blocks.wool, 1, 15), 'C', ModItems.circuit_targeting_tier4, 'I', ModItems.ingot_starmetal });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bj_plate, 1), new Object[] { "N N", "MSM", "NCN", 'N', "plateDenseLead", 'M', ModItems.motor_desh, 'S', ModItems.starmetal_plate, 'C', ModItems.circuit_targeting_tier5 }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bj_legs, 1), new Object[] { "NBN", "MSM", "N N", 'N', "plateDenseLead", 'M', ModItems.motor_desh, 'S', ModItems.starmetal_legs, 'B', ModBlocks.block_starmetal }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bj_boots, 1), new Object[] { "N N", "BSB", 'N', "plateDenseLead", 'S', ModItems.starmetal_boots, 'B', ModBlocks.block_starmetal }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.drax, 1), new Object[] { "BCF", "DDM", "BCC", 'B', ModItems.blades_advanced_alloy, 'C', "ingotCobalt", 'F', ItemBattery.getFullBattery(ModItems.fusion_core), 'D', "ingotDesh", 'M', ModItems.motor }));
GameRegistry.addRecipe(new ItemStack(ModItems.drax_mk2, 1), new Object[] { "SCS", "IDI", "FEF", 'S', ModItems.ingot_starmetal, 'C', ModItems.crystal_trixite, 'I', ModItems.ingot_saturnite, 'D', ModItems.drax, 'F', ItemBattery.getFullBattery(ModItems.fusion_core), 'E', ModItems.circuit_targeting_tier5 });
@ -1480,6 +1489,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModBlocks.vent_chlorine_seal), new Object[] { "ISI", "SCS", "ISI", 'I', ModItems.ingot_saturnite, 'S', ModItems.ingot_starmetal, 'C', ModItems.chlorine_pinwheel });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_cloud, 'D', Blocks.dispenser }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.spikes, 4), new Object[] { "FFF", "BBB", "TTT", 'F', Items.flint, 'B', ModItems.bolt_tungsten, 'T', "ingotTungsten" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "C", "P", "T", 'C', ModItems.circuit_targeting_tier2, 'P', "plateIron", 'T', ModItems.ingot_semtex }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.mine_he, 1), new Object[] { " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', "plateSteel", 'T', ModItems.ingot_semtex }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.mine_shrap, 2), new Object[] { "LLL", " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', "plateSteel", 'T', ModBlocks.det_cord, 'L', ModItems.pellet_buckshot }));
@ -1507,6 +1517,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_amgen, 1), new Object[] { "ITI", "TAT", "ITI", 'I', "ingotAdvanced", 'T', ModItems.thermo_element, 'A', ModBlocks.absorber }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_geo, 1), new Object[] { "ITI", "PCP", "ITI", 'I', "ingotDuraSteel", 'T', ModItems.thermo_element, 'P', ModItems.board_copper, 'C', ModBlocks.red_wire_coated }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_minirtg, 1), new Object[] { "LLL", "PPP", "TRT", 'L', "plateLead", 'P', "Pu238", 'T', ModItems.thermo_element, 'R', ModItems.rtg_unit }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_powerrtg, 1), new Object[] { "SRS", "PTP", "SRS", 'S', ModItems.ingot_starmetal, 'R', ModItems.rtg_unit, 'P', "ingotPolonium", 'T', ModItems.powder_tennessine }));
GameRegistry.addRecipe(new ItemStack(ModBlocks.pink_planks, 4), new Object[] { "W", 'W', ModBlocks.pink_log });
GameRegistry.addRecipe(new ItemStack(ModBlocks.pink_slab, 6), new Object[] { "WWW", 'W', ModBlocks.pink_planks });
@ -1656,6 +1667,8 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModBlocks.ore_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_uranium_scorched, 'B', Items.water_bucket });
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.ore_nether_uranium, 1), new Object[] { ModBlocks.ore_nether_uranium_scorched, Items.water_bucket });
GameRegistry.addRecipe(new ItemStack(ModBlocks.ore_nether_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_nether_uranium_scorched, 'B', Items.water_bucket });
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.ore_gneiss_uranium, 1), new Object[] { ModBlocks.ore_gneiss_uranium_scorched, Items.water_bucket });
GameRegistry.addRecipe(new ItemStack(ModBlocks.ore_gneiss_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_gneiss_uranium_scorched, 'B', Items.water_bucket });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_iron, 4), new Object[] { "##", "##", '#', "ingotIron" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 4), new Object[] { "##", "##", '#', "ingotGold" }));
@ -1709,6 +1722,14 @@ public class CraftingManager {
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lithium), new ItemStack(ModItems.lithium), 20.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_starmetal), new ItemStack(ModItems.ingot_starmetal), 50.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_iron), new ItemStack(Items.iron_ingot), 5.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_gold), new ItemStack(Items.gold_ingot), 5.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_uranium), new ItemStack(ModItems.ingot_uranium), 12.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_uranium_scorched), new ItemStack(ModItems.ingot_uranium), 12.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_copper), new ItemStack(ModItems.ingot_copper), 5F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_lithium), new ItemStack(ModItems.lithium), 10F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 256.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_australium), new ItemStack(ModItems.nugget_australium), 2.5F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_weidanium), new ItemStack(ModItems.nugget_weidanium, 6), 16.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_reiium), new ItemStack(ModItems.ingot_reiium), 24.0F);

View File

@ -170,6 +170,7 @@ public class MainRegistry {
public static Achievement achSoyuz;
public static Achievement achRadPoison;
public static Achievement achRadDeath;
public static Achievement achStratum;
public static Achievement bobMetalworks;
public static Achievement bobAssembly;
public static Achievement bobChemistry;
@ -205,17 +206,18 @@ public class MainRegistry {
polaroidID = rand.nextInt(18) + 1;
}
loadConfig(PreEvent);
HbmPotion.init();
ModBlocks.mainRegistry();
ModItems.mainRegistry();
proxy.registerRenderInfo();
HbmWorld.mainRegistry();
GameRegistry.registerFuelHandler(new FuelHandler());
HbmPotion.init();
BulletConfigSyncingUtil.loadConfigsForSync();
CellularDungeonFactory.init();
Satellite.register();
HTTPHandler.loadStats();
loadConfig(PreEvent);
CraftingManager.mainRegistry();
AssemblerRecipes.preInit(PreEvent.getModConfigurationDirectory());
@ -861,6 +863,7 @@ public class MainRegistry {
achFiend = new Achievement("achievement.fiend", "fiend", 6, -2, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat();
achFiend2 = new Achievement("achievement.fiend2", "fiend2", 6, 0, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat();
achSoyuz = new Achievement("achievement.soyuz", "soyuz", -2, 0, Items.baked_potato, null).initIndependentStat().setSpecial().registerStat();
achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat();
bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 2, ModItems.bob_metalworks, null).initIndependentStat().registerStat();
bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 2, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat();
@ -890,6 +893,7 @@ public class MainRegistry {
achFiend,
achFiend2,
achSoyuz,
achStratum,
bobMetalworks,
bobAssembly,
bobChemistry,
@ -1001,6 +1005,11 @@ public class MainRegistry {
HazmatRegistry.instance.registerHazmat(ModItems.t45_legs, 0.6F);
HazmatRegistry.instance.registerHazmat(ModItems.t45_boots, 0.2F);
HazmatRegistry.instance.registerHazmat(ModItems.bj_helmet, 0.4F);
HazmatRegistry.instance.registerHazmat(ModItems.bj_plate, 0.8F);
HazmatRegistry.instance.registerHazmat(ModItems.bj_legs, 0.6F);
HazmatRegistry.instance.registerHazmat(ModItems.bj_boots, 0.2F);
HazmatRegistry.instance.registerHazmat(ModItems.paa_plate, 0.8F);
HazmatRegistry.instance.registerHazmat(ModItems.paa_legs, 0.6F);
HazmatRegistry.instance.registerHazmat(ModItems.paa_boots, 0.2F);

View File

@ -74,6 +74,7 @@ import net.minecraftforge.event.entity.living.LivingSpawnEvent;
import net.minecraftforge.event.entity.player.PlayerFlyableFallEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
public class ModEventHandler
{
@ -562,6 +563,18 @@ public class ModEventHandler
e.player.addStat(MainRegistry.bobNuclear, 1);
}
}
@SubscribeEvent
public void onBlockBreak(BreakEvent event) {
if(!(event.getPlayer() instanceof EntityPlayerMP))
return;
if(event.block == ModBlocks.stone_gneiss && !((EntityPlayerMP) event.getPlayer()).func_147099_x().hasAchievementUnlocked(MainRegistry.achStratum)) {
event.getPlayer().triggerAchievement(MainRegistry.achStratum);
event.setExpToDrop(500);
}
}
private static final String hash = "a4e6e2d37cc6bae3b19a925569c008d8f98b867e62ecb72398ee6fd5d7ee535a";

View File

@ -531,6 +531,7 @@ public class ResourceManager {
public static final ResourceLocation bj_eyepatch = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_eyepatch.png");
public static final ResourceLocation bj_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_leg.png");
public static final ResourceLocation bj_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_chest.png");
public static final ResourceLocation bj_jetpack = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_jetpack.png");
public static final ResourceLocation bj_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_arm.png");

View File

@ -39,6 +39,19 @@ public class ModelRendererObj {
this.rotationPointZ = z;
return this;
}
public void copyTo(ModelRendererObj obj) {
obj.offsetX = offsetX;
obj.offsetY = offsetY;
obj.offsetZ = offsetZ;
obj.rotateAngleX = rotateAngleX;
obj.rotateAngleY = rotateAngleY;
obj.rotateAngleZ = rotateAngleZ;
obj.rotationPointX = rotationPointX;
obj.rotationPointY = rotationPointY;
obj.rotationPointZ = rotationPointZ;
}
@SideOnly(Side.CLIENT)
public void render(float scale) {

View File

@ -2,43 +2,36 @@ package com.hbm.render.model;
import org.lwjgl.opengl.GL11;
import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.main.ResourceManager;
import com.hbm.render.loader.ModelRendererObj;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.util.MathHelper;
public class ModelArmorBJ extends ModelBiped {
public class ModelArmorBJ extends ModelArmorBase {
int type;
ModelRendererObj head;
ModelRendererObj body;
ModelRendererObj leftArm;
ModelRendererObj rightArm;
ModelRendererObj leftLeg;
ModelRendererObj rightLeg;
ModelRendererObj jetpack;
public ModelArmorBJ(int type) {
this.type = type;
}
@Override
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) {
super(type);
head = new ModelRendererObj(ResourceManager.armor_bj, "Head");
body = new ModelRendererObj(ResourceManager.armor_bj, "Body");
jetpack = new ModelRendererObj(ResourceManager.armor_bj, "Jetpack");
leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F);
rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F);
leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F);
rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F);
leftFoot = new ModelRendererObj(ResourceManager.armor_bj, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F);
rightFoot = new ModelRendererObj(ResourceManager.armor_bj, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F);
}
@Override
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) {
setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
body.copyTo(jetpack);
GL11.glPushMatrix();
if(type == 0) {
@ -48,6 +41,8 @@ public class ModelArmorBJ extends ModelBiped {
if(type == 1) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_chest);
body.render(par7);
//Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_jetpack);
//jetpack.render(par7);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_arm);
leftArm.render(par7);
rightArm.render(par7);
@ -57,143 +52,12 @@ public class ModelArmorBJ extends ModelBiped {
leftLeg.render(par7);
rightLeg.render(par7);
}
if(type == 3) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_leg);
leftFoot.render(par7);
rightFoot.render(par7);
}
GL11.glPopMatrix();
}
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entity) {
head.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI);
head.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI);
rightArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 2.0F * p_78087_2_ * 0.5F;
leftArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 2.0F * p_78087_2_ * 0.5F;
rightArm.rotateAngleZ = 0.0F;
leftArm.rotateAngleZ = 0.0F;
rightLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_;
leftLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 1.4F * p_78087_2_;
rightLeg.rotateAngleY = 0.0F;
leftLeg.rotateAngleY = 0.0F;
if(entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)entity;
this.aimedBow = false;
if(player.getHeldItem() != null) {
int hold = 1;
if(player.getItemInUseCount() > 0) {
EnumAction action = player.getHeldItem().getItemUseAction();
if(action == EnumAction.block)
hold = 3;
if(action == EnumAction.bow)
this.aimedBow = true;
}
if(player.getHeldItem().getItem() instanceof IHoldableWeapon)
this.aimedBow = true;
rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * hold;
}
this.isSneak = player.isSneaking();
this.isRiding = player.isRiding();
}
if (this.isRiding)
{
rightArm.rotateAngleX += -((float)Math.PI / 5F);
leftArm.rotateAngleX += -((float)Math.PI / 5F);
rightLeg.rotateAngleX = -((float)Math.PI * 2F / 5F);
leftLeg.rotateAngleX = -((float)Math.PI * 2F / 5F);
rightLeg.rotateAngleY = ((float)Math.PI / 10F);
leftLeg.rotateAngleY = -((float)Math.PI / 10F);
}
if (this.heldItemLeft != 0)
{
leftArm.rotateAngleX = leftArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemLeft;
}
if (this.heldItemRight != 0)
{
rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemRight;
}
rightArm.rotateAngleY = 0.0F;
leftArm.rotateAngleY = 0.0F;
float f6;
float f7;
if (this.onGround > -9990.0F)
{
f6 = this.onGround;
body.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * (float)Math.PI * 2.0F) * 0.2F;
rightArm.rotationPointZ = MathHelper.sin(body.rotateAngleY) * 5.0F;
rightArm.rotationPointX = -MathHelper.cos(body.rotateAngleY) * 5.0F;
leftArm.rotationPointZ = -MathHelper.sin(body.rotateAngleY) * 5.0F;
leftArm.rotationPointX = MathHelper.cos(body.rotateAngleY) * 5.0F;
rightArm.rotateAngleY += body.rotateAngleY;
leftArm.rotateAngleY += body.rotateAngleY;
leftArm.rotateAngleX += body.rotateAngleY;
f6 = 1.0F - this.onGround;
f6 *= f6;
f6 *= f6;
f6 = 1.0F - f6;
f7 = MathHelper.sin(f6 * (float)Math.PI);
float f8 = MathHelper.sin(this.onGround * (float)Math.PI) * -(head.rotateAngleX - 0.7F) * 0.75F;
rightArm.rotateAngleX = (float)((double)rightArm.rotateAngleX - ((double)f7 * 1.2D + (double)f8));
rightArm.rotateAngleY += body.rotateAngleY * 2.0F;
rightArm.rotateAngleZ = MathHelper.sin(this.onGround * (float)Math.PI) * -0.4F;
}
if (this.isSneak)
{
body.rotateAngleX = 0.5F;
rightArm.rotateAngleX += 0.4F;
leftArm.rotateAngleX += 0.4F;
rightLeg.offsetZ = 4.0F;
leftLeg.offsetZ = 4.0F;
rightLeg.offsetY = -3.0F;
leftLeg.offsetY = -3.0F;
head.offsetY = 1.0F;
}
else
{
body.rotateAngleX = 0.0F;
rightLeg.rotationPointZ = 0.1F;
leftLeg.rotationPointZ = 0.1F;
rightLeg.rotationPointY = 12.0F;
leftLeg.rotationPointY = 12.0F;
head.rotationPointY = 0.0F;
}
rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
if (this.aimedBow)
{
f6 = 0.0F;
f7 = 0.0F;
rightArm.rotateAngleZ = 0.0F;
leftArm.rotateAngleZ = 0.0F;
rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + head.rotateAngleY;
leftArm.rotateAngleY = 0.1F - f6 * 0.6F + head.rotateAngleY + 0.4F;
rightArm.rotateAngleX = -((float)Math.PI / 2F) + head.rotateAngleX;
leftArm.rotateAngleX = -((float)Math.PI / 2F) + head.rotateAngleX;
rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
}
}
}

View File

@ -0,0 +1,163 @@
package com.hbm.render.model;
import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.render.loader.ModelRendererObj;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.util.MathHelper;
public class ModelArmorBase extends ModelBiped {
int type;
ModelRendererObj head;
ModelRendererObj body;
ModelRendererObj leftArm;
ModelRendererObj rightArm;
ModelRendererObj leftLeg;
ModelRendererObj rightLeg;
ModelRendererObj leftFoot;
ModelRendererObj rightFoot;
public ModelArmorBase(int type) {
this.type = type;
}
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entity) {
head.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI);
head.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI);
rightArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 2.0F * p_78087_2_ * 0.5F;
leftArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 2.0F * p_78087_2_ * 0.5F;
rightArm.rotateAngleZ = 0.0F;
leftArm.rotateAngleZ = 0.0F;
rightFoot.rotateAngleX = rightLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_;
leftFoot.rotateAngleX = leftLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 1.4F * p_78087_2_;
rightFoot.rotateAngleY = rightLeg.rotateAngleY = 0.0F;
leftFoot.rotateAngleY = leftLeg.rotateAngleY = 0.0F;
if(entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)entity;
this.aimedBow = false;
if(player.getHeldItem() != null) {
int hold = 1;
if(player.getItemInUseCount() > 0) {
EnumAction action = player.getHeldItem().getItemUseAction();
if(action == EnumAction.block)
hold = 3;
if(action == EnumAction.bow)
this.aimedBow = true;
}
if(player.getHeldItem().getItem() instanceof IHoldableWeapon)
this.aimedBow = true;
rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * hold;
}
this.isSneak = player.isSneaking();
this.isRiding = player.isRiding();
}
if (this.isRiding)
{
rightArm.rotateAngleX += -((float)Math.PI / 5F);
leftArm.rotateAngleX += -((float)Math.PI / 5F);
rightFoot.rotateAngleX = rightLeg.rotateAngleX = -((float)Math.PI * 2F / 5F);
leftFoot.rotateAngleX = leftLeg.rotateAngleX = -((float)Math.PI * 2F / 5F);
rightFoot.rotateAngleY = rightLeg.rotateAngleY = ((float)Math.PI / 10F);
leftFoot.rotateAngleY = leftLeg.rotateAngleY = -((float)Math.PI / 10F);
}
if (this.heldItemLeft != 0)
{
leftArm.rotateAngleX = leftArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemLeft;
}
if (this.heldItemRight != 0)
{
rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemRight;
}
rightArm.rotateAngleY = 0.0F;
leftArm.rotateAngleY = 0.0F;
float f6;
float f7;
if (this.onGround > -9990.0F)
{
f6 = this.onGround;
body.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * (float)Math.PI * 2.0F) * 0.2F;
rightArm.rotationPointZ = MathHelper.sin(body.rotateAngleY) * 5.0F;
rightArm.rotationPointX = -MathHelper.cos(body.rotateAngleY) * 5.0F;
leftArm.rotationPointZ = -MathHelper.sin(body.rotateAngleY) * 5.0F;
leftArm.rotationPointX = MathHelper.cos(body.rotateAngleY) * 5.0F;
rightArm.rotateAngleY += body.rotateAngleY;
leftArm.rotateAngleY += body.rotateAngleY;
leftArm.rotateAngleX += body.rotateAngleY;
f6 = 1.0F - this.onGround;
f6 *= f6;
f6 *= f6;
f6 = 1.0F - f6;
f7 = MathHelper.sin(f6 * (float)Math.PI);
float f8 = MathHelper.sin(this.onGround * (float)Math.PI) * -(head.rotateAngleX - 0.7F) * 0.75F;
rightArm.rotateAngleX = (float)((double)rightArm.rotateAngleX - ((double)f7 * 1.2D + (double)f8));
rightArm.rotateAngleY += body.rotateAngleY * 2.0F;
rightArm.rotateAngleZ = MathHelper.sin(this.onGround * (float)Math.PI) * -0.4F;
}
if (this.isSneak)
{
body.rotateAngleX = 0.5F;
rightArm.rotateAngleX += 0.4F;
leftArm.rotateAngleX += 0.4F;
rightFoot.offsetZ = rightLeg.offsetZ = 4.0F;
leftFoot.offsetZ = leftLeg.offsetZ = 4.0F;
rightFoot.offsetY = rightLeg.offsetY = -3.0F;
leftFoot.offsetY = leftLeg.offsetY = -3.0F;
head.offsetY = 1.0F;
}
else
{
body.rotateAngleX = 0.0F;
rightFoot.rotationPointZ = rightLeg.rotationPointZ = 0.1F;
leftFoot.rotationPointZ = leftLeg.rotationPointZ = 0.1F;
rightFoot.rotationPointY = rightLeg.rotationPointY = 12.0F;
leftFoot.rotationPointY = leftLeg.rotationPointY = 12.0F;
head.rotationPointY = 0.0F;
}
rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
if (this.aimedBow)
{
f6 = 0.0F;
f7 = 0.0F;
rightArm.rotateAngleZ = 0.0F;
leftArm.rotateAngleZ = 0.0F;
rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + head.rotateAngleY;
leftArm.rotateAngleY = 0.1F - f6 * 0.6F + head.rotateAngleY + 0.4F;
rightArm.rotateAngleX = -((float)Math.PI / 2F) + head.rotateAngleX;
leftArm.rotateAngleX = -((float)Math.PI / 2F) + head.rotateAngleX;
rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
}
}
}

View File

@ -287,6 +287,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
Item.getItemFromBlock(Blocks.sand),
Item.getItemFromBlock(Blocks.sandstone),
Item.getItemFromBlock(Blocks.gravel),
Item.getItemFromBlock(ModBlocks.stone_gneiss),
Items.flint,
Items.snowball,
Items.wheat_seeds

View File

@ -3,11 +3,14 @@ package com.hbm.world.generator;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.RecipesCommon.MetaBlock;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenMinable;
public class DungeonToolbox {
@ -61,4 +64,28 @@ public class DungeonToolbox {
return list.get(rand.nextInt(list.size()));
}
public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore) {
generateOre(world, rand, chunkX, chunkZ, veinCount, amount, minHeight, variance, ore, 0, Blocks.stone);
}
public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore, int meta) {
generateOre(world, rand, chunkX, chunkZ, veinCount, amount, minHeight, variance, ore, meta, Blocks.stone);
}
public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore, Block target) {
generateOre(world, rand, chunkX, chunkZ, veinCount, amount, minHeight, variance, ore, 0, target);
}
public static void generateOre(World world, Random rand, int chunkX, int chunkZ, int veinCount, int amount, int minHeight, int variance, Block ore, int meta, Block target) {
for(int i = 0; i < veinCount; i++) {
int x = chunkX + rand.nextInt(16);
int y = minHeight + (variance > 0 ? rand.nextInt(variance) : 0);
int z = chunkZ + rand.nextInt(16);
(new WorldGenMinable(ore, meta, amount, target)).generate(world, rand, x, y, z);
}
}
}