some cyclotron texturework, guns
@ -389,6 +389,7 @@ item.ammo_9mm.name=9mm Patrone
|
||||
item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend)
|
||||
item.ammo_9mm_du.name=9mm Patrone (DU)
|
||||
item.ammo_9mm_rocket.name=9mm Rakete
|
||||
item.ammo_cell.name=Energiezelle
|
||||
item.ammo_container.name=Munitionsbehälter
|
||||
item.ammo_folly.name=Silbernes Geschoss (Original)
|
||||
item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv)
|
||||
|
||||
@ -389,6 +389,7 @@ item.ammo_9mm.name=9mm Round
|
||||
item.ammo_9mm_ap.name=9mm Round (Armor Piercing)
|
||||
item.ammo_9mm_du.name=9mm Round (DU)
|
||||
item.ammo_9mm_rocket.name=9mm Rocket
|
||||
item.ammo_cell.name=Energy Cell
|
||||
item.ammo_container.name=Ammo Container
|
||||
item.ammo_folly.name=Silver Bullet (Original)
|
||||
item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive)
|
||||
|
||||
@ -59,6 +59,7 @@ achievement.tasteofblood.desc=这不是任何测试的一部分
|
||||
achievement.tasteofblood=血的味道
|
||||
|
||||
chem.ASPHALT=沥青生产
|
||||
chem.BALEFIRE=BF火箭燃料混合
|
||||
chem.BP_BIOFUEL=生物燃料酯化
|
||||
chem.BP_BIOGAS=沼气生产
|
||||
chem.CC_HEATING=高级煤液化
|
||||
@ -160,6 +161,7 @@ container.machineCMB=CMB炼钢炉
|
||||
container.machineCoal=火力发电机
|
||||
container.machineDiesel=柴油发电机
|
||||
container.machineElectricBoiler=电锅炉
|
||||
container.machineITER=聚变反应堆
|
||||
container.machineRefinery=炼油厂
|
||||
container.machineSelenium=星型发动机
|
||||
container.machineShredder=粉碎机
|
||||
@ -184,6 +186,7 @@ container.nukePrototype=原型
|
||||
container.nukeSolinium=蔚蓝洗礼
|
||||
container.nukeTsar=沙皇炸弹
|
||||
container.oilWell=钻油塔
|
||||
container.plasmaHeater=等离子加热器
|
||||
container.press=火力锻压机
|
||||
container.puf6_tank=六氟化钚储罐
|
||||
container.pumpjack=石油钻机
|
||||
@ -194,6 +197,7 @@ container.radiorec=FM收音机
|
||||
container.reactor=增殖反应堆
|
||||
container.reactorControl=反应堆遥控模块
|
||||
container.reactorLarge=大型核反应堆
|
||||
container.reix=Rei-X主机
|
||||
container.reactorSmall=核反应堆
|
||||
container.reix=Rei-X主机
|
||||
container.rtg=放射性同位素发电机
|
||||
@ -256,6 +260,7 @@ death.attack.teleporter=%1$s 被传送到虚空
|
||||
|
||||
entity.entity_cyber_crab.name=赛博螃蟹
|
||||
entity.entity_mob_hunter_chopper.name=猎人直升机
|
||||
entity.entity_mob_mask_man.name=面具人
|
||||
entity.entity_mob_nuclear_creeper.name=核爆爬行者
|
||||
entity.entity_mob_tainted_creeper.name=污染爬行者
|
||||
entity.entity_taint_crab.name=污染螃蟹
|
||||
@ -310,6 +315,7 @@ hbmfluid.steam=蒸汽
|
||||
hbmfluid.superhotsteam=超热蒸汽
|
||||
hbmfluid.tritium=氚
|
||||
hbmfluid.uf6=六氟化铀
|
||||
hbmfluid.ultrahotsteam=超浓密蒸汽
|
||||
hbmfluid.water=水
|
||||
hbmfluid.watz=毒泥浆
|
||||
hbmfluid.xenon=氙气
|
||||
@ -412,7 +418,7 @@ item.ammo_grenade_toxic.name=40mm榴弹[化学]
|
||||
item.ammo_grenade_tracer.name=40mm训练榴弹
|
||||
|
||||
item.ammo_rocket.name=84mm火箭弹
|
||||
item.ammo_rocket_emp.name=84mm火箭弹[脉冲]
|
||||
item.ammo_rocket_emp.name=84mm火箭弹[EMP]
|
||||
item.ammo_rocket_glare.name=84mm火箭弹[红光]
|
||||
item.ammo_rocket_he.name=84mm火箭弹[HE]
|
||||
item.ammo_rocket_incendiary.name=84mm火箭弹[燃烧]
|
||||
@ -526,6 +532,7 @@ item.blade_tungsten.name=钨强化扇片
|
||||
item.blades_advanced_alloy.name=高级合金刀片
|
||||
item.blades_aluminium.name=铝制刀片
|
||||
item.blades_combine_steel.name=CMB钢刀片
|
||||
item.blades_desh.name=Desh制刀片
|
||||
item.blades_gold.name=金制刀片
|
||||
item.blades_iron.name=铁制刀片
|
||||
item.blades_schrabidium.name=Sa326刀片
|
||||
@ -664,6 +671,7 @@ item.centrifuge_element.name=离心元件
|
||||
item.centrifuge_tower.name=离心塔
|
||||
item.chainsaw.name=链锯
|
||||
item.chemistry_template.name=化工厂模板:
|
||||
item.chernobylsign.name=辐射警告标志战斧
|
||||
item.chlorine_pinwheel.name=氯气转轮
|
||||
item.chocolate_milk.name=巧克力牛奶
|
||||
item.chopper.name=猎人直升机
|
||||
@ -811,6 +819,9 @@ item.door_bunker.name=仓门
|
||||
item.door_metal.name=金属门
|
||||
item.door_office.name=办公室门
|
||||
item.drill_titanium.name=钛钻头
|
||||
item.drax.name=采掘钻
|
||||
item.drax_mk2.name=强化型采掘钻
|
||||
item.drax_mk3.name=Sa326采掘钻
|
||||
item.ducttape.name=胶带
|
||||
item.dust.name=灰尘
|
||||
item.dynosphere_base.name=空白动力球
|
||||
@ -881,6 +892,10 @@ item.fuel_tank_small.name=小型燃料罐
|
||||
item.fuse.name=保险丝
|
||||
item.fusion_core.name=聚变能源核心
|
||||
item.fusion_core_infinite.name=无限能源核心
|
||||
item.fusion_shield_chlorophyte.name=叶绿金属聚变反应堆覆层
|
||||
item.fusion_shield_desh.name=Desh聚变反应堆覆层
|
||||
item.fusion_shield_tungsten.name=钨聚变反应堆覆层
|
||||
item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层
|
||||
|
||||
item.gadget_core.name=钚核心
|
||||
item.gadget_explosive.name=炸药
|
||||
@ -1476,11 +1491,13 @@ item.powder_aluminium.name=铝粉
|
||||
item.powder_asbestos.name=石棉粉
|
||||
item.powder_astatine.name=砹粉
|
||||
item.powder_australium.name=奥斯粉
|
||||
item.powder_balefire.name=热核灰烬
|
||||
item.powder_beryllium.name=铍粉
|
||||
item.powder_bromine.name=溴粉
|
||||
item.powder_caesium.name=铯粉
|
||||
item.powder_cerium.name=铈粉
|
||||
item.powder_cerium_tiny.name=小撮铈粉
|
||||
item.powder_chlorophyte.name=叶绿粉
|
||||
item.powder_cloud.name=云粉末
|
||||
item.powder_coal.name=煤粉
|
||||
item.powder_cobalt.name=钴粉
|
||||
@ -1977,6 +1994,7 @@ tile.block_combine_steel.name=CMB钢块
|
||||
tile.block_copper.name=铜块
|
||||
tile.block_daffergon.name=达夫贡块
|
||||
tile.block_desh.name=Desh块
|
||||
tile.block_dura_steel.name=强化高速钢块
|
||||
tile.block_electrical_scrap.name=电子废料块
|
||||
tile.block_euphemium.name=Ep块
|
||||
tile.block_euphemium_cluster.name=Ep刻蚀Sa326团
|
||||
@ -2024,6 +2042,7 @@ tile.block_uranium.name=铀块
|
||||
tile.block_uranium_fuel.name=铀燃料块
|
||||
tile.block_verticium.name=韦德赛块
|
||||
tile.block_waste.name=核废料块
|
||||
tile.block_waste_painted.name=带标志的核废料块
|
||||
tile.block_weidanium.name=魏丹块
|
||||
tile.block_white_phosphorus.name=白磷块
|
||||
tile.block_yellowcake.name=黄饼块
|
||||
@ -2032,11 +2051,19 @@ tile.bomb_multi.name=多功能炸弹
|
||||
tile.bomber.name=坠毁轰炸机
|
||||
tile.book_guide.name=HBM的核科技mod手册[遗留]
|
||||
tile.boxcar.name=车厢
|
||||
tile.block_asbestos.name=石棉砖块
|
||||
tile.brick_compound.name=复合网格砖块
|
||||
tile.brick_concrete.name=混凝土砖块
|
||||
tile.brick_concrete_broken.name=破混凝土砖块
|
||||
tile.brick_concrete_cracked.name=裂混凝土砖块
|
||||
tile.brick_concrete_mossy.name=苔混凝土砖块
|
||||
tile.brick_jungle.name=硫砷钢砖块
|
||||
tile.brick_jungle_cracked.name=开裂硫砷钢砖块
|
||||
tile.brick_jungle_glyph.name=硫砷钢石雕砖块
|
||||
tile.brick_jungle_lava.name=岩浆硫砷钢砖块
|
||||
tile.brick_jungle_mystic.name=奥术硫砷钢砖块
|
||||
tile.brick_jungle_ooze.name=放射硫砷钢砖块
|
||||
tile.brick_jungle_trap.name=陷阱硫砷钢砖块
|
||||
tile.brick_light.name=轻质砖块
|
||||
tile.brick_obsidian.name=黑曜石砖块
|
||||
tile.broadcaster_pc.name=腐败广播
|
||||
@ -2055,6 +2082,7 @@ tile.crate.name=补给箱
|
||||
tile.crate_ammo.name=星辉补给箱
|
||||
tile.crate_can.name=罐头补给箱
|
||||
tile.crate_iron.name=铁箱
|
||||
tile.crate_jungle.name=硫砷钢箱
|
||||
tile.crate_lead.name=危险品补给箱
|
||||
tile.crate_metal.name=机器补给箱
|
||||
tile.crate_red.name=红色补给箱
|
||||
@ -2124,6 +2152,7 @@ tile.glass_uranium.name=铀玻璃
|
||||
tile.gravel_diamond.name=钻石砂砾
|
||||
tile.gravel_obsidian.name=碎黑曜石
|
||||
tile.hazmat.name=防辐射布块
|
||||
tile.iter.name=聚变反应堆
|
||||
tile.launch_pad.name=导弹发射台
|
||||
tile.launch_table.name=大型发射台
|
||||
tile.lox_barrel.name=液氧桶
|
||||
@ -2156,6 +2185,7 @@ tile.machine_drill.name=自动采矿钻机
|
||||
tile.machine_electric_furnace_off.name=电炉
|
||||
tile.machine_electric_furnace_on.name=电炉
|
||||
tile.machine_epress.name=电动锻压机
|
||||
tile.machine_fensu.name=FEnSU飞轮储能系统
|
||||
tile.machine_flare.name=高架火炬
|
||||
tile.machine_fluidtank.name=储罐
|
||||
tile.machine_forcefield.name=力场发生器
|
||||
@ -2164,6 +2194,7 @@ tile.machine_generator.name=核反应堆[旧]
|
||||
tile.machine_geo.name=地热发电机
|
||||
tile.machine_industrial_generator.name=工业发电机
|
||||
tile.machine_keyforge.name=锁匠桌
|
||||
tile.machine_large_turbine.name=工业汽轮机
|
||||
tile.machine_lithium_battery.name=锂蓄电池
|
||||
tile.machine_mining_laser.name=采矿激光
|
||||
tile.machine_minirtg.name=放射性同位素电池
|
||||
@ -2265,6 +2296,7 @@ tile.ore_nether_schrabidium.name=下界Sa326矿石
|
||||
tile.ore_nether_sulfur.name=下界硫磺矿石
|
||||
tile.ore_nether_tungsten.name=下界钨矿石
|
||||
tile.ore_nether_uranium.name=下界铀矿石
|
||||
tile.ore_nether_uranium_scorched.name=烧焦的下界铀矿石
|
||||
tile.ore_niter.name=硝石矿石
|
||||
tile.ore_oil.name=油岩
|
||||
tile.ore_oil_empty.name=空油岩
|
||||
@ -2279,6 +2311,7 @@ tile.ore_titanium.name=钛矿石
|
||||
tile.ore_tungsten.name=钨矿石
|
||||
tile.ore_unobtainium.name=难得素矿石
|
||||
tile.ore_uranium.name=铀矿石
|
||||
tile.ore_uranium_scorched.name=烧焦的铀矿石
|
||||
tile.ore_verticium.name=韦德赛矿石
|
||||
tile.ore_weidanium.name=魏丹矿石
|
||||
tile.pink_barrel.name=煤油桶
|
||||
@ -2287,6 +2320,7 @@ tile.pink_planks.name=粉色木板
|
||||
tile.pink_slab.name=粉色木半砖
|
||||
tile.pink_stairs.name=粉色木台阶
|
||||
tile.plasma.name=等离子
|
||||
tile.plasma_heater.name=等离子加热器
|
||||
tile.pole_satellite_receiver.name=卫星天线
|
||||
tile.pole_top.name=天线顶部
|
||||
tile.radiobox.name=无线怪物清除箱
|
||||
@ -2341,9 +2375,11 @@ tile.steel_poles.name=钢杆
|
||||
tile.steel_roof.name=钢天花顶
|
||||
tile.steel_scaffold.name=钢脚手架
|
||||
tile.steel_wall.name=钢墙
|
||||
tile.struct_iter_core.name=聚变反应堆核心组件
|
||||
tile.struct_launcher.name=发射台部件
|
||||
tile.struct_launcher_core.name=紧凑型发射台核心组件
|
||||
tile.struct_launcher_core_large.name=发射台核心组件
|
||||
tile.struct_plasma_core.name=等离子加热器核心组件
|
||||
tile.struct_scaffold.name=发射台骨架
|
||||
tile.struct_soyuz_core.name=联盟号发射器核心组件
|
||||
tile.taint.name=污点
|
||||
@ -2387,6 +2423,7 @@ tile.watz_hatch.name=Watz反应堆端口
|
||||
tile.yellow_barrel.name=核废料桶
|
||||
|
||||
tool.ability.centrifuge=自动离心
|
||||
tool.ability.crystallizer=自动结晶
|
||||
tool.ability.hammer=范围挖掘
|
||||
tool.ability.luck=时运
|
||||
tool.ability.recursion=连锁挖矿
|
||||
|
||||
3319
src/main/java/assets/hbm/models/weapons/thompson.obj
Normal file
3848
src/main/java/assets/hbm/models/weapons/vortex.obj
Normal file
BIN
src/main/java/assets/hbm/textures/items/ammo_cell.png
Normal file
|
After Width: | Height: | Size: 193 B |
BIN
src/main/java/assets/hbm/textures/items/ammo_cell_explosive.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
src/main/java/assets/hbm/textures/items/ammo_cell_incendiary.png
Normal file
|
After Width: | Height: | Size: 231 B |
BIN
src/main/java/assets/hbm/textures/models/machines/cyclotron.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 237 KiB |
BIN
src/main/java/assets/hbm/textures/models/weapons/vortex.png
Normal file
|
After Width: | Height: | Size: 223 KiB |
65
src/main/java/com/hbm/entity/projectile/EntityBeamBase.java
Normal file
@ -0,0 +1,65 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public abstract class EntityBeamBase extends Entity {
|
||||
|
||||
public EntityBeamBase(World world) {
|
||||
super(world);
|
||||
this.ignoreFrustumCheck = true;
|
||||
}
|
||||
|
||||
public EntityBeamBase(World world, EntityPlayer player) {
|
||||
super(world);
|
||||
|
||||
this.ignoreFrustumCheck = true;
|
||||
this.dataWatcher.updateObject(20, player.getDisplayName());
|
||||
|
||||
Vec3 vec = player.getLookVec();
|
||||
vec.rotateAroundY(-90F);
|
||||
float l = 0.075F;
|
||||
vec.xCoord *= l;
|
||||
vec.yCoord *= l;
|
||||
vec.zCoord *= l;
|
||||
|
||||
Vec3 vec0 = player.getLookVec();
|
||||
float d = 0.1F;
|
||||
vec0.xCoord *= d;
|
||||
vec0.yCoord *= d;
|
||||
vec0.zCoord *= d;
|
||||
|
||||
this.setPosition(player.posX + vec.xCoord + vec0.xCoord, player.posY + player.getEyeHeight() + vec0.yCoord, player.posZ + vec.zCoord + vec0.zCoord);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
this.dataWatcher.addObject(20, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getBrightnessForRender(float p_70070_1_)
|
||||
{
|
||||
return 15728880;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getBrightness(float p_70013_1_)
|
||||
{
|
||||
return 1.0F;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityBeamVortex extends EntityBeamBase {
|
||||
|
||||
public EntityBeamVortex(World world) {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityBeamVortex(World world, EntityPlayer player) {
|
||||
super(world, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
|
||||
if(this.ticksExisted > 10)
|
||||
this.setDead();
|
||||
|
||||
if(this.ticksExisted > 1)
|
||||
return;
|
||||
|
||||
int range = 100;
|
||||
|
||||
EntityPlayer player = worldObj.getPlayerEntityByName(this.dataWatcher.getWatchableObjectString(20));
|
||||
|
||||
if(player != null) {
|
||||
|
||||
MovingObjectPosition pos = Library.rayTrace(player, range, 1, false, true, false);
|
||||
|
||||
if(pos == null)
|
||||
return;
|
||||
|
||||
worldObj.spawnParticle("cloud", pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 0, 0, 0);
|
||||
worldObj.playSound(pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, "random.fizz", 1, 1, true);
|
||||
|
||||
List<Entity> list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(pos.hitVec.xCoord - 1, pos.hitVec.yCoord - 1, pos.hitVec.zCoord - 1, pos.hitVec.xCoord + 1, pos.hitVec.yCoord + 1, pos.hitVec.zCoord + 1));
|
||||
|
||||
for(Entity e : list)
|
||||
e.attackEntityFrom(ModDamageSource.radiation, 5);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -40,6 +40,37 @@ public class Gun9mmFactory {
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getThompsonConfig() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
|
||||
config.rateOfFire = 2;
|
||||
config.roundsPerCycle = 1;
|
||||
config.gunMode = GunConfiguration.MODE_NORMAL;
|
||||
config.firingMode = GunConfiguration.FIRE_AUTO;
|
||||
config.reloadDuration = 20;
|
||||
config.firingDuration = 0;
|
||||
config.ammoCap = 30;
|
||||
config.reloadType = GunConfiguration.RELOAD_FULL;
|
||||
config.allowsInfinity = true;
|
||||
config.crosshair = Crosshair.L_SPLIT;
|
||||
config.durability = 2500;
|
||||
config.reloadSound = GunConfiguration.RSOUND_MAG;
|
||||
config.firingSound = "hbm:weapon.rifleShoot";
|
||||
config.reloadSoundEnd = false;
|
||||
|
||||
config.name = "M1A1 Submachine Gun 9mm Mod";
|
||||
config.manufacturer = "Auto-Ordnance Corporation";
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.P9_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.P9_ROCKET);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
static float inaccuracy = 5;
|
||||
public static BulletConfiguration get9mmConfig() {
|
||||
|
||||
@ -83,6 +83,14 @@ public class GunEnergyFactory {
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getVortexConfig() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
|
||||
return config;
|
||||
|
||||
}
|
||||
|
||||
public static BulletConfiguration getOrbusConfig() {
|
||||
|
||||
BulletConfiguration bullet = new BulletConfiguration();
|
||||
|
||||
@ -12,7 +12,6 @@ import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletImpactBehavior;
|
||||
import com.hbm.interfaces.IBulletUpdateBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
||||
|
||||
public class GunFatmanFactory {
|
||||
|
||||
@ -1189,6 +1189,7 @@ public class ModItems {
|
||||
public static Item ammo_fuel_phosphorus;
|
||||
public static Item ammo_fuel_vaporizer;
|
||||
public static Item ammo_fuel_gas;
|
||||
public static Item ammo_cell;
|
||||
|
||||
public static Item gun_rpg;
|
||||
public static Item gun_rpg_ammo;
|
||||
@ -1242,6 +1243,7 @@ public class ModItems {
|
||||
public static Item gun_bf_ammo;
|
||||
public static Item gun_mp40;
|
||||
public static Item gun_mp40_ammo;
|
||||
public static Item gun_thompson;
|
||||
public static Item gun_uzi;
|
||||
public static Item gun_uzi_silencer;
|
||||
public static Item gun_uzi_saturnite;
|
||||
@ -1295,6 +1297,7 @@ public class ModItems {
|
||||
public static Item gun_twigun_ammo;
|
||||
public static Item gun_defabricator;
|
||||
public static Item gun_defabricator_ammo;
|
||||
public static Item gun_vortex;
|
||||
public static Item gun_dampfmaschine;
|
||||
public static Item gun_waluigi;
|
||||
|
||||
@ -3029,6 +3032,7 @@ public class ModItems {
|
||||
ammo_fuel_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_fuel_phosphorus").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_phosphorus");
|
||||
ammo_fuel_vaporizer = new ItemAmmo().setUnlocalizedName("ammo_fuel_vaporizer").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_vaporizer");
|
||||
ammo_fuel_gas = new ItemAmmo().setUnlocalizedName("ammo_fuel_gas").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_gas");
|
||||
ammo_cell = new ItemAmmo().setUnlocalizedName("ammo_cell").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(16).setTextureName(RefStrings.MODID + ":ammo_cell");
|
||||
|
||||
gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg");
|
||||
gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl");
|
||||
@ -3082,6 +3086,7 @@ public class ModItems {
|
||||
gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf");
|
||||
gun_mp40_ammo = new Item().setUnlocalizedName("gun_mp40_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_mp40_ammo");
|
||||
gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40");
|
||||
gun_thompson = new ItemGunBase(Gun9mmFactory.getThompsonConfig()).setUnlocalizedName("gun_thompson").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_thompson");
|
||||
gun_uzi_ammo = new Item().setUnlocalizedName("gun_uzi_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_uzi_ammo");
|
||||
gun_uzi = new ItemGunBase(Gun22LRFactory.getUziConfig()).setUnlocalizedName("gun_uzi").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi");
|
||||
gun_uzi_silencer = new ItemGunBase(Gun22LRFactory.getUziConfig().silenced()).setUnlocalizedName("gun_uzi_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_silencer");
|
||||
@ -3134,6 +3139,7 @@ public class ModItems {
|
||||
gun_twigun = new GunEuthanasia().setUnlocalizedName("gun_twigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_twigun");
|
||||
gun_defabricator_ammo = new Item().setUnlocalizedName("gun_defabricator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_defabricator_ammo");
|
||||
gun_defabricator = new GunDefabricator().setUnlocalizedName("gun_defabricator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_defabricator");
|
||||
gun_vortex = new ItemGunVortex(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_vortex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_vortex");
|
||||
gun_super_shotgun = new ItemCustomLore().setUnlocalizedName("gun_super_shotgun").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_super_shotgun");
|
||||
gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget");
|
||||
gun_dampfmaschine = new GunDampfmaschine().setUnlocalizedName("gun_dampfmaschine").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dampfmaschine");
|
||||
@ -5123,6 +5129,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(gun_mirv, gun_mirv.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_bf, gun_bf.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_mp40, gun_mp40.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_thompson, gun_thompson.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_uzi_silencer,gun_uzi_silencer.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_uzi_saturnite, gun_uzi_saturnite.getUnlocalizedName());
|
||||
@ -5155,6 +5162,7 @@ public class ModItems {
|
||||
//GameRegistry.registerItem(gun_dash, gun_dash.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(gun_twigun, gun_twigun.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_defabricator, gun_defabricator.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_vortex, gun_vortex.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_dampfmaschine, gun_dampfmaschine.getUnlocalizedName());
|
||||
@ -5271,6 +5279,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ammo_fuel_phosphorus, ammo_fuel_phosphorus.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_fuel_vaporizer, ammo_fuel_vaporizer.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_fuel_gas, ammo_fuel_gas.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_cell, ammo_cell.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_rocket_he, ammo_rocket_he.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_rocket_incendiary, ammo_rocket_incendiary.getUnlocalizedName());
|
||||
|
||||
@ -86,6 +86,18 @@ public class ItemAmmo extends Item {
|
||||
}
|
||||
|
||||
//23mm
|
||||
if(this == ModItems.ammo_4gauge_flechette) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
|
||||
list.add(EnumChatFormatting.RED + "- Increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_4gauge_flechette_phosphorus) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Twice the warcrime in a single round!");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
|
||||
list.add(EnumChatFormatting.RED + "- Increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_4gauge_slug) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Near-perfect accuracy");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
@ -99,6 +111,28 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
list.add(EnumChatFormatting.RED + "- Single projectile");
|
||||
}
|
||||
if(this == ModItems.ammo_4gauge_semtex) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Explosive");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Explosion drops all blocks");
|
||||
list.add(EnumChatFormatting.RED + "- No splash damage");
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
list.add(EnumChatFormatting.RED + "- Single projectile");
|
||||
}
|
||||
if(this == ModItems.ammo_4gauge_balefire) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Explosive");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Balefire");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
list.add(EnumChatFormatting.RED + "- Single projectile");
|
||||
}
|
||||
if(this == ModItems.ammo_4gauge_kampf) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Explosive");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Rocket Propelled");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased accuracy");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.RED + "- Increased wear");
|
||||
list.add(EnumChatFormatting.RED + "- Single projectile");
|
||||
}
|
||||
if(this == ModItems.ammo_4gauge_sleek) {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Fires a tracer which summons a storm of DU-flechettes");
|
||||
}
|
||||
|
||||
@ -12,7 +12,6 @@ public class ItemGunShotty extends ItemGunBase {
|
||||
public ItemGunShotty(GunConfiguration config) {
|
||||
super(config);
|
||||
}
|
||||
|
||||
|
||||
protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) {
|
||||
super.updateServer(stack, world, player, slot, isCurrentItem);
|
||||
|
||||
30
src/main/java/com/hbm/items/weapon/ItemGunVortex.java
Normal file
@ -0,0 +1,30 @@
|
||||
package com.hbm.items.weapon;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBeamVortex;
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.packet.GunAnimationPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemGunVortex extends ItemGunBase {
|
||||
|
||||
public ItemGunVortex(GunConfiguration config) {
|
||||
super(config);
|
||||
}
|
||||
|
||||
//spawns the actual projectile, can be overridden to change projectile entity
|
||||
protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) {
|
||||
|
||||
EntityBeamVortex beam = new EntityBeamVortex(world, player);
|
||||
world.spawnEntityInWorld(beam);
|
||||
|
||||
if(this.mainConfig.animations.containsKey(AnimType.CYCLE) && player instanceof EntityPlayerMP)
|
||||
PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player);
|
||||
|
||||
}
|
||||
}
|
||||
@ -272,24 +272,32 @@ public class Library {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public static MovingObjectPosition rayTrace(EntityPlayer player, double d, float f) {
|
||||
Vec3 vec3 = getPosition(f, player);
|
||||
public static MovingObjectPosition rayTrace(EntityPlayer player, double length, float interpolation) {
|
||||
Vec3 vec3 = getPosition(interpolation, player);
|
||||
vec3.yCoord += player.eyeHeight;
|
||||
Vec3 vec31 = player.getLook(f);
|
||||
Vec3 vec32 = vec3.addVector(vec31.xCoord * d, vec31.yCoord * d, vec31.zCoord * d);
|
||||
Vec3 vec31 = player.getLook(interpolation);
|
||||
Vec3 vec32 = vec3.addVector(vec31.xCoord * length, vec31.yCoord * length, vec31.zCoord * length);
|
||||
return player.worldObj.func_147447_a(vec3, vec32, false, false, true);
|
||||
}
|
||||
|
||||
public static Vec3 getPosition(float par1, EntityPlayer player) {
|
||||
if (par1 == 1.0F)
|
||||
public static MovingObjectPosition rayTrace(EntityPlayer player, double length, float interpolation, boolean liquids, boolean entity, boolean allowZeroLength) {
|
||||
Vec3 vec3 = getPosition(interpolation, player);
|
||||
vec3.yCoord += player.eyeHeight;
|
||||
Vec3 vec31 = player.getLook(interpolation);
|
||||
Vec3 vec32 = vec3.addVector(vec31.xCoord * length, vec31.yCoord * length, vec31.zCoord * length);
|
||||
return player.worldObj.func_147447_a(vec3, vec32, liquids, entity, allowZeroLength);
|
||||
}
|
||||
|
||||
public static Vec3 getPosition(float interpolation, EntityPlayer player) {
|
||||
if (interpolation == 1.0F)
|
||||
{
|
||||
return Vec3.createVectorHelper(player.posX, player.posY + (player.getEyeHeight() - player.getDefaultEyeHeight()), player.posZ);
|
||||
}
|
||||
else
|
||||
{
|
||||
double d0 = player.prevPosX + (player.posX - player.prevPosX) * par1;
|
||||
double d1 = player.prevPosY + (player.posY - player.prevPosY) * par1 + (player.getEyeHeight() - player.getDefaultEyeHeight());
|
||||
double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * par1;
|
||||
double d0 = player.prevPosX + (player.posX - player.prevPosX) * interpolation;
|
||||
double d1 = player.prevPosY + (player.posY - player.prevPosY) * interpolation + (player.getEyeHeight() - player.getDefaultEyeHeight());
|
||||
double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * interpolation;
|
||||
return Vec3.createVectorHelper(d0, d1, d2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -272,6 +272,8 @@ public class ClientProxy extends ServerProxy {
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_flechette, new ItemRenderWeaponObj());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_quadro, new ItemRenderWeaponQuadro());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_sauer, new ItemRenderWeaponSauer());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_vortex, new ItemRenderWeaponVortex());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_thompson, new ItemRenderWeaponThompson());
|
||||
//ammo
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_fatman_ammo, new ItemRenderMiniNuke());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_mirv_ammo, new ItemRenderMIRV());
|
||||
@ -337,6 +339,7 @@ public class ClientProxy extends ServerProxy {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityOilSpill.class, new RenderEmpty());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBeamVortex.class, new RenderVortexBeam());
|
||||
//grenades
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeStrong.class, new RenderSnowball(ModItems.grenade_strong));
|
||||
|
||||
@ -568,6 +568,7 @@ public class MainRegistry {
|
||||
EntityRegistry.registerModEntity(EntitySoyuzCapsule.class, "entity_soyuz_capsule", 145, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityMovingItem.class, "entity_c_item", 146, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityCloudTom.class, "entity_moonstone_blast", 147, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityBeamVortex.class, "entity_vortex_beam", 148, this, 1000, 1, true);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
|
||||
|
||||
@ -378,6 +378,8 @@ public class ResourceManager {
|
||||
public static final IModelCustom flechette = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/flechette.obj"));
|
||||
public static final IModelCustom quadro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/quadro.obj"));
|
||||
public static final IModelCustom sauergun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/sauergun.obj"));
|
||||
public static final IModelCustom vortex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/vortex.obj"));
|
||||
public static final IModelCustom thompson = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/thompson.obj"));
|
||||
|
||||
public static final IModelCustom grenade_frag = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/grenade_frag.obj"));
|
||||
|
||||
@ -410,6 +412,8 @@ public class ResourceManager {
|
||||
public static final ResourceLocation quadro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro.png");
|
||||
public static final ResourceLocation quadro_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro_rocket.png");
|
||||
public static final ResourceLocation sauergun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sauergun.png");
|
||||
public static final ResourceLocation vortex_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/vortex.png");
|
||||
public static final ResourceLocation thompson_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/thompson.png");
|
||||
|
||||
public static final ResourceLocation grenade_mk2 = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_mk2.png");
|
||||
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
package com.hbm.render.entity.projectile;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBeamBase;
|
||||
import com.hbm.entity.projectile.EntityLaser;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.render.util.BeamPronter;
|
||||
import com.hbm.render.util.BeamPronter.EnumBeamType;
|
||||
import com.hbm.render.util.BeamPronter.EnumWaveType;
|
||||
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class RenderVortexBeam extends Render {
|
||||
|
||||
@Override
|
||||
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
|
||||
this.doRender((EntityBeamBase)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(EntityBeamBase laser, double x, double y, double z, float p_76986_8_, float p_76986_9_) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
EntityPlayer player = laser.worldObj.getPlayerEntityByName(laser.getDataWatcher().getWatchableObjectString(20));
|
||||
|
||||
if(player != null) {
|
||||
|
||||
GL11.glTranslated(x, y, z);
|
||||
|
||||
MovingObjectPosition pos = Library.rayTrace(player, 100, 1);
|
||||
|
||||
Vec3 skeleton = Vec3.createVectorHelper(pos.hitVec.xCoord - player.posX, pos.hitVec.yCoord - player.posY - player.getEyeHeight(), pos.hitVec.zCoord - player.posZ);
|
||||
int init = (int) -(System.currentTimeMillis() % 360);
|
||||
|
||||
BeamPronter.prontBeam(skeleton, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0x000040, 0x2020d0, init, 1, 0F, 4, 0.005F);
|
||||
BeamPronter.prontBeam(skeleton, EnumWaveType.RANDOM, EnumBeamType.LINE, 0x8080ff, 0x8080ff, init, (int)skeleton.lengthVector() * 3 + 1, 0.01F, 1, 0.01F);
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,87 @@
|
||||
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 ItemRenderWeaponThompson implements IItemRenderer {
|
||||
|
||||
public ItemRenderWeaponThompson() { }
|
||||
|
||||
@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.thompson_tex);
|
||||
|
||||
switch(type) {
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
|
||||
double s0 = 0.25D;
|
||||
GL11.glRotated(25, 0, 0, 1);
|
||||
GL11.glTranslated(0.5, -0.5, -0.5);
|
||||
GL11.glRotated(-100, 0, 1, 0);
|
||||
GL11.glScaled(s0, s0, s0);
|
||||
|
||||
break;
|
||||
|
||||
case EQUIPPED:
|
||||
|
||||
double scale = 0.5D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
break;
|
||||
|
||||
case ENTITY:
|
||||
|
||||
double s1 = 0.25D;
|
||||
GL11.glScaled(s1, s1, s1);
|
||||
|
||||
break;
|
||||
|
||||
case INVENTORY:
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
double s = 1.75D;
|
||||
GL11.glTranslated(4, 11, 0);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
GL11.glRotated(135, 1, 0, 0);
|
||||
GL11.glScaled(s, s, -s);
|
||||
|
||||
break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
ResourceManager.thompson.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,90 @@
|
||||
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 ItemRenderWeaponVortex implements IItemRenderer {
|
||||
|
||||
public ItemRenderWeaponVortex() { }
|
||||
|
||||
@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.vortex_tex);
|
||||
|
||||
switch(type) {
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
|
||||
double s0 = 0.05D;
|
||||
GL11.glScaled(s0, s0, s0);
|
||||
GL11.glRotated(25, 0, 0, 1);
|
||||
GL11.glRotated(-5, 0, 1, 0);
|
||||
GL11.glTranslated(17, -5, -5);
|
||||
|
||||
break;
|
||||
|
||||
case EQUIPPED:
|
||||
|
||||
double scale = 0.075D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotated(-75, 0, 1, 0);
|
||||
GL11.glRotated(-10, 0, 0, 1);
|
||||
GL11.glRotated(15, 1, 0, 0);
|
||||
GL11.glTranslated(7, -4, -6);
|
||||
|
||||
break;
|
||||
|
||||
case ENTITY:
|
||||
|
||||
double s1 = 0.05D;
|
||||
GL11.glScaled(s1, s1, s1);
|
||||
|
||||
break;
|
||||
|
||||
case INVENTORY:
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
double s = 0.3D;
|
||||
GL11.glTranslated(7, 11, 0);
|
||||
GL11.glRotated(-135, 0, 0, 1);
|
||||
GL11.glScaled(s, s, -s);
|
||||
|
||||
break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
ResourceManager.vortex.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -63,9 +63,6 @@ public class BeamPronter {
|
||||
} else if(wave == EnumWaveType.RANDOM) {
|
||||
spinner.rotateAroundY((float)Math.PI * 2 * rand.nextFloat());
|
||||
}
|
||||
|
||||
//spinner.rotateAroundX(sPitch + (float)Math.PI * 0.5F);
|
||||
//spinner.rotateAroundY(sYaw);
|
||||
|
||||
double pX = unit.xCoord * segLength * i + spinner.xCoord;
|
||||
double pY = unit.yCoord * segLength * i + spinner.yCoord;
|
||||
|
||||
@ -18,7 +18,6 @@ import com.hbm.interfaces.ISource;
|
||||
import com.hbm.inventory.MachineRecipes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
|
||||
|
||||