This commit is contained in:
Bob 2021-07-04 20:47:00 +02:00
parent 11e113df5d
commit 282c026657
66 changed files with 16592 additions and 123 deletions

View File

@ -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());

View 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++;
}
}
}
}
}

View 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);
}
}

View File

@ -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 });

View File

@ -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 });

View File

@ -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());

View File

@ -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

View File

@ -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));
}
}
};

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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() {

View File

@ -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),

View File

@ -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);
}
}

View File

@ -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)

View File

@ -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) {

View 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;
}
}

View File

@ -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());

View 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;
}
}

View File

@ -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)

View File

@ -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) {

View File

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

View File

@ -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"));

View File

@ -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);

View File

@ -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");

View File

@ -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) {

View File

@ -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);
}

View File

@ -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");

View File

@ -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;

View 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);
}
}

View File

@ -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) {

View File

@ -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();
}
}

View 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();
}
}

View File

@ -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);

View File

@ -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) {

View File

@ -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();
}
}

View File

@ -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;
}
}

View File

@ -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());

View File

@ -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;
}

View File

@ -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"

View File

@ -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"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -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": "",