fritz
@ -340,13 +340,13 @@ public class ModBlocks {
|
||||
public static Block sand_lead;
|
||||
public static Block sand_uranium;
|
||||
public static Block sand_polonium;
|
||||
public static Block ash_digamma;
|
||||
public static Block glass_boron;
|
||||
public static Block glass_lead;
|
||||
public static Block glass_uranium;
|
||||
public static Block glass_trinitite;
|
||||
public static Block glass_polonium;
|
||||
|
||||
public static Block ash_digamma;
|
||||
public static Block glass_ash;
|
||||
|
||||
public static Block mush;
|
||||
public static Block mush_block;
|
||||
@ -924,6 +924,8 @@ public class ModBlocks {
|
||||
public static final int guiID_howard = 112;
|
||||
public static Block turret_maxwell;
|
||||
public static final int guiID_maxwell = 120;
|
||||
public static Block turret_fritz;
|
||||
public static final int guiID_fritz = 122;
|
||||
|
||||
public static Block rbmk_rod;
|
||||
public static Block rbmk_control;
|
||||
@ -1377,7 +1379,7 @@ public class ModBlocks {
|
||||
|
||||
fence_metal = new BlockMetalFence(Material.iron).setBlockName("fence_metal").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":fence_metal");
|
||||
|
||||
ash_digamma = new BlockFalling(Material.sand).setBlockName("ash_digamma").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setResistance(150.0F).setBlockTextureName(RefStrings.MODID + ":ash_digamma");
|
||||
ash_digamma = new BlockAshes(Material.sand).setBlockName("ash_digamma").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setResistance(150.0F).setBlockTextureName(RefStrings.MODID + ":ash_digamma");
|
||||
sand_boron = new BlockFalling(Material.sand).setBlockName("sand_boron").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_boron");
|
||||
sand_lead = new BlockFalling(Material.sand).setBlockName("sand_lead").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_lead");
|
||||
sand_uranium = new BlockFalling(Material.sand).setBlockName("sand_uranium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_uranium");
|
||||
@ -1387,6 +1389,7 @@ public class ModBlocks {
|
||||
glass_uranium = new BlockNTMGlass(1, RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F);
|
||||
glass_trinitite = new BlockNTMGlass(1, RefStrings.MODID + ":glass_trinitite", Material.glass).setBlockName("glass_trinitite").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F);
|
||||
glass_polonium = new BlockNTMGlass(1, RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F);
|
||||
glass_ash = new BlockNTMGlass(1, RefStrings.MODID + ":glass_ash", Material.glass).setBlockName("glass_ash").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(3F);
|
||||
|
||||
mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush");
|
||||
mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin");
|
||||
@ -1731,6 +1734,7 @@ public class ModBlocks {
|
||||
turret_richard = new TurretRichard(Material.iron).setBlockName("turret_richard").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_howard = new TurretHoward(Material.iron).setBlockName("turret_howard").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_maxwell = new TurretMaxwell(Material.iron).setBlockName("turret_maxwell").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
rbmk_rod = new RBMKRod().setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element");
|
||||
rbmk_control = new RBMKControl().setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control");
|
||||
@ -2329,6 +2333,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(turret_richard, turret_richard.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_howard, turret_howard.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_maxwell, turret_maxwell.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_fritz, turret_fritz.getUnlocalizedName());
|
||||
|
||||
//Mines
|
||||
GameRegistry.registerBlock(mine_ap, mine_ap.getUnlocalizedName());
|
||||
@ -2387,6 +2392,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(glass_uranium, glass_uranium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(glass_trinitite, glass_trinitite.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(glass_polonium, glass_polonium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(glass_ash, glass_ash.getUnlocalizedName());
|
||||
|
||||
//Silo Hatch
|
||||
GameRegistry.registerBlock(seal_frame, seal_frame.getUnlocalizedName());
|
||||
|
||||
45
src/main/java/com/hbm/blocks/generic/BlockAshes.java
Normal file
@ -0,0 +1,45 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.util.ArmorUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockFalling;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockAshes extends BlockFalling {
|
||||
|
||||
public BlockAshes(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
public static int ashes = 0;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) {
|
||||
super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_);
|
||||
|
||||
if(p_149734_5_.nextInt(25) == 0) {
|
||||
|
||||
if(ArmorUtil.checkArmorPiece(MainRegistry.proxy.me(), ModItems.ashglasses, 3)) {
|
||||
if(ashes < 256 * 0.25) {
|
||||
ashes++;
|
||||
}
|
||||
} else if(ArmorUtil.checkForGoggles(MainRegistry.proxy.me())) {
|
||||
if(ashes < 256 * 0.75) {
|
||||
ashes++;
|
||||
}
|
||||
} else {
|
||||
if(ashes < 256 * 0.95) {
|
||||
ashes++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
src/main/java/com/hbm/blocks/turret/TurretFritz.java
Normal file
@ -0,0 +1,32 @@
|
||||
package com.hbm.blocks.turret;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretFritz;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TurretFritz extends TurretBaseNT {
|
||||
|
||||
public TurretFritz(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= 12)
|
||||
return new TileEntityTurretFritz();
|
||||
return new TileEntityProxyCombo(true, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openGUI(World world, EntityPlayer player, int x, int y, int z) {
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_fritz, world, x, y, z);
|
||||
}
|
||||
}
|
||||
@ -137,7 +137,8 @@ public class ArmorRecipes {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_mask_m65, 1), new Object[] { "PPP", "GPG", " F ", 'G', "paneGlass", 'P', ModItems.plate_polymer, 'F', ModItems.gas_mask_filter }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_mask_mono, 1), new Object[] { " P ", "PPP", " F ", 'P', ModItems.plate_polymer, 'F', ModItems.gas_mask_filter_mono }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mask_of_infamy, 1), new Object[] { "III", "III", " I ", 'I', "plateIron" }));
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ashglasses, 1), new Object[] { "I I", "GPG", 'I', ModItems.plate_polymer, 'G', ModBlocks.glass_ash, 'P', ModItems.ingot_polymer });
|
||||
|
||||
//Capes
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.cape_radiation, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 11), 'D', new ItemStack(Items.dye, 1, 11), 'I', ModItems.nuclear_waste });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.cape_gasmask, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 4), 'D', new ItemStack(Items.dye, 1, 0), 'I', ModItems.gas_mask });
|
||||
|
||||
@ -257,6 +257,9 @@ public class WeaponRecipes {
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50bmg_du, 'A', ModItems.ingot_starmetal });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_chlorophyte, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.pellet_chlorophyte });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_sleek, 64), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.coin_maskman });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_flechette, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50bmg, 'A', ModItems.pellet_flechette });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_flechette_am, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50bmg, 'A', ModItems.nugget_am_mix });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_flechette_po, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.powder_polonium });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_dura_steel });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_u238 });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50ae_du, 'A', ModItems.ingot_starmetal });
|
||||
|
||||
@ -97,6 +97,9 @@ public class BulletConfigSyncingUtil {
|
||||
public static int BMG50_STAR = i++;
|
||||
public static int BMG50_PHOSPHORUS = i++;
|
||||
public static int BMG50_SLEEK = i++;
|
||||
public static int BMG50_FLECHETTE_NORMAL = i++;
|
||||
public static int BMG50_FLECHETTE_AM = i++;
|
||||
public static int BMG50_FLECHETTE_PO = i++;
|
||||
|
||||
public static int R5_NORMAL = i++;
|
||||
public static int R5_EXPLOSIVE = i++;
|
||||
@ -191,6 +194,7 @@ public class BulletConfigSyncingUtil {
|
||||
public static int SHELL_DU = i++;
|
||||
public static int SHELL_W9 = i++;
|
||||
public static int DGK_NORMAL = i++;
|
||||
public static int FLA_NORMAL = i++;
|
||||
|
||||
public static int NUKE_NORMAL = i++;
|
||||
public static int NUKE_LOW = i++;
|
||||
@ -326,6 +330,9 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.put(BMG50_DU, Gun50BMGFactory.get50BMGDUConfig());
|
||||
configSet.put(BMG50_STAR, Gun50BMGFactory.get50BMGStarConfig());
|
||||
configSet.put(BMG50_SLEEK, Gun50BMGFactory.get50BMGSleekConfig());
|
||||
configSet.put(BMG50_FLECHETTE_NORMAL, Gun50BMGFactory.get50BMGFlechetteConfig());
|
||||
configSet.put(BMG50_FLECHETTE_AM, Gun50BMGFactory.get50BMGFlechetteAMConfig());
|
||||
configSet.put(BMG50_FLECHETTE_PO, Gun50BMGFactory.get50BMGFlechettePOConfig());
|
||||
|
||||
configSet.put(R5_NORMAL, Gun5mmFactory.get5mmConfig());
|
||||
configSet.put(R5_EXPLOSIVE, Gun5mmFactory.get5mmExplosiveConfig());
|
||||
@ -420,6 +427,7 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.put(SHELL_DU, GunCannonFactory.getShellDUConfig());
|
||||
configSet.put(SHELL_W9, GunCannonFactory.getShellW9Config());
|
||||
configSet.put(DGK_NORMAL, GunDGKFactory.getDGKConfig());
|
||||
configSet.put(FLA_NORMAL, GunEnergyFactory.getTurretConfig());
|
||||
|
||||
configSet.put(NUKE_NORMAL, GunFatmanFactory.getNukeConfig());
|
||||
configSet.put(NUKE_LOW, GunFatmanFactory.getNukeLowConfig());
|
||||
|
||||
@ -849,6 +849,13 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_fritz: {
|
||||
if(entity instanceof TileEntityTurretFritz) {
|
||||
return new ContainerTurretBase(player.inventory, (TileEntityTurretFritz) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// NON-TE CONTAINERS
|
||||
|
||||
@ -1684,6 +1691,13 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_fritz: {
|
||||
if(entity instanceof TileEntityTurretFritz) {
|
||||
return new GUITurretFritz(player.inventory, (TileEntityTurretFritz) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// ITEM GUIS
|
||||
|
||||
|
||||
@ -298,7 +298,7 @@ public class BulletConfigFactory {
|
||||
}
|
||||
}
|
||||
|
||||
public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration, final int count, final double motion) {
|
||||
public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration, final int count, final double motion, float hazeChance) {
|
||||
|
||||
IBulletImpactBehavior impact = new IBulletImpactBehavior() {
|
||||
|
||||
@ -328,6 +328,12 @@ public class BulletConfigFactory {
|
||||
data.setDouble("motion", motion);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50));
|
||||
|
||||
if(bullet.worldObj.rand.nextFloat() < hazeChance) {
|
||||
NBTTagCompound haze = new NBTTagCompound();
|
||||
haze.setString("type", "haze");
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 150));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -13,9 +13,13 @@ import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.ContaminationUtil.ContaminationType;
|
||||
import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
|
||||
@ -92,6 +96,44 @@ public class Gun50BMGFactory {
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getAR15Config() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
|
||||
config.rateOfFire = 1;
|
||||
config.roundsPerCycle = 1;
|
||||
config.gunMode = GunConfiguration.MODE_NORMAL;
|
||||
config.firingMode = GunConfiguration.FIRE_AUTO;
|
||||
config.reloadDuration = 20;
|
||||
config.firingDuration = 0;
|
||||
config.ammoCap = 50;
|
||||
config.reloadType = GunConfiguration.RELOAD_FULL;
|
||||
config.allowsInfinity = true;
|
||||
config.crosshair = Crosshair.NONE;
|
||||
config.durability = 100000;
|
||||
config.reloadSound = GunConfiguration.RSOUND_MAG;
|
||||
config.firingSound = "hbm:turret.howard_fire";
|
||||
|
||||
config.name = "AR-15 .50 BMG Mod";
|
||||
config.manufacturer = "Armalite";
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_AM);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_PO);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_INCENDIARY);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_BMG50);
|
||||
config.config.add(BulletConfigSyncingUtil.BMG50_SLEEK);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
static float inaccuracy = 2.5F;
|
||||
public static BulletConfiguration get50BMGConfig() {
|
||||
|
||||
@ -174,8 +216,8 @@ public class Gun50BMGFactory {
|
||||
|
||||
bullet.ammo = ModItems.ammo_50bmg_ap;
|
||||
bullet.spread *= inaccuracy;
|
||||
bullet.dmgMin = 30;
|
||||
bullet.dmgMax = 25;
|
||||
bullet.dmgMin = 25;
|
||||
bullet.dmgMax = 30;
|
||||
bullet.wear = 15;
|
||||
bullet.leadChance = 10;
|
||||
|
||||
@ -259,5 +301,68 @@ public class Gun50BMGFactory {
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration get50BMGFlechetteConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_50bmg_flechette;
|
||||
bullet.spread *= inaccuracy;
|
||||
bullet.dmgMin = 20;
|
||||
bullet.dmgMax = 25;
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration get50BMGFlechetteAMConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_50bmg_flechette_am;
|
||||
bullet.spread *= inaccuracy;
|
||||
bullet.dmgMin = 50;
|
||||
bullet.dmgMax = 65;
|
||||
|
||||
bullet.bHit = new IBulletHitBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveEntityHit(EntityBulletBase bullet, Entity hit) {
|
||||
|
||||
if(bullet.worldObj.isRemote)
|
||||
return;
|
||||
|
||||
if(hit instanceof EntityLivingBase) {
|
||||
ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 100F);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration get50BMGFlechettePOConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_50bmg_flechette_po;
|
||||
bullet.spread *= inaccuracy;
|
||||
bullet.dmgMin = 30;
|
||||
bullet.dmgMax = 40;
|
||||
|
||||
bullet.bHit = new IBulletHitBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveEntityHit(EntityBulletBase bullet, Entity hit) {
|
||||
|
||||
if(bullet.worldObj.isRemote)
|
||||
return;
|
||||
|
||||
if(hit instanceof EntityLivingBase) {
|
||||
ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 50F);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
}
|
||||
|
||||
@ -259,7 +259,7 @@ public class GunEnergyFactory {
|
||||
bullet.maxAge = 200;
|
||||
bullet.vPFX = "smoke";
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25);
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25, 0.1F);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
@ -586,4 +586,11 @@ public class GunEnergyFactory {
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getTurretConfig() {
|
||||
BulletConfiguration bullet = getFlameConfig();
|
||||
bullet.spread *= 2F;
|
||||
bullet.gravity = 0.0025D;
|
||||
return bullet;
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,7 +107,7 @@ public class GunGrenadeFactory {
|
||||
bullet.trail = 0;
|
||||
bullet.incendiary = 2;
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D);
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
@ -355,7 +355,7 @@ public class GunRocketFactory {
|
||||
bullet.incendiary = 5;
|
||||
bullet.trail = 9;
|
||||
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D);
|
||||
bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F);
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
@ -39,6 +39,9 @@ public class AnvilRecipes {
|
||||
smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_steel, 1),
|
||||
new ComparableStack(anvil), new OreDictStack("ingotSteel", 10)));
|
||||
}
|
||||
|
||||
smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModItems.gun_ar15, 1),
|
||||
new ComparableStack(ModItems.gun_thompson), new ComparableStack(ModItems.pipe_lead)));
|
||||
}
|
||||
|
||||
public static List<AnvilSmithingRecipe> getSmithing() {
|
||||
|
||||
@ -692,6 +692,17 @@ public class AssemblerRecipes {
|
||||
new ComparableStack(ModItems.magnetron, 16),
|
||||
new ComparableStack(ModItems.ingot_tcalloy, 8)
|
||||
}, 200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.turret_fritz, 1), new AStack[] {
|
||||
new ComparableStack(ModBlocks.machine_battery, 1),
|
||||
new OreDictStack("ingotSteel", 16),
|
||||
new ComparableStack(ModItems.ingot_dura_steel, 4),
|
||||
new ComparableStack(ModItems.motor, 3),
|
||||
new ComparableStack(ModItems.circuit_targeting_tier3, 1),
|
||||
new ComparableStack(ModItems.pipes_steel, 1),
|
||||
new ComparableStack(ModItems.mechanism_launcher_1, 1),
|
||||
new ComparableStack(ModBlocks.barrel_steel, 1)
|
||||
}, 200);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_silex, 1), new AStack[] {
|
||||
new ComparableStack(Blocks.glass, 12),
|
||||
new ComparableStack(ModItems.motor, 2),
|
||||
|
||||
@ -288,11 +288,15 @@ public class OreDictManager {
|
||||
OreDictionary.registerOre("stairWood", ModBlocks.pink_stairs);
|
||||
OreDictionary.registerOre("stairWoodPink", ModBlocks.pink_stairs);
|
||||
|
||||
OreDictionary.registerOre("blockGlass", ModBlocks.glass_boron);
|
||||
OreDictionary.registerOre("blockGlass", ModBlocks.glass_lead);
|
||||
OreDictionary.registerOre("blockGlass", ModBlocks.glass_uranium);
|
||||
OreDictionary.registerOre("blockGlass", ModBlocks.glass_trinitite);
|
||||
OreDictionary.registerOre("blockGlass", ModBlocks.glass_polonium);
|
||||
OreDictionary.registerOre("blockGlass", ModBlocks.glass_ash);
|
||||
OreDictionary.registerOre("blockGlassYellow", ModBlocks.glass_uranium);
|
||||
OreDictionary.registerOre("blockGlassLime", ModBlocks.glass_trinitite);
|
||||
OreDictionary.registerOre("blockGlassRed", ModBlocks.glass_polonium);
|
||||
OreDictionary.registerOre("blockGlassBlack", ModBlocks.glass_ash);
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,17 +47,17 @@ public class GUIScreenSatCoord extends GuiScreen {
|
||||
this.xField.setTextColor(-1);
|
||||
this.xField.setDisabledTextColour(-1);
|
||||
this.xField.setEnableBackgroundDrawing(false);
|
||||
this.xField.setMaxStringLength(5);
|
||||
this.xField.setMaxStringLength(7);
|
||||
this.yField = new GuiTextField(this.fontRendererObj, guiLeft + 66, guiTop + 56, 48, 12);
|
||||
this.yField.setTextColor(-1);
|
||||
this.yField.setDisabledTextColour(-1);
|
||||
this.yField.setEnableBackgroundDrawing(false);
|
||||
this.yField.setMaxStringLength(5);
|
||||
this.yField.setMaxStringLength(7);
|
||||
this.zField = new GuiTextField(this.fontRendererObj, guiLeft + 66, guiTop + 92, 48, 12);
|
||||
this.zField.setTextColor(-1);
|
||||
this.zField.setDisabledTextColour(-1);
|
||||
this.zField.setEnableBackgroundDrawing(false);
|
||||
this.zField.setMaxStringLength(5);
|
||||
this.zField.setMaxStringLength(7);
|
||||
}
|
||||
|
||||
protected void mouseClicked(int i, int j, int k)
|
||||
|
||||
@ -23,9 +23,9 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public abstract class GUITurretBase extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_turret_base.png");
|
||||
private TileEntityTurretBaseNT turret;
|
||||
private GuiTextField field;
|
||||
protected static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_turret_base.png");
|
||||
protected TileEntityTurretBaseNT turret;
|
||||
protected GuiTextField field;
|
||||
int index;
|
||||
|
||||
public GUITurretBase(InventoryPlayer invPlayer, TileEntityTurretBaseNT tedf) {
|
||||
|
||||
40
src/main/java/com/hbm/inventory/gui/GUITurretFritz.java
Normal file
@ -0,0 +1,40 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretBaseNT;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretFritz;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUITurretFritz extends GUITurretBase {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_turret_fritz.png");
|
||||
|
||||
public GUITurretFritz(InventoryPlayer invPlayer, TileEntityTurretBaseNT tedf) {
|
||||
super(invPlayer, tedf);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
((TileEntityTurretFritz)this.turret).tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 63, 7, 52);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int mX, int mY) {
|
||||
super.drawGuiContainerBackgroundLayer(p_146976_1_, mX, mY);
|
||||
|
||||
FluidTank tank = ((TileEntityTurretFritz)this.turret).tank;
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(tank.getSheet());
|
||||
tank.renderTank(this, guiLeft + 134, guiTop + 116, tank.getTankType().textureX() * FluidTank.x, tank.getTankType().textureY() * FluidTank.y, 7, 52);
|
||||
}
|
||||
|
||||
protected ResourceLocation getTexture() {
|
||||
return texture;
|
||||
}
|
||||
}
|
||||
@ -1400,6 +1400,9 @@ public class ModItems {
|
||||
public static Item ammo_50bmg_du;
|
||||
public static Item ammo_50bmg_star;
|
||||
public static Item ammo_50bmg_chlorophyte;
|
||||
public static Item ammo_50bmg_flechette;
|
||||
public static Item ammo_50bmg_flechette_am;
|
||||
public static Item ammo_50bmg_flechette_po;
|
||||
public static Item ammo_50bmg_sleek;
|
||||
public static Item ammo_75bolt;
|
||||
public static Item ammo_75bolt_incendiary;
|
||||
@ -1495,6 +1498,7 @@ public class ModItems {
|
||||
public static Item gun_revolver_nopip_ammo;
|
||||
public static Item gun_deagle;
|
||||
public static Item gun_flechette;
|
||||
public static Item gun_ar15;
|
||||
public static Item gun_calamity;
|
||||
public static Item gun_calamity_dual;
|
||||
public static Item gun_calamity_ammo;
|
||||
@ -1803,6 +1807,7 @@ public class ModItems {
|
||||
public static Item euphemium_stopper;
|
||||
|
||||
public static Item goggles;
|
||||
public static Item ashglasses;
|
||||
public static Item gas_mask;
|
||||
public static Item gas_mask_m65;
|
||||
public static Item gas_mask_mono;
|
||||
@ -3323,21 +3328,21 @@ public class ModItems {
|
||||
rbmk_fuel_empty = new Item().setUnlocalizedName("rbmk_fuel_empty").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_fuel_empty");
|
||||
rbmk_fuel_ueu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ueu)
|
||||
.setYield(100000000D)
|
||||
.setStats(75)
|
||||
.setStats(15)
|
||||
.setFunction(EnumBurnFunc.PLATEU)
|
||||
.setMeltingPoint(2865)
|
||||
.addRadiation(ItemHazard.u * ItemHazard.rod_rbmk).toItem()
|
||||
.setUnlocalizedName("rbmk_fuel_ueu").setTextureName(RefStrings.MODID + ":rbmk_fuel_ueu");
|
||||
rbmk_fuel_meu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_meu)
|
||||
.setYield(100000000D)
|
||||
.setStats(150)
|
||||
.setStats(20)
|
||||
.setFunction(EnumBurnFunc.LOG_TEN)
|
||||
.setMeltingPoint(2865)
|
||||
.addRadiation(ItemHazard.uf * ItemHazard.rod_rbmk).toItem()
|
||||
.setUnlocalizedName("rbmk_fuel_meu").setTextureName(RefStrings.MODID + ":rbmk_fuel_meu");
|
||||
rbmk_fuel_heu233 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heu233)
|
||||
.setYield(100000000D)
|
||||
.setStats(215)
|
||||
.setStats(50)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(1.25D)
|
||||
.setMeltingPoint(2865)
|
||||
@ -3345,27 +3350,28 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_heu233").setTextureName(RefStrings.MODID + ":rbmk_fuel_heu233");
|
||||
rbmk_fuel_heu235 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heu235)
|
||||
.setYield(100000000D)
|
||||
.setStats(200)
|
||||
.setStats(40)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setMeltingPoint(2865)
|
||||
.addRadiation(ItemHazard.u233 * ItemHazard.rod_rbmk).toItem()
|
||||
.setUnlocalizedName("rbmk_fuel_heu235").setTextureName(RefStrings.MODID + ":rbmk_fuel_heu235");
|
||||
rbmk_fuel_thmeu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_thmeu)
|
||||
.setYield(100000000D)
|
||||
.setStats(75)
|
||||
.setFunction(EnumBurnFunc.LOG_TEN)
|
||||
.setStats(10)
|
||||
.setFunction(EnumBurnFunc.PLATEU)
|
||||
.setMeltingPoint(3350)
|
||||
.addRadiation(ItemHazard.thf * ItemHazard.rod_rbmk).toItem()
|
||||
.setUnlocalizedName("rbmk_fuel_thmeu").setTextureName(RefStrings.MODID + ":rbmk_fuel_thmeu");
|
||||
rbmk_fuel_lep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lep)
|
||||
.setYield(100000000D)
|
||||
.setStats(200)
|
||||
.setStats(35)
|
||||
.setFunction(EnumBurnFunc.LOG_TEN)
|
||||
.setMeltingPoint(2744)
|
||||
.addRadiation(ItemHazard.puf * ItemHazard.rod_rbmk).toItem()
|
||||
.setUnlocalizedName("rbmk_fuel_lep").setTextureName(RefStrings.MODID + ":rbmk_fuel_lep");
|
||||
rbmk_fuel_mep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mep)
|
||||
.setYield(100000000D)
|
||||
.setStats(215, 20)
|
||||
.setStats(35, 20)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(1.25D)
|
||||
.setMeltingPoint(2744)
|
||||
@ -3373,7 +3379,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_mep").setTextureName(RefStrings.MODID + ":rbmk_fuel_mep");
|
||||
rbmk_fuel_hep239 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hep239)
|
||||
.setYield(100000000D)
|
||||
.setStats(250)
|
||||
.setStats(30)
|
||||
.setFunction(EnumBurnFunc.LINEAR)
|
||||
.setHeat(1.5D)
|
||||
.setMeltingPoint(2744)
|
||||
@ -3381,7 +3387,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_hep").setTextureName(RefStrings.MODID + ":rbmk_fuel_hep");
|
||||
rbmk_fuel_hep241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hep241)
|
||||
.setYield(100000000D)
|
||||
.setStats(280)
|
||||
.setStats(40)
|
||||
.setFunction(EnumBurnFunc.LINEAR)
|
||||
.setHeat(1.75D)
|
||||
.setMeltingPoint(2744)
|
||||
@ -3389,7 +3395,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_hep241").setTextureName(RefStrings.MODID + ":rbmk_fuel_hep241");
|
||||
rbmk_fuel_lea = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lea)
|
||||
.setYield(100000000D)
|
||||
.setStats(250, 10)
|
||||
.setStats(60, 10)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(1.5D)
|
||||
.setMeltingPoint(2386)
|
||||
@ -3397,7 +3403,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_lea").setTextureName(RefStrings.MODID + ":rbmk_fuel_lea");
|
||||
rbmk_fuel_mea = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mea)
|
||||
.setYield(100000000D)
|
||||
.setStats(275, 20)
|
||||
.setStats(0.35D, 20)
|
||||
.setFunction(EnumBurnFunc.ARCH)
|
||||
.setHeat(1.75D)
|
||||
.setMeltingPoint(2386)
|
||||
@ -3405,7 +3411,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_mea").setTextureName(RefStrings.MODID + ":rbmk_fuel_mea");
|
||||
rbmk_fuel_hea242 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hea242)
|
||||
.setYield(100000000D)
|
||||
.setStats(300)
|
||||
.setStats(45)
|
||||
.setFunction(EnumBurnFunc.LINEAR)
|
||||
.setHeat(2D)
|
||||
.setMeltingPoint(2386)
|
||||
@ -3413,7 +3419,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_hea242").setTextureName(RefStrings.MODID + ":rbmk_fuel_hea242");
|
||||
rbmk_fuel_men = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_men)
|
||||
.setYield(100000000D)
|
||||
.setStats(175)
|
||||
.setStats(45)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setMeltingPoint(2800)
|
||||
.setNeutronTypes(NType.FAST, NType.FAST)
|
||||
@ -3421,7 +3427,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_men").setTextureName(RefStrings.MODID + ":rbmk_fuel_men");
|
||||
rbmk_fuel_mox = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mox)
|
||||
.setYield(100000000D)
|
||||
.setStats(130)
|
||||
.setStats(40)
|
||||
.setFunction(EnumBurnFunc.LOG_TEN)
|
||||
.setHeat(1.5D)
|
||||
.setMeltingPoint(2815)
|
||||
@ -3429,7 +3435,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_mox").setTextureName(RefStrings.MODID + ":rbmk_fuel_mox");
|
||||
rbmk_fuel_les = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_les)
|
||||
.setYield(100000000D)
|
||||
.setStats(150)
|
||||
.setStats(50)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(1.25D)
|
||||
.setMeltingPoint(2500)
|
||||
@ -3437,7 +3443,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_les").setTextureName(RefStrings.MODID + ":rbmk_fuel_les");
|
||||
rbmk_fuel_mes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mes)
|
||||
.setYield(100000000D)
|
||||
.setStats(200)
|
||||
.setStats(0.75D)
|
||||
.setFunction(EnumBurnFunc.ARCH)
|
||||
.setHeat(1.5D)
|
||||
.setMeltingPoint(2750)
|
||||
@ -3445,7 +3451,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_mes").setTextureName(RefStrings.MODID + ":rbmk_fuel_mes");
|
||||
rbmk_fuel_hes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hes)
|
||||
.setYield(100000000D)
|
||||
.setStats(250)
|
||||
.setStats(90)
|
||||
.setFunction(EnumBurnFunc.LINEAR)
|
||||
.setHeat(1.75D)
|
||||
.setMeltingPoint(3000)
|
||||
@ -3453,19 +3459,19 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_hes").setTextureName(RefStrings.MODID + ":rbmk_fuel_hes");
|
||||
rbmk_fuel_leaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_leaus)
|
||||
.setYield(100000000D)
|
||||
.setStats(100)
|
||||
.setStats(30)
|
||||
.setFunction(EnumBurnFunc.SIGMOID)
|
||||
.setHeat(1.5D)
|
||||
.setMeltingPoint(7029).setUnlocalizedName("rbmk_fuel_leaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_leaus");
|
||||
rbmk_fuel_heaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heaus)
|
||||
.setYield(100000000D)
|
||||
.setStats(100)
|
||||
.setStats(35)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(2D)
|
||||
.setMeltingPoint(5211).setUnlocalizedName("rbmk_fuel_heaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_heaus");
|
||||
rbmk_fuel_po210be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_po210be)
|
||||
.setYield(100000000D)
|
||||
.setStats(20, 40)
|
||||
.setYield(1000000D)
|
||||
.setStats(15, 40)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(0.1D)
|
||||
.setDiffusion(0.05D)
|
||||
@ -3474,7 +3480,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_po210be").setTextureName(RefStrings.MODID + ":rbmk_fuel_po210be");
|
||||
rbmk_fuel_ra226be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ra226be)
|
||||
.setYield(100000000D)
|
||||
.setStats(0D, 40)
|
||||
.setStats(0D, 20)
|
||||
.setFunction(EnumBurnFunc.PASSIVE)
|
||||
.setHeat(0.05D)
|
||||
.setDiffusion(0.5D)
|
||||
@ -3482,8 +3488,8 @@ public class ModItems {
|
||||
.addRadiation(ItemHazard.rabe * ItemHazard.rod_rbmk).toItem()
|
||||
.setUnlocalizedName("rbmk_fuel_ra226be").setTextureName(RefStrings.MODID + ":rbmk_fuel_ra226be");
|
||||
rbmk_fuel_pu238be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_pu238be)
|
||||
.setYield(100000000D)
|
||||
.setStats(40, 35)
|
||||
.setYield(10000000D)
|
||||
.setStats(10, 50)
|
||||
.setFunction(EnumBurnFunc.SQUARE_ROOT)
|
||||
.setHeat(0.1D)
|
||||
.setDiffusion(0.05D)
|
||||
@ -3499,7 +3505,7 @@ public class ModItems {
|
||||
.setUnlocalizedName("rbmk_fuel_balefire_gold").setTextureName(RefStrings.MODID + ":rbmk_fuel_balefire_gold");
|
||||
rbmk_fuel_balefire = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_balefire)
|
||||
.setYield(100000000D)
|
||||
.setStats(300, 35)
|
||||
.setStats(100, 35)
|
||||
.setFunction(EnumBurnFunc.LINEAR)
|
||||
.setHeat(3D)
|
||||
.setMeltingPoint(3652)
|
||||
@ -3847,6 +3853,9 @@ public class ModItems {
|
||||
ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_du");
|
||||
ammo_50bmg_star = new ItemAmmo().setUnlocalizedName("ammo_50bmg_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_star");
|
||||
ammo_50bmg_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50bmg_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_chlorophyte");
|
||||
ammo_50bmg_flechette = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_flechette");
|
||||
ammo_50bmg_flechette_am = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_am").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_flechette_am");
|
||||
ammo_50bmg_flechette_po = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_po").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_flechette_po");
|
||||
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");
|
||||
@ -3956,6 +3965,7 @@ public class ModItems {
|
||||
gun_revolver_red = new ItemGunBase(Gun44MagnumFactory.getRedConfig()).setUnlocalizedName("gun_revolver_red").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_red");
|
||||
gun_deagle = new ItemGunBase(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_deagle").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_deagle");
|
||||
gun_flechette = new ItemGunBase(Gun556mmFactory.getSPIWConfig(), Gun556mmFactory.getGLauncherConfig()).setUnlocalizedName("gun_flechette").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flechette");
|
||||
gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15");
|
||||
gun_calamity_ammo = new ItemCustomLore().setUnlocalizedName("gun_calamity_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_calamity_ammo");
|
||||
gun_calamity = new ItemGunBase(Gun50BMGFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity");
|
||||
gun_calamity_dual = new ItemGunBase(Gun50BMGFactory.getSaddleConfig()).setUnlocalizedName("gun_calamity_dual").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity_dual");
|
||||
@ -4418,6 +4428,7 @@ public class ModItems {
|
||||
euphemium_boots = new ArmorEuphemium(MainRegistry.aMatEuph, 6, 3).setUnlocalizedName("euphemium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_boots");
|
||||
|
||||
goggles = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("goggles").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":goggles");
|
||||
ashglasses = new ArmorAshGlasses(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("ashglasses").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ashglasses");
|
||||
gas_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("gas_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask");
|
||||
gas_mask_m65 = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("gas_mask_m65").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_m65");
|
||||
gas_mask_mono = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("gas_mask_mono").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_mono");
|
||||
@ -6523,6 +6534,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(gun_revolver_red, gun_revolver_red.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_deagle, gun_deagle.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_flechette, gun_flechette.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_ar15, gun_ar15.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_calamity, gun_calamity.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_calamity_dual, gun_calamity_dual.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName());
|
||||
@ -6704,6 +6716,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ammo_50bmg_du, ammo_50bmg_du.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_50bmg_star, ammo_50bmg_star.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_50bmg_chlorophyte, ammo_50bmg_chlorophyte.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_50bmg_flechette, ammo_50bmg_flechette.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_50bmg_flechette_am, ammo_50bmg_flechette_am.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_50bmg_flechette_po, ammo_50bmg_flechette_po.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());
|
||||
@ -7203,6 +7218,7 @@ public class ModItems {
|
||||
|
||||
//Conventional Armor
|
||||
GameRegistry.registerItem(goggles, goggles.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ashglasses, ashglasses.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gas_mask, gas_mask.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gas_mask_m65, gas_mask_m65.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gas_mask_mono, gas_mask_mono.getUnlocalizedName());
|
||||
|
||||
34
src/main/java/com/hbm/items/armor/ArmorAshGlasses.java
Normal file
@ -0,0 +1,34 @@
|
||||
package com.hbm.items.armor;
|
||||
|
||||
import com.hbm.render.model.ModelGlasses;
|
||||
|
||||
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.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ArmorAshGlasses extends ItemArmor {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private ModelGlasses modelGoggles;
|
||||
|
||||
public ArmorAshGlasses(ArmorMaterial armorMaterial, int renderIndex, int armorType) {
|
||||
super(armorMaterial, renderIndex, armorType);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
ModelGlasses model;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
|
||||
|
||||
if(model == null) {
|
||||
model = new ModelGlasses(0);
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
||||
@ -24,11 +24,14 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Chemical Plant:");
|
||||
list.add("Delay -25 / Consumption +300");
|
||||
list.add("");
|
||||
list.add("Crystallizer");
|
||||
list.add("Crystallizer:");
|
||||
list.add("Delay -10% / Consumption +1000");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("Speed x2");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Damage +0.25/t");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_speed_2)
|
||||
@ -42,11 +45,14 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Chemical Plant:");
|
||||
list.add("Delay -50 / Consumption +600");
|
||||
list.add("");
|
||||
list.add("Crystallizer");
|
||||
list.add("Crystallizer:");
|
||||
list.add("Delay -20% / Consumption +2000");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("Speed x3");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Damage +0.5/t");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_speed_3)
|
||||
@ -65,6 +71,9 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Speed x4");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Damage +0.75/t");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_effect_1)
|
||||
@ -72,11 +81,14 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Mining Drill:");
|
||||
list.add("Radius +1 / Consumption +80");
|
||||
list.add("");
|
||||
list.add("Crystallizer");
|
||||
list.add("Crystallizer:");
|
||||
list.add("+5% chance of not consuming an item / Acid consumption +1000mB");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("-50% chance of incrementing overheat counter");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Range +3m");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_effect_2)
|
||||
@ -84,11 +96,14 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Mining Drill:");
|
||||
list.add("Radius +2 / Consumption +160");
|
||||
list.add("");
|
||||
list.add("Crystallizer");
|
||||
list.add("Crystallizer:");
|
||||
list.add("+10% chance of not consuming an item / Acid consumption +2000mB");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("-66% chance of incrementing overheat counter");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Range +6m");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_effect_3)
|
||||
@ -96,11 +111,14 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Mining Drill:");
|
||||
list.add("Radius +3 / Consumption +240");
|
||||
list.add("");
|
||||
list.add("Crystallizer");
|
||||
list.add("Crystallizer:");
|
||||
list.add("+15% chance of not consuming an item / Acid consumption +3000mB");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("-75% chance of incrementing overheat counter");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Range +9m");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_power_1)
|
||||
@ -114,8 +132,12 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Chemical Plant:");
|
||||
list.add("Consumption -30 / Delay +5");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("Consumption -100k");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Consumption -150");
|
||||
list.add("Consumption when firing -1500");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_power_2)
|
||||
@ -129,8 +151,12 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Chemical Plant:");
|
||||
list.add("Consumption -60 / Delay +10");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("Consumption -200k");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Consumption -300");
|
||||
list.add("Consumption when firing -3000");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_power_3)
|
||||
@ -144,8 +170,12 @@ public class ItemMachineUpgrade extends Item {
|
||||
list.add("Chemical Plant:");
|
||||
list.add("Consumption -90 / Delay +15");
|
||||
list.add("");
|
||||
list.add("Cyclotron");
|
||||
list.add("Cyclotron:");
|
||||
list.add("Consumption -300k");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Consumption -450");
|
||||
list.add("Consumption when firing -4500");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_fortune_1)
|
||||
@ -170,18 +200,27 @@ public class ItemMachineUpgrade extends Item {
|
||||
{
|
||||
list.add("Turbofan:");
|
||||
list.add("Production x2 / Consumption x2.5");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Afterburn +3s");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_afterburn_2)
|
||||
{
|
||||
list.add("Turbofan:");
|
||||
list.add("Production x3 / Consumption x5");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Afterburn +6s");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_afterburn_3)
|
||||
{
|
||||
list.add("Turbofan:");
|
||||
list.add("Production x4 / Consumption x7.5");
|
||||
list.add("");
|
||||
list.add("Maxwell:");
|
||||
list.add("Afterburn +9s");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_radius)
|
||||
|
||||
@ -293,6 +293,19 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
if(this == ModItems.ammo_50bmg_flechette) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
}
|
||||
if(this == ModItems.ammo_50bmg_flechette_am) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
|
||||
list.add(EnumChatFormatting.GREEN + "+ Highly Radioactive");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Yes.");
|
||||
}
|
||||
if(this == ModItems.ammo_50bmg_flechette_po) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.GREEN + "+ Highly Radioactive");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Maybe?");
|
||||
}
|
||||
|
||||
//.50 AE
|
||||
if(this == ModItems.ammo_50ae_ap) {
|
||||
|
||||
@ -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 (3913)";
|
||||
public static final String VERSION = "1.0.27 BETA (3920)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -133,6 +133,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretRichard.class, new RenderTurretRichard());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHoward.class, new RenderTurretHoward());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretMaxwell.class, new RenderTurretMaxwell());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFritz.class, new RenderTurretFritz());
|
||||
//mines
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine());
|
||||
//cel prime
|
||||
@ -349,6 +350,7 @@ public class ClientProxy extends ServerProxy {
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter, new ItemRenderWeaponBolter());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15());
|
||||
//multitool
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool());
|
||||
@ -1191,6 +1193,12 @@ public class ClientProxy extends ServerProxy {
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(cloud);
|
||||
}
|
||||
|
||||
if("haze".equals(type)) {
|
||||
|
||||
ParticleHaze fog = new ParticleHaze(man, world, x, y, z);
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(fog);
|
||||
}
|
||||
|
||||
if("plasmablast".equals(type)) {
|
||||
|
||||
ParticlePlasmaBlast cloud = new ParticlePlasmaBlast(man, world, x, y, z, data.getFloat("r"), data.getFloat("g"), data.getFloat("b"), data.getFloat("pitch"), data.getFloat("yaw"));
|
||||
|
||||
@ -954,6 +954,7 @@ public class CraftingManager {
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite_red), new ItemStack(ModBlocks.glass_trinitite), 0.25F);
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_boron), new ItemStack(ModBlocks.glass_boron), 0.25F);
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_lead), new ItemStack(ModBlocks.glass_lead), 0.25F);
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.ash_digamma), new ItemStack(ModBlocks.glass_ash), 10F);
|
||||
|
||||
GameRegistry.addSmelting(ModItems.ingot_schraranium, new ItemStack(ModItems.nugget_schrabidium, 1), 2.0F);
|
||||
|
||||
|
||||
@ -470,6 +470,7 @@ public class MainRegistry {
|
||||
GameRegistry.registerTileEntity(TileEntityTurretRichard.class, "tileentity_turret_richard");
|
||||
GameRegistry.registerTileEntity(TileEntityTurretHoward.class, "tileentity_turret_howard");
|
||||
GameRegistry.registerTileEntity(TileEntityTurretMaxwell.class, "tileentity_turret_maxwell");
|
||||
GameRegistry.registerTileEntity(TileEntityTurretFritz.class, "tileentity_turret_fritz");
|
||||
GameRegistry.registerTileEntity(TileEntitySILEX.class, "tileentity_silex");
|
||||
GameRegistry.registerTileEntity(TileEntityFEL.class, "tileentity_fel");
|
||||
GameRegistry.registerTileEntity(TileEntityDemonLamp.class, "tileentity_demonlamp");
|
||||
|
||||
@ -14,6 +14,7 @@ import org.apache.logging.log4j.Level;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockAshes;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.config.MobConfig;
|
||||
import com.hbm.config.WorldConfig;
|
||||
@ -59,9 +60,12 @@ import cpw.mods.fml.common.eventhandler.EventPriority;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent;
|
||||
import cpw.mods.fml.relauncher.ReflectionHelper;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.entity.Entity;
|
||||
@ -94,6 +98,7 @@ import net.minecraft.util.ChatStyle;
|
||||
import net.minecraft.util.EntityDamageSource;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.FoodStats;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.FakePlayer;
|
||||
@ -431,6 +436,31 @@ public class ModEventHandler {
|
||||
|
||||
EntityEffectHandler.onUpdate(event.entityLiving);
|
||||
}
|
||||
|
||||
public static int currentBrightness = 0;
|
||||
public static int lastBrightness = 0;
|
||||
|
||||
@SubscribeEvent
|
||||
public void clentTick(ClientTickEvent event) {
|
||||
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
|
||||
if(mc.theWorld == null || mc.thePlayer == null)
|
||||
return;
|
||||
|
||||
if(event.phase == Phase.START && event.side == Side.CLIENT) {
|
||||
if(BlockAshes.ashes > 256)
|
||||
BlockAshes.ashes = 256;
|
||||
|
||||
if(BlockAshes.ashes > 0)
|
||||
BlockAshes.ashes -= 2;
|
||||
|
||||
if(mc.theWorld.getTotalWorldTime() % 20 == 0) {
|
||||
this.lastBrightness = this.currentBrightness;
|
||||
currentBrightness = mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posY), MathHelper.floor_double(mc.thePlayer.posZ), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void worldTick(WorldTickEvent event) {
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.Random;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.generic.BlockAshes;
|
||||
import com.hbm.entity.mob.EntityHunterChopper;
|
||||
import com.hbm.entity.projectile.EntityChopperMine;
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
@ -48,13 +49,13 @@ import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type;
|
||||
import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.common.eventhandler.Event.Result;
|
||||
import cpw.mods.fml.common.eventhandler.EventPriority;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
import net.minecraft.client.multiplayer.WorldClient;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
@ -71,12 +72,10 @@ import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.GuiIngameForge;
|
||||
import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors;
|
||||
import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity;
|
||||
import net.minecraftforge.client.event.EntityViewRenderEvent.RenderFogEvent;
|
||||
import net.minecraftforge.client.event.MouseEvent;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
||||
import net.minecraftforge.client.event.RenderHandEvent;
|
||||
import net.minecraftforge.client.event.RenderItemInFrameEvent;
|
||||
import net.minecraftforge.client.event.RenderLivingEvent;
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||
@ -464,45 +463,116 @@ public class ModEventHandlerClient {
|
||||
}
|
||||
}
|
||||
|
||||
private ResourceLocation ashes = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_ash.png");
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void onRenderStorm(RenderHandEvent event) {
|
||||
|
||||
if(BlockAshes.ashes == 0)
|
||||
return;
|
||||
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
|
||||
GL11.glRotatef((float)-mc.thePlayer.rotationYaw, 0, 1, 0);
|
||||
GL11.glRotatef((float)(mc.thePlayer.rotationPitch), 1, 0, 0);
|
||||
|
||||
ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
||||
|
||||
mc.getTextureManager().bindTexture(ashes);
|
||||
|
||||
int w = resolution.getScaledWidth();
|
||||
int h = resolution.getScaledHeight();
|
||||
double off = System.currentTimeMillis() / -10000D % 10000D;
|
||||
double aw = 25;
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
|
||||
//int d = mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posY), MathHelper.floor_double(mc.thePlayer.posZ), 0);
|
||||
int cX = ModEventHandler.currentBrightness % 65536;
|
||||
int cY = ModEventHandler.currentBrightness / 65536;
|
||||
int lX = ModEventHandler.lastBrightness % 65536;
|
||||
int lY = ModEventHandler.lastBrightness / 65536;
|
||||
float interp = (mc.theWorld.getTotalWorldTime() % 20) * 0.05F;
|
||||
|
||||
if(mc.theWorld.getTotalWorldTime() == 1)
|
||||
ModEventHandler.lastBrightness = ModEventHandler.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);
|
||||
|
||||
for(int i = 1; i < 3; i++) {
|
||||
|
||||
GL11.glRotatef(-15, 0, 0, 1);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, BlockAshes.ashes / 256F * 0.98F / i);
|
||||
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.addVertexWithUV(-w * 0.25, h * 0.25, aw, 0.0D + off * i, 1.0D);
|
||||
tessellator.addVertexWithUV(w * 0.25, h * 0.25, aw, 1.0D + off * i, 1.0D);
|
||||
tessellator.addVertexWithUV(w * 0.25, -h * 0.25, aw, 1.0D + off * i, 0.0D);
|
||||
tessellator.addVertexWithUV(-w * 0.25, -h * 0.25, aw, 0.0D + off * i, 0.0D);
|
||||
tessellator.draw();
|
||||
}
|
||||
|
||||
mc.entityRenderer.disableLightmap((double)event.partialTicks);
|
||||
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void onRenderWorldLastEvent(RenderWorldLastEvent event) {
|
||||
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
|
||||
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||
|
||||
double dx = player.prevPosX + (player.posX - player.prevPosX) * event.partialTicks;
|
||||
double dy = player.prevPosY + (player.posY - player.prevPosY) * event.partialTicks;
|
||||
double dz = player.prevPosZ + (player.posZ - player.prevPosZ) * event.partialTicks;
|
||||
|
||||
|
||||
int dist = 300;
|
||||
int x = 0;
|
||||
int y = 500;
|
||||
int z = 0;
|
||||
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(x - dx, y - dy, z - dz);
|
||||
|
||||
if(vec.lengthVector() < dist) {
|
||||
|
||||
|
||||
if(player.worldObj.provider.dimensionId == 0 && vec.lengthVector() < dist) {
|
||||
|
||||
GL11.glTranslated(vec.xCoord, vec.yCoord, vec.zCoord);
|
||||
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
|
||||
GL11.glRotated(80, 0, 0, 1);
|
||||
GL11.glRotated(30, 0, 1, 0);
|
||||
|
||||
double sine = Math.sin(System.currentTimeMillis() * 0.0005) * 5;
|
||||
double sin3 = Math.sin(System.currentTimeMillis() * 0.0005 + Math.PI * 0.5) * 5;
|
||||
GL11.glRotated(sine, 0, 0, 1);
|
||||
GL11.glRotated(sin3, 1, 0, 0);
|
||||
|
||||
|
||||
double sine = Math.sin(System.currentTimeMillis() * 0.0005) * 5;
|
||||
double sin3 = Math.sin(System.currentTimeMillis() * 0.0005 + Math.PI * 0.5) * 5;
|
||||
GL11.glRotated(sine, 0, 0, 1);
|
||||
GL11.glRotated(sin3, 1, 0, 0);
|
||||
|
||||
GL11.glTranslated(0, -3, 0);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 6500F, 30F);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 6500F, 30F);
|
||||
SoyuzPronter.prontCapsule();
|
||||
|
||||
|
||||
GL11.glRotated(System.currentTimeMillis() * 0.025 % 360, 0, -1, 0);
|
||||
|
||||
int rand = new Random(MainRegistry.startupTime).nextInt(HTTPHandler.capsule.size());
|
||||
@ -510,42 +580,42 @@ public class ModEventHandlerClient {
|
||||
|
||||
GL11.glTranslated(0, 3.75, 0);
|
||||
GL11.glRotated(180, 1, 0, 0);
|
||||
|
||||
|
||||
float rot = 0F;
|
||||
|
||||
//looks dumb but we'll use this technology for the cyclotron
|
||||
|
||||
// looks dumb but we'll use this technology for the cyclotron
|
||||
for(char c : msg.toCharArray()) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
|
||||
GL11.glRotatef(rot, 0, 1, 0);
|
||||
|
||||
|
||||
float width = Minecraft.getMinecraft().fontRenderer.getStringWidth(msg);
|
||||
float scale = 5 / width;
|
||||
|
||||
|
||||
rot -= Minecraft.getMinecraft().fontRenderer.getCharWidth(c) * scale * 50;
|
||||
|
||||
|
||||
GL11.glTranslated(2, 0, 0);
|
||||
|
||||
|
||||
GL11.glRotatef(-90, 0, 1, 0);
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
Minecraft.getMinecraft().fontRenderer.drawString(String.valueOf(c), 0, 0, 0xff00ff);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
|
||||
if(ArmorFSB.hasFSBArmor(player)) {
|
||||
ItemStack plate = player.inventory.armorInventory[2];
|
||||
ArmorFSB chestplate = (ArmorFSB)plate.getItem();
|
||||
|
||||
ArmorFSB chestplate = (ArmorFSB) plate.getItem();
|
||||
|
||||
if(chestplate.thermal)
|
||||
RenderOverhead.renderThermalSight(event.partialTicks);
|
||||
}
|
||||
|
||||
@ -44,6 +44,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj"));
|
||||
public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj"));
|
||||
public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj"));
|
||||
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj"));
|
||||
|
||||
//Landmines
|
||||
public static final IModelCustom mine_ap = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_ap.obj"));
|
||||
@ -288,6 +289,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation turret_howard_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/howard.png");
|
||||
public static final ResourceLocation turret_howard_barrels_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/howard_barrels.png");
|
||||
public static final ResourceLocation turret_maxwell_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/maxwell.png");
|
||||
public static final ResourceLocation turret_fritz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/fritz.png");
|
||||
|
||||
//Landmines
|
||||
public static final ResourceLocation mine_ap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_ap.png");
|
||||
@ -539,6 +541,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom ff_maresleg = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/maresleg.obj"));
|
||||
public static final IModelCustom ff_nightmare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare.obj"));
|
||||
public static final IModelCustom fireext = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/fireext.obj"));
|
||||
public static final IModelCustom ar15 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/ar15.obj"));
|
||||
|
||||
public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj"));
|
||||
|
||||
@ -549,6 +552,7 @@ public class ResourceManager {
|
||||
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"));
|
||||
public static final IModelCustom armor_goggles = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/goggles.obj"));
|
||||
public static final IModelCustom armor_fau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/fau.obj"));
|
||||
public static final IModelCustom armor_dnt = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/dnt.obj"));
|
||||
public static final IModelCustom armor_mod_tesla = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/mod_tesla.obj"));
|
||||
@ -597,6 +601,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation fireext_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fireext_normal.png");
|
||||
public static final ResourceLocation fireext_foam_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fireext_foam.png");
|
||||
public static final ResourceLocation fireext_sand_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fireext_sand.png");
|
||||
public static final ResourceLocation ar15_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/carbine.png");
|
||||
|
||||
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");
|
||||
|
||||
@ -649,6 +654,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation mod_tesla = new ResourceLocation(RefStrings.MODID, "textures/armor/mod_tesla.png");
|
||||
|
||||
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");
|
||||
|
||||
|
||||
|
||||
|
||||
@ -65,6 +65,7 @@ public class ParticleGiblet extends EntityFX {
|
||||
public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
this.theRenderEngine.bindTexture(texture);
|
||||
|
||||
float f10 = this.particleScale * 0.1F;
|
||||
|
||||
131
src/main/java/com/hbm/particle/ParticleHaze.java
Normal file
@ -0,0 +1,131 @@
|
||||
package com.hbm.particle;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ParticleHaze extends EntityFX {
|
||||
|
||||
private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/haze.png");
|
||||
private TextureManager theRenderEngine;
|
||||
private int age;
|
||||
private int maxAge;
|
||||
|
||||
public ParticleHaze(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) {
|
||||
super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_);
|
||||
theRenderEngine = p_i1213_1_;
|
||||
maxAge = 600 + rand.nextInt(100);
|
||||
|
||||
this.particleRed = this.particleGreen = this.particleBlue = 0;
|
||||
this.particleScale = 10F;
|
||||
}
|
||||
|
||||
public ParticleHaze(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_, float red, float green, float blue, float scale) {
|
||||
super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_);
|
||||
theRenderEngine = p_i1213_1_;
|
||||
maxAge = 100 + rand.nextInt(40);
|
||||
|
||||
this.particleRed = red;
|
||||
this.particleGreen = green;
|
||||
this.particleBlue = blue;
|
||||
|
||||
this.particleScale = scale;
|
||||
}
|
||||
|
||||
public void onUpdate() {
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
|
||||
this.particleAge++;
|
||||
|
||||
if(this.particleAge >= maxAge) {
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
this.motionX *= 0.9599999785423279D;
|
||||
this.motionY *= 0.9599999785423279D;
|
||||
this.motionZ *= 0.9599999785423279D;
|
||||
|
||||
if(this.onGround) {
|
||||
this.motionX *= 0.699999988079071D;
|
||||
this.motionZ *= 0.699999988079071D;
|
||||
}
|
||||
|
||||
int x = (int)Math.floor(posX) + rand.nextInt(15) - 7;
|
||||
int z = (int)Math.floor(posZ) + rand.nextInt(15) - 7;
|
||||
int y = worldObj.getHeightValue(x, z);
|
||||
worldObj.spawnParticle("lava", x + rand.nextDouble(), y + 0.1, z + rand.nextDouble(), 0.0, 0.0, 0.0);
|
||||
}
|
||||
|
||||
public int getFXLayer() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public void renderParticle(Tessellator tess, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) {
|
||||
|
||||
this.theRenderEngine.bindTexture(texture);
|
||||
|
||||
float alpha = 0;
|
||||
|
||||
alpha = (float) Math.sin(particleAge * Math.PI / (400F)) * 0.25F;
|
||||
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha * 0.1F);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
|
||||
GL11.glDepthMask(false);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
Random rand = new Random(50);
|
||||
|
||||
for(int i = 0; i < 25; i++) {
|
||||
|
||||
double dX = rand.nextGaussian() * 2.5D;
|
||||
double dY = rand.nextGaussian() * 0.15D;
|
||||
double dZ = rand.nextGaussian() * 2.5D;
|
||||
double size = (rand.nextDouble() * 0.25 + 0.75) * particleScale;
|
||||
|
||||
GL11.glTranslatef((float) dX, (float) dY, (float) dZ);
|
||||
|
||||
float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double) p_70539_2_ - interpPosX) + rand.nextGaussian() * 0.5);
|
||||
float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double) p_70539_2_ - interpPosY) + rand.nextGaussian() * 0.5);
|
||||
float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double) p_70539_2_ - interpPosZ) + rand.nextGaussian() * 0.5);
|
||||
|
||||
tess.startDrawingQuads();
|
||||
tess.setNormal(0.0F, 1.0F, 0.0F);
|
||||
tess.setBrightness(240);
|
||||
tess.addVertexWithUV((double) (pX - p_70539_3_ * size - p_70539_6_ * size), (double) (pY - p_70539_4_ * size), (double) (pZ - p_70539_5_ * size - p_70539_7_ * size), 1, 1);
|
||||
tess.addVertexWithUV((double) (pX - p_70539_3_ * size + p_70539_6_ * size), (double) (pY + p_70539_4_ * size), (double) (pZ - p_70539_5_ * size + p_70539_7_ * size), 1, 0);
|
||||
tess.addVertexWithUV((double) (pX + p_70539_3_ * size + p_70539_6_ * size), (double) (pY + p_70539_4_ * size), (double) (pZ + p_70539_5_ * size + p_70539_7_ * size), 0, 0);
|
||||
tess.addVertexWithUV((double) (pX + p_70539_3_ * size - p_70539_6_ * size), (double) (pY - p_70539_4_ * size), (double) (pZ + p_70539_5_ * size - p_70539_7_ * size), 0, 1);
|
||||
tess.draw();
|
||||
|
||||
GL11.glTranslatef((float) -dX, (float) -dY, (float) -dZ);
|
||||
}
|
||||
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDepthMask(true);
|
||||
|
||||
GL11.glPolygonOffset(0.0F, 0.0F);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
}
|
||||
@ -991,6 +991,19 @@ public class ItemRenderLibrary {
|
||||
bindTexture(ResourceManager.turret_maxwell_tex); ResourceManager.turret_maxwell.renderPart("Microwave");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.turret_fritz), new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -2, 0);
|
||||
GL11.glScaled(4, 4, 4);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.turret_base_tex); ResourceManager.turret_chekhov.renderPart("Base");
|
||||
bindTexture(ResourceManager.turret_carriage_tex); ResourceManager.turret_chekhov.renderPart("Carriage");
|
||||
bindTexture(ResourceManager.turret_fritz_tex); ResourceManager.turret_fritz.renderPart("Gun");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}});
|
||||
}
|
||||
|
||||
private static void bindTexture(ResourceLocation res) {
|
||||
|
||||
@ -0,0 +1,93 @@
|
||||
package com.hbm.render.item.weapon;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class ItemRenderWeaponAR15 implements IItemRenderer {
|
||||
|
||||
public ItemRenderWeaponAR15() { }
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||
switch(type) {
|
||||
case EQUIPPED:
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
case ENTITY:
|
||||
case INVENTORY:
|
||||
return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
|
||||
|
||||
return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ar15_tex);
|
||||
|
||||
switch(type) {
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
|
||||
double s0 = 0.125D;
|
||||
GL11.glRotated(25, 0, 0, 1);
|
||||
GL11.glTranslated(1.0, 0.0, -0.5);
|
||||
GL11.glRotated(80, 0, 1, 0);
|
||||
GL11.glScaled(s0, s0, s0);
|
||||
|
||||
break;
|
||||
|
||||
case EQUIPPED:
|
||||
|
||||
double scale = 0.125D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(10, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glTranslatef(4F, -2F, 5F);
|
||||
|
||||
break;
|
||||
|
||||
case ENTITY:
|
||||
|
||||
double s1 = 0.1D;
|
||||
GL11.glScaled(s1, s1, s1);
|
||||
|
||||
break;
|
||||
|
||||
case INVENTORY:
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
double s = 0.75D;
|
||||
GL11.glTranslated(6, 9, 0);
|
||||
GL11.glRotated(-90, 0, 1, 0);
|
||||
GL11.glRotated(-135, 1, 0, 0);
|
||||
GL11.glScaled(s, s, -s);
|
||||
|
||||
break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
ResourceManager.ar15.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
40
src/main/java/com/hbm/render/model/ModelGlasses.java
Normal file
@ -0,0 +1,40 @@
|
||||
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 ModelGlasses extends ModelArmorBase {
|
||||
|
||||
public ModelGlasses(int type) {
|
||||
super(type);
|
||||
|
||||
head = new ModelRendererObj(ResourceManager.armor_goggles);
|
||||
body = new ModelRendererObj(ResourceManager.armor_bj, "Body");
|
||||
leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F);
|
||||
rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F);
|
||||
leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F);
|
||||
rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F);
|
||||
leftFoot = new ModelRendererObj(ResourceManager.armor_bj, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F);
|
||||
rightFoot = new ModelRendererObj(ResourceManager.armor_bj, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) {
|
||||
|
||||
setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
if(type == 0) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.goggles);
|
||||
head.render(par7);
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -87,6 +87,7 @@ public class RenderSmallReactor extends TileEntitySpecialRenderer {
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
@ -21,17 +21,17 @@ public abstract class RenderTurretBase extends TileEntitySpecialRenderer {
|
||||
int y = turret.yCoord;
|
||||
int z = (int)(turret.zCoord + pos.zCoord);
|
||||
|
||||
checkPlug(turret.getWorldObj(), x - 2, y, z, true, false, type, 0, 0, 0);
|
||||
checkPlug(turret.getWorldObj(), x - 2, y, z - 1, true, false, type, 0, -1, 0);
|
||||
checkPlug(turret.getWorldObj(), x - 2, y, z, power, fluid, type, 0, 0, 0);
|
||||
checkPlug(turret.getWorldObj(), x - 2, y, z - 1, power, fluid, type, 0, -1, 0);
|
||||
|
||||
checkPlug(turret.getWorldObj(), x - 1, y, z + 1, true, false, type, 0, -1, 90);
|
||||
checkPlug(turret.getWorldObj(), x, y, z + 1, true, false, type, 0, 0, 90);
|
||||
checkPlug(turret.getWorldObj(), x - 1, y, z + 1, power, fluid, type, 0, -1, 90);
|
||||
checkPlug(turret.getWorldObj(), x, y, z + 1, power, fluid, type, 0, 0, 90);
|
||||
|
||||
checkPlug(turret.getWorldObj(), x + 1, y, z, true, false, type, 0, -1, 180);
|
||||
checkPlug(turret.getWorldObj(), x + 1, y, z - 1, true, false, type, 0, 0, 180);
|
||||
checkPlug(turret.getWorldObj(), x + 1, y, z, power, fluid, type, 0, -1, 180);
|
||||
checkPlug(turret.getWorldObj(), x + 1, y, z - 1, power, fluid, type, 0, 0, 180);
|
||||
|
||||
checkPlug(turret.getWorldObj(), x, y, z - 2, true, false, type, 0, -1, 270);
|
||||
checkPlug(turret.getWorldObj(), x - 1, y, z - 2, true, false, type, 0, 0, 270);
|
||||
checkPlug(turret.getWorldObj(), x, y, z - 2, power, fluid, type, 0, -1, 270);
|
||||
checkPlug(turret.getWorldObj(), x - 1, y, z - 2, power, fluid, type, 0, 0, 270);
|
||||
}
|
||||
|
||||
private void checkPlug(World world, int x, int y, int z, boolean power, boolean fluid, FluidType type, int ox, int oz, int rot) {
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretFritz;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class RenderTurretFritz extends RenderTurretBase {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) {
|
||||
|
||||
TileEntityTurretFritz turret = (TileEntityTurretFritz)te;
|
||||
Vec3 pos = turret.getHorizontalOffset();
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + pos.xCoord, y, z + pos.zCoord);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
this.renderConnectors(turret, true, true, turret.tank.getTankType());
|
||||
|
||||
bindTexture(ResourceManager.turret_base_tex);
|
||||
ResourceManager.turret_chekhov.renderPart("Base");
|
||||
double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp) - 90D;
|
||||
double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp);
|
||||
|
||||
GL11.glRotated(yaw, 0, 1, 0);
|
||||
bindTexture(ResourceManager.turret_carriage_tex);
|
||||
ResourceManager.turret_chekhov.renderPart("Carriage");
|
||||
|
||||
GL11.glTranslated(0, 1.5, 0);
|
||||
GL11.glRotated(pitch, 0, 0, 1);
|
||||
GL11.glTranslated(0, -1.5, 0);
|
||||
bindTexture(ResourceManager.turret_fritz_tex);
|
||||
ResourceManager.turret_fritz.renderPart("Gun");
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,156 @@
|
||||
package com.hbm.tileentity.turret;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFluidAcceptor {
|
||||
|
||||
public FluidTank tank;
|
||||
|
||||
public TileEntityTurretFritz() {
|
||||
super();
|
||||
this.tank = new FluidTank(FluidType.DIESEL, 16000, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.turretFritz";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Integer> getAmmoList() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDecetorRange() {
|
||||
return 32D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDecetorGrace() {
|
||||
return 2D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTurretElevation() {
|
||||
return 45D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return 10000;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getBarrelLength() {
|
||||
return 2.25D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAcceptableInaccuracy() {
|
||||
return 15;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFiringTick() {
|
||||
|
||||
if(this.tank.getTankType() == FluidType.DIESEL && this.tank.getFill() >= 10) {
|
||||
|
||||
BulletConfiguration conf = BulletConfigSyncingUtil.pullConfig(BulletConfigSyncingUtil.FLA_NORMAL);
|
||||
this.spawnBullet(conf);
|
||||
this.tank.setFill(this.tank.getFill() - 10);
|
||||
|
||||
Vec3 pos = this.getTurretPos();
|
||||
Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0);
|
||||
vec.rotateAroundZ((float) -this.rotationPitch);
|
||||
vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5));
|
||||
|
||||
worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.flamethrowerShoot", 2F, 1F + worldObj.rand.nextFloat() * 0.5F);
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaburst");
|
||||
data.setString("mode", "flame");
|
||||
data.setInteger("count", 2);
|
||||
data.setDouble("motion", 0.025D);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
}
|
||||
}
|
||||
|
||||
public int getDelay() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
super.updateEntity();
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
tank.setType(9, 9, slots);
|
||||
tank.loadTank(0, 1, slots);
|
||||
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
|
||||
for(int i = 1; i < 10; i++) {
|
||||
|
||||
if(slots[i] != null && slots[i].getItem() == ModItems.ammo_fuel) {
|
||||
if(this.tank.getTankType() == FluidType.DIESEL && this.tank.getFill() <= this.tank.getMaxFill()) {
|
||||
this.tank.setFill(this.tank.getFill() + 1000);
|
||||
this.decrStackSize(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int side) {
|
||||
return new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
tank.setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
tank.setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFluidFill(FluidType type) {
|
||||
return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFluidFill(FluidType type) {
|
||||
return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFluidFill(int i, FluidType type) {
|
||||
if(type.name().equals(tank.getTankType().name()))
|
||||
tank.setFill(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FluidTank> getTanks() {
|
||||
List<FluidTank> list = new ArrayList();
|
||||
list.add(tank);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@ -2,15 +2,14 @@ package com.hbm.tileentity.turret;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
@ -58,7 +57,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
|
||||
@Override
|
||||
public double getDecetorRange() {
|
||||
return 128D;
|
||||
return 64D + this.greenLevel * 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -68,7 +67,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
|
||||
@Override
|
||||
public long getConsumption() {
|
||||
return 5000;
|
||||
return 10000 - this.blueLevel * 300;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -97,10 +96,53 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
|
||||
if(beam > 0)
|
||||
beam--;
|
||||
} else {
|
||||
|
||||
if(checkDelay <= 0) {
|
||||
checkDelay = 20;
|
||||
|
||||
this.redLevel = 0;
|
||||
this.greenLevel = 0;
|
||||
this.blueLevel = 0;
|
||||
this.blackLevel = 0;
|
||||
this.pinkLevel = 0;
|
||||
|
||||
for(int i = 1; i < 10; i++) {
|
||||
if(slots[i] != null) {
|
||||
Item item = slots[i].getItem();
|
||||
|
||||
if(item == ModItems.upgrade_speed_1) redLevel += 1;
|
||||
if(item == ModItems.upgrade_speed_2) redLevel += 2;
|
||||
if(item == ModItems.upgrade_speed_3) redLevel += 3;
|
||||
if(item == ModItems.upgrade_effect_1) greenLevel += 1;
|
||||
if(item == ModItems.upgrade_effect_2) greenLevel += 2;
|
||||
if(item == ModItems.upgrade_effect_3) greenLevel += 3;
|
||||
if(item == ModItems.upgrade_power_1) blueLevel += 1;
|
||||
if(item == ModItems.upgrade_power_2) blueLevel += 2;
|
||||
if(item == ModItems.upgrade_power_3) blueLevel += 3;
|
||||
if(item == ModItems.upgrade_afterburn_1) pinkLevel += 1;
|
||||
if(item == ModItems.upgrade_afterburn_2) pinkLevel += 2;
|
||||
if(item == ModItems.upgrade_afterburn_3) pinkLevel += 3;
|
||||
if(item == ModItems.upgrade_overdrive_1) blackLevel += 1;
|
||||
if(item == ModItems.upgrade_overdrive_2) blackLevel += 2;
|
||||
if(item == ModItems.upgrade_overdrive_3) blackLevel += 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
checkDelay--;
|
||||
}
|
||||
|
||||
super.updateEntity();
|
||||
}
|
||||
|
||||
int redLevel;
|
||||
int greenLevel;
|
||||
int blueLevel;
|
||||
int blackLevel;
|
||||
int pinkLevel;
|
||||
|
||||
int checkDelay;
|
||||
|
||||
@Override
|
||||
public void updateFiringTick() {
|
||||
@ -109,29 +151,20 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT {
|
||||
|
||||
if(this.target != null && this.getPower() >= demand) {
|
||||
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, 1F);
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F);
|
||||
|
||||
for(int i = 1; i <= 10; i *= 10) {
|
||||
if(pinkLevel > 0)
|
||||
this.target.setFire(this.pinkLevel * 3);
|
||||
|
||||
/*for(int i = 1; i <= 10; i *= 10) {
|
||||
|
||||
if(EntityDamageUtil.getLastDamage(this.target) < i * 0.5F)
|
||||
EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, i * 10F);
|
||||
else
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
|
||||
if(!this.target.isEntityAlive()) {
|
||||
float health = this.target instanceof EntityLivingBase ? ((EntityLivingBase)this.target).getMaxHealth() : 20F;
|
||||
int count = Math.min((int)Math.ceil(health / 3D), 250);
|
||||
|
||||
/*NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaburst");
|
||||
data.setInteger("count", count * 4);
|
||||
data.setDouble("motion", 0.1D);
|
||||
data.setString("mode", "blockdust");
|
||||
data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block));
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.target.posX, this.target.posY + this.target.height * 0.5, this.target.posZ), new TargetPoint(this.target.dimension, this.target.posX, this.target.posY + this.target.height * 0.5, this.target.posZ, 50));
|
||||
*/
|
||||
|
||||
NBTTagCompound vdat = new NBTTagCompound();
|
||||
vdat.setString("type", "giblets");
|
||||
vdat.setInteger("ent", this.target.getEntityId());
|
||||
|
||||
@ -278,6 +278,9 @@ public class ArmorUtil {
|
||||
if(checkArmorPiece(player, ModItems.goggles, 3)) {
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.ashglasses, 3)) {
|
||||
return true;
|
||||
}
|
||||
if(checkArmorPiece(player, ModItems.hazmat_helmet_red, 3)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -271,6 +271,7 @@ container.teleLinker=TelLink-Gerät
|
||||
container.teleporter=Teleporter
|
||||
container.turretChekhov=Tschechows Gewehr
|
||||
container.turretFriendly=Mister Friendly
|
||||
container.turretFritz=Fritz
|
||||
container.turretHoward=Howard
|
||||
container.turretJeremy=Jeremy
|
||||
container.turretMaxwell=Maxwell
|
||||
@ -503,6 +504,9 @@ item.ammo_50bmg_ap.name=.50 BMG Patrone (Panzerbrechend)
|
||||
item.ammo_50bmg_chlorophyte.name=.50 BMG Patrone (Grünalgen)
|
||||
item.ammo_50bmg_du.name=.50 BMG Patrone (DU)
|
||||
item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv)
|
||||
item.ammo_50bmg_flechette.name=.50 BMG Flechetpatrone
|
||||
item.ammo_50bmg_flechette_am.name=.50 BMG Flechetpatrone (Americium)
|
||||
item.ammo_50bmg_flechette_po.name=.50 BMG Flechetpatrone (Polonium)
|
||||
item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand)
|
||||
item.ammo_50bmg_phosphorus.name=.50 BMG Patrone (WP)
|
||||
item.ammo_50bmg_sleek.name=.50 BMG Patrone (IF-F&E)
|
||||
@ -629,6 +633,7 @@ item.asbestos_cloth.name=Hitzeschutzanzugsstoff
|
||||
item.asbestos_helmet.name=Hitzeschutzhelm
|
||||
item.asbestos_legs.name=Hitzeschutzhose
|
||||
item.asbestos_plate.name=Hitzeschutzbrustplatte
|
||||
item.ashglasses.name=Aschegläser
|
||||
item.assembly_556.name=5.56mm Patronensatz
|
||||
item.assembly_actionexpress.name=.50 AE Patronensatz
|
||||
item.assembly_calamity.name=.50 BMG Patronensatz
|
||||
@ -1218,6 +1223,7 @@ item.grenade_smart.name=Smart-Granate
|
||||
item.grenade_strong.name=Verbesserte Handgranate
|
||||
item.grenade_tau.name=Taugranate
|
||||
item.grenade_zomg.name=Negativenergie-Paarvernichtungsgranate
|
||||
item.gun_ar15.name=Josh
|
||||
item.gun_avenger.name=CZ57 Avenger-Minigun
|
||||
item.gun_b92.name=§9B92 Energiepistole§r
|
||||
item.gun_b92_ammo.name=§9B92-Energiezelle§r
|
||||
@ -2763,6 +2769,7 @@ tile.gas_radon.name=Radongas
|
||||
tile.gas_radon_dense.name=Dichtes Radongas
|
||||
tile.gas_radon_tomb.name=Grabgas
|
||||
tile.geiger.name=Geigerzähler
|
||||
tile.glass_ash.name=Ascheglas
|
||||
tile.glass_boron.name=Borglas
|
||||
tile.glass_lead.name=Bleiglas
|
||||
tile.glass_polonium.name=Poloniumglas
|
||||
@ -3108,6 +3115,7 @@ tile.turret_chekhov.name=Schweres MG-Geschütz "Tschechows Gewehr"
|
||||
tile.turret_cwis.name=Phalanx Mk-15 CIWS
|
||||
tile.turret_flamer.name=Flammenwerfergeschütz
|
||||
tile.turret_friendly.name=Gatlingeschütz "Mister Friendly"
|
||||
tile.turret_fritz.name=Schwered Flammenwerfergeschütz "Fritz"
|
||||
tile.turret_heavy.name=Schweres MG-Geschütz
|
||||
tile.turret_howard.name=Goalkeeper-Zwilling CIWS "Howard"
|
||||
tile.turret_jeremy.name=Autokanonengeschütz "Jeremy"
|
||||
|
||||
@ -339,6 +339,7 @@ container.teleLinker=TelLink Device
|
||||
container.teleporter=Teleporter
|
||||
container.turretChekhov=Chekhov's Gun
|
||||
container.turretFriendly=Mister Friendly
|
||||
container.turretFritz=Fritz
|
||||
container.turretHoward=Howard
|
||||
container.turretJeremy=Jeremy
|
||||
container.turretMaxwell=Maxwell
|
||||
@ -571,6 +572,9 @@ item.ammo_50bmg_ap.name=.50 BMG Round (Armor Piercing)
|
||||
item.ammo_50bmg_chlorophyte.name=.50 BMG Round (Chlorophyte)
|
||||
item.ammo_50bmg_du.name=.50 BMG Round (DU)
|
||||
item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive)
|
||||
item.ammo_50bmg_flechette.name=.50 BMG Flechette Round
|
||||
item.ammo_50bmg_flechette_am.name=.50 BMG Flechette Round (Americium)
|
||||
item.ammo_50bmg_flechette_po.name=.50 BMG Flechette Round (Polonium)
|
||||
item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary)
|
||||
item.ammo_50bmg_phosphorus.name=.50 BMG Round (WP)
|
||||
item.ammo_50bmg_sleek.name=.50 BMG Round (IF-R&D)
|
||||
@ -697,6 +701,7 @@ item.asbestos_cloth.name=Fire Proximity Cloth
|
||||
item.asbestos_helmet.name=Fire Proximity Helmet
|
||||
item.asbestos_legs.name=Fire Proximity Leggings
|
||||
item.asbestos_plate.name=Fire Proximity Chestplate
|
||||
item.ashglasses.name=Ash Goggles
|
||||
item.assembly_556.name=5.56mm Assembly
|
||||
item.assembly_actionexpress.name=.50 AE Assembly
|
||||
item.assembly_calamity.name=.50 BMG Assembly
|
||||
@ -1286,6 +1291,7 @@ item.grenade_smart.name=Smart Grenade
|
||||
item.grenade_strong.name=Enhanced Grenade
|
||||
item.grenade_tau.name=Tau Grenade
|
||||
item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade
|
||||
item.gun_ar15.name=Josh
|
||||
item.gun_avenger.name=CZ57 Avenger Minigun
|
||||
item.gun_b92.name=§9B92 Energy Pistol§r
|
||||
item.gun_b92_ammo.name=§9B92 Energy Cell§r
|
||||
@ -2847,6 +2853,7 @@ tile.gas_radon.name=Radon Gas
|
||||
tile.gas_radon_dense.name=Dense Radon Gas
|
||||
tile.gas_radon_tomb.name=Tomb Gas
|
||||
tile.geiger.name=Geiger Counter
|
||||
tile.glass_ash.name=Ash Glass
|
||||
tile.glass_boron.name=Boron Glass
|
||||
tile.glass_lead.name=Lead Glass
|
||||
tile.glass_polonium.name=Polonium Glass
|
||||
@ -3192,6 +3199,7 @@ tile.turret_chekhov.name=Heavy Machine Gun Turret "Chekhov's Gun"
|
||||
tile.turret_cwis.name=Phalanx Mk-15 CIWS
|
||||
tile.turret_flamer.name=Flamethrower Turret
|
||||
tile.turret_friendly.name=Chaingun Turret "Mister Friendly"
|
||||
tile.turret_fritz.name=Heavy Flamethrower Turret "Fritz"
|
||||
tile.turret_heavy.name=Heavy Machine Gun Turret
|
||||
tile.turret_howard.name=Goalkeeper Twin Chaingun CIWS "Howard"
|
||||
tile.turret_jeremy.name=Autocannon Turret "Jeremy"
|
||||
|
||||
1382
src/main/resources/assets/hbm/models/armor/goggles.obj
Normal file
3405
src/main/resources/assets/hbm/models/turrets/turret_fritz.obj
Normal file
10647
src/main/resources/assets/hbm/models/weapons/ar15.obj
Normal file
BIN
src/main/resources/assets/hbm/textures/armor/goggles.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/main/resources/assets/hbm/textures/blocks/block_semtex.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 618 B |
BIN
src/main/resources/assets/hbm/textures/blocks/glass_ash.png
Normal file
|
After Width: | Height: | Size: 210 B |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 318 B |
BIN
src/main/resources/assets/hbm/textures/items/ashglasses.png
Normal file
|
After Width: | Height: | Size: 311 B |
BIN
src/main/resources/assets/hbm/textures/items/cube.png
Normal file
|
After Width: | Height: | Size: 269 B |
BIN
src/main/resources/assets/hbm/textures/items/cube_power.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 278 B |
BIN
src/main/resources/assets/hbm/textures/misc/overlay_ash.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 539 B |
|
After Width: | Height: | Size: 667 B |
BIN
src/main/resources/assets/hbm/textures/models/turrets/fritz.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
src/main/resources/assets/hbm/textures/models/turrets/zach.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 275 KiB |
BIN
src/main/resources/assets/hbm/textures/particle/haze.png
Normal file
|
After Width: | Height: | Size: 42 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-3913",
|
||||
"version":"1.0.27-3920",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||