some cyclotron texturework, guns

This commit is contained in:
Bob 2020-09-06 20:56:51 +02:00
parent 3fa101c0ec
commit ee815595bd
38 changed files with 7692 additions and 16 deletions

View File

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

View File

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

View File

@ -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=连锁挖矿

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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