🅱️ower armor

This commit is contained in:
Bob 2020-12-24 00:11:03 +01:00
parent 25850278df
commit 2b11753e76
26 changed files with 4241 additions and 6 deletions

View File

@ -348,6 +348,10 @@ info.template_out_p=Output:
info.template_seconds=Sekunden
info.template_time=Produktionszeit:
item.ajr_boots.name=T45-AJR-Powerrüstungsstiefel
item.ajr_helmet.name=T45-AJR-Powerrüstungshelm
item.ajr_legs.name=T45-AJR-Powerrüstungsbeinschutz
item.ajr_plate.name=T45-AJR-Powerrüstungsbrustpanzer
item.alloy_axe.name=Legierungsaxt
item.alloy_boots.name=Legierungsstiefel
item.alloy_helmet.name=Legierungshelm
@ -432,6 +436,8 @@ item.ammo_5mm_du.name=5mm Patrone (DU)
item.ammo_5mm_explosive.name=5mm Patrone (Explosiv)
item.ammo_5mm_star.name=5mm Patrone (Sternenmetall)
item.ammo_75bolt.name=30er .75 Bolzenmagazin
item.ammo_75bolt_incendiary.name=30er .75 Bolzenmagazin (Brand)
item.ammo_75bolt_he.name=30er .75 Bolzenmagazin (Explosiv)
item.ammo_9mm.name=9mm Patrone
item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend)
item.ammo_9mm_chlorophyte.name=9mm Patrone (Grünalgen)

View File

@ -348,6 +348,10 @@ info.template_out_p=Outputs:
info.template_seconds=seconds
info.template_time=Production Time:
item.ajr_boots.name=T45-AJR Power Armor Boots
item.ajr_helmet.name=T45-AJR Power Armor Helmet
item.ajr_legs.name=T45-AJR Power Armor Leggings
item.ajr_plate.name=T45-AJR Power Armor Chestplate
item.alloy_axe.name=Advanced Alloy Axe
item.alloy_boots.name=Advanced Alloy Boots
item.alloy_helmet.name=Advanced Alloy Helmet
@ -432,6 +436,8 @@ item.ammo_5mm_du.name=5mm Round (DU)
item.ammo_5mm_explosive.name=5mm Round (Explosive)
item.ammo_5mm_star.name=5mm Round (Starmetal)
item.ammo_75bolt.name=.75 Bolt Magazine (30rnd)
item.ammo_75bolt_incendiary.name=.75 Incendiary Bolt Magazine (30rnd)
item.ammo_75bolt_he.name=.75 Bolt High-Explosive Magazine (30rnd)
item.ammo_9mm.name=9mm Round
item.ammo_9mm_ap.name=9mm Round (Armor Piercing)
item.ammo_9mm_chlorophyte.name=9mm Round (Chlorophyte)

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 B

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

View File

@ -13,6 +13,7 @@ import com.hbm.items.ModItems;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.EnumCreatureAttribute;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.IRangedAttackMob;
import net.minecraft.entity.SharedMonsterAttributes;
@ -31,6 +32,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSourceIndirect;
@ -179,6 +182,19 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob {
this.addRandomArmor();
return super.onSpawnWithEgg(data);
}
public boolean isPotionApplicable(PotionEffect potion)
{
if(Potion.potionTypes[potion.getPotionID()].isBadEffect()) {
if(this.getEquipmentInSlot(4) == null)
this.setCurrentItemOrArmor(4, new ItemStack(ModItems.gas_mask_m65));
return false;
}
return true;
}
public void onLivingUpdate() {
super.onLivingUpdate();

View File

@ -60,6 +60,9 @@ public class EntityAI_MLPF extends EntityAIBase {
//line length is capped so the pathfinder can manage it
int range = distance;
if(vec.lengthVector() < 16)
mover.setAttackTarget(target);
vec = vec.normalize();
vec.xCoord *= range;
vec.yCoord *= range;
@ -74,7 +77,6 @@ public class EntityAI_MLPF extends EntityAIBase {
//this is where the magic happens
this.mover.getNavigator().tryMoveToXYZ(x, y, z, this.speed);
mover.setAttackTarget(target);
//System.out.println("Start successful? " + success);
}

View File

@ -27,9 +27,10 @@ public class BossSpawnHandler {
if(world.rand.nextInt(MobConfig.maskmanChance) == 0 && !world.playerEntities.isEmpty() && world.provider.isSurfaceWorld()) { //33% chance only if there is a player online
EntityPlayer player = (EntityPlayer) world.playerEntities.get(world.rand.nextInt(world.playerEntities.size())); //choose a random player
player.addChatComponentMessage(new ChatComponentText("The mask man is about to claim another victim.").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED)));
if(ContaminationUtil.getRads(player) >= MobConfig.maskmanMinRad && (world.getHeightValue((int)player.posX, (int)player.posZ) > player.posY + 3 || !MobConfig.maskmanUnderground)) { //if the player has more than 50 RAD and is underground
player.addChatComponentMessage(new ChatComponentText("The mask man is about to claim another victim.").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED)));
double spawnX = player.posX + world.rand.nextGaussian() * 20;
double spawnZ = player.posZ + world.rand.nextGaussian() * 20;

View File

@ -148,8 +148,10 @@ public class BulletConfigSyncingUtil {
public static int R556_FLECHETTE_DU = i++;
public static int R556_FLECHETTE_SLEEK = i++;
public static int R556_K = i++;
public static int B75_NORMAL = i++;
public static int B75_INCENDIARY = i++;
public static int B75_HE = i++;
public static int G20_NORMAL_FIRE = i++;
public static int G20_SHRAPNEL_FIRE = i++;
@ -337,6 +339,8 @@ public class BulletConfigSyncingUtil {
configSet.put(R556_K, Gun556mmFactory.get556KConfig());
configSet.put(B75_NORMAL, Gun75BoltFactory.get75BoltConfig());
configSet.put(B75_INCENDIARY, Gun75BoltFactory.get75BoltIncConfig());
configSet.put(B75_HE, Gun75BoltFactory.get75BoltHEConfig());
configSet.put(G20_NORMAL_FIRE, Gun20GaugeFactory.get20GaugeConfig().setToFire(3));
configSet.put(G20_SHRAPNEL_FIRE, Gun20GaugeFactory.get20GaugeShrapnelConfig().setToFire(3));

View File

@ -239,7 +239,12 @@ public abstract class WeaponAbility {
EntityLivingBase living = (EntityLivingBase) victim;
if(living instanceof EntitySkeleton) {
living.entityDropItem(new ItemStack(Items.skull, 1, ((EntitySkeleton)living).getSkeletonType()), 0.0F);
if(((EntitySkeleton)living).getSkeletonType() == 0)
living.entityDropItem(new ItemStack(Items.skull, 1, 0), 0.0F);
else
living.entityDropItem(new ItemStack(ModItems.cell_antimatter), 0.0F);
} else if(living instanceof EntityZombie) {
living.entityDropItem(new ItemStack(Items.skull, 1, 2), 0.0F);
} else if(living instanceof EntityCreeper) {

View File

@ -2,16 +2,25 @@ package com.hbm.handler.guncfg;
import java.util.ArrayList;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration;
import com.hbm.interfaces.IBulletImpactBehavior;
import com.hbm.items.ModItems;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.potion.HbmPotion;
import com.hbm.render.anim.BusAnimation;
import com.hbm.render.anim.BusAnimationKeyframe;
import com.hbm.render.anim.BusAnimationSequence;
import com.hbm.render.anim.HbmAnimations.AnimType;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.PotionEffect;
public class Gun75BoltFactory {
public static GunConfiguration getBolterConfig() {
@ -64,6 +73,8 @@ public class Gun75BoltFactory {
config.config = new ArrayList();
config.config.add(BulletConfigSyncingUtil.B75_NORMAL);
config.config.add(BulletConfigSyncingUtil.B75_INCENDIARY);
config.config.add(BulletConfigSyncingUtil.B75_HE);
return config;
}
@ -76,12 +87,65 @@ public class Gun75BoltFactory {
bullet.ammo = ModItems.ammo_75bolt;
bullet.ammoCount = 30;
bullet.spread *= inaccuracy;
bullet.dmgMin = 16;
bullet.dmgMax = 24;
bullet.dmgMin = 24;
bullet.dmgMax = 32;
bullet.doesRicochet = false;
bullet.explosive = 0.25F;
return bullet;
}
public static BulletConfiguration get75BoltIncConfig() {
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
bullet.ammo = ModItems.ammo_75bolt_incendiary;
bullet.ammoCount = 30;
bullet.spread *= inaccuracy;
bullet.dmgMin = 26;
bullet.dmgMax = 36;
bullet.doesRicochet = false;
bullet.explosive = 0.25F;
bullet.incendiary = 5;
bullet.doesPenetrate = false;
PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true);
eff.getCurativeItems().clear();
bullet.effects = new ArrayList();
bullet.effects.add(new PotionEffect(eff));
bullet.bImpact = new IBulletImpactBehavior() {
@Override
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "vanillaburst");
data.setString("mode", "flame");
data.setInteger("count", 15);
data.setDouble("motion", 0.05D);
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50));
}
};
return bullet;
}
public static BulletConfiguration get75BoltHEConfig() {
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
bullet.ammo = ModItems.ammo_75bolt_he;
bullet.ammoCount = 30;
bullet.spread *= inaccuracy;
bullet.dmgMin = 32;
bullet.dmgMax = 48;
bullet.doesRicochet = false;
bullet.explosive = 2.5F;
bullet.blockDamage = false;
return bullet;
}
}

View File

@ -543,6 +543,26 @@ public class AssemblerRecipes {
new ComparableStack(ModItems.ingot_u238, 1)
}, 60);
makeRecipe(new ComparableStack(ModItems.ammo_75bolt_incendiary, 2), new AStack[] {
new OreDictStack("plateSteel", 2),
new OreDictStack("plateCopper", 1),
new ComparableStack(ModItems.primer_50, 5),
new ComparableStack(ModItems.casing_50, 5),
new ComparableStack(ModItems.ingot_semtex, 3),
new ComparableStack(ModItems.cordite, 3),
new ComparableStack(ModItems.ingot_phosphorus, 3)
}, 60);
makeRecipe(new ComparableStack(ModItems.ammo_75bolt_he, 2), new AStack[] {
new OreDictStack("plateSteel", 2),
new OreDictStack("plateCopper", 1),
new ComparableStack(ModItems.primer_50, 5),
new ComparableStack(ModItems.casing_50, 5),
new ComparableStack(ModItems.ingot_semtex, 5),
new ComparableStack(ModItems.cordite, 5),
new ComparableStack(Items.redstone, 3)
}, 60);
makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10);
makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10);
makeRecipe(new ComparableStack(ModBlocks.block_cap_sparkle, 1), new AStack[] { new ComparableStack(ModItems.cap_sparkle, 128) }, 10);

View File

@ -199,6 +199,7 @@ public class ModItems {
public static Item blade_meteorite;
public static Item plate_armor_titanium;
public static Item plate_armor_ajr;
public static Item plate_armor_hev;
public static Item plate_armor_lunar;
@ -1205,6 +1206,8 @@ public class ModItems {
public static Item ammo_50bmg_chlorophyte;
public static Item ammo_50bmg_sleek;
public static Item ammo_75bolt;
public static Item ammo_75bolt_incendiary;
public static Item ammo_75bolt_he;
public static Item ammo_folly;
public static Item ammo_folly_nuclear;
public static Item ammo_folly_du;
@ -1617,6 +1620,10 @@ public class ModItems {
public static Item starmetal_plate;
public static Item starmetal_legs;
public static Item starmetal_boots;
public static Item ajr_helmet;
public static Item ajr_plate;
public static Item ajr_legs;
public static Item ajr_boots;
public static Item bj_helmet;
public static Item bj_plate;
public static Item bj_legs;
@ -2130,6 +2137,7 @@ public class ModItems {
blade_meteorite = new ItemHot(10).setUnlocalizedName("blade_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_meteorite");
plate_armor_titanium = new Item().setUnlocalizedName("plate_armor_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_titanium");
plate_armor_ajr = new Item().setUnlocalizedName("plate_armor_ajr").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_ajr");
plate_armor_hev = new Item().setUnlocalizedName("plate_armor_hev").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_hev");
plate_armor_lunar = new Item().setUnlocalizedName("plate_armor_lunar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_lunar");
@ -3100,6 +3108,8 @@ public class ModItems {
ammo_50bmg_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50bmg_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_chlorophyte");
ammo_50bmg_sleek = new ItemAmmo().setUnlocalizedName("ammo_50bmg_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_sleek");
ammo_75bolt = new ItemAmmo().setUnlocalizedName("ammo_75bolt").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt");
ammo_75bolt_incendiary = new ItemAmmo().setUnlocalizedName("ammo_75bolt_incendiary").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt_incendiary");
ammo_75bolt_he = new ItemAmmo().setUnlocalizedName("ammo_75bolt_he").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt_he");
ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_357_desh");
ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44");
ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_ap");
@ -3691,6 +3701,26 @@ public class ModItems {
starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs");
starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots");
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr;
ajr_helmet = new ArmorAJR(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).setMod(0.25F).setCap(4.0F)
.setFireproof(true)
.enableVATS(true)
.enableThermalSight(true)
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1))
.addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addEffect(new PotionEffect(Potion.field_76443_y.id, 20, 0))
.addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0))
.setBlastProtection(0.5F)
//.setGravity(0.02D)
.setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land")
.addResistance("fall", 0).setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet");
ajr_plate = new ArmorAJR(aMatAJR, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_plate").setTextureName(RefStrings.MODID + ":ajr_plate");
ajr_legs = new ArmorAJR(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_legs").setTextureName(RefStrings.MODID + ":ajr_legs");
ajr_boots = new ArmorAJR(aMatAJR, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_boots").setTextureName(RefStrings.MODID + ":ajr_boots");
ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatBJ.customCraftingMaterial = ModItems.plate_armor_lunar;
bj_helmet = new ArmorBJ(aMatBJ, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000).setMod(0.25F).setCap(4.0F)
@ -4443,6 +4473,7 @@ public class ModItems {
//Armor Plates
GameRegistry.registerItem(plate_armor_titanium, plate_armor_titanium.getUnlocalizedName());
GameRegistry.registerItem(plate_armor_ajr, plate_armor_ajr.getUnlocalizedName());
GameRegistry.registerItem(plate_armor_hev, plate_armor_hev.getUnlocalizedName());
GameRegistry.registerItem(plate_armor_lunar, plate_armor_lunar.getUnlocalizedName());
@ -5529,6 +5560,8 @@ public class ModItems {
GameRegistry.registerItem(ammo_50bmg_chlorophyte, ammo_50bmg_chlorophyte.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg_sleek, ammo_50bmg_sleek.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt, ammo_75bolt.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt_incendiary, ammo_75bolt_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt_he, ammo_75bolt_he.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel, ammo_fuel.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel_napalm, ammo_fuel_napalm.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel_phosphorus, ammo_fuel_phosphorus.getUnlocalizedName());
@ -5949,6 +5982,10 @@ public class ModItems {
GameRegistry.registerItem(t45_plate, t45_plate.getUnlocalizedName());
GameRegistry.registerItem(t45_legs, t45_legs.getUnlocalizedName());
GameRegistry.registerItem(t45_boots, t45_boots.getUnlocalizedName());
GameRegistry.registerItem(ajr_helmet, ajr_helmet.getUnlocalizedName());
GameRegistry.registerItem(ajr_plate, ajr_plate.getUnlocalizedName());
GameRegistry.registerItem(ajr_legs, ajr_legs.getUnlocalizedName());
GameRegistry.registerItem(ajr_boots, ajr_boots.getUnlocalizedName());
GameRegistry.registerItem(bj_helmet, bj_helmet.getUnlocalizedName());
GameRegistry.registerItem(bj_plate, bj_plate.getUnlocalizedName());
GameRegistry.registerItem(bj_legs, bj_legs.getUnlocalizedName());

View File

@ -0,0 +1,33 @@
package com.hbm.items.armor;
import com.hbm.render.model.ModelArmorAJR;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
public class ArmorAJR extends ArmorFSBPowered {
public ArmorAJR(ArmorMaterial material, int layer, int slot, String texture, long maxPower, long chargeRate, long consumption) {
super(material, layer, slot, texture, maxPower, chargeRate, consumption);
}
@SideOnly(Side.CLIENT)
ModelArmorAJR[] models;
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
if(models == null) {
models = new ModelArmorAJR[4];
for(int i = 0; i < 4; i++)
models[i] = new ModelArmorAJR(i);
}
return models[armorSlot];
}
}

View File

@ -1,5 +1,8 @@
package com.hbm.main;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.handler.FluidTypeHandler.FluidType;
@ -9,14 +12,19 @@ import com.hbm.items.special.ItemHot;
import com.hbm.items.weapon.GunB92Cell;
import com.hbm.util.EnchantmentUtil;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.registry.GameRegistry;
public class CraftingManager {
@ -1765,6 +1773,34 @@ public class CraftingManager {
}
}
public static void crumple() {
if(Loader.isModLoaded("Mekanism")) {
List<IRecipe> toDestroy = new ArrayList();
Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock");
ItemStack digiminer = new ItemStack(mb, 1, 4);
for(Object o : net.minecraft.item.crafting.CraftingManager.getInstance().getRecipeList()) {
if(o instanceof IRecipe) {
IRecipe rec = (IRecipe)o;
ItemStack stack = rec.getRecipeOutput();
if(stack != null && stack.getItem() == digiminer.getItem() && stack.getItemDamage() == digiminer.getItemDamage()) {
toDestroy.add(rec);
}
}
}
if(toDestroy.size() > 0) {
net.minecraft.item.crafting.CraftingManager.getInstance().getRecipeList().removeAll(toDestroy);
GameRegistry.addRecipe(digiminer, new Object[] { "###", "###", '#', ModItems.ingot_schrabidium });
}
}
}
public static void AddSmeltingRec()
{
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_thorium), new ItemStack(ModItems.ingot_th232), 3.0F);

View File

@ -48,6 +48,7 @@ import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent;
import cpw.mods.fml.relauncher.ReflectionHelper;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EntityLivingBase;
@ -64,6 +65,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.tileentity.TileEntitySign;

View File

@ -499,6 +499,7 @@ public class ResourceManager {
public static final IModelCustom armor_bj = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/BJ.obj"));
public static final IModelCustom armor_hev = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/hev.obj"));
public static final IModelCustom armor_ajr = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/AJR.obj"));
public static final IModelCustom armor_hat = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/hat.obj"));
////Texture Items
@ -552,6 +553,11 @@ public class ResourceManager {
public static final ResourceLocation hev_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/hev_chest.png");
public static final ResourceLocation hev_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/hev_arm.png");
public static final ResourceLocation ajr_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/ajr_helmet.png");
public static final ResourceLocation ajr_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/ajr_leg.png");
public static final ResourceLocation ajr_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/ajr_chest.png");
public static final ResourceLocation ajr_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/ajr_arm.png");
public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png");

View File

@ -0,0 +1,59 @@
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.Minecraft;
import net.minecraft.entity.Entity;
public class ModelArmorAJR extends ModelArmorBase {
public ModelArmorAJR(int type) {
super(type);
head = new ModelRendererObj(ResourceManager.armor_ajr, "Head");
body = new ModelRendererObj(ResourceManager.armor_ajr, "Body");
leftArm = new ModelRendererObj(ResourceManager.armor_ajr, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F);
rightArm = new ModelRendererObj(ResourceManager.armor_ajr, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F);
leftLeg = new ModelRendererObj(ResourceManager.armor_ajr, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F);
rightLeg = new ModelRendererObj(ResourceManager.armor_ajr, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F);
leftFoot = new ModelRendererObj(ResourceManager.armor_ajr, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F);
rightFoot = new ModelRendererObj(ResourceManager.armor_ajr, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F);
}
@Override
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) {
setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
GL11.glPushMatrix();
GL11.glShadeModel(GL11.GL_SMOOTH);
if(type == 0) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_helmet);
head.render(par7);
}
if(type == 1) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_chest);
body.render(par7);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_arm);
leftArm.render(par7);
rightArm.render(par7);
}
if(type == 2) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_leg);
leftLeg.render(par7);
rightLeg.render(par7);
}
if(type == 3) {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_leg);
leftFoot.render(par7);
rightFoot.render(par7);
}
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}