well if it isn't sussy jack
@ -80,5 +80,5 @@ public interface IFluidConnector {
|
||||
}
|
||||
}
|
||||
|
||||
public static final boolean particleDebug = true;
|
||||
public static final boolean particleDebug = false;
|
||||
}
|
||||
|
||||
@ -544,7 +544,7 @@ public class ModBlocks {
|
||||
|
||||
public static Block vault_door;
|
||||
public static Block blast_door;
|
||||
public static Block transision_seal;
|
||||
public static Block transition_seal;
|
||||
|
||||
public static Block door_metal;
|
||||
public static Block door_office;
|
||||
@ -1999,7 +1999,7 @@ public class ModBlocks {
|
||||
|
||||
vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vault_door");
|
||||
blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door");
|
||||
transision_seal = new BlockDoorGeneric(Material.iron, DoorDecl.TRANSITION_SEAL).setBlockName("transission_seal").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transission_seal");
|
||||
transition_seal = new BlockDoorGeneric(Material.iron, DoorDecl.TRANSITION_SEAL).setBlockName("transition_seal").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transition_seal");
|
||||
|
||||
door_metal = new BlockModDoor(Material.iron).setBlockName("door_metal").setHardness(5.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":door_metal");
|
||||
door_office = new BlockModDoor(Material.iron).setBlockName("door_office").setHardness(10.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":door_office");
|
||||
@ -2881,7 +2881,7 @@ public class ModBlocks {
|
||||
//Vault Door
|
||||
GameRegistry.registerBlock(vault_door, vault_door.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(transision_seal, transision_seal.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(transition_seal, transition_seal.getUnlocalizedName());
|
||||
|
||||
//Doors
|
||||
GameRegistry.registerBlock(door_metal, door_metal.getUnlocalizedName());
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
package com.hbm.blocks.fluid;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -10,6 +12,8 @@ import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
@ -71,6 +75,13 @@ public class GenericFluidBlock extends BlockFluidClassic {
|
||||
|
||||
if(entity.ticksExisted % 20 == 0 && !world.isRemote) {
|
||||
entity.attackEntityFrom(damageSource, damage * 0.1F);
|
||||
|
||||
if(entity.isDead && ((EntityItem)entity).getEntityItem().getItem() == Items.slime_ball) {
|
||||
List<EntityPlayer> players = world.getEntitiesWithinAABB(EntityPlayer.class, entity.boundingBox.expand(10, 10, 10));
|
||||
|
||||
for(EntityPlayer player : players)
|
||||
player.triggerAchievement(MainRegistry.achSulfuric);
|
||||
}
|
||||
}
|
||||
if(entity.ticksExisted % 5 == 0) {
|
||||
world.spawnParticle("cloud", entity.posX, entity.posY, entity.posZ, 0.0, 0.0, 0.0);
|
||||
|
||||
@ -98,10 +98,5 @@ public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IToolt
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
|
||||
if(stack.getItemDamage() == 3) {
|
||||
list.add("haha get it? it's funny because drugs");
|
||||
}
|
||||
}
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { }
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@ public class GeneralConfig {
|
||||
public static boolean enableReflectorCompat = false;
|
||||
public static boolean enableRenderDistCheck = true;
|
||||
public static boolean enableCustomDashKeybind = false;
|
||||
public static int hintPos = 0;
|
||||
|
||||
public static boolean enable528 = false;
|
||||
public static boolean enable528ReasimBoilers = true;
|
||||
@ -71,6 +72,8 @@ public class GeneralConfig {
|
||||
enableRenderDistCheck = config.get(CATEGORY_GENERAL, "1.25_enableRenderDistCheck", true).getBoolean(true);
|
||||
enableCustomDashKeybind = config.get(CATEGORY_GENERAL, "1.26_enableCustomDashKeybind", false).getBoolean(false);
|
||||
|
||||
hintPos = CommonConfig.createConfigInt(config, CATEGORY_GENERAL, "1.27_hudOverlayPosition", "0: Top left\n1: Top right\n2: Center right\n3: Center Left", 0);
|
||||
|
||||
final String CATEGORY_528 = CommonConfig.CATEGORY_528;
|
||||
|
||||
config.addCustomCategoryComment(CATEGORY_528, "CAUTION\n"
|
||||
|
||||
@ -15,6 +15,7 @@ public class PotionConfig {
|
||||
public static int phosphorusID = 70;
|
||||
public static int stabilityID = 71;
|
||||
public static int potionsicknessID = 72;
|
||||
public static int deathID = 72;
|
||||
|
||||
public static int potionSickness = 0;
|
||||
|
||||
@ -32,6 +33,7 @@ public class PotionConfig {
|
||||
phosphorusID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.08_phosphorusPotionID", "What potion ID the phosphorus effect will have", 70);
|
||||
stabilityID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.09_stabilityPotionID", "What potion ID the stability effect will have", 71);
|
||||
potionsicknessID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.10_potionsicknessID", "What potion ID the potion sickness effect will have", 72);
|
||||
deathID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.11_deathID", "What potion ID the death effect will have", 73);
|
||||
|
||||
String s = CommonConfig.createConfigString(config, CATEGORY_POTION, "8.S0_potionSickness", "Valid configs include \"NORMAL\" and \"TERRARIA\", otherwise potion sickness is turned off", "OFF");
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.crafting;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.items.ItemEnums;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.CraftingManager;
|
||||
|
||||
@ -116,7 +117,7 @@ public class ConsumableRecipes {
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.radx, 1), new Object[] { COAL.dust(), COAL.dust(), F.dust() });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.fmn, 1), new Object[] { COAL.dust(), PO210.dust(), ST.dust() });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.five_htp, 1), new Object[] { COAL.dust(), EUPH.dust(), ModItems.canteen_fab });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ANY_TAR.any(), PO210.nugget() });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ANY_TAR.any(), PO210.nugget(), DictFrame.fromOne(ModItems.plant_item, ItemEnums.EnumPlantType.TOBACCO) });
|
||||
|
||||
if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleMedicineRecipes) {
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.siox, 8), new Object[] { COAL.dust(), ASBESTOS.dust(), GOLD.nugget() });
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
package com.hbm.crafting;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
|
||||
import com.hbm.inventory.OreDictManager.DictFrame;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.ItemEnums.EnumCokeType;
|
||||
import com.hbm.items.ItemEnums.EnumPlantType;
|
||||
import com.hbm.items.ItemEnums.EnumTarType;
|
||||
import com.hbm.items.machine.ItemBattery;
|
||||
import com.hbm.items.special.ItemHot;
|
||||
@ -107,9 +109,10 @@ public class SmeltingRecipes {
|
||||
GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F);
|
||||
GameRegistry.addSmelting(ModItems.rag_damp, new ItemStack(ModItems.rag), 0.1F);
|
||||
GameRegistry.addSmelting(ModItems.rag_piss, new ItemStack(ModItems.rag), 0.1F);
|
||||
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.TOBACCO), DictFrame.fromOne(ModItems.plant_item, EnumPlantType.TOBACCO), 0.1F);
|
||||
|
||||
GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 0.0F);
|
||||
GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.0F);
|
||||
//GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 0.0F);
|
||||
//GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.0F);
|
||||
GameRegistry.addSmelting(new ItemStack(Blocks.gravel, 1), new ItemStack(Blocks.cobblestone, 1), 0.0F);
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_obsidian), new ItemStack(Blocks.obsidian), 0.0F);
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_diamond), new ItemStack(Items.diamond), 3.0F);
|
||||
|
||||
@ -973,6 +973,17 @@ public class AssemblerRecipes {
|
||||
new ComparableStack(ModItems.tank_steel, 3)
|
||||
}, 200);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.transition_seal, 1), new AStack[]{
|
||||
new ComparableStack(ModBlocks.cmb_brick_reinforced, 16),
|
||||
new OreDictStack(STEEL.plate(), 64),
|
||||
new OreDictStack(ALLOY.plate(), 40),
|
||||
new ComparableStack(ModItems.plate_polymer, 36),
|
||||
new OreDictStack(STEEL.block(), 24),
|
||||
new ComparableStack(ModItems.motor_desh, 16),
|
||||
new ComparableStack(ModItems.bolt_dura_steel, 12),
|
||||
new OreDictStack(KEY_YELLOW, 4)
|
||||
}, 5000);
|
||||
|
||||
if(Loader.isModLoaded("Mekanism")) {
|
||||
|
||||
Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock");
|
||||
|
||||
@ -25,4 +25,9 @@ public class ItemEnums {
|
||||
TIER2,
|
||||
TIER3
|
||||
}
|
||||
|
||||
public static enum EnumPlantType {
|
||||
TOBACCO,
|
||||
ROPE
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ import com.hbm.handler.WeaponAbility;
|
||||
import com.hbm.handler.guncfg.*;
|
||||
import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.items.ItemEnums.EnumLegendaryType;
|
||||
import com.hbm.items.ItemEnums.*;
|
||||
import com.hbm.items.armor.*;
|
||||
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
|
||||
import com.hbm.items.bomb.*;
|
||||
@ -502,6 +502,7 @@ public class ModItems {
|
||||
public static Item biomass;
|
||||
public static Item biomass_compressed;
|
||||
public static Item bio_wafer;
|
||||
public static Item plant_item;
|
||||
|
||||
public static Item coil_copper;
|
||||
public static Item coil_copper_torus;
|
||||
@ -1941,6 +1942,7 @@ public class ModItems {
|
||||
public static Item upgrade_nullifier;
|
||||
public static Item upgrade_screm;
|
||||
public static Item upgrade_gc_speed;
|
||||
public static Item upgrade_5g;
|
||||
|
||||
public static Item ingot_euphemium;
|
||||
public static Item nugget_euphemium;
|
||||
@ -2757,12 +2759,12 @@ public class ModItems {
|
||||
plate_armor_fau = new Item().setUnlocalizedName("plate_armor_fau").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_fau");
|
||||
plate_armor_dnt = new Item().setUnlocalizedName("plate_armor_dnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_dnt");
|
||||
|
||||
oil_tar = new ItemEnumMulti(ItemEnums.EnumTarType.class, true, true).setUnlocalizedName("oil_tar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":oil_tar");
|
||||
oil_tar = new ItemEnumMulti(EnumTarType.class, true, true).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 ItemEnumMulti(ItemEnums.EnumCokeType.class, true, true).setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke");
|
||||
coke = new ItemEnumMulti(EnumCokeType.class, true, true).setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke");
|
||||
lignite = new Item().setUnlocalizedName("lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lignite");
|
||||
briquette_lignite = new Item().setUnlocalizedName("briquette_lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":briquette_lignite");
|
||||
powder_lignite = new Item().setUnlocalizedName("powder_lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lignite");
|
||||
@ -2987,6 +2989,7 @@ public class ModItems {
|
||||
biomass = new Item().setUnlocalizedName("biomass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass");
|
||||
biomass_compressed = new Item().setUnlocalizedName("biomass_compressed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass_compressed");
|
||||
bio_wafer = new ItemLemon(4, 2F, false).setUnlocalizedName("bio_wafer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bio_wafer");
|
||||
plant_item = new ItemEnumMulti(EnumPlantType.class, true, true).setUnlocalizedName("plant_item").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plant_item");
|
||||
|
||||
coil_copper = new Item().setUnlocalizedName("coil_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_copper");
|
||||
coil_copper_torus = new Item().setUnlocalizedName("coil_copper_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_copper_torus");
|
||||
@ -4650,6 +4653,7 @@ public class ModItems {
|
||||
upgrade_nullifier = new ItemMachineUpgrade().setUnlocalizedName("upgrade_nullifier").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_nullifier");
|
||||
upgrade_screm = new ItemMachineUpgrade().setUnlocalizedName("upgrade_screm").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_screm");
|
||||
upgrade_gc_speed = new ItemMachineUpgrade().setUnlocalizedName("upgrade_gc_speed").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_gc_speed");
|
||||
upgrade_5g = new ItemMachineUpgrade().setUnlocalizedName("upgrade_5g").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_5g");
|
||||
|
||||
wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand");
|
||||
wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_s");
|
||||
@ -6144,6 +6148,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName());
|
||||
GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName());
|
||||
|
||||
//Plant Products
|
||||
GameRegistry.registerItem(plant_item, plant_item.getUnlocalizedName());
|
||||
|
||||
//Teleporter Parts
|
||||
GameRegistry.registerItem(telepad, telepad.getUnlocalizedName());
|
||||
GameRegistry.registerItem(entanglement_kit, entanglement_kit.getUnlocalizedName());
|
||||
@ -6573,6 +6580,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(upgrade_nullifier, upgrade_nullifier.getUnlocalizedName());
|
||||
GameRegistry.registerItem(upgrade_screm, upgrade_screm.getUnlocalizedName());
|
||||
GameRegistry.registerItem(upgrade_gc_speed, upgrade_gc_speed.getUnlocalizedName());
|
||||
GameRegistry.registerItem(upgrade_5g, upgrade_5g.getUnlocalizedName());
|
||||
|
||||
//Machine Templates
|
||||
GameRegistry.registerItem(siren_track, siren_track.getUnlocalizedName());
|
||||
|
||||
@ -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 (4200)";
|
||||
public static final String VERSION = "1.0.27 BETA (4214)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -73,6 +73,7 @@ import com.hbm.render.util.RenderInfoSystem;
|
||||
import com.hbm.render.util.RenderInfoSystem.InfoEntry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.sound.AudioWrapperClient;
|
||||
import com.hbm.sound.AudioWrapperClientStartStop;
|
||||
import com.hbm.sound.nt.ISoundSourceTE;
|
||||
import com.hbm.sound.nt.SoundWrapper;
|
||||
import com.hbm.sound.nt.SoundWrapperClient;
|
||||
@ -1617,6 +1618,13 @@ public class ClientProxy extends ServerProxy {
|
||||
return audio;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) {
|
||||
AudioWrapperClientStartStop audio = new AudioWrapperClientStartStop(world, sound == null ? null : new ResourceLocation(sound), start, stop, volume);
|
||||
audio.updatePosition(x, y, z);
|
||||
return audio;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundWrapper getTileSound(String sound, ISoundSourceTE tile) {
|
||||
SoundWrapperClient wrapper = new SoundWrapperClient(sound, tile);
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.crafting.*;
|
||||
import com.hbm.crafting.handlers.*;
|
||||
@ -14,6 +15,7 @@ import static com.hbm.inventory.OreDictManager.*;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.ItemEnums.EnumLegendaryType;
|
||||
import com.hbm.items.ItemEnums.EnumPlantType;
|
||||
import com.hbm.items.machine.ItemBattery;
|
||||
import com.hbm.items.special.ItemCircuitStarComponent.CircuitComponentType;
|
||||
import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage;
|
||||
@ -198,7 +200,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.sphere_steel, 1), new Object[] { "PIP", "I I", "PIP", 'P', STEEL.plate(), 'I', STEEL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.pedestal_steel, 1), new Object[] { "P P", "P P", "III", 'P', STEEL.plate(), 'I', STEEL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.lemon, 1), new Object[] { " D ", "DSD", " D ", 'D', KEY_YELLOW, 'S', "stone" });
|
||||
addRecipeAuto(new ItemStack(ModItems.blade_titanium, 2), new Object[] { "TP", "TP", "TT", 'P', TI.plate(), 'T', TI.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.blade_titanium, 4), new Object[] { "TP", "TP", "TT", 'P', TI.plate(), 'T', TI.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.turbine_titanium, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_titanium, 'S', STEEL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.rotor_steel, 3), new Object[] { "CCC", "SSS", "CCC", 'C', ModItems.coil_gold, 'S', STEEL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.generator_steel, 1), new Object[] { "RRR", "CCC", "SSS", 'C', ModItems.coil_gold_torus, 'S', STEEL.ingot(), 'R', ModItems.rotor_steel });
|
||||
@ -212,6 +214,8 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.turbine_tungsten, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_tungsten, 'S', DURA.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.ring_starmetal, 1), new Object[] { " S ", "S S", " S ", 'S', STAR.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.flywheel_beryllium, 1), new Object[] { "BBB", "BTB", "BBB", 'B', BE.block(), 'T', ModItems.bolt_compound });
|
||||
addRecipeAuto(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE, 4), new Object[] { "W", "W", "W", 'W', DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) });
|
||||
addRecipeAuto(new ItemStack(ModItems.rag, 16), new Object[] { "WW", "WW", 'W', DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) });
|
||||
|
||||
ItemStack infinity = new ItemStack(Items.enchanted_book);
|
||||
EnchantmentUtil.addEnchantment(infinity, Enchantment.infinity, 1);
|
||||
@ -229,7 +233,7 @@ public class CraftingManager {
|
||||
addShapelessAuto(new ItemStack(ModItems.cbt_device, 1), new Object[] { ModItems.bolt_tungsten, ModItems.wrench });
|
||||
|
||||
addShapelessAuto(new ItemStack(ModItems.toothpicks, 3), new Object[] { KEY_STICK, KEY_STICK, KEY_STICK });
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModItems.ducttape, 6), new Object[] { "FSF", "SPS", "FSF", 'F', Items.string, 'S', Items.slime_ball, 'P', Items.paper });
|
||||
addRecipeAuto(new ItemStack(ModItems.ducttape, 6), new Object[] { "FSF", "SPS", "FSF", 'F', Items.string, 'S', KEY_SLIME, 'P', Items.paper });
|
||||
|
||||
//addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "T T", "PHP", "TFT", 'T', W.ingot(), 'P', ModItems.board_copper, 'H', Blocks.hopper, 'F', Blocks.furnace });
|
||||
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', IRON.plate(), 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', MINGRADE.ingot() });
|
||||
@ -255,7 +259,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', STEEL.ingot(), 'T', ModItems.tank_steel, 'C', MINGRADE.ingot(), 'F', Blocks.furnace });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_boiler_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', STEEL.ingot(), 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', Blocks.furnace });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_boiler_electric_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', DESH.ingot(), 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', ModBlocks.machine_electric_furnace_off });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "PTP", "BMB", "PTP", 'P', TI.plate(), 'T', ModItems.turbine_titanium, 'B', ModItems.tank_steel, 'M', ModItems.motor });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "PMP", "PTP", "PMP", 'P', STEEL.ingot(), 'T', ModItems.turbine_titanium, 'M', ModItems.coil_copper });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_converter_he_rf, 1), new Object[] { "SSS", "CRB", "SSS", 'S', STEEL.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.machine_converter_rf_he, 1), new Object[] { "SSS", "BRC", "SSS", 'S', BE.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', IRON.plate(), 'I', IRON.ingot() });
|
||||
@ -658,6 +662,7 @@ public class CraftingManager {
|
||||
|
||||
addShapelessAuto(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
addShapelessAuto(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
addShapelessAuto(new ItemStack(Items.slime_ball, 16), new Object[] { new ItemStack(Items.dye, 1, 15), new ItemStack(Items.dye, 1, 15), new ItemStack(Items.dye, 1, 15), new ItemStack(Items.dye, 1, 15), Fluids.SULFURIC_ACID.getDict(1000) });
|
||||
|
||||
for(int i = 1; i < Fluids.getAll().length; ++i) {
|
||||
addShapelessAuto(new ItemStack(ModItems.fluid_duct, 1, i), new Object[] { new ItemStack(ModBlocks.fluid_duct, 1), new ItemStack(ModItems.fluid_identifier, 1, i) });
|
||||
@ -806,6 +811,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', STEEL.plate(), 'C', CU.ingot(), 'B', ModItems.tank_steel });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_steam_inlet, 1), new Object[] { "SCS", "CBC", "SCS", 'S', STEEL.ingot(), 'C', IRON.plate(), 'B', ModItems.tank_steel });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_steam_outlet, 1), new Object[] { "SCS", "CBC", "SCS", 'S', STEEL.ingot(), 'C', CU.plate(), 'B', ModItems.tank_steel });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_heatex, 1), new Object[] { "SCS", "CBC", "SCS", 'S', STEEL.ingot(), 'C', CU.plate(), 'B', ModItems.pipes_steel });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModBlocks.deco_rbmk, 8), new Object[] { "R", 'R', ModBlocks.rbmk_blank });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.deco_rbmk_smooth, 1), new Object[] { "R", 'R', ModBlocks.deco_rbmk });
|
||||
@ -860,6 +866,7 @@ public class CraftingManager {
|
||||
|
||||
addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', KEY_SLIME, 'P', Items.paper });
|
||||
addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', ANY_TAR.any(), 'P', Items.paper });
|
||||
addRecipeAuto(new ItemStack(Items.lead, 4), new Object[] { "RSR", 'R', DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE), 'S', KEY_SLIME });
|
||||
addRecipeAuto(new ItemStack(ModItems.rag, 4), new Object[] { "SW", "WS", 'S', Items.string, 'W', Blocks.wool });
|
||||
|
||||
addShapelessAuto(new ItemStack(ModItems.solid_fuel, 10), new Object[] { Fluids.HEATINGOIL.getDict(1000), KEY_TOOL_CHEMISTRYSET });
|
||||
@ -902,6 +909,8 @@ public class CraftingManager {
|
||||
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2, 3), new Object[] { DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER3) });
|
||||
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER3), new Object[] { ModItems.ingot_chainsteel, ModItems.ingot_smore, ModItems.gem_alexandrite, ModItems.gem_alexandrite, ModItems.gem_alexandrite });
|
||||
|
||||
addShapelessAuto(new ItemStack(ModItems.upgrade_5g), new Object[] { ModItems.upgrade_template, ModItems.gem_alexandrite });
|
||||
|
||||
if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCrafting) {
|
||||
addShapelessAuto(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
addShapelessAuto(new ItemStack(ModItems.ingot_semtex, 3), new Object[] { Items.slime_ball, Blocks.tnt, KNO.dust() });
|
||||
@ -951,6 +960,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_heater, 1), new Object[] { "CIC", "PRP", "CIC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank, 'I', ANY_PLASTIC.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_cooler, 1), new Object[] { "IGI", "GCG", "IGI", 'C', ModBlocks.rbmk_blank, 'I', ModItems.plate_polymer, 'G', ModBlocks.steel_grate });
|
||||
}
|
||||
|
||||
|
||||
@ -174,6 +174,9 @@ public class MainRegistry {
|
||||
public static Achievement achStratum;
|
||||
public static Achievement achOmega12;
|
||||
public static Achievement achSomeWounds;
|
||||
public static Achievement achSlimeball;
|
||||
public static Achievement achSulfuric;
|
||||
public static Achievement achWitchtaunter;
|
||||
public static Achievement bobHidden;
|
||||
public static Achievement horizonsStart;
|
||||
public static Achievement horizonsEnd;
|
||||
@ -798,6 +801,10 @@ public class MainRegistry {
|
||||
achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat();
|
||||
achOmega12 = new Achievement("achievement.omega12", "omega12", 17, -1, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat();
|
||||
|
||||
achWitchtaunter = new Achievement("achievement.witchtaunter", "witchtaunter", -8, 7, ModItems.ammo_4gauge_vampire, null).initIndependentStat().setSpecial().registerStat();
|
||||
achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, Items.slime_ball, null).initIndependentStat().registerStat();
|
||||
achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, ModItems.bucket_sulfuric_acid, achSlimeball).initIndependentStat().setSpecial().registerStat();
|
||||
|
||||
bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat();
|
||||
|
||||
horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -5, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat();
|
||||
@ -872,6 +879,9 @@ public class MainRegistry {
|
||||
horizonsBonus,
|
||||
achRadPoison,
|
||||
achRadDeath,
|
||||
achWitchtaunter,
|
||||
achSlimeball,
|
||||
achSulfuric,
|
||||
bossCreeper,
|
||||
bossMeltdown,
|
||||
bossMaskman,
|
||||
|
||||
@ -178,7 +178,7 @@ public class ModEventHandler {
|
||||
}
|
||||
|
||||
if(MobConfig.enableDucks && event.player instanceof EntityPlayerMP && !event.player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).getBoolean("hasDucked"))
|
||||
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("Press O to Duck!", MainRegistry.proxy.ID_DUCK), (EntityPlayerMP) event.player);
|
||||
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("Press O to Duck!", MainRegistry.proxy.ID_DUCK, 30_000), (EntityPlayerMP) event.player);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1285,6 +1285,8 @@ public class ModEventHandler {
|
||||
public void onItemPickup(PlayerEvent.ItemPickupEvent event) {
|
||||
if(event.pickedUp.getEntityItem().getItem() == ModItems.canned_jizz)
|
||||
event.player.triggerAchievement(MainRegistry.achC20_5);
|
||||
if(event.pickedUp.getEntityItem().getItem() == Items.slime_ball)
|
||||
event.player.triggerAchievement(MainRegistry.achSlimeball);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@ -1310,11 +1312,6 @@ public class ModEventHandler {
|
||||
event.world.setBlock(x, y, z, ModBlocks.gas_coal);
|
||||
}
|
||||
}
|
||||
|
||||
if(event.block == ModBlocks.pink_log && !((EntityPlayerMP) event.getPlayer()).func_147099_x().hasAchievementUnlocked(MainRegistry.achImpossible)) {
|
||||
event.getPlayer().triggerAchievement(MainRegistry.achImpossible);
|
||||
event.setExpToDrop(3000);
|
||||
}
|
||||
}
|
||||
|
||||
private static final String hash = "41eb77f138ce350932e33b6b26b233df9aad0c0c80c6a49cb9a54ddd8fae3f83";
|
||||
|
||||
@ -6,42 +6,66 @@ import com.hbm.blocks.generic.BlockAshes;
|
||||
import com.hbm.items.armor.IArmorDisableModel;
|
||||
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.render.model.ModelMan;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.EventPriority;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.client.renderer.entity.RenderPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
||||
|
||||
public class ModEventHandlerRenderer {
|
||||
|
||||
|
||||
private static ModelMan manlyModel;
|
||||
private static boolean[] partsHidden = new boolean[7];
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST, receiveCanceled = true)
|
||||
public void onRenderPlayerPre(RenderPlayerEvent.Pre event) {
|
||||
|
||||
|
||||
EntityPlayer player = event.entityPlayer;
|
||||
RenderPlayer renderer = event.renderer;
|
||||
|
||||
|
||||
boolean isManly = player.isPotionActive(HbmPotion.death.id);
|
||||
|
||||
for(int j = 0; j < 7; j++) {
|
||||
partsHidden[j] = false;
|
||||
|
||||
if(isManly) {
|
||||
partsHidden[j] = true;
|
||||
EnumPlayerPart type = EnumPlayerPart.values()[j];
|
||||
ModelRenderer box = getBoxFromType(renderer, type);
|
||||
box.isHidden = true;
|
||||
} else {
|
||||
partsHidden[j] = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(isManly) {
|
||||
return;
|
||||
}
|
||||
|
||||
for(int i = 1; i < 5; i++) {
|
||||
ItemStack stack = player.getEquipmentInSlot(i);
|
||||
|
||||
|
||||
if(stack != null && stack.getItem() instanceof IArmorDisableModel) {
|
||||
IArmorDisableModel disable = (IArmorDisableModel) stack.getItem();
|
||||
|
||||
|
||||
for(int j = 0; j < 7; j++) {
|
||||
EnumPlayerPart type = EnumPlayerPart.values()[j];
|
||||
ModelRenderer box = getBoxFromType(renderer, type);
|
||||
@ -54,11 +78,37 @@ public class ModEventHandlerRenderer {
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onRenderArmorEvent(RenderPlayerEvent.SetArmorModel event) {
|
||||
|
||||
EntityPlayer player = event.entityPlayer;
|
||||
RenderPlayer renderer = event.renderer;
|
||||
|
||||
boolean isManly = player.isPotionActive(HbmPotion.death.id);
|
||||
|
||||
if(isManly) {
|
||||
if(manlyModel == null)
|
||||
manlyModel = new ModelMan();
|
||||
float interp = event.partialRenderTick;
|
||||
float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp;
|
||||
float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * interp;
|
||||
float yaw = yawHead - yawOffset;
|
||||
float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset);
|
||||
float pitch = player.rotationPitch;
|
||||
float f6 = player.prevLimbSwingAmount + (player.limbSwingAmount - player.prevLimbSwingAmount) * interp;
|
||||
float f7 = player.limbSwing - player.limbSwingAmount * (1.0F - interp);
|
||||
if(f6 > 1.0F) {
|
||||
f6 = 1.0F;
|
||||
}
|
||||
manlyModel.render(event.entityPlayer, f7, f6, yawWrapped, yaw, pitch, 0.0625F, renderer);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST, receiveCanceled = true)
|
||||
public void onRenderPlayerPost(RenderPlayerEvent.Post event) {
|
||||
|
||||
|
||||
RenderPlayer renderer = event.renderer;
|
||||
|
||||
|
||||
for(int j = 0; j < 7; j++) {
|
||||
EnumPlayerPart type = EnumPlayerPart.values()[j];
|
||||
if(partsHidden[j]) {
|
||||
@ -66,32 +116,139 @@ public class ModEventHandlerRenderer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static ModelRenderer getBoxFromType(RenderPlayer renderer, EnumPlayerPart part) {
|
||||
|
||||
@SubscribeEvent
|
||||
public void onRenderHeldItem(RenderPlayerEvent.Specials.Pre event) {
|
||||
|
||||
EntityPlayer player = event.entityPlayer;
|
||||
RenderPlayer renderer = event.renderer;
|
||||
|
||||
boolean isManly = player.isPotionActive(HbmPotion.death.id);
|
||||
|
||||
if(!isManly)
|
||||
return;
|
||||
|
||||
if(manlyModel == null)
|
||||
manlyModel = new ModelMan();
|
||||
|
||||
event.renderItem = false;
|
||||
|
||||
float f2 = 1.3333334F;
|
||||
|
||||
ItemStack held = player.getHeldItem();
|
||||
|
||||
if(held == null)
|
||||
return;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
manlyModel.rightArm.postRender(0.0625F);
|
||||
GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F);
|
||||
|
||||
if(player.fishEntity != null) {
|
||||
held = new ItemStack(Items.stick);
|
||||
}
|
||||
|
||||
EnumAction enumaction = null;
|
||||
|
||||
if(player.getItemInUseCount() > 0) {
|
||||
enumaction = held.getItemUseAction();
|
||||
}
|
||||
|
||||
net.minecraftforge.client.IItemRenderer customRenderer = net.minecraftforge.client.MinecraftForgeClient.getItemRenderer(held, net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED);
|
||||
boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED, held, net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D));
|
||||
|
||||
if(is3D || held.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(held.getItem()).getRenderType())) {
|
||||
f2 = 0.5F;
|
||||
GL11.glTranslatef(0.0F, 0.1875F, -0.3125F);
|
||||
f2 *= 0.75F;
|
||||
GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glScalef(-f2, -f2, f2);
|
||||
} else if(held.getItem() == Items.bow) {
|
||||
f2 = 0.625F;
|
||||
GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
|
||||
GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glScalef(f2, -f2, f2);
|
||||
GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
} else if(held.getItem().isFull3D()) {
|
||||
f2 = 0.625F;
|
||||
|
||||
if(held.getItem().shouldRotateAroundWhenRendering()) {
|
||||
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.0F, -0.125F, 0.0F);
|
||||
}
|
||||
|
||||
if(player.getItemInUseCount() > 0 && enumaction == EnumAction.block) {
|
||||
GL11.glTranslatef(0.05F, 0.0F, -0.1F);
|
||||
GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(-10.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
GL11.glTranslatef(0.0F, 0.1875F, 0.0F);
|
||||
GL11.glScalef(f2, -f2, f2);
|
||||
GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
} else {
|
||||
f2 = 0.375F;
|
||||
GL11.glTranslatef(0.25F, 0.1875F, -0.1875F);
|
||||
GL11.glScalef(f2, f2, f2);
|
||||
GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
float f3;
|
||||
int k;
|
||||
float f12;
|
||||
|
||||
if(held.getItem().requiresMultipleRenderPasses()) {
|
||||
for(k = 0; k < held.getItem().getRenderPasses(held.getItemDamage()); ++k) {
|
||||
int i = held.getItem().getColorFromItemStack(held, k);
|
||||
f12 = (float) (i >> 16 & 255) / 255.0F;
|
||||
f3 = (float) (i >> 8 & 255) / 255.0F;
|
||||
float f4 = (float) (i & 255) / 255.0F;
|
||||
GL11.glColor4f(f12, f3, f4, 1.0F);
|
||||
RenderManager.instance.itemRenderer.renderItem(player, held, k);
|
||||
}
|
||||
} else {
|
||||
k = held.getItem().getColorFromItemStack(held, 0);
|
||||
float f11 = (float) (k >> 16 & 255) / 255.0F;
|
||||
f12 = (float) (k >> 8 & 255) / 255.0F;
|
||||
f3 = (float) (k & 255) / 255.0F;
|
||||
GL11.glColor4f(f11, f12, f3, 1.0F);
|
||||
RenderManager.instance.itemRenderer.renderItem(player, held, 0);
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private static ModelRenderer getBoxFromType(RenderPlayer renderer, EnumPlayerPart part) {
|
||||
|
||||
switch(part) {
|
||||
case BODY: return renderer.modelBipedMain.bipedBody;
|
||||
case HAT: return renderer.modelBipedMain.bipedHeadwear;
|
||||
case HEAD: return renderer.modelBipedMain.bipedHead;
|
||||
case LEFT_ARM: return renderer.modelBipedMain.bipedLeftArm;
|
||||
case LEFT_LEG: return renderer.modelBipedMain.bipedLeftLeg;
|
||||
case RIGHT_ARM: return renderer.modelBipedMain.bipedRightArm;
|
||||
case RIGHT_LEG: return renderer.modelBipedMain.bipedRightLeg;
|
||||
default: return null;
|
||||
case BODY: return renderer.modelBipedMain.bipedBody;
|
||||
case HAT: return renderer.modelBipedMain.bipedHeadwear;
|
||||
case HEAD: return renderer.modelBipedMain.bipedHead;
|
||||
case LEFT_ARM: return renderer.modelBipedMain.bipedLeftArm;
|
||||
case LEFT_LEG: return renderer.modelBipedMain.bipedLeftLeg;
|
||||
case RIGHT_ARM: return renderer.modelBipedMain.bipedRightArm;
|
||||
case RIGHT_LEG: return renderer.modelBipedMain.bipedRightLeg;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private ResourceLocation ashes = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_ash.png");
|
||||
public static int currentBrightness = 0;
|
||||
public static int lastBrightness = 0;
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
public void onOverlayRender(RenderGameOverlayEvent.Pre event) {
|
||||
|
||||
|
||||
if(event.type == ElementType.PORTAL) {
|
||||
|
||||
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
|
||||
|
||||
ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
@ -101,12 +258,12 @@ public class ModEventHandlerRenderer {
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
||||
GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.0F);
|
||||
|
||||
|
||||
int w = resolution.getScaledWidth();
|
||||
int h = resolution.getScaledHeight();
|
||||
double off = System.currentTimeMillis() / 10000D % 10000D;
|
||||
double aw = 1;
|
||||
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
|
||||
int cX = currentBrightness % 65536;
|
||||
@ -114,33 +271,33 @@ public class ModEventHandlerRenderer {
|
||||
int lX = lastBrightness % 65536;
|
||||
int lY = lastBrightness / 65536;
|
||||
float interp = (mc.theWorld.getTotalWorldTime() % 20) * 0.05F;
|
||||
|
||||
|
||||
if(mc.theWorld.getTotalWorldTime() == 1)
|
||||
lastBrightness = currentBrightness;
|
||||
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)(lX + (cX - lX) * interp) / 1.0F, (float)(lY + (cY - lY) * interp) / 1.0F);
|
||||
|
||||
//mc.entityRenderer.enableLightmap((double)event.partialTicks);
|
||||
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) (lX + (cX - lX) * interp) / 1.0F, (float) (lY + (cY - lY) * interp) / 1.0F);
|
||||
|
||||
// mc.entityRenderer.enableLightmap((double)event.partialTicks);
|
||||
|
||||
mc.getTextureManager().bindTexture(ashes);
|
||||
|
||||
|
||||
for(int i = 1; i < 3; i++) {
|
||||
|
||||
|
||||
GL11.glTranslated(w, h, 0);
|
||||
GL11.glRotatef(-15, 0, 0, 1);
|
||||
GL11.glTranslated(-w, -h, 0);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, BlockAshes.ashes / 256F * 0.98F / i);
|
||||
|
||||
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.addVertexWithUV(-w * 1.25, h * 1.25, aw, 0.0D + off * i, 1.0D);
|
||||
tessellator.addVertexWithUV(w * 1.25, h * 1.25, aw, 1.0D + off * i, 1.0D);
|
||||
tessellator.addVertexWithUV(w * 1.25, -h * 1.25, aw, 1.0D + off * i, 0.0D);
|
||||
tessellator.addVertexWithUV(-w * 1.25, -h * 1.25, aw, 0.0D + off * i, 0.0D);
|
||||
tessellator.addVertexWithUV(-w * 1.25, h * 1.25, aw, 0.0D + off * i, 1.0D);
|
||||
tessellator.addVertexWithUV(w * 1.25, h * 1.25, aw, 1.0D + off * i, 1.0D);
|
||||
tessellator.addVertexWithUV(w * 1.25, -h * 1.25, aw, 1.0D + off * i, 0.0D);
|
||||
tessellator.addVertexWithUV(-w * 1.25, -h * 1.25, aw, 0.0D + off * i, 0.0D);
|
||||
tessellator.draw();
|
||||
}
|
||||
|
||||
mc.entityRenderer.disableLightmap((double)event.partialTicks);
|
||||
|
||||
mc.entityRenderer.disableLightmap((double) event.partialTicks);
|
||||
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
|
||||
@ -664,6 +664,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom armor_mod_tesla = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/mod_tesla.obj"));
|
||||
public static final IModelCustom armor_wings = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/murk.obj"));
|
||||
public static final IModelCustom armor_solstice = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/solstice.obj"));
|
||||
public static final IModelCustom player_manly_af = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/armor/player_fem.obj"));
|
||||
|
||||
////Texture Items
|
||||
|
||||
@ -733,6 +734,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation ff_wood_red = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/wood_red.png");
|
||||
public static final ResourceLocation ff_cursed = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/cursed.png");
|
||||
public static final ResourceLocation ff_nightmare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/nightmare.png");
|
||||
public static final ResourceLocation ff_nightmare_orig_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/nightmare_orig.png");
|
||||
|
||||
public static final ResourceLocation grenade_mk2 = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_mk2.png");
|
||||
public static final ResourceLocation grenade_aschrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_aschrab.png");
|
||||
@ -791,6 +793,8 @@ public class ResourceManager {
|
||||
public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png");
|
||||
public static final ResourceLocation goggles = new ResourceLocation(RefStrings.MODID, "textures/armor/goggles.png");
|
||||
|
||||
public static final ResourceLocation player_manly_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/player_fem.png");
|
||||
|
||||
|
||||
|
||||
////Obj Entities
|
||||
|
||||
@ -8,6 +8,7 @@ import com.hbm.sound.nt.SoundWrapper;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ServerProxy {
|
||||
|
||||
@ -35,6 +36,7 @@ public class ServerProxy {
|
||||
public void registerMissileItems() { }
|
||||
|
||||
public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) { return null; }
|
||||
public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { return null; }
|
||||
|
||||
public void playSound(String sound, Object data) { }
|
||||
|
||||
|
||||
@ -71,6 +71,8 @@ public class AnvilCraftPacket implements IMessage {
|
||||
p.triggerAchievement(MainRegistry.achAssembly);
|
||||
if(recipe.output.get(0).stack.getItem() == ModItems.billet_pu_mix)
|
||||
p.triggerAchievement(MainRegistry.achChicagoPile);
|
||||
if(recipe.output.get(0).stack.getItem() == ModItems.ammo_4gauge_vampire)
|
||||
p.triggerAchievement(MainRegistry.achWitchtaunter);
|
||||
|
||||
} else {
|
||||
break;
|
||||
|
||||
@ -17,6 +17,7 @@ public class PlayerInformPacket implements IMessage {
|
||||
private String dmesg = "";
|
||||
private int id;
|
||||
private IChatComponent component;
|
||||
private int millis = 0;
|
||||
|
||||
public PlayerInformPacket() { }
|
||||
|
||||
@ -30,9 +31,22 @@ public class PlayerInformPacket implements IMessage {
|
||||
this.component = component;
|
||||
}
|
||||
|
||||
public PlayerInformPacket(String dmesg, int id, int millis) {
|
||||
this.fancy = false;
|
||||
this.dmesg = dmesg;
|
||||
this.millis = millis;
|
||||
}
|
||||
|
||||
public PlayerInformPacket(IChatComponent component, int id, int millis) {
|
||||
this.fancy = true;
|
||||
this.component = component;
|
||||
this.millis = millis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
id = buf.readInt();
|
||||
millis = buf.readInt();
|
||||
fancy = buf.readBoolean();
|
||||
|
||||
if(!fancy) {
|
||||
@ -45,6 +59,7 @@ public class PlayerInformPacket implements IMessage {
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeInt(id);
|
||||
buf.writeInt(millis);
|
||||
buf.writeBoolean(fancy);
|
||||
if(!fancy) {
|
||||
ByteBufUtils.writeUTF8String(buf, dmesg);
|
||||
@ -60,7 +75,10 @@ public class PlayerInformPacket implements IMessage {
|
||||
public IMessage onMessage(PlayerInformPacket m, MessageContext ctx) {
|
||||
try {
|
||||
|
||||
MainRegistry.proxy.displayTooltip(m.fancy ? m.component.getFormattedText() : m.dmesg, m.id);
|
||||
if(m.millis == 0)
|
||||
MainRegistry.proxy.displayTooltip(m.fancy ? m.component.getFormattedText() : m.dmesg, m.id);
|
||||
else
|
||||
MainRegistry.proxy.displayTooltip(m.fancy ? m.component.getFormattedText() : m.dmesg, m.millis, m.id);
|
||||
|
||||
} catch (Exception x) { }
|
||||
return null;
|
||||
|
||||
@ -40,6 +40,7 @@ public class HbmPotion extends Potion {
|
||||
public static HbmPotion phosphorus;
|
||||
public static HbmPotion stability;
|
||||
public static HbmPotion potionsickness;
|
||||
public static HbmPotion death;
|
||||
|
||||
public HbmPotion(int id, boolean isBad, int color) {
|
||||
super(id, isBad, color);
|
||||
@ -57,6 +58,7 @@ public class HbmPotion extends Potion {
|
||||
phosphorus = registerPotion(PotionConfig.phosphorusID, true, 0xFFFF00, "potion.hbm_phosphorus", 1, 1);
|
||||
stability = registerPotion(PotionConfig.stabilityID, false, 0xD0D0D0, "potion.hbm_stability", 2, 1);
|
||||
potionsickness = registerPotion(PotionConfig.potionsicknessID, false, 0xff8080, "potion.hbm_potionsickness", 3, 1);
|
||||
death = registerPotion(PotionConfig.deathID, false, 1118481, "potion.hbm_death", 4, 1);
|
||||
}
|
||||
|
||||
public static HbmPotion registerPotion(int id, boolean isBad, int color, String name, int x, int y) {
|
||||
|
||||
@ -40,7 +40,7 @@ public class ItemRenderWeaponFFNightmare implements IItemRenderer {
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
|
||||
double s0 = 1.0D;
|
||||
double s0 = 0.2D;
|
||||
GL11.glTranslated(0.75, 0.55, 0);
|
||||
GL11.glScaled(s0, s0, s0);
|
||||
GL11.glRotated(100, 0, -1, 0);
|
||||
@ -50,18 +50,18 @@ public class ItemRenderWeaponFFNightmare implements IItemRenderer {
|
||||
|
||||
case EQUIPPED:
|
||||
|
||||
double scale = 1.0D;
|
||||
double scale = 0.2D;
|
||||
GL11.glRotated(195, 0, 1, 0);
|
||||
GL11.glRotated(-10, 0, 0, 1);
|
||||
GL11.glRotated(-10, 1, 0, 0);
|
||||
GL11.glTranslated(-0.5, 0.1, -0.25);
|
||||
GL11.glTranslated(-0.5, 0.3, -0.25);
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
break;
|
||||
|
||||
case ENTITY:
|
||||
|
||||
double s1 = 0.75D;
|
||||
double s1 = 0.15D;
|
||||
GL11.glScaled(s1, s1, s1);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
|
||||
@ -71,7 +71,7 @@ public class ItemRenderWeaponFFNightmare implements IItemRenderer {
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
double s = 9D;
|
||||
double s = 1.75D;
|
||||
GL11.glTranslated(10, 9, 0);
|
||||
GL11.glRotated(-135, 0, 0, 1);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
@ -82,18 +82,15 @@ public class ItemRenderWeaponFFNightmare implements IItemRenderer {
|
||||
default: break;
|
||||
}
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_gun_dark);
|
||||
ResourceManager.ff_nightmare.renderPart("Grip");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_gun_normal);
|
||||
ResourceManager.ff_nightmare.renderPart("Dark");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_gun_bright);
|
||||
ResourceManager.ff_nightmare.renderPart("Light");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_gun_dark);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_nightmare_orig_tex);
|
||||
ResourceManager.ff_nightmare.renderPart("Gun");
|
||||
|
||||
int ammo = ItemGunBase.getMag(item);
|
||||
for(int i = 0; i < ammo; i++) {
|
||||
ResourceManager.ff_nightmare.renderPart("Bullet" + (i + 1));
|
||||
}
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -91,15 +91,15 @@ public class ItemRenderWeaponObj implements IItemRenderer {
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_ks23) {
|
||||
GL11.glTranslatef(1.0F, 0.85F, -0.25F);
|
||||
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glTranslatef(1.0F, 0.5F, -0.25F);
|
||||
GL11.glRotatef(25F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glScaled(1.25, 1.25, 1.25);
|
||||
GL11.glScaled(0.75, 0.75, 0.75);
|
||||
|
||||
if(player.isSneaking()) {
|
||||
GL11.glRotatef(4.5F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glTranslatef(0.51F, 0.2F, 0.3F);
|
||||
GL11.glRotatef(-2.5F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.3F, 0.2F, -0.875F);
|
||||
}
|
||||
}
|
||||
|
||||
@ -171,9 +171,9 @@ public class ItemRenderWeaponObj implements IItemRenderer {
|
||||
|
||||
if(item.getItem() == ModItems.gun_ks23) {
|
||||
GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glTranslatef(0.4F, 0.2F, 1.2F);
|
||||
GL11.glScaled(1.25, 1.25, 1.25);
|
||||
GL11.glRotatef(-80F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glTranslatef(0.9F, 0.0F, -0.5F);
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_flamer) {
|
||||
@ -214,9 +214,8 @@ public class ItemRenderWeaponObj implements IItemRenderer {
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_ks23) {
|
||||
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glTranslatef(0.0F, 0.2F, 0.5F);
|
||||
GL11.glScaled(0.75, 0.75, 0.75);
|
||||
GL11.glTranslatef(0.3F, 0.2F, 0.0F);
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_flamer) {
|
||||
@ -259,11 +258,9 @@ public class ItemRenderWeaponObj implements IItemRenderer {
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_ks23) {
|
||||
GL11.glScaled(7.5, 7.5, -7.5);
|
||||
GL11.glTranslatef(0.65F, 0.4F, 0.0F);
|
||||
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glTranslatef(7F, 8F, 0.0F);
|
||||
GL11.glScaled(4, 4, -4);
|
||||
GL11.glRotatef(-135F, 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_flamer) {
|
||||
|
||||
@ -4,93 +4,126 @@ import org.lwjgl.opengl.GL11;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class ModelRendererObj {
|
||||
|
||||
public float rotationPointX;
|
||||
public float rotationPointY;
|
||||
public float rotationPointZ;
|
||||
public float rotateAngleX;
|
||||
public float rotateAngleY;
|
||||
public float rotateAngleZ;
|
||||
public float offsetX;
|
||||
public float offsetY;
|
||||
public float offsetZ;
|
||||
|
||||
String[] parts;
|
||||
IModelCustom model;
|
||||
|
||||
public ModelRendererObj(IModelCustom model, String... parts) {
|
||||
this.model = model;
|
||||
this.parts = parts;
|
||||
}
|
||||
|
||||
public ModelRendererObj setPosition(float x, float y, float z) {
|
||||
this.offsetX = x;
|
||||
this.offsetY = y;
|
||||
this.offsetZ = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ModelRendererObj setRotationPoint(float x, float y, float z) {
|
||||
this.rotationPointX = x;
|
||||
this.rotationPointY = y;
|
||||
this.rotationPointZ = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void copyTo(ModelRendererObj obj) {
|
||||
public float rotationPointX;
|
||||
public float rotationPointY;
|
||||
public float rotationPointZ;
|
||||
public float rotateAngleX;
|
||||
public float rotateAngleY;
|
||||
public float rotateAngleZ;
|
||||
public float offsetX;
|
||||
public float offsetY;
|
||||
public float offsetZ;
|
||||
|
||||
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;
|
||||
}
|
||||
String[] parts;
|
||||
IModelCustom model;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void render(float scale) {
|
||||
|
||||
if(parts == null)
|
||||
return;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
public ModelRendererObj(IModelCustom model, String... parts) {
|
||||
this.model = model;
|
||||
this.parts = parts;
|
||||
}
|
||||
|
||||
GL11.glTranslatef(this.offsetX * scale, this.offsetY * scale, this.offsetZ * scale);
|
||||
public ModelRendererObj setPosition(float x, float y, float z) {
|
||||
this.offsetX = x;
|
||||
this.offsetY = y;
|
||||
this.offsetZ = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
|
||||
public ModelRendererObj setRotationPoint(float x, float y, float z) {
|
||||
this.rotationPointX = x;
|
||||
this.rotationPointY = y;
|
||||
this.rotationPointZ = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
if (this.rotateAngleZ != 0.0F)
|
||||
{
|
||||
GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
public void copyTo(ModelRendererObj obj) {
|
||||
|
||||
if (this.rotateAngleY != 0.0F)
|
||||
{
|
||||
GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
if (this.rotateAngleX != 0.0F)
|
||||
{
|
||||
GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);
|
||||
}
|
||||
public void copyRotationFrom(ModelRenderer model) {
|
||||
/*offsetX = model.offsetX;
|
||||
offsetY = model.offsetY;
|
||||
offsetZ = model.offsetZ;*/
|
||||
rotateAngleX = model.rotateAngleX;
|
||||
rotateAngleY = model.rotateAngleY;
|
||||
rotateAngleZ = model.rotateAngleZ;
|
||||
/*rotationPointX = model.rotationPointX;
|
||||
rotationPointY = model.rotationPointY;
|
||||
rotationPointZ = model.rotationPointZ;*/
|
||||
}
|
||||
|
||||
GL11.glTranslatef(-this.rotationPointX * scale, -this.rotationPointY * scale, -this.rotationPointZ * scale);
|
||||
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
|
||||
if(parts.length > 0)
|
||||
for(String part : parts)
|
||||
model.renderPart(part);
|
||||
else
|
||||
model.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void render(float scale) {
|
||||
|
||||
if(parts == null)
|
||||
return;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslatef(this.offsetX * scale, this.offsetY * scale, this.offsetZ * scale);
|
||||
|
||||
GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
|
||||
|
||||
if(this.rotateAngleZ != 0.0F) {
|
||||
GL11.glRotatef(this.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(this.rotateAngleY != 0.0F) {
|
||||
GL11.glRotatef(this.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
|
||||
if(this.rotateAngleX != 0.0F) {
|
||||
GL11.glRotatef(this.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F);
|
||||
}
|
||||
|
||||
GL11.glTranslatef(-this.rotationPointX * scale, -this.rotationPointY * scale, -this.rotationPointZ * scale);
|
||||
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
|
||||
if(parts.length > 0)
|
||||
for(String part : parts)
|
||||
model.renderPart(part);
|
||||
else
|
||||
model.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void postRender(float p_78794_1_) {
|
||||
|
||||
if(this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F) {
|
||||
if(this.rotationPointX != 0.0F || this.rotationPointY != 0.0F || this.rotationPointZ != 0.0F) {
|
||||
GL11.glTranslatef(this.rotationPointX * p_78794_1_, this.rotationPointY * p_78794_1_, this.rotationPointZ * p_78794_1_);
|
||||
}
|
||||
} else {
|
||||
GL11.glTranslatef(this.rotationPointX * p_78794_1_, this.rotationPointY * p_78794_1_, this.rotationPointZ * p_78794_1_);
|
||||
|
||||
if(this.rotateAngleZ != 0.0F) {
|
||||
GL11.glRotatef(this.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(this.rotateAngleY != 0.0F) {
|
||||
GL11.glRotatef(this.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
|
||||
if(this.rotateAngleX != 0.0F) {
|
||||
GL11.glRotatef(this.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,29 +3,32 @@ package com.hbm.render.model;
|
||||
import com.hbm.interfaces.IHoldableWeapon;
|
||||
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;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class ModelArmorBase extends ModelBiped {
|
||||
|
||||
|
||||
int type;
|
||||
|
||||
ModelRendererObj head;
|
||||
ModelRendererObj body;
|
||||
ModelRendererObj leftArm;
|
||||
ModelRendererObj rightArm;
|
||||
ModelRendererObj leftLeg;
|
||||
ModelRendererObj rightLeg;
|
||||
ModelRendererObj leftFoot;
|
||||
ModelRendererObj rightFoot;
|
||||
|
||||
public ModelRendererObj head;
|
||||
public ModelRendererObj body;
|
||||
public ModelRendererObj leftArm;
|
||||
public ModelRendererObj rightArm;
|
||||
public ModelRendererObj leftLeg;
|
||||
public ModelRendererObj rightLeg;
|
||||
public ModelRendererObj leftFoot;
|
||||
public ModelRendererObj rightFoot;
|
||||
|
||||
public ModelArmorBase(int type) {
|
||||
this.type = type;
|
||||
|
||||
//generate null defaults to prevent major breakage from using incomplete models
|
||||
|
||||
// generate null defaults to prevent major breakage from using
|
||||
// incomplete models
|
||||
head = new ModelRendererObj(null);
|
||||
body = new ModelRendererObj(null);
|
||||
leftArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F);
|
||||
@ -35,139 +38,135 @@ public class ModelArmorBase extends ModelBiped {
|
||||
leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F);
|
||||
rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
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) {
|
||||
|
||||
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);
|
||||
}
|
||||
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 (this.heldItemLeft != 0)
|
||||
{
|
||||
leftArm.rotateAngleX = leftArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemLeft;
|
||||
}
|
||||
if(entity instanceof EntityPlayer) {
|
||||
EntityPlayer player = (EntityPlayer) entity;
|
||||
|
||||
if (this.heldItemRight != 0)
|
||||
{
|
||||
rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemRight;
|
||||
}
|
||||
this.aimedBow = false;
|
||||
|
||||
rightArm.rotateAngleY = 0.0F;
|
||||
leftArm.rotateAngleY = 0.0F;
|
||||
float f6;
|
||||
float f7;
|
||||
if(player.getHeldItem() != null) {
|
||||
|
||||
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;
|
||||
}
|
||||
int hold = 1;
|
||||
|
||||
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.offsetZ = rightLeg.offsetZ = 0.1F;
|
||||
leftFoot.offsetZ = leftLeg.offsetZ = 0.1F;
|
||||
rightFoot.offsetY = rightLeg.offsetY = 0.0F;
|
||||
leftFoot.offsetY = leftLeg.offsetY = 0.0F;
|
||||
head.offsetY = 0.0F;
|
||||
}
|
||||
if(player.getItemInUseCount() > 0) {
|
||||
|
||||
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;
|
||||
EnumAction action = player.getHeldItem().getItemUseAction();
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
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.offsetZ = rightLeg.offsetZ = 0.1F;
|
||||
leftFoot.offsetZ = leftLeg.offsetZ = 0.1F;
|
||||
rightFoot.offsetY = rightLeg.offsetY = 0.0F;
|
||||
leftFoot.offsetY = leftLeg.offsetY = 0.0F;
|
||||
head.offsetY = 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;
|
||||
}
|
||||
}
|
||||
|
||||
protected void bindTexture(ResourceLocation loc) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,6 @@ import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.loader.ModelRendererObj;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class ModelArmorBismuth extends ModelArmorBase {
|
||||
|
||||
@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.loader.ModelRendererObj;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class ModelArmorDesh extends ModelArmorBase {
|
||||
@ -32,23 +31,23 @@ public class ModelArmorDesh extends ModelArmorBase {
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
if(type == 0) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.steamsuit_helmet);
|
||||
bindTexture(ResourceManager.steamsuit_helmet);
|
||||
head.render(par7);
|
||||
}
|
||||
if(type == 1) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.steamsuit_chest);
|
||||
bindTexture(ResourceManager.steamsuit_chest);
|
||||
body.render(par7);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.steamsuit_arm);
|
||||
bindTexture(ResourceManager.steamsuit_arm);
|
||||
leftArm.render(par7);
|
||||
rightArm.render(par7);
|
||||
}
|
||||
if(type == 2) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.steamsuit_leg);
|
||||
bindTexture(ResourceManager.steamsuit_leg);
|
||||
leftLeg.render(par7);
|
||||
rightLeg.render(par7);
|
||||
}
|
||||
if(type == 3) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.steamsuit_leg);
|
||||
bindTexture(ResourceManager.steamsuit_leg);
|
||||
leftFoot.render(par7);
|
||||
rightFoot.render(par7);
|
||||
}
|
||||
|
||||
62
src/main/java/com/hbm/render/model/ModelMan.java
Normal file
@ -0,0 +1,62 @@
|
||||
package com.hbm.render.model;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.loader.ModelRendererObj;
|
||||
|
||||
import net.minecraft.client.renderer.entity.RenderPlayer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class ModelMan extends ModelArmorBase {
|
||||
|
||||
public ModelMan() {
|
||||
super(0);
|
||||
|
||||
head = new ModelRendererObj(ResourceManager.player_manly_af, "Head");
|
||||
body = new ModelRendererObj(ResourceManager.player_manly_af, "Body");
|
||||
leftArm = new ModelRendererObj(ResourceManager.player_manly_af, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F);
|
||||
rightArm = new ModelRendererObj(ResourceManager.player_manly_af, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F);
|
||||
leftLeg = new ModelRendererObj(ResourceManager.player_manly_af, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F);
|
||||
rightLeg = new ModelRendererObj(ResourceManager.player_manly_af, "RightLeg").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);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
bindTexture(ResourceManager.player_manly_tex);
|
||||
head.render(0.0625F);
|
||||
body.render(0.0625F);
|
||||
leftArm.render(0.0625F);
|
||||
rightArm.render(0.0625F);
|
||||
leftLeg.render(0.0625F);
|
||||
rightLeg.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7, RenderPlayer render) {
|
||||
this.isSneak = par1Entity.isSneaking();
|
||||
setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
|
||||
|
||||
head.copyRotationFrom(render.modelBipedMain.bipedHead);
|
||||
body.copyRotationFrom(render.modelBipedMain.bipedBody);
|
||||
leftArm.copyRotationFrom(render.modelBipedMain.bipedLeftArm);
|
||||
rightArm.copyRotationFrom(render.modelBipedMain.bipedRightArm);
|
||||
leftLeg.copyRotationFrom(render.modelBipedMain.bipedLeftLeg);
|
||||
rightLeg.copyRotationFrom(render.modelBipedMain.bipedRightLeg);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
bindTexture(ResourceManager.player_manly_tex);
|
||||
head.render(0.0625F);
|
||||
body.render(0.0625F);
|
||||
leftArm.render(0.0625F);
|
||||
rightArm.render(0.0625F);
|
||||
leftLeg.render(0.0625F);
|
||||
rightLeg.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -4,11 +4,11 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.config.GeneralConfig;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@ -72,7 +72,7 @@ public class RenderInfoSystem {
|
||||
longest = length;
|
||||
}
|
||||
|
||||
int mode = 0;
|
||||
int mode = GeneralConfig.hintPos;
|
||||
|
||||
int pX = mode == 0 ? 15 : mode == 1 ? (resolution.getScaledWidth() - longest - 15) : mode == 2 ? (resolution.getScaledWidth() / 2 + 7) : (resolution.getScaledWidth() / 2 - longest - 6);
|
||||
int pZ = mode == 0 ? 15 : mode == 1 ? 15 : resolution.getScaledHeight() / 2 + 7;
|
||||
|
||||
@ -10,35 +10,45 @@ public class AudioWrapperClient extends AudioWrapper {
|
||||
AudioDynamic sound;
|
||||
|
||||
public AudioWrapperClient(ResourceLocation source) {
|
||||
sound = new AudioDynamic(source);
|
||||
if(source != null)
|
||||
sound = new AudioDynamic(source);
|
||||
}
|
||||
|
||||
public void updatePosition(float x, float y, float z) {
|
||||
sound.setPosition(x, y, z);
|
||||
if(sound != null)
|
||||
sound.setPosition(x, y, z);
|
||||
}
|
||||
|
||||
public void updateVolume(float volume) {
|
||||
sound.setVolume(volume);
|
||||
if(sound != null)
|
||||
sound.setVolume(volume);
|
||||
}
|
||||
|
||||
public void updatePitch(float pitch) {
|
||||
sound.setPitch(pitch);
|
||||
if(sound != null)
|
||||
sound.setPitch(pitch);
|
||||
}
|
||||
|
||||
public float getVolume() {
|
||||
return sound.getVolume();
|
||||
if(sound != null)
|
||||
return sound.getVolume();
|
||||
return 1;
|
||||
}
|
||||
|
||||
public float getPitch() {
|
||||
return sound.getPitch();
|
||||
if(sound != null)
|
||||
return sound.getPitch();
|
||||
return 1;
|
||||
}
|
||||
|
||||
public void startSound() {
|
||||
sound.start();
|
||||
if(sound != null)
|
||||
sound.start();
|
||||
}
|
||||
|
||||
public void stopSound() {
|
||||
sound.stop();
|
||||
if(sound != null)
|
||||
sound.stop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
53
src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java
Normal file
@ -0,0 +1,53 @@
|
||||
package com.hbm.sound;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class AudioWrapperClientStartStop extends AudioWrapperClient {
|
||||
|
||||
public String start;
|
||||
public String stop;
|
||||
public World world;
|
||||
public float ssVol;
|
||||
public float x, y, z;
|
||||
|
||||
public AudioWrapperClientStartStop(World world, ResourceLocation source, String start, String stop, float vol){
|
||||
super(source);
|
||||
if(sound != null){
|
||||
sound.setVolume(vol);
|
||||
}
|
||||
this.ssVol = vol;
|
||||
this.world = world;
|
||||
this.start = start;
|
||||
this.stop = stop;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePosition(float x, float y, float z){
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
super.updatePosition(x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startSound(){
|
||||
if(start != null){
|
||||
world.playSound(x, y, z, start, ssVol, 1, false);
|
||||
}
|
||||
super.startSound();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSound(){
|
||||
if(stop != null){
|
||||
world.playSound(x, y, z, stop, ssVol, 1, false);
|
||||
}
|
||||
super.stopSound();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getVolume(){
|
||||
return ssVol;
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,7 @@ import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.generic.BlockDoorGeneric;
|
||||
import com.hbm.interfaces.IAnimatedDoor;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEDoorAnimationPacket;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
@ -249,22 +250,22 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn
|
||||
if(this.state != state) {
|
||||
if(this.state == 0 && state == 3){
|
||||
if(audio == null){
|
||||
//audio = MainRegistry.proxy.getLoopedSoundStartStop(world, doorType.getOpenSoundLoop(), doorType.getOpenSoundStart(), doorType.getOpenSoundEnd(), SoundCategory.BLOCKS, pos.getX(), pos.getY(), pos.getZ(), doorType.getSoundVolume(), 1);
|
||||
//audio.startSound();
|
||||
audio = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getOpenSoundLoop(), getDoorType().getOpenSoundStart(), getDoorType().getOpenSoundEnd(), xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
audio.startSound();
|
||||
}
|
||||
if(audio2 == null && getDoorType().getSoundLoop2() != null){
|
||||
//audio2 = MainRegistry.proxy.getLoopedSoundStartStop(world, doorType.getSoundLoop2(), null, null, SoundCategory.BLOCKS, pos.getX(), pos.getY(), pos.getZ(), doorType.getSoundVolume(), 1);
|
||||
//audio2.startSound();
|
||||
audio2 = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getSoundLoop2(), null, null, xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
audio2.startSound();
|
||||
}
|
||||
}
|
||||
if(this.state == 1 && state == 2){
|
||||
if(audio == null){
|
||||
//audio = MainRegistry.proxy.getLoopedSoundStartStop(world, doorType.getCloseSoundLoop(), doorType.getCloseSoundStart(), doorType.getCloseSoundEnd(), SoundCategory.BLOCKS, pos.getX(), pos.getY(), pos.getZ(), doorType.getSoundVolume(), 1);
|
||||
//audio.startSound();
|
||||
audio = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getCloseSoundLoop(), getDoorType().getCloseSoundStart(), getDoorType().getCloseSoundEnd(), xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
audio.startSound();
|
||||
}
|
||||
if(audio2 == null && getDoorType().getSoundLoop2() != null){
|
||||
//audio2 = MainRegistry.proxy.getLoopedSoundStartStop(world, doorType.getSoundLoop2(), null, null, SoundCategory.BLOCKS, pos.getX(), pos.getY(), pos.getZ(), doorType.getSoundVolume(), 1);
|
||||
//audio2.startSound();
|
||||
audio2 = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getSoundLoop2(), null, null, xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
audio2.startSound();
|
||||
}
|
||||
}
|
||||
if((this.state == 3 && state == 1) || (this.state == 2 && state == 0)){
|
||||
|
||||
@ -6,12 +6,15 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
@ -68,7 +71,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
|
||||
@Override
|
||||
public long getConsumption() {
|
||||
return 10000 - this.blueLevel * 300;
|
||||
return _5g ? 10 : 10000 - this.blueLevel * 300;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -107,6 +110,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
this.blueLevel = 0;
|
||||
this.blackLevel = 0;
|
||||
this.pinkLevel = 0;
|
||||
this._5g = false;
|
||||
|
||||
for(int i = 1; i < 10; i++) {
|
||||
if(slots[i] != null) {
|
||||
@ -127,6 +131,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
if(item == ModItems.upgrade_overdrive_1) blackLevel += 1;
|
||||
if(item == ModItems.upgrade_overdrive_2) blackLevel += 2;
|
||||
if(item == ModItems.upgrade_overdrive_3) blackLevel += 3;
|
||||
if(item == ModItems.upgrade_5g) _5g = true;;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -142,6 +147,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
int blueLevel;
|
||||
int blackLevel;
|
||||
int pinkLevel;
|
||||
boolean _5g;
|
||||
|
||||
int checkDelay;
|
||||
|
||||
@ -152,7 +158,12 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
|
||||
if(this.target != null && this.getPower() >= demand) {
|
||||
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.microwave, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F);
|
||||
if(_5g && target instanceof EntityPlayer) {
|
||||
EntityPlayer living = (EntityPlayer) target;
|
||||
living.addPotionEffect(new PotionEffect(HbmPotion.death.id, 30 * 60 * 20, 0, true));
|
||||
} else {
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.microwave, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F);
|
||||
}
|
||||
|
||||
if(pinkLevel > 0)
|
||||
this.target.setFire(this.pinkLevel * 3);
|
||||
|
||||
@ -224,6 +224,7 @@ public class ArmorUtil {
|
||||
"rubber",
|
||||
"hev",
|
||||
"ajr",
|
||||
"rpa",
|
||||
"spacesuit"
|
||||
};
|
||||
|
||||
|
||||
@ -6,13 +6,9 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockBobble.BobbleType;
|
||||
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
|
||||
import com.hbm.lib.HbmChestContents;
|
||||
import com.hbm.tileentity.machine.TileEntityLockableBase;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityCrateIron;
|
||||
import com.hbm.util.LootGenerator;
|
||||
import com.hbm.world.worldgen.ComponentNTMFeatures.LabTiles;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockSandStone;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemDoor;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
@ -10,7 +10,6 @@ import com.hbm.config.GeneralConfig;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.biome.BiomeGenMesa;
|
||||
import net.minecraft.world.gen.structure.ComponentScatteredFeaturePieces;
|
||||
import net.minecraft.world.gen.structure.MapGenStructure;
|
||||
import net.minecraft.world.gen.structure.StructureStart;
|
||||
|
||||
|
||||
@ -5,13 +5,10 @@ import java.util.Random;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
|
||||
import cpw.mods.fml.common.IWorldGenerator;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraftforge.event.terraingen.ChunkProviderEvent.ReplaceBiomeBlocks;
|
||||
import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
import net.minecraftforge.event.terraingen.TerrainGen;
|
||||
|
||||
public class NTMWorldGenerator implements IWorldGenerator {
|
||||
@ -35,10 +32,7 @@ public class NTMWorldGenerator implements IWorldGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private void generateNether(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
private void generateNether(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) { }
|
||||
|
||||
private void generateSurface(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) {
|
||||
Block[] ablock = new Block[65536];
|
||||
@ -55,12 +49,5 @@ public class NTMWorldGenerator implements IWorldGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private void generateEnd(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void generateEnd(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) { }
|
||||
}
|
||||
|
||||
@ -76,6 +76,8 @@ achievement.space.desc=Scheitere in jeder möglichen Weise und verschwende 90 Mi
|
||||
achievement.space=Die finale Grenz-ach vergiss es
|
||||
achievement.tasteofblood.desc=ist nicht Teil des Testprotokolls.
|
||||
achievement.tasteofblood=Der Geschmack von Blut
|
||||
achievement.witchtaunter.desc=Diese komischen Kraturen können dir garnichts!
|
||||
achievement.witchtaunter=Hexen verstpotten
|
||||
|
||||
armor.blastProtection=Explosionsmodifikator: %s
|
||||
armor.cap=Schadensobergrenze: %s
|
||||
@ -188,6 +190,7 @@ chem.SF_RECLAIMED=Verfestigung von wiederaufbereitetem Industrieöl
|
||||
chem.SF_SMEAR=Industrieölverfestigung
|
||||
chem.SOLID_FUEL=Festbrennstoffherstellung
|
||||
chem.STEAM=Wasser kochen
|
||||
chem.SULFURIC_ACID=Schwefelsäureherstellung
|
||||
chem.TEL=TEL mischen
|
||||
chem.TEST=Test
|
||||
chem.TNT=TNT-Synthese
|
||||
@ -2154,6 +2157,8 @@ item.pirfenidone.name=Pirfenidon
|
||||
item.pipes_steel.desc=Auf Recycling-Rezepte wurden wegen$Steuerhinterziehung verzichtet.
|
||||
item.piston_selenium.name=Motorkolben
|
||||
item.plan_c.name=Plan C
|
||||
item.plant_item.rope.name=Seil
|
||||
item.plant_item.tobacco.name=Tabak
|
||||
item.plate_advanced_alloy.name=Fortgeschrittene Legierungsplatte
|
||||
item.plate_aluminium.name=Aluminiumplatte
|
||||
item.plate_armor_ajr.name=Eisenbeschlagene Panzerplatte
|
||||
@ -2735,6 +2740,7 @@ item.turret_tau_ammo.name=Tauonengeschütz-Uranmunition
|
||||
item.twinkie.name=Twinkie
|
||||
item.ullapool_caber.name=Ullapool'sche Stiel
|
||||
item.undefined.name=Undefined
|
||||
item.upgrade_5g.name=5G-Strahlenemitter-Upgrade
|
||||
item.upgrade_afterburn_1.name=Nachbrennerupgrade Mk.I
|
||||
item.upgrade_afterburn_2.name=Nachbrennerupgrade Mk.II
|
||||
item.upgrade_afterburn_3.name=Nachbrennerupgrade Mk.III
|
||||
@ -2832,6 +2838,7 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab
|
||||
itemGroup.tabWeapon=NTM Waffen und Geschütze
|
||||
|
||||
potion.hbm_bang=! ! !
|
||||
potion.hbm_death=Schwere Mutation
|
||||
potion.hbm_lead=Bleivergiftung
|
||||
potion.hbm_mutation=Verdorbenes Herz
|
||||
potion.hbm_potionsickness=Trankkrankheit
|
||||
@ -3626,6 +3633,7 @@ tile.tile_lab_broken.name=Gebrochene Labotfliesen
|
||||
tile.tile_lab_cracked.name=Gesprungene Laborfliesen
|
||||
tile.tnt_ntm.name=Echtes TNT
|
||||
tile.toxic_block.name=Stereotypischer grüner Schleim
|
||||
tile.transition_seal.name=Übergangssiegel
|
||||
tile.turret_cheapo.name=Billigsdorfer Gatling-Geschütz
|
||||
tile.turret_chekhov.name=Schweres MG-Geschütz "Tschechows Gewehr"
|
||||
tile.turret_cwis.name=Phalanx Mk-15 CIWS
|
||||
|
||||
@ -96,6 +96,8 @@ achievement.selenium.desc=Yeah.
|
||||
achievement.selenium=XVIII The Moon
|
||||
achievement.SILEX.desc=It's cooler then it sounds, I promise.
|
||||
achievement.SILEX=Separation of Isotopes by Laser Exitation
|
||||
achievement.slimeball.desc=
|
||||
achievement.slimeball=I should dip my balls in sulfuric acid.
|
||||
achievement.stratum.desc=Hit the brakes, Mitts.
|
||||
achievement.stratum=Stratum
|
||||
achievement.someWounds.desc=Get ready
|
||||
@ -104,6 +106,8 @@ achievement.soyuz.desc=Become crunchy.
|
||||
achievement.soyuz=Baked Potato
|
||||
achievement.space.desc=Fail in every way possible and waste funds worth 90 million dollars.
|
||||
achievement.space=The Final Front-ah forget it
|
||||
achievement.sulfuric.desc=
|
||||
achievement.sulfuric=I should not have dipped my balls in sulfuric acid.
|
||||
achievement.tantalum.desc=An elusive, yet ever-needed element.
|
||||
achievement.tantalum="Tantalium"
|
||||
achievement.tasteofblood.desc=is not part of any testing protocol.
|
||||
@ -114,6 +118,8 @@ achievement.watzBoom.desc=Drain your septic tank next time.
|
||||
achievement.watzBoom=Disgusting
|
||||
achievement.watz.desc=Fólkvangr fields possibly included.
|
||||
achievement.watz=The Power of Element-126
|
||||
achievement.witchtaunter.desc=Those wacky creatures got nothing on you!
|
||||
achievement.witchtaunter=Witch Taunter
|
||||
achievement.ZIRNOXBoom.desc=cope, seethe, mald
|
||||
achievement.ZIRNOXBoom=CIRNOX
|
||||
|
||||
@ -360,6 +366,7 @@ chem.SF_RECLAIMED=Reclaimed Oil Solidification
|
||||
chem.SF_SMEAR=Industrial Oil Solidification
|
||||
chem.SOLID_FUEL=Solid Rocket Fuel Production
|
||||
chem.STEAM=Water Boiling
|
||||
chem.SULFURIC_ACID=Sulfuric Acid Production
|
||||
chem.TEL=TEL Mixing
|
||||
chem.TEST=Test
|
||||
chem.TNT=TNT Synthesis
|
||||
@ -2445,6 +2452,8 @@ item.pipes_steel.desc=Uncrafting was omitted due to tax evasion.
|
||||
item.pirfenidone.name=Pirfenidone
|
||||
item.piston_selenium.name=Combustion Engine Piston
|
||||
item.plan_c.name=Plan C
|
||||
item.plant_item.rope.name=Rope
|
||||
item.plant_item.tobacco.name=Tobacco
|
||||
item.plate_advanced_alloy.name=Advanced Alloy Plate
|
||||
item.plate_aluminium.name=Aluminium Plate
|
||||
item.plate_armor_ajr.name=Iron-Shod Armor Plating
|
||||
@ -3098,6 +3107,7 @@ item.turret_tau_ammo.name=Tau Turret Uranium Ammo
|
||||
item.twinkie.name=Twinkie
|
||||
item.ullapool_caber.name=Ullapool Caber
|
||||
item.undefined.name=Undefined
|
||||
item.upgrade_5g.name=5G Radiation Emitter Upgrade
|
||||
item.upgrade_afterburn_1.name=Afterburner Upgrade Mk.I
|
||||
item.upgrade_afterburn_2.name=Afterburner Upgrade Mk.II
|
||||
item.upgrade_afterburn_3.name=Afterburner Upgrade Mk.III
|
||||
@ -3204,6 +3214,7 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab
|
||||
itemGroup.tabWeapon=NTM Weapons and Turrets
|
||||
|
||||
potion.hbm_bang=! ! !
|
||||
potion.hbm_death=Heavy Mutation
|
||||
potion.hbm_lead=Lead Poisoning
|
||||
potion.hbm_mutation=Tainted Heart
|
||||
potion.hbm_phosphorus=Phosphorus Burns
|
||||
@ -4000,6 +4011,7 @@ tile.tile_lab_broken.name=Broken Laboratory Tiles
|
||||
tile.tile_lab_cracked.name=Cracked Laboratory Tiles
|
||||
tile.tnt_ntm.name=Actual TNT
|
||||
tile.toxic_block.name=Stereotypical Green Ooze
|
||||
tile.transition_seal.name=Transition Seal
|
||||
tile.turret_cheapo.name=Cheapo Gatling Sentry
|
||||
tile.turret_chekhov.name=Heavy Machine Gun Turret "Chekhov's Gun"
|
||||
tile.turret_cwis.name=Phalanx Mk-15 CIWS
|
||||
|
||||
599
src/main/resources/assets/hbm/models/armor/player_fem.obj
Normal file
@ -0,0 +1,599 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'player_fem.blend'
|
||||
# www.blender.org
|
||||
o Body
|
||||
v -4.000007 0.000002 -2.000002
|
||||
v -4.000009 0.000002 1.999998
|
||||
v 3.999993 -0.000002 -1.999998
|
||||
v 3.999991 -0.000002 2.000002
|
||||
v -4.000003 12.000001 -2.000002
|
||||
v -4.000005 12.000001 1.999998
|
||||
v 3.999995 11.999999 2.000002
|
||||
v 3.999997 11.999999 -1.999998
|
||||
v -4.000003 11.000001 -2.000002
|
||||
v -4.000005 11.000001 1.999998
|
||||
v 3.999995 10.999999 2.000002
|
||||
v 3.999997 10.999999 -1.999998
|
||||
v -5.000002 15.000002 -3.000002
|
||||
v -5.000004 15.000002 2.999998
|
||||
v 4.999996 14.999998 3.000002
|
||||
v 4.999998 14.999998 -2.999998
|
||||
vt 0.312500 0.687500
|
||||
vt 0.437500 0.750000
|
||||
vt 0.312500 0.750000
|
||||
vt 0.562500 0.687500
|
||||
vt 0.437500 0.750000
|
||||
vt 0.437500 0.687500
|
||||
vt 0.250000 0.687500
|
||||
vt 0.312500 0.500000
|
||||
vt 0.500000 0.687500
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.687500
|
||||
vt 0.437500 0.687500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.437500 0.500000
|
||||
vt 0.250000 0.437500
|
||||
vt 0.328125 0.500000
|
||||
vt 0.265625 0.500000
|
||||
vt 0.109375 0.500000
|
||||
vt 0.234375 0.500000
|
||||
vt -0.000000 0.437500
|
||||
vt 0.078125 0.500000
|
||||
vt 0.015625 0.500000
|
||||
vt 0.343750 0.437500
|
||||
vt 0.484375 0.500000
|
||||
vt 0.359375 0.500000
|
||||
vt 0.562500 0.750000
|
||||
vt 0.250000 0.500000
|
||||
vt 0.093750 0.437500
|
||||
vt 0.500000 0.437500
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 0.9701 -0.2425 0.0000
|
||||
vn 0.0000 -0.2425 -0.9701
|
||||
vn -0.9701 -0.2425 -0.0000
|
||||
vn -0.0000 -0.2425 0.9701
|
||||
s off
|
||||
f 1/1/1 4/2/1 2/3/1
|
||||
f 7/4/2 5/5/2 6/6/2
|
||||
f 2/7/3 5/8/3 1/1/3
|
||||
f 4/9/4 6/10/4 2/11/4
|
||||
f 3/12/5 7/13/5 4/9/5
|
||||
f 1/1/6 8/14/6 3/12/6
|
||||
f 16/15/7 11/16/7 12/17/7
|
||||
f 9/18/8 16/15/8 12/19/8
|
||||
f 14/20/9 9/21/9 10/22/9
|
||||
f 15/23/10 10/24/10 11/25/10
|
||||
f 1/1/1 3/12/1 4/2/1
|
||||
f 7/4/2 8/26/2 5/5/2
|
||||
f 2/7/3 6/27/3 5/8/3
|
||||
f 4/9/4 7/13/4 6/10/4
|
||||
f 3/12/5 8/14/5 7/13/5
|
||||
f 1/1/6 5/8/6 8/14/6
|
||||
f 16/15/7 15/23/7 11/16/7
|
||||
f 9/18/8 13/28/8 16/15/8
|
||||
f 14/20/9 13/28/9 9/21/9
|
||||
f 15/23/10 14/29/10 10/24/10
|
||||
o LeftLeg
|
||||
v 4.000001 23.999998 -1.999998
|
||||
v 3.999997 11.999999 -1.999998
|
||||
v 0.000001 23.999998 -2.000000
|
||||
v -0.000003 12.000000 -2.000000
|
||||
v 3.999999 23.999998 2.000002
|
||||
v 3.999995 11.999999 2.000002
|
||||
v -0.000001 24.000000 2.000000
|
||||
v -0.000005 12.000000 2.000000
|
||||
vt 0.125000 0.687500
|
||||
vt 0.062500 0.500000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.062500 0.687500
|
||||
vt -0.000000 0.500000
|
||||
vt 0.250000 0.687500
|
||||
vt 0.187500 0.500000
|
||||
vt 0.250000 0.500000
|
||||
vt 0.187500 0.687500
|
||||
vt 0.125000 0.687500
|
||||
vt 0.187500 0.750000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.062500 0.750000
|
||||
vt -0.000000 0.687500
|
||||
vt 0.187500 0.687500
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
s off
|
||||
f 18/30/11 19/31/11 17/32/11
|
||||
f 20/33/12 23/34/12 19/31/12
|
||||
f 24/35/13 21/36/13 23/37/13
|
||||
f 22/38/14 17/32/14 21/36/14
|
||||
f 23/39/15 17/40/15 19/41/15
|
||||
f 20/33/16 22/42/16 24/43/16
|
||||
f 18/30/11 20/33/11 19/31/11
|
||||
f 20/33/12 24/44/12 23/34/12
|
||||
f 24/35/13 22/38/13 21/36/13
|
||||
f 22/38/14 18/30/14 17/32/14
|
||||
f 23/39/15 21/45/15 17/40/15
|
||||
f 20/33/16 18/30/16 22/42/16
|
||||
o RightLeg
|
||||
v -3.999999 24.000000 -2.000002
|
||||
v -4.000003 12.000001 -2.000002
|
||||
v 0.000001 23.999998 -2.000000
|
||||
v -0.000003 12.000000 -2.000000
|
||||
v -4.000001 24.000000 1.999998
|
||||
v -4.000005 12.000001 1.999998
|
||||
v -0.000001 24.000000 2.000000
|
||||
v -0.000005 12.000000 2.000000
|
||||
vt 0.062500 0.500000
|
||||
vt 0.125000 0.687500
|
||||
vt 0.125000 0.500000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.062500 0.687500
|
||||
vt 0.187500 0.500000
|
||||
vt 0.250000 0.687500
|
||||
vt 0.250000 0.500000
|
||||
vt 0.187500 0.687500
|
||||
vt 0.187500 0.750000
|
||||
vt 0.125000 0.687500
|
||||
vt 0.125000 0.750000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.062500 0.750000
|
||||
vt -0.000000 0.687500
|
||||
vt 0.187500 0.687500
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn -0.0000 -1.0000 0.0000
|
||||
s off
|
||||
f 27/46/17 26/47/17 25/48/17
|
||||
f 31/49/18 28/50/18 27/46/18
|
||||
f 29/51/19 32/52/19 31/53/19
|
||||
f 25/48/20 30/54/20 29/51/20
|
||||
f 25/55/21 31/56/21 27/57/21
|
||||
f 30/58/22 28/50/22 32/59/22
|
||||
f 27/46/17 28/50/17 26/47/17
|
||||
f 31/49/18 32/60/18 28/50/18
|
||||
f 29/51/19 30/54/19 32/52/19
|
||||
f 25/48/20 26/47/20 30/54/20
|
||||
f 25/55/21 29/61/21 31/56/21
|
||||
f 30/58/22 26/47/22 28/50/22
|
||||
o RightArm
|
||||
v -4.000007 0.000002 -2.000002
|
||||
v -4.000009 0.000002 1.999998
|
||||
v -4.000005 12.000001 1.999998
|
||||
v -4.000003 12.000001 -2.000002
|
||||
v -7.000009 0.000002 1.999997
|
||||
v -7.000007 0.000002 -2.000002
|
||||
v -7.000005 12.000002 1.999997
|
||||
v -7.000003 12.000002 -2.000002
|
||||
vt 0.687500 0.687500
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.687500
|
||||
vt 0.796875 0.500000
|
||||
vt 0.734375 0.687500
|
||||
vt 0.796875 0.687500
|
||||
vt 0.687500 0.500000
|
||||
vt 0.781250 0.750000
|
||||
vt 0.734375 0.687500
|
||||
vt 0.734375 0.750000
|
||||
vt 0.843750 0.687500
|
||||
vt 0.843750 0.500000
|
||||
vt 0.687500 0.750000
|
||||
vt 0.734375 0.500000
|
||||
vt 0.781250 0.687500
|
||||
vt 0.734375 0.750000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
s off
|
||||
f 33/62/23 35/63/23 34/64/23
|
||||
f 39/65/24 38/66/24 37/67/24
|
||||
f 38/66/25 36/68/25 33/62/25
|
||||
f 40/69/26 35/70/26 36/71/26
|
||||
f 39/65/27 34/72/27 35/73/27
|
||||
f 34/74/28 38/66/28 33/62/28
|
||||
f 33/62/23 36/68/23 35/63/23
|
||||
f 39/65/24 40/75/24 38/66/24
|
||||
f 38/66/25 40/75/25 36/68/25
|
||||
f 40/69/26 39/76/26 35/70/26
|
||||
f 39/65/27 37/67/27 34/72/27
|
||||
f 34/74/28 37/77/28 38/66/28
|
||||
o LeftArm
|
||||
v 3.999993 -0.000002 -1.999998
|
||||
v 3.999991 -0.000002 2.000002
|
||||
v 3.999995 11.999999 2.000002
|
||||
v 3.999997 11.999999 -1.999998
|
||||
v 6.999991 -0.000002 2.000003
|
||||
v 6.999993 -0.000002 -1.999997
|
||||
v 6.999995 11.999998 2.000003
|
||||
v 6.999997 11.999998 -1.999997
|
||||
vt 0.625000 0.500000
|
||||
vt 0.687500 0.687500
|
||||
vt 0.625000 0.687500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.796875 0.500000
|
||||
vt 0.796875 0.687500
|
||||
vt 0.687500 0.500000
|
||||
vt 0.734375 0.687500
|
||||
vt 0.781250 0.750000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.843750 0.687500
|
||||
vt 0.843750 0.500000
|
||||
vt 0.687500 0.750000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.734375 0.500000
|
||||
vt 0.781250 0.687500
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
s off
|
||||
f 43/78/29 41/79/29 42/80/29
|
||||
f 46/81/30 47/82/30 45/83/30
|
||||
f 44/84/31 46/81/31 41/79/31
|
||||
f 43/85/32 48/86/32 44/87/32
|
||||
f 42/88/33 47/82/33 43/89/33
|
||||
f 42/90/34 46/81/34 45/91/34
|
||||
f 43/78/29 44/84/29 41/79/29
|
||||
f 46/81/30 48/92/30 47/82/30
|
||||
f 44/84/31 48/92/31 46/81/31
|
||||
f 43/85/32 47/93/32 48/86/32
|
||||
f 42/88/33 45/83/33 47/82/33
|
||||
f 42/90/34 41/79/34 46/81/34
|
||||
o Head
|
||||
v -4.000006 0.000002 -4.000001
|
||||
v -4.000009 0.000002 3.999998
|
||||
v 3.999994 -0.000002 -3.999998
|
||||
v 3.999990 -0.000002 4.000001
|
||||
v -4.000009 -7.999994 -4.000001
|
||||
v -4.000012 -7.999994 3.999998
|
||||
v 3.999988 -7.999998 4.000001
|
||||
v 3.999991 -7.999998 -3.999998
|
||||
v 3.999988 -7.999998 4.000001
|
||||
v 3.999991 -7.999998 -3.999998
|
||||
v 4.999990 -0.999998 4.000002
|
||||
v 4.999993 -0.999998 -3.999998
|
||||
v -4.000009 -7.999994 -4.000001
|
||||
v -4.000012 -7.999994 3.999998
|
||||
v -5.000007 -0.999994 -4.000002
|
||||
v -5.000010 -0.999994 3.999998
|
||||
v -4.000012 -7.999994 3.999998
|
||||
v 3.999988 -7.999998 4.000001
|
||||
v -4.000010 -0.999994 4.999999
|
||||
v 3.999990 -0.999998 5.000001
|
||||
v 0.999990 0.000000 5.000000
|
||||
v 0.999988 -7.999996 4.000000
|
||||
v -1.000010 0.000000 5.000000
|
||||
v -1.000012 -7.999996 4.000000
|
||||
v 0.999993 10.000000 5.000000
|
||||
v -1.000007 10.000000 5.000000
|
||||
v 0.999991 0.000000 3.000000
|
||||
v -1.000009 0.000000 3.000000
|
||||
v 0.999994 10.000000 3.000000
|
||||
v -1.000006 10.000000 3.000000
|
||||
v -0.500006 11.500000 3.500000
|
||||
v -0.500006 10.500000 3.500000
|
||||
v -0.500006 11.500000 4.500000
|
||||
v -0.500006 10.500000 4.500000
|
||||
v 0.499994 11.500000 3.500000
|
||||
v 0.499994 10.500000 3.500000
|
||||
v 0.499994 11.500000 4.500000
|
||||
v 0.499994 10.500000 4.500000
|
||||
v 0.999994 12.000000 5.000000
|
||||
v -1.000006 12.000000 5.000000
|
||||
v 0.999995 12.000000 3.000000
|
||||
v -1.000005 12.000000 3.000000
|
||||
v 0.499995 15.000000 4.500000
|
||||
v -0.500005 15.000000 4.500000
|
||||
v 0.499995 15.000000 3.500000
|
||||
v -0.500005 15.000000 3.500000
|
||||
v -0.000004 16.000000 4.000000
|
||||
v -0.500006 11.500000 4.000000
|
||||
v -0.500006 10.500000 4.000000
|
||||
v 0.499994 11.500000 4.000000
|
||||
v 0.499994 10.500000 4.000000
|
||||
v -2.500006 12.000001 3.999999
|
||||
v -2.500006 10.000001 3.999999
|
||||
v 2.499994 11.999999 4.000001
|
||||
v 2.499994 9.999999 4.000001
|
||||
v -0.000009 -7.999996 -3.500000
|
||||
v 3.999991 -7.999998 -3.999998
|
||||
v -4.000009 -7.999994 -4.000001
|
||||
v -1.000009 -8.999996 -4.500000
|
||||
v 0.999991 -8.999996 -4.500000
|
||||
v -5.000007 -2.999994 -5.000002
|
||||
v 4.999993 -2.999998 -4.999998
|
||||
v 3.999990 -5.499998 -0.499998
|
||||
v 3.999990 -6.499998 -0.499998
|
||||
v 3.999990 -5.499998 0.500002
|
||||
v 3.999990 -6.499998 0.500002
|
||||
v 4.999990 -5.499998 -0.499998
|
||||
v 4.499990 -6.499998 -0.499998
|
||||
v 4.999990 -5.499998 0.500002
|
||||
v 4.499990 -6.499998 0.500002
|
||||
v -5.000010 -5.499994 -0.500002
|
||||
v -4.500010 -6.499994 -0.500002
|
||||
v -5.000010 -5.499994 0.499998
|
||||
v -4.500010 -6.499994 0.499998
|
||||
v -4.000010 -5.499994 -0.500002
|
||||
v -4.000010 -6.499994 -0.500002
|
||||
v -4.000010 -5.499994 0.499998
|
||||
v -4.000010 -6.499994 0.499998
|
||||
v -4.312510 -6.812494 -1.500002
|
||||
v -4.312510 -6.812494 1.499998
|
||||
v -4.687509 -4.187494 -1.500002
|
||||
v -4.687510 -4.187494 1.499998
|
||||
v 4.312490 -6.812498 1.500002
|
||||
v 4.312490 -6.812498 -1.499998
|
||||
v 4.687490 -4.187498 1.500002
|
||||
v 4.687491 -4.187498 -1.499998
|
||||
vt 0.250000 1.000000
|
||||
vt 0.375000 0.875000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.875000
|
||||
vt 0.250000 1.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.250000 0.750000
|
||||
vt 0.125000 0.750000
|
||||
vt -0.000000 0.875000
|
||||
vt -0.000000 0.750000
|
||||
vt 0.500000 0.750000
|
||||
vt 0.375000 0.875000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.250000 0.875000
|
||||
vt 0.750000 0.765625
|
||||
vt 0.875000 0.875000
|
||||
vt 0.750000 0.875000
|
||||
vt 0.500000 0.765625
|
||||
vt 0.625000 0.875000
|
||||
vt 0.500000 0.875000
|
||||
vt 0.875000 0.765625
|
||||
vt 1.000000 0.875000
|
||||
vt 0.875000 0.875000
|
||||
vt 0.906250 0.640625
|
||||
vt 0.875000 0.765625
|
||||
vt 0.875000 0.640625
|
||||
vt 0.906250 0.484375
|
||||
vt 0.843750 0.484375
|
||||
vt 0.875000 0.484375
|
||||
vt 0.937500 0.640625
|
||||
vt 0.968750 0.484375
|
||||
vt 0.937500 0.484375
|
||||
vt 0.859375 0.765625
|
||||
vt 0.843750 0.640625
|
||||
vt 0.921875 0.765625
|
||||
vt 0.929688 0.476562
|
||||
vt 0.914062 0.460938
|
||||
vt 0.929688 0.460938
|
||||
vt 0.898438 0.476562
|
||||
vt 0.882812 0.460938
|
||||
vt 0.898438 0.460938
|
||||
vt 0.867188 0.476562
|
||||
vt 0.851562 0.460938
|
||||
vt 0.867188 0.460938
|
||||
vt 0.960938 0.476562
|
||||
vt 0.945312 0.460938
|
||||
vt 0.960938 0.460938
|
||||
vt 0.945312 0.476562
|
||||
vt 0.882812 0.476562
|
||||
vt 0.914062 0.476562
|
||||
vt 0.875000 0.453125
|
||||
vt 0.937500 0.453125
|
||||
vt 0.968750 0.453125
|
||||
vt 0.906250 0.453125
|
||||
vt 0.929688 0.406250
|
||||
vt 0.898438 0.406250
|
||||
vt 0.960938 0.406250
|
||||
vt 0.843750 0.453125
|
||||
vt 0.867188 0.406250
|
||||
vt 0.851562 0.406250
|
||||
vt 0.859375 0.390625
|
||||
vt 0.812500 0.476562
|
||||
vt 0.843750 0.500000
|
||||
vt 0.812500 0.492188
|
||||
vt 0.914062 0.406250
|
||||
vt 0.921875 0.390625
|
||||
vt 0.890625 0.390625
|
||||
vt 0.882812 0.406250
|
||||
vt 0.953125 0.390625
|
||||
vt 0.945312 0.406250
|
||||
vt 0.812500 0.492188
|
||||
vt 0.781250 0.468750
|
||||
vt 0.812500 0.476562
|
||||
vt 0.687500 0.875000
|
||||
vt 0.625000 0.875000
|
||||
vt 0.671875 0.890625
|
||||
vt 0.750000 0.875000
|
||||
vt 0.703125 0.890625
|
||||
vt 0.687500 0.875000
|
||||
vt 0.750000 0.781250
|
||||
vt 0.734375 0.859375
|
||||
vt 0.687500 0.875000
|
||||
vt 0.640625 0.859375
|
||||
vt 0.625000 0.781250
|
||||
vt 0.375000 0.882812
|
||||
vt 0.390625 0.875000
|
||||
vt 0.390625 0.890625
|
||||
vt 0.406250 0.875000
|
||||
vt 0.421875 0.882812
|
||||
vt 0.406250 0.890625
|
||||
vt 0.406250 0.906250
|
||||
vt 0.390625 0.890625
|
||||
vt 0.375000 0.882812
|
||||
vt 0.390625 0.875000
|
||||
vt 0.421875 0.875000
|
||||
vt 0.437500 0.882812
|
||||
vt 0.406250 0.875000
|
||||
vt 0.421875 0.882812
|
||||
vt 0.406250 0.890625
|
||||
vt 0.437500 0.882812
|
||||
vt 0.421875 0.875000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.390625 0.906250
|
||||
vt 0.437500 0.875000
|
||||
vt 0.484375 0.914062
|
||||
vt 0.437500 0.914062
|
||||
vt 0.437500 0.875000
|
||||
vt 0.484375 0.914062
|
||||
vt 0.437500 0.914062
|
||||
vt 0.250000 0.875000
|
||||
vt 0.500000 0.875000
|
||||
vt 0.875000 0.765625
|
||||
vt 0.625000 0.765625
|
||||
vt 1.000000 0.765625
|
||||
vt 0.906250 0.765625
|
||||
vt 0.968750 0.640625
|
||||
vt 0.851562 0.476562
|
||||
vt 0.843750 0.468750
|
||||
vt 0.781250 0.500000
|
||||
vt 0.375000 0.875000
|
||||
vt 0.390625 0.906250
|
||||
vt 0.375000 0.875000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.406250 0.906250
|
||||
vt 0.484375 0.875000
|
||||
vt 0.484375 0.875000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -0.0000 -1.0000 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn 0.9899 -0.1414 0.0000
|
||||
vn -0.9899 -0.1414 -0.0000
|
||||
vn -0.0000 -0.1414 0.9899
|
||||
vn 0.0000 -0.1240 0.9923
|
||||
vn 0.7071 0.7071 0.0000
|
||||
vn 0.0000 0.7071 -0.7071
|
||||
vn 0.0000 0.7071 0.7071
|
||||
vn -0.7071 0.7071 0.0000
|
||||
vn 0.0000 -0.7071 0.7071
|
||||
vn -0.7071 -0.7071 0.0000
|
||||
vn 0.0000 -0.7071 -0.7071
|
||||
vn 0.7071 -0.7071 0.0000
|
||||
vn -0.9864 0.1644 -0.0000
|
||||
vn 0.0000 0.1644 0.9864
|
||||
vn 0.0000 0.1644 -0.9864
|
||||
vn 0.9864 0.1644 0.0000
|
||||
vn 0.8944 0.4472 0.0000
|
||||
vn -0.8944 0.4472 -0.0000
|
||||
vn 0.0000 0.4472 0.8944
|
||||
vn 0.0000 0.4472 -0.8944
|
||||
vn -0.0937 -0.6556 0.7493
|
||||
vn 0.0937 -0.6556 0.7493
|
||||
vn 0.2357 -0.2357 -0.9428
|
||||
vn -0.2357 -0.2357 -0.9428
|
||||
vn 0.8944 -0.4472 0.0000
|
||||
vn -0.8944 -0.4472 0.0000
|
||||
s off
|
||||
f 52/94/35 49/95/35 50/96/35
|
||||
f 53/97/36 55/98/36 54/99/36
|
||||
f 51/100/37 53/97/37 49/101/37
|
||||
f 49/101/38 54/102/38 50/103/38
|
||||
f 50/104/39 55/105/39 52/106/39
|
||||
f 52/106/40 56/107/40 51/100/40
|
||||
f 60/108/41 57/109/41 58/110/41
|
||||
f 64/111/42 61/112/42 62/113/42
|
||||
f 68/114/43 65/115/43 66/116/43
|
||||
f 71/117/44 70/118/44 69/119/44
|
||||
f 69/119/39 74/120/39 71/117/39
|
||||
f 69/119/40 77/121/40 73/122/40
|
||||
f 74/120/38 76/123/38 71/117/38
|
||||
f 77/124/37 76/123/37 78/125/37
|
||||
f 69/119/40 70/126/40 75/127/40
|
||||
f 71/117/38 76/123/38 72/128/38
|
||||
f 80/129/38 81/130/38 79/131/38
|
||||
f 82/132/39 85/133/39 81/134/39
|
||||
f 86/135/40 83/136/40 85/137/40
|
||||
f 84/138/37 79/139/37 83/140/37
|
||||
f 77/121/45 86/135/45 73/122/45
|
||||
f 80/141/46 77/124/46 78/125/46
|
||||
f 86/142/47 74/120/47 73/122/47
|
||||
f 82/143/48 78/125/48 74/120/48
|
||||
f 87/144/49 81/134/49 85/133/49
|
||||
f 81/130/50 90/145/50 79/131/50
|
||||
f 79/139/51 89/146/51 83/140/51
|
||||
f 83/136/52 87/144/52 85/137/52
|
||||
f 88/147/53 94/148/53 90/145/53
|
||||
f 87/144/54 92/149/54 88/147/54
|
||||
f 90/145/55 93/150/55 89/146/55
|
||||
f 89/151/56 91/152/56 87/144/56
|
||||
f 91/152/57 93/153/57 95/154/57
|
||||
f 96/155/39 101/156/39 97/157/39
|
||||
f 94/148/58 92/158/58 95/159/58
|
||||
f 95/160/59 92/149/59 91/161/59
|
||||
f 95/162/60 93/150/60 94/163/60
|
||||
f 99/164/39 102/165/39 98/166/39
|
||||
f 104/167/61 106/168/61 107/169/61
|
||||
f 105/170/62 104/167/62 108/171/62
|
||||
f 108/172/63 110/173/63 105/174/63
|
||||
f 107/175/64 106/176/64 109/177/64
|
||||
f 122/178/39 125/179/39 121/180/39
|
||||
f 113/181/39 118/182/39 117/183/39
|
||||
f 118/184/65 115/185/65 117/183/65
|
||||
f 116/186/37 111/187/37 115/185/37
|
||||
f 117/183/35 111/187/35 113/181/35
|
||||
f 114/188/36 116/189/36 118/182/36
|
||||
f 123/190/37 120/191/37 119/192/37
|
||||
f 125/179/35 119/192/35 121/180/35
|
||||
f 122/193/36 124/194/36 126/195/36
|
||||
f 119/192/66 122/196/66 121/180/66
|
||||
f 130/197/42 127/198/42 128/199/42
|
||||
f 134/200/41 131/201/41 132/202/41
|
||||
f 52/94/35 51/203/35 49/95/35
|
||||
f 53/97/36 56/107/36 55/98/36
|
||||
f 51/100/37 56/107/37 53/97/37
|
||||
f 49/101/38 53/97/38 54/102/38
|
||||
f 50/104/39 54/204/39 55/105/39
|
||||
f 52/106/40 55/105/40 56/107/40
|
||||
f 60/108/41 59/205/41 57/109/41
|
||||
f 64/111/42 63/206/42 61/112/42
|
||||
f 68/114/43 67/207/43 65/115/43
|
||||
f 71/117/44 72/208/44 70/118/44
|
||||
f 69/119/39 73/122/39 74/120/39
|
||||
f 69/119/40 75/127/40 77/121/40
|
||||
f 74/120/38 78/125/38 76/123/38
|
||||
f 77/124/37 75/209/37 76/123/37
|
||||
f 80/129/38 82/143/38 81/130/38
|
||||
f 82/132/39 86/142/39 85/133/39
|
||||
f 86/135/40 84/210/40 83/136/40
|
||||
f 84/138/37 80/141/37 79/139/37
|
||||
f 77/121/45 84/210/45 86/135/45
|
||||
f 80/141/46 84/138/46 77/124/46
|
||||
f 86/142/47 82/132/47 74/120/47
|
||||
f 82/143/48 80/129/48 78/125/48
|
||||
f 87/144/49 88/147/49 81/134/49
|
||||
f 81/130/50 88/147/50 90/145/50
|
||||
f 79/139/51 90/145/51 89/146/51
|
||||
f 83/136/52 89/151/52 87/144/52
|
||||
f 88/147/53 92/158/53 94/148/53
|
||||
f 87/144/54 91/161/54 92/149/54
|
||||
f 90/145/55 94/163/55 93/150/55
|
||||
f 89/151/56 93/153/56 91/152/56
|
||||
f 96/155/39 100/211/39 101/156/39
|
||||
f 99/164/39 103/212/39 102/165/39
|
||||
f 122/178/39 126/213/39 125/179/39
|
||||
f 113/181/39 114/188/39 118/182/39
|
||||
f 118/184/65 116/214/65 115/185/65
|
||||
f 116/186/37 112/215/37 111/187/37
|
||||
f 117/183/35 115/185/35 111/187/35
|
||||
f 114/188/36 112/216/36 116/189/36
|
||||
f 123/190/37 124/194/37 120/191/37
|
||||
f 125/179/35 123/190/35 119/192/35
|
||||
f 122/193/36 120/191/36 124/194/36
|
||||
f 119/192/66 120/217/66 122/196/66
|
||||
f 130/197/42 129/218/42 127/198/42
|
||||
f 134/200/41 133/219/41 131/201/41
|
||||
@ -39,6 +39,8 @@
|
||||
"block.chungusLever": {"category": "block", "sounds": [{"name": "block/chungusLever", "stream": false}]},
|
||||
"block.bobble": {"category": "block", "sounds": [{"name": "block/bobble", "stream": false}]},
|
||||
|
||||
"door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]},
|
||||
|
||||
"item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]},
|
||||
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},
|
||||
"item.geiger1": {"category": "player", "sounds": [{"name": "tool/geiger1", "stream": false}]},
|
||||
|
||||
|
After Width: | Height: | Size: 371 B |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 437 B |
|
Before Width: | Height: | Size: 747 B After Width: | Height: | Size: 370 B |
BIN
src/main/resources/assets/hbm/textures/items/plant_item.rope.png
Normal file
|
After Width: | Height: | Size: 445 B |
|
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 326 B |
|
Before Width: | Height: | Size: 290 B |
BIN
src/main/resources/assets/hbm/textures/items/upgrade_5g.png
Normal file
|
After Width: | Height: | Size: 352 B |
|
After Width: | Height: | Size: 289 B |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 36 KiB |
@ -3,7 +3,7 @@
|
||||
"modid": "hbm",
|
||||
"name": "Hbm's Nuclear Tech",
|
||||
"description": "A mod that adds weapons, nuclear themed stuff and machines",
|
||||
"version":"1.0.27_X4200",
|
||||
"version":"1.0.27_X4214",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||