mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
implemented chlorophyte bullets, schrabidic acid, baby mode
This commit is contained in:
parent
c58f29ea47
commit
caf073ff22
@ -1056,7 +1056,7 @@ item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer
|
||||
item.gun_uzi_silencer.name=IMI Uzi mit Schalldämpfer
|
||||
item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp
|
||||
item.gun_xvl1456_ammo.name=Kiste mit erschöpftem Uran-235
|
||||
item.gun_zomg.name=Singularitätsbetriebener Paarvernichtungsstrahl "ZOMG Kanone"
|
||||
item.gun_zomg.name=ZOMG Kanone
|
||||
item.hazmat_boots.name=Strahlenschutzstiefel
|
||||
item.hazmat_boots_grey.name=Hochleistungs-Strahlenschutzstiefel
|
||||
item.hazmat_boots_red.name=Verbesserte Strahlenschutzstiefel
|
||||
|
||||
@ -1056,7 +1056,7 @@ item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer
|
||||
item.gun_uzi_silencer.name=IMI Uzi with Silencer
|
||||
item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype
|
||||
item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box
|
||||
item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon"
|
||||
item.gun_zomg.name=ZOMG Cannon
|
||||
item.hazmat_boots.name=Hazmat Boots
|
||||
item.hazmat_boots_grey.name=High-Performance Hazmat Boots
|
||||
item.hazmat_boots_red.name=Advanced Hazmat Boots
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
BIN
src/main/java/assets/hbm/textures/entity/ModelRocketCanister.png
Normal file
BIN
src/main/java/assets/hbm/textures/entity/ModelRocketCanister.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 354 B |
BIN
src/main/java/assets/hbm/textures/items/ingot_nikonium.png
Normal file
BIN
src/main/java/assets/hbm/textures/items/ingot_nikonium.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
@ -1403,9 +1403,9 @@ public class ModBlocks {
|
||||
FluidRegistry.registerFluid(toxic_fluid);
|
||||
toxic_block = new ToxicBlock(toxic_fluid, fluidtoxic.setReplaceable(), ModDamageSource.radiation).setBlockName("toxic_block").setResistance(500F);
|
||||
|
||||
schrabidic_fluid = new ToxicFluid().setDensity(31200).setViscosity(500).setTemperature(273).setUnlocalizedName("schrabidic_fluid");
|
||||
schrabidic_fluid = new SchrabidicFluid().setDensity(31200).setViscosity(500).setTemperature(273).setUnlocalizedName("schrabidic_fluid");
|
||||
FluidRegistry.registerFluid(schrabidic_fluid);
|
||||
schrabidic_block = new ToxicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F);
|
||||
schrabidic_block = new SchrabidicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F);
|
||||
|
||||
dummy_block_igenerator = new DummyBlockIGenerator(Material.iron).setBlockName("dummy_block_igenerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_igenerator = new DummyBlockIGenerator(Material.iron).setBlockName("dummy_port_igenerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
109
src/main/java/com/hbm/blocks/fluid/SchrabidicBlock.java
Normal file
109
src/main/java/com/hbm/blocks/fluid/SchrabidicBlock.java
Normal file
@ -0,0 +1,109 @@
|
||||
package com.hbm.blocks.fluid;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fluids.BlockFluidClassic;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
|
||||
public class SchrabidicBlock extends BlockFluidClassic {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static IIcon stillIcon;
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static IIcon flowingIcon;
|
||||
public Random rand = new Random();
|
||||
|
||||
public static DamageSource damageSource;
|
||||
|
||||
public SchrabidicBlock(Fluid fluid, Material material, DamageSource damage) {
|
||||
super(fluid, material);
|
||||
damageSource = damage;
|
||||
setQuantaPerBlock(4);
|
||||
setCreativeTab(null);
|
||||
displacements.put(this, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int meta) {
|
||||
return (side == 0 || side == 1) ? stillIcon : flowingIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
stillIcon = register.registerIcon(RefStrings.MODID + ":schrabidic_acid_still");
|
||||
flowingIcon = register.registerIcon(RefStrings.MODID + ":schrabidic_acid_flowing");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canDisplace(IBlockAccess world, int x, int y, int z) {
|
||||
|
||||
if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
|
||||
return false;
|
||||
}
|
||||
return super.canDisplace(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean displaceIfPossible(World world, int x, int y, int z) {
|
||||
|
||||
if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
|
||||
return false;
|
||||
}
|
||||
return super.displaceIfPossible(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
|
||||
entity.setInWeb();
|
||||
ContaminationUtil.applyRadData(entity, 1.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
|
||||
{
|
||||
super.onNeighborBlockChange(world, x, y, z, block);
|
||||
|
||||
if(reactToBlocks(world, x + 1, y, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x - 1, y, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y + 1, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y - 1, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y, z + 1))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y, z - 1))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
}
|
||||
|
||||
public boolean reactToBlocks(World world, int x, int y, int z) {
|
||||
if(world.getBlock(x, y, z).getMaterial() != ModBlocks.fluidschrabidic) {
|
||||
if(world.getBlock(x, y, z).getMaterial().isLiquid()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World p_149738_1_) {
|
||||
return 15;
|
||||
}
|
||||
}
|
||||
31
src/main/java/com/hbm/blocks/fluid/SchrabidicFluid.java
Normal file
31
src/main/java/com/hbm/blocks/fluid/SchrabidicFluid.java
Normal file
@ -0,0 +1,31 @@
|
||||
package com.hbm.blocks.fluid;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
|
||||
public class SchrabidicFluid extends Fluid {
|
||||
|
||||
public SchrabidicFluid() {
|
||||
super("schrabidic_fluid");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon() {
|
||||
return getStillIcon();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getStillIcon() {
|
||||
return SchrabidicBlock.stillIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getFlowingIcon() {
|
||||
return SchrabidicBlock.flowingIcon;
|
||||
}
|
||||
}
|
||||
@ -32,6 +32,7 @@ public class YellowBarrel extends Block {
|
||||
}
|
||||
|
||||
public void explode(World p_149695_1_, int x, int y, int z) {
|
||||
|
||||
if(rand.nextInt(3) == 0) {
|
||||
p_149695_1_.setBlock(x, y, z, ModBlocks.toxic_block);
|
||||
} else {
|
||||
@ -91,7 +92,10 @@ public class YellowBarrel extends Block {
|
||||
{
|
||||
super.updateTick(world, x, y, z, rand);
|
||||
|
||||
RadiationSavedData.incrementRad(world, x, z, 5, 75);
|
||||
if(this == ModBlocks.yellow_barrel)
|
||||
RadiationSavedData.incrementRad(world, x, z, 5, 75);
|
||||
else
|
||||
RadiationSavedData.incrementRad(world, x, z, 0.5F, 5);
|
||||
|
||||
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
|
||||
}
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
package com.hbm.calc;
|
||||
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class VectorUtil {
|
||||
|
||||
public static double getCrossAngle(Vec3 vel, Vec3 rel) {
|
||||
|
||||
vel.normalize();
|
||||
rel.normalize();
|
||||
|
||||
double vecProd = rel.xCoord * vel.xCoord + rel.yCoord * vel.yCoord + rel.zCoord * vel.zCoord;
|
||||
double bot = rel.lengthVector() * vel.lengthVector();
|
||||
double angle = Math.acos(vecProd / bot) * 180 / Math.PI;
|
||||
|
||||
return angle;
|
||||
}
|
||||
|
||||
}
|
||||
@ -5,7 +5,6 @@ import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.RedBarrel;
|
||||
import com.hbm.calc.VectorUtil;
|
||||
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.entity.effect.EntityEMPBlast;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
@ -22,6 +21,7 @@ import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.ReflectionHelper;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -321,7 +321,7 @@ public class EntityBulletBase extends Entity implements IProjectile {
|
||||
vel.normalize();
|
||||
|
||||
boolean lRic = rand.nextInt(100) < config.LBRC;
|
||||
double angle = Math.abs(VectorUtil.getCrossAngle(vel, face) - 90);
|
||||
double angle = Math.abs(BobMathUtil.getCrossAngle(vel, face) - 90);
|
||||
|
||||
if(hRic || (angle <= config.ricochetAngle && lRic)) {
|
||||
switch(movement.sideHit) {
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.hbm.handler.guncfg.*;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
public class BulletConfigSyncingUtil {
|
||||
|
||||
@ -46,6 +47,7 @@ public class BulletConfigSyncingUtil {
|
||||
public static int ROCKET_CHAINSAW = i++;
|
||||
public static int ROCKET_TOXIC = i++;
|
||||
public static int ROCKET_PHOSPHORUS = i++;
|
||||
public static int ROCKET_CANISTER = i++;
|
||||
|
||||
public static int GRENADE_NORMAL = i++;
|
||||
public static int GRENADE_HE = i++;
|
||||
@ -117,6 +119,7 @@ public class BulletConfigSyncingUtil {
|
||||
public static int G4_SEMTEX = i++;
|
||||
public static int G4_BALEFIRE = i++;
|
||||
public static int G4_KAMPF = i++;
|
||||
public static int G4_CANISTER = i++;
|
||||
public static int G4_SLEEK = i++;
|
||||
|
||||
public static int SPECIAL_OSIPR = i++;
|
||||
@ -171,6 +174,19 @@ public class BulletConfigSyncingUtil {
|
||||
public static int NUKE_MIRV = i++;
|
||||
public static int NUKE_AMAT = i++;
|
||||
public static int NUKE_PROTO = i++;
|
||||
|
||||
public static int ZOMG_BOLT = i++;
|
||||
|
||||
public static int CHL_LR22 = i++;
|
||||
public static int CHL_LR22_FIRE = i++;
|
||||
public static int CHL_M44 = i++;
|
||||
public static int CHL_P9 = i++;
|
||||
public static int CHL_BMG50 = i++;
|
||||
public static int CHL_R5 = i++;
|
||||
public static int CHL_R5_BOLT = i++;
|
||||
public static int CHL_AE50 = i++;
|
||||
public static int CHL_R556 = i++;
|
||||
public static int CHL_R556_FLECHETTE = i++;
|
||||
|
||||
public static int MASKMAN_BULLET = i++;
|
||||
public static int MASKMAN_ORB = i++;
|
||||
@ -216,6 +232,7 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.put(ROCKET_NUKE, GunRocketFactory.getRocketNukeConfig());
|
||||
configSet.put(ROCKET_CHAINSAW, GunRocketFactory.getRocketRPCConfig());
|
||||
configSet.put(ROCKET_TOXIC, GunRocketFactory.getRocketChlorineConfig());
|
||||
configSet.put(ROCKET_CANISTER, GunRocketFactory.getRocketCanisterConfig());
|
||||
|
||||
configSet.put(GRENADE_NORMAL, GunGrenadeFactory.getGrenadeConfig());
|
||||
configSet.put(GRENADE_HE, GunGrenadeFactory.getGrenadeHEConfig());
|
||||
@ -287,6 +304,7 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.put(G4_SEMTEX, Gun4GaugeFactory.get4GaugeMiningConfig());
|
||||
configSet.put(G4_BALEFIRE, Gun4GaugeFactory.get4GaugeBalefireConfig());
|
||||
configSet.put(G4_KAMPF, Gun4GaugeFactory.getGrenadeKampfConfig());
|
||||
configSet.put(G4_CANISTER, Gun4GaugeFactory.getGrenadeCanisterConfig());
|
||||
configSet.put(G4_SLEEK, Gun4GaugeFactory.get4GaugeSleekConfig());
|
||||
|
||||
configSet.put(SPECIAL_OSIPR, GunOSIPRFactory.getPulseConfig());
|
||||
@ -341,6 +359,19 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.put(NUKE_MIRV, GunFatmanFactory.getMirvConfig());
|
||||
configSet.put(NUKE_PROTO, GunFatmanFactory.getNukeProtoConfig());
|
||||
configSet.put(NUKE_AMAT, GunFatmanFactory.getBalefireConfig());
|
||||
|
||||
configSet.put(ZOMG_BOLT, GunEnergyFactory.getZOMGBoltConfig());
|
||||
|
||||
configSet.put(CHL_LR22, Gun22LRFactory.get22LRConfig().setToHoming(ModItems.ammo_22lr_chlorophyte));
|
||||
configSet.put(CHL_LR22_FIRE, Gun22LRFactory.get22LRConfig().setToFire(3).setToHoming(ModItems.ammo_22lr_chlorophyte));
|
||||
configSet.put(CHL_M44, Gun44MagnumFactory.getNoPipConfig().setToHoming(ModItems.ammo_44_chlorophyte));
|
||||
configSet.put(CHL_P9, Gun9mmFactory.get9mmConfig().setToHoming(ModItems.ammo_9mm_chlorophyte));
|
||||
configSet.put(CHL_BMG50, Gun50BMGFactory.get50BMGConfig().setToHoming(ModItems.ammo_50bmg_chlorophyte));
|
||||
configSet.put(CHL_R5, Gun5mmFactory.get5mmConfig().setToHoming(ModItems.ammo_5mm_chlorophyte));
|
||||
configSet.put(CHL_R5_BOLT, Gun5mmFactory.get5mmConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE).setToHoming(ModItems.ammo_5mm_chlorophyte));
|
||||
configSet.put(CHL_AE50, Gun50AEFactory.get50AEConfig().setToHoming(ModItems.ammo_50ae_chlorophyte));
|
||||
configSet.put(CHL_R556, Gun556mmFactory.get556Config().setToHoming(ModItems.ammo_556_chlorophyte));
|
||||
configSet.put(CHL_R556_FLECHETTE, Gun556mmFactory.get556FlechetteConfig().setToHoming(ModItems.ammo_556_flechette_chlorophyte));
|
||||
|
||||
configSet.put(MASKMAN_BULLET, GunNPCFactory.getMaskmanBullet());
|
||||
configSet.put(MASKMAN_ORB, GunNPCFactory.getMaskmanOrb());
|
||||
|
||||
@ -110,6 +110,7 @@ public class BulletConfiguration {
|
||||
public static final int BOLT_LACUNAE = 0;
|
||||
public static final int BOLT_NIGHTMARE = 1;
|
||||
public static final int BOLT_LASER = 2;
|
||||
public static final int BOLT_ZOMG = 3;
|
||||
|
||||
public BulletConfiguration setToBolt(int trail) {
|
||||
|
||||
@ -130,5 +131,17 @@ public class BulletConfiguration {
|
||||
this.doesRicochet = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public BulletConfiguration setToHoming(Item ammo) {
|
||||
|
||||
this.ammo = ammo;
|
||||
this.bUpdate = BulletConfigFactory.getHomingBehavior(200, 45);
|
||||
this.dmgMin *= 1.5F;
|
||||
this.dmgMax *= 1.5F;
|
||||
this.wear *= 0.5;
|
||||
this.doesRicochet = false;
|
||||
this.doesPenetrate = false;
|
||||
this.vPFX = "greendust";
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.entity.Entity;
|
||||
@ -362,5 +363,75 @@ public class BulletConfigFactory {
|
||||
|
||||
return onUpdate;
|
||||
}
|
||||
|
||||
public static IBulletUpdateBehavior getHomingBehavior(final double range, final double angle) {
|
||||
|
||||
IBulletUpdateBehavior onUpdate = new IBulletUpdateBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveUpdate(EntityBulletBase bullet) {
|
||||
|
||||
if(bullet.worldObj.isRemote)
|
||||
return;
|
||||
|
||||
if(bullet.worldObj.getEntityByID(bullet.getEntityData().getInteger("homingTarget")) == null) {
|
||||
chooseTarget(bullet);
|
||||
}
|
||||
|
||||
Entity target = bullet.worldObj.getEntityByID(bullet.getEntityData().getInteger("homingTarget"));
|
||||
|
||||
if(target != null) {
|
||||
|
||||
Vec3 delta = Vec3.createVectorHelper(target.posX - bullet.posX, target.posY + target.height / 2 - bullet.posY, target.posZ - bullet.posZ);
|
||||
delta = delta.normalize();
|
||||
|
||||
double vel = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).lengthVector();
|
||||
|
||||
bullet.motionX = delta.xCoord * vel;
|
||||
bullet.motionY = delta.yCoord * vel;
|
||||
bullet.motionZ = delta.zCoord * vel;
|
||||
}
|
||||
}
|
||||
|
||||
private void chooseTarget(EntityBulletBase bullet) {
|
||||
|
||||
List<EntityLivingBase> entities = bullet.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, bullet.boundingBox.expand(range, range, range));
|
||||
|
||||
Vec3 mot = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ);
|
||||
|
||||
EntityLivingBase target = null;
|
||||
double targetAngle = angle;
|
||||
|
||||
for(EntityLivingBase e : entities) {
|
||||
|
||||
if(!e.isEntityAlive() || e == bullet.shooter)
|
||||
continue;
|
||||
|
||||
Vec3 delta = Vec3.createVectorHelper(e.posX - bullet.posX, e.posY + e.height / 2 - bullet.posY, e.posZ - bullet.posZ);
|
||||
|
||||
if(bullet.worldObj.rayTraceBlocks(Vec3.createVectorHelper(bullet.posX, bullet.posY, bullet.posZ), Vec3.createVectorHelper(e.posX, e.posY + e.height / 2, e.posZ)) != null)
|
||||
continue;
|
||||
|
||||
double dist = e.getDistanceSqToEntity(bullet);
|
||||
|
||||
if(dist < range * range) {
|
||||
|
||||
double deltaAngle = BobMathUtil.getCrossAngle(mot, delta);
|
||||
|
||||
if(deltaAngle < targetAngle) {
|
||||
target = e;
|
||||
targetAngle = deltaAngle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(target != null) {
|
||||
bullet.getEntityData().setInteger("homingTarget", target.getEntityId());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return onUpdate;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -36,6 +36,7 @@ public class Gun22LRFactory {
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.LR22_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.LR22_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_LR22);
|
||||
|
||||
return config;
|
||||
}
|
||||
@ -52,6 +53,7 @@ public class Gun22LRFactory {
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.LR22_NORMAL_FIRE);
|
||||
config.config.add(BulletConfigSyncingUtil.LR22_AP_FIRE);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_LR22_FIRE);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
@ -62,6 +62,7 @@ public class Gun44MagnumFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.M44_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_M44);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_ROCKET);
|
||||
|
||||
return config;
|
||||
@ -84,6 +85,7 @@ public class Gun44MagnumFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.M44_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_M44);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_ROCKET);
|
||||
|
||||
return config;
|
||||
@ -107,6 +109,7 @@ public class Gun44MagnumFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.M44_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_M44);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_ROCKET);
|
||||
|
||||
return config;
|
||||
@ -131,6 +134,7 @@ public class Gun44MagnumFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.M44_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_M44);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_ROCKET);
|
||||
|
||||
return config;
|
||||
@ -154,6 +158,7 @@ public class Gun44MagnumFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.M44_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_M44);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PIP);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_BJ);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_SILVER);
|
||||
|
||||
@ -10,6 +10,7 @@ import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.interfaces.IBulletUpdateBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
@ -67,6 +68,7 @@ public class Gun4GaugeFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.G4_SEMTEX);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_BALEFIRE);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_KAMPF);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_CANISTER);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_SLEEK);
|
||||
|
||||
return config;
|
||||
@ -121,6 +123,7 @@ public class Gun4GaugeFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.G4_SEMTEX);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_BALEFIRE);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_KAMPF);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_CANISTER);
|
||||
config.config.add(BulletConfigSyncingUtil.G4_SLEEK);
|
||||
|
||||
return config;
|
||||
@ -307,6 +310,44 @@ public class Gun4GaugeFactory {
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getGrenadeCanisterConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_4gauge_canister;
|
||||
bullet.spread = 0.0F;
|
||||
bullet.gravity = 0.0D;
|
||||
bullet.wear = 15;
|
||||
bullet.explosive = 1F;
|
||||
bullet.style = BulletConfiguration.STYLE_GRENADE;
|
||||
bullet.trail = 4;
|
||||
bullet.vPFX = "smoke";
|
||||
|
||||
bullet.bUpdate = new IBulletUpdateBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveUpdate(EntityBulletBase bullet) {
|
||||
|
||||
if(!bullet.worldObj.isRemote) {
|
||||
|
||||
if(bullet.ticksExisted > 10) {
|
||||
bullet.setDead();
|
||||
|
||||
for(int i = 0; i < 50; i++) {
|
||||
|
||||
EntityBulletBase bolt = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.M44_AP);
|
||||
bolt.setPosition(bullet.posX, bullet.posY, bullet.posZ);
|
||||
bolt.setThrowableHeading(bullet.motionX, bullet.motionY, bullet.motionZ, 0.25F, 0.1F);
|
||||
bullet.worldObj.spawnEntityInWorld(bolt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration get4GaugeSleekConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig();
|
||||
|
||||
@ -46,6 +46,7 @@ public class Gun50AEFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.AE50_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.AE50_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.AE50_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_AE50);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
@ -51,6 +51,7 @@ public class Gun50BMGFactory {
|
||||
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;
|
||||
@ -85,6 +86,7 @@ public class Gun50BMGFactory {
|
||||
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;
|
||||
|
||||
@ -58,6 +58,7 @@ public class Gun556mmFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.R556_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_R556);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_SLEEK);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_K);
|
||||
|
||||
@ -103,6 +104,7 @@ public class Gun556mmFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_INCENDIARY);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_PHOSPHORUS);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_R556_FLECHETTE);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_FLECHETTE_SLEEK);
|
||||
config.config.add(BulletConfigSyncingUtil.R556_K);
|
||||
|
||||
|
||||
@ -32,6 +32,7 @@ public class Gun5mmFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE);
|
||||
config.config.add(BulletConfigSyncingUtil.R5_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.R5_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_R5);
|
||||
|
||||
return config;
|
||||
}
|
||||
@ -70,6 +71,7 @@ public class Gun5mmFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT);
|
||||
config.config.add(BulletConfigSyncingUtil.R5_DU_BOLT);
|
||||
config.config.add(BulletConfigSyncingUtil.R5_STAR_BOLT);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_R5_BOLT);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
@ -36,6 +36,7 @@ public class Gun9mmFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.P9_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_P9);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_ROCKET);
|
||||
|
||||
return config;
|
||||
@ -67,6 +68,7 @@ public class Gun9mmFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.P9_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.CHL_P9);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_ROCKET);
|
||||
|
||||
return config;
|
||||
|
||||
@ -3,11 +3,14 @@ package com.hbm.handler.guncfg;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBulletBase;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
@ -83,6 +86,36 @@ public class GunEnergyFactory {
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getZOMGConfig() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
|
||||
config.rateOfFire = 1;
|
||||
config.roundsPerCycle = 1;
|
||||
config.gunMode = GunConfiguration.MODE_NORMAL;
|
||||
config.firingMode = GunConfiguration.FIRE_AUTO;
|
||||
config.reloadDuration = 10;
|
||||
config.reloadSoundEnd = false;
|
||||
config.firingDuration = 0;
|
||||
config.durability = 100000;
|
||||
config.reloadType = GunConfiguration.RELOAD_FULL;
|
||||
config.ammoCap = 1000;
|
||||
config.allowsInfinity = true;
|
||||
config.crosshair = Crosshair.L_ARROWS;
|
||||
config.firingSound = "hbm:weapon.zomgShoot";
|
||||
config.reloadSound = "hbm:weapon.b92Reload";
|
||||
|
||||
config.name = "EMC101 Prismatic Negative Energy Cannon";
|
||||
config.manufacturer = "MWT Prototype Labs";
|
||||
|
||||
config.comment.add("Taste the rainbow!");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.ZOMG_BOLT);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getVortexConfig() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
@ -255,4 +288,42 @@ public class GunEnergyFactory {
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getZOMGBoltConfig() {
|
||||
|
||||
BulletConfiguration bullet = new BulletConfiguration();
|
||||
|
||||
bullet.ammo = ModItems.nugget_euphemium;
|
||||
bullet.ammoCount = 1000;
|
||||
bullet.wear = 1;
|
||||
bullet.velocity = 1F;
|
||||
bullet.spread = 0.125F;
|
||||
bullet.maxAge = 100;
|
||||
bullet.gravity = 0D;
|
||||
bullet.bulletsMin = 5;
|
||||
bullet.bulletsMax = 5;
|
||||
bullet.dmgMin = 10000;
|
||||
bullet.dmgMax = 25000;
|
||||
|
||||
bullet.style = bullet.STYLE_BOLT;
|
||||
bullet.trail = bullet.BOLT_ZOMG;
|
||||
|
||||
bullet.effects = new ArrayList();
|
||||
bullet.effects.add(new PotionEffect(HbmPotion.bang.id, 10 * 20, 0));
|
||||
|
||||
bullet.bImpact = new IBulletImpactBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
|
||||
|
||||
if(!bullet.worldObj.isRemote) {
|
||||
ExplosionChaos.explodeZOMG(bullet.worldObj, (int)bullet.posX, (int)bullet.posY, (int)bullet.posZ, 5);
|
||||
bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "hbm:entity.bombDet", 5.0F, 1.0F);
|
||||
ExplosionLarge.spawnParticles(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, 5);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletRicochetBehavior;
|
||||
import com.hbm.interfaces.IBulletUpdateBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe;
|
||||
@ -51,6 +52,7 @@ public class GunRocketFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_EMP);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_GLARE);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_CANISTER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW);
|
||||
@ -115,6 +117,7 @@ public class GunRocketFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_EMP_LASER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_GLARE_LASER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC_LASER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_CANISTER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK_LASER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE_LASER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW_LASER);
|
||||
@ -138,6 +141,7 @@ public class GunRocketFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_EMP);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_CANISTER);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE);
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW);
|
||||
config.durability = 500;
|
||||
@ -345,5 +349,40 @@ public class GunRocketFactory {
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getRocketCanisterConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_rocket_canister;
|
||||
bullet.dmgMin = 10;
|
||||
bullet.dmgMax = 15;
|
||||
bullet.explosive = 2F;
|
||||
bullet.trail = 0;
|
||||
|
||||
bullet.bUpdate = new IBulletUpdateBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveUpdate(EntityBulletBase bullet) {
|
||||
|
||||
if(!bullet.worldObj.isRemote) {
|
||||
|
||||
if(bullet.ticksExisted > 10) {
|
||||
bullet.setDead();
|
||||
|
||||
for(int i = 0; i < 50; i++) {
|
||||
|
||||
EntityBulletBase bolt = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.M44_AP);
|
||||
bolt.setPosition(bullet.posX, bullet.posY, bullet.posZ);
|
||||
bolt.setThrowableHeading(bullet.motionX, bullet.motionY, bullet.motionZ, 0.25F, 0.1F);
|
||||
bullet.worldObj.spawnEntityInWorld(bolt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack("dustCoal", 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.motor, 1), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack("dustLapis", 2), new ComparableStack(ModItems.ingot_polymer, 2), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.magnet_dee, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 6), new OreDictStack("ingotSteel", 3), new ComparableStack(ModItems.coil_advanced_torus, 1), },100);
|
||||
//makeRecipe(new ComparableStack(ModItems.magnet_dee, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 6), new OreDictStack("ingotSteel", 3), new ComparableStack(ModItems.coil_advanced_torus, 1), },100);
|
||||
makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.plate_advanced_alloy, 6), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.cyclotron_tower, 1), new AStack[] {new ComparableStack(ModItems.magnet_circular, 6), new ComparableStack(ModItems.magnet_dee, 3), new OreDictStack("plateSteel", 12), new ComparableStack(ModItems.wire_advanced_alloy, 8), new ComparableStack(ModItems.plate_polymer, 24), },300);
|
||||
makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack("ingotLead", 8), new OreDictStack("ingotBeryllium", 6), new OreDictStack("plateSteel", 16), new OreDictStack("plateDenseLead", 8), new ComparableStack(ModItems.ingot_fiberglass, 2) },100);
|
||||
@ -265,7 +265,6 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(Blocks.piston, 4), new OreDictStack("ingotSteel", 6), new OreDictStack("ingotRedCopperAlloy", 2), new OreDictStack("plateCopper", 4), new ComparableStack(ModItems.wire_red_copper, 6), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_selenium, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateTitanium", 6), new OreDictStack("plateCopper", 8), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_small_steel, 9), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.coil_copper, 4), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_reactor_small, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new ComparableStack(ModItems.ingot_polymer, 4), new OreDictStack("plateLead", 8), new OreDictStack("plateCopper", 4), new OreDictStack("ingotLead", 12), new OreDictStack("ingotRedCopperAlloy", 6), new ComparableStack(ModItems.circuit_copper, 8), new ComparableStack(ModItems.circuit_red_copper, 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] {new ComparableStack(ModItems.cyclotron_tower, 1), new ComparableStack(ModItems.board_copper, 4), new OreDictStack("ingotSteel", 16), new ComparableStack(ModItems.ingot_polymer, 24), new OreDictStack("plateSteel", 6), new ComparableStack(ModBlocks.machine_battery, 4), new ComparableStack(ModItems.wire_red_copper, 20), new ComparableStack(ModItems.circuit_red_copper, 12), new ComparableStack(ModItems.circuit_gold, 3), },600);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_rtg_grey, 1), new AStack[] {new ComparableStack(ModItems.rtg_unit, 5), new OreDictStack("plateSteel", 8), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 6), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_battery, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("dustSulfur", 12), new OreDictStack("dustLead", 12), new OreDictStack("ingotRedCopperAlloy", 2), new ComparableStack(ModItems.wire_red_copper, 4), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new AStack[] {new ComparableStack(ModItems.ingot_polymer, 4), new OreDictStack("dustCobalt", 12), new ComparableStack(ModItems.powder_lithium, 12), new ComparableStack(ModItems.ingot_advanced_alloy, 2), new ComparableStack(ModItems.wire_red_copper, 4), },400);
|
||||
@ -495,6 +494,31 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.pellet_canister, 2), new AStack[] {
|
||||
new OreDictStack("ingotIron", 3),
|
||||
}, 50);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] {
|
||||
new ComparableStack(ModBlocks.machine_lithium_battery, 3),
|
||||
new ComparableStack(ModBlocks.fusion_conductor, 8),
|
||||
new ComparableStack(ModItems.wire_advanced_alloy, 96),
|
||||
new OreDictStack("ingotSteel", 16),
|
||||
new OreDictStack("plateSteel", 32),
|
||||
new OreDictStack("plateAluminum", 32),
|
||||
new ComparableStack(ModItems.ingot_polymer, 24),
|
||||
new ComparableStack(ModItems.plate_polymer, 64),
|
||||
new ComparableStack(ModItems.board_copper, 8),
|
||||
new ComparableStack(ModItems.circuit_red_copper, 8),
|
||||
new ComparableStack(ModItems.circuit_gold, 3),
|
||||
}, 600);
|
||||
|
||||
makeRecipe(new ComparableStack(ModItems.gun_zomg, 1), new AStack[] {
|
||||
new ComparableStack(ModItems.crystal_xen, 2),
|
||||
new ComparableStack(ModItems.singularity_counter_resonant, 1),
|
||||
new ComparableStack(ModItems.mechanism_special, 3),
|
||||
new ComparableStack(ModItems.plate_paa, 12),
|
||||
new OreDictStack("plateDenseLead", 8),
|
||||
new ComparableStack(ModItems.coil_magnetized_tungsten, 5),
|
||||
new ComparableStack(ModItems.powder_magic, 4),
|
||||
new OreDictStack("ingotAsbestos", 8)
|
||||
}, 200);
|
||||
}
|
||||
|
||||
private static void makeRecipe(ComparableStack out, AStack[] in, int duration) {
|
||||
|
||||
@ -2024,7 +2024,7 @@ public class ModItems {
|
||||
plate_iron = new Item().setUnlocalizedName("plate_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_iron");
|
||||
ingot_lead = new Item().setUnlocalizedName("ingot_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lead");
|
||||
plate_lead = new Item().setUnlocalizedName("plate_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_lead");
|
||||
ingot_schraranium = new ItemRadioactive(2.5F, false, true).setUnlocalizedName("ingot_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schraranium");
|
||||
ingot_schraranium = new ItemSchraranium(2.5F, false, true).setUnlocalizedName("ingot_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schraranium");
|
||||
ingot_schrabidium = new ItemRadioactive(7.5F, false, true).setUnlocalizedName("ingot_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidium");
|
||||
plate_schrabidium = new ItemRadioactive(7.5F, false, true).setUnlocalizedName("plate_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_schrabidium");
|
||||
plate_copper = new Item().setUnlocalizedName("plate_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_copper");
|
||||
@ -3159,7 +3159,7 @@ public class ModItems {
|
||||
ammo_566_gold = new ItemCustomLore().setUnlocalizedName("gun_mp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm_ammo");
|
||||
gun_mp = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_mp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm");
|
||||
gun_brimstone = new GunBrimstone().setUnlocalizedName("gun_brimstone").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_brimstone");
|
||||
gun_zomg = new GunZOMG().setUnlocalizedName("gun_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_zomg");
|
||||
gun_zomg = new ItemGunBase(GunEnergyFactory.getZOMGConfig()).setUnlocalizedName("gun_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_zomg");
|
||||
gun_revolver_inverted = new GunSuicide().setUnlocalizedName("gun_revolver_inverted").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_inverted");
|
||||
gun_emp_ammo = new Item().setUnlocalizedName("gun_emp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_emp_ammo");
|
||||
gun_emp = new ItemGunBase(GunEnergyFactory.getEMPConfig()).setUnlocalizedName("gun_emp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_emp");
|
||||
@ -3866,7 +3866,7 @@ public class ModItems {
|
||||
bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_mud");
|
||||
bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_acid");
|
||||
bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_toxic");
|
||||
bucket_schrabidic_acid = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_schrabidic_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_schrabidic_acid");
|
||||
bucket_schrabidic_acid = new ItemModBucket(ModBlocks.schrabidic_block).setUnlocalizedName("bucket_schrabidic_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_schrabidic_acid");
|
||||
|
||||
door_metal = new ItemModDoor().setUnlocalizedName("door_metal").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_metal");
|
||||
door_office = new ItemModDoor().setUnlocalizedName("door_office").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_office");
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.items.special;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.handler.ArmorUtil;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -366,7 +367,10 @@ public class ItemCustomLore extends Item {
|
||||
|
||||
if(this == ModItems.ingot_schraranium)
|
||||
{
|
||||
list.add("Made from uranium in a schrabidium transmutator");
|
||||
if(GeneralConfig.enableBabyMode)
|
||||
list.add("shut up peer please for the love of god shut up i can't stand it any longer shut up shut up shut up shut up shut up");
|
||||
else
|
||||
list.add("Made from uranium in a schrabidium transmutator");
|
||||
}
|
||||
|
||||
if(this == ModItems.mech_key)
|
||||
|
||||
40
src/main/java/com/hbm/items/special/ItemSchraranium.java
Normal file
40
src/main/java/com/hbm/items/special/ItemSchraranium.java
Normal file
@ -0,0 +1,40 @@
|
||||
package com.hbm.items.special;
|
||||
|
||||
import com.hbm.config.GeneralConfig;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
public class ItemSchraranium extends ItemRadioactive {
|
||||
|
||||
IIcon nikonium;
|
||||
|
||||
public ItemSchraranium(float radiation, boolean fire, boolean blinding) {
|
||||
super(radiation, fire, blinding);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister reg) {
|
||||
this.itemIcon = reg.registerIcon(this.getIconString());
|
||||
this.nikonium = reg.registerIcon("hbm:ingot_nikonium");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconFromDamage(int meta) {
|
||||
|
||||
if(GeneralConfig.enableBabyMode)
|
||||
return this.nikonium;
|
||||
return this.itemIcon;
|
||||
}
|
||||
|
||||
public String getItemStackDisplayName(ItemStack stack) {
|
||||
|
||||
if(GeneralConfig.enableBabyMode)
|
||||
return "Nikonium Ingot";
|
||||
else
|
||||
return super.getItemStackDisplayName(stack);
|
||||
}
|
||||
}
|
||||
@ -180,6 +180,13 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_44_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//5mm
|
||||
if(this == ModItems.ammo_5mm_explosive) {
|
||||
@ -197,6 +204,13 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_5mm_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//9mm
|
||||
if(this == ModItems.ammo_9mm_ap) {
|
||||
@ -212,12 +226,26 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Rocket");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Uhhhh");
|
||||
}
|
||||
if(this == ModItems.ammo_9mm_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//.22LR
|
||||
if(this == ModItems.ammo_22lr_ap) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.RED + "- Increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_22lr_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//.50 BMG
|
||||
if(this == ModItems.ammo_50bmg) {
|
||||
@ -257,6 +285,13 @@ public class ItemAmmo extends Item {
|
||||
if(this == ModItems.ammo_50bmg_sleek) {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Fires a high-damage round that summons a small meteorite");
|
||||
}
|
||||
if(this == ModItems.ammo_50bmg_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//.50 AE
|
||||
if(this == ModItems.ammo_50ae_ap) {
|
||||
@ -273,6 +308,13 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_50ae_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//84mm ROCKETS
|
||||
if(this == ModItems.ammo_rocket_he) {
|
||||
@ -459,6 +501,20 @@ public class ItemAmmo extends Item {
|
||||
if(this == ModItems.ammo_556_k) {
|
||||
list.add(EnumChatFormatting.YELLOW + "* It's a blank");
|
||||
}
|
||||
if(this == ModItems.ammo_556_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
if(this == ModItems.ammo_556_flechette_chlorophyte) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
|
||||
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Homing");
|
||||
list.add(EnumChatFormatting.RED + "- Not penetrating");
|
||||
}
|
||||
|
||||
//FOLLY
|
||||
if(this == ModItems.ammo_folly) {
|
||||
|
||||
@ -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 (3633)";
|
||||
public static final String VERSION = "1.0.27 BETA (3640)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -760,6 +760,10 @@ public class ClientProxy extends ServerProxy {
|
||||
if("bluedust".equals(data.getString("mode"))) {
|
||||
fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.01F, 1F);
|
||||
}
|
||||
|
||||
if("greendust".equals(data.getString("mode"))) {
|
||||
fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.5F, 0.1F);
|
||||
}
|
||||
|
||||
if(fx != null)
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
|
||||
|
||||
@ -768,7 +768,6 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_cryolator, 1), new Object[] { "SSS", "IWL", "LMI", 'S', "plateSteel", 'I', "plateIron", 'L', Items.leather, 'M', ModItems.mechanism_launcher_1, 'W', ModItems.wire_aluminium }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', "plateSteel", 'C', "dustSaltpeter", 'P', Items.snowball }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', "plateSteel", 'F', ModItems.powder_ice }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_zomg, 1), new Object[] { "PRR", "CCS", "PXX", 'P', ModItems.plate_paa, 'R', "plateDenseLead", 'S', ModItems.singularity_counter_resonant, 'X', ModItems.crystal_xen, 'C', ModItems.coil_magnetized_tungsten}));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp, 1), new Object[] { "EEE", "SSM", "III", 'E', ModItems.ingot_euphemium, 'S', "plateSteel", 'I', "ingotSteel", 'M', ModItems.mechanism_rifle_2 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_emp, 1), new Object[] { "CPG", "CMF", "CPI", 'C', ModItems.coil_copper, 'P', "plateLead", 'G', ModItems.circuit_gold, 'M', ModItems.magnetron, 'I', "ingotTungsten", 'F', ModItems.mechanism_special }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_emp_ammo, 8), new Object[] { "IGI", "IPI", "IPI", 'G', "plateGold", 'I', "plateIron", 'P', ModItems.powder_power }));
|
||||
@ -1626,12 +1625,18 @@ public class CraftingManager {
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wood_gavel, 1), new Object[] { "SWS", " R ", " R ", 'S', "slabWood", 'W', "logWood", 'R', "stickWood" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lead_gavel, 1), new Object[] { "PIP", "IGI", "PIP", 'P', ModItems.pellet_buckshot, 'I', "ingotLead", 'G', ModItems.wood_gavel }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mech_key, 1), new Object[] { " GC", "GAG", "AG ", 'G', "nuggetGold", 'A', "ingotAluminum", 'C', ModItems.coin_maskman }));
|
||||
|
||||
if(GeneralConfig.enableBabyMode) {
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_semtex, 3), new Object[] { Items.slime_ball, Blocks.tnt, ModItems.niter });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_fuel, 1), new Object[] { ModItems.canister_oil, Items.redstone });
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.ore_uranium, 1), new Object[] { ModBlocks.ore_uranium_scorched, Items.water_bucket });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.ore_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_uranium_scorched, 'B', Items.water_bucket });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.ore_nether_uranium, 1), new Object[] { ModBlocks.ore_nether_uranium_scorched, Items.water_bucket });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.ore_nether_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_nether_uranium_scorched, 'B', Items.water_bucket });
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_iron, 4), new Object[] { "##", "##", '#', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 4), new Object[] { "##", "##", '#', "ingotGold" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_aluminium, 4), new Object[] { "##", "##", '#', "ingotAluminum" }));
|
||||
@ -1644,6 +1649,15 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.plate_saturnite, 4), new Object[] { "##", "##", '#', ModItems.ingot_saturnite });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 4), new Object[] { "##", "##", '#', ModItems.ingot_combine_steel });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.neutron_reflector, 4), new Object[] { "##", "##", '#', "ingotTungsten" }));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_aluminium, 16), new Object[] { "###", '#', "ingotAluminum" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_copper, 16), new Object[] { "###", '#', "ingotCopper" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_tungsten, 16), new Object[] { "###", '#', "ingotTungsten" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.wire_red_copper, 16), new Object[] { "###", '#', ModItems.ingot_red_copper });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.wire_advanced_alloy, 16), new Object[] { "###", '#', ModItems.ingot_advanced_alloy });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_gold, 16), new Object[] { "###", '#', "ingotGold" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.wire_schrabidium, 16), new Object[] { "###", '#', ModItems.ingot_schrabidium });
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.book_of_), new Object[] { "BGB", "GAG", "BGB", 'B', ModItems.egg_balefire_shard, 'G', "ingotGold", 'A', Items.book }));
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ public class RenderBullet extends Render {
|
||||
switch(style) {
|
||||
case BulletConfiguration.STYLE_NONE: break;
|
||||
case BulletConfiguration.STYLE_NORMAL: renderBullet(trail); break;
|
||||
case BulletConfiguration.STYLE_BOLT: renderDart(trail); break;
|
||||
case BulletConfiguration.STYLE_BOLT: renderDart(trail, bullet.getEntityId()); break;
|
||||
case BulletConfiguration.STYLE_FLECHETTE: renderFlechette(); break;
|
||||
case BulletConfiguration.STYLE_FOLLY: renderBullet(trail); break;
|
||||
case BulletConfiguration.STYLE_PELLET: renderBuckshot(); break;
|
||||
@ -119,6 +119,8 @@ public class RenderBullet extends Render {
|
||||
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketNuclear.png")); break;
|
||||
case 9:
|
||||
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketPhosphorus.png")); break;
|
||||
case 10:
|
||||
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketCanister.png")); break;
|
||||
}
|
||||
|
||||
if(type == 8) {
|
||||
@ -308,7 +310,7 @@ public class RenderBullet extends Render {
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderDart(int style) {
|
||||
private void renderDart(int style, int eID) {
|
||||
|
||||
float red = 1F;
|
||||
float green = 1F;
|
||||
@ -318,6 +320,13 @@ public class RenderBullet extends Render {
|
||||
case BulletConfiguration.BOLT_LASER: red = 1F; green = 0F; blue = 0F; break;
|
||||
case BulletConfiguration.BOLT_NIGHTMARE: red = 1F; green = 1F; blue = 0F; break;
|
||||
case BulletConfiguration.BOLT_LACUNAE: red = 0.25F; green = 0F; blue = 0.75F; break;
|
||||
|
||||
case BulletConfiguration.BOLT_ZOMG:
|
||||
Random rand = new Random(eID * eID);
|
||||
red = rand.nextInt(2) * 0.8F;
|
||||
green = rand.nextInt(2) * 0.8F;
|
||||
blue = rand.nextInt(2) * 0.8F;
|
||||
break;
|
||||
}
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
@ -32,7 +32,7 @@ public class ItemRenderZOMG implements IItemRenderer {
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
|
||||
return false;
|
||||
return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -42,16 +42,15 @@ public class ItemRenderZOMG implements IItemRenderer {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelZOMG.png"));
|
||||
GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(-0.5F, 0.0F, -0.2F);
|
||||
//GL11.glScalef(2.0F, 2.0F, 2.0F);
|
||||
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL11.glTranslatef(-0.4F, -0.1F, -0.1F);
|
||||
GL11.glScalef(0.75F, 0.75F, 0.75F);
|
||||
GL11.glTranslatef(-0.4F, -0.5F, -0.1F);
|
||||
swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
case EQUIPPED:
|
||||
case ENTITY:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelZOMG.png"));
|
||||
@ -65,6 +64,17 @@ public class ItemRenderZOMG implements IItemRenderer {
|
||||
GL11.glTranslatef(-0.4F, -0.1F, -0.1F);
|
||||
swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
case ENTITY:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelZOMG.png"));
|
||||
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glScalef(1.5F, 1.5F, 1.5F);
|
||||
GL11.glTranslatef(0F, -0.5F, 0F);
|
||||
swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -186,6 +186,7 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
|
||||
GL11.glShadeModel(GL11.GL_FLAT);*/
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
bindTexture(ResourceManager.igen_tex);
|
||||
ResourceManager.igen.renderPart("Base");
|
||||
@ -266,6 +267,7 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
|
||||
BeamPronter.prontBeam(Vec3.createVectorHelper(1.5, 0, 0), EnumWaveType.RANDOM, EnumBeamType.LINE, 0xffffff, 0x0000ff, (int)tileEntity.getWorldObj().getTotalWorldTime() % 1000 + 2 + i, 5, px * 4, 0, 0);
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
tileEntity.getWorldObj().spawnParticle("splash", tileEntity.xCoord + 2.1, tileEntity.yCoord + 5.875, tileEntity.zCoord + 0.5, 0, 0, -0.25);
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.hbm.util;
|
||||
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class BobMathUtil {
|
||||
|
||||
public static double getAngleFrom2DVecs(double x1, double z1, double x2, double z2) {
|
||||
@ -9,10 +11,25 @@ public class BobMathUtil {
|
||||
|
||||
double result = Math.toDegrees(Math.cos(upper / lower));
|
||||
|
||||
if(result <= 180)
|
||||
if(result >= 180)
|
||||
result -= 180;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static double getCrossAngle(Vec3 vel, Vec3 rel) {
|
||||
|
||||
vel.normalize();
|
||||
rel.normalize();
|
||||
|
||||
double vecProd = rel.xCoord * vel.xCoord + rel.yCoord * vel.yCoord + rel.zCoord * vel.zCoord;
|
||||
double bot = rel.lengthVector() * vel.lengthVector();
|
||||
double angle = Math.acos(vecProd / bot) * 180 / Math.PI;
|
||||
|
||||
if(angle >= 180)
|
||||
angle -= 180;
|
||||
|
||||
return angle;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user