2023-01-26 22:50:45 +01:00

250 lines
7.0 KiB
Java

package com.hbm.handler.guncfg;
import java.util.ArrayList;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration;
import com.hbm.lib.HbmCollection.EnumGunManufacturer;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
import net.minecraft.util.EnumChatFormatting;
public class GunPoweredFactory {
public static GunConfiguration getGlassCannonConfig() {
GunConfiguration config = new GunConfiguration();
config.roundsPerCycle = 1;
config.gunMode = GunConfiguration.MODE_NORMAL;
config.firingMode = GunConfiguration.FIRE_AUTO;
config.firingDuration = 0;
config.durability = 2500;
config.allowsInfinity = false;
config.crosshair = Crosshair.BOX;
config.firingSound = "hbm:weapon.zomgShoot";
config.maxCharge = 1_000_000;
config.chargeRate = 2500;
config.name = "LIY2001 Anti-Material Electromagnetic Rifle Prototype";
config.manufacturer = EnumGunManufacturer.OXFORD;
config.config = new ArrayList<Integer>();
config.config.add(BulletConfigSyncingUtil.GLASS_EMRADIO);
config.config.add(BulletConfigSyncingUtil.GLASS_EMMICRO);
config.config.add(BulletConfigSyncingUtil.GLASS_EMIR);
config.config.add(BulletConfigSyncingUtil.GLASS_EMVISIBLE);
config.config.add(BulletConfigSyncingUtil.GLASS_EMUV);
config.config.add(BulletConfigSyncingUtil.GLASS_EMXRAY);
config.config.add(BulletConfigSyncingUtil.GLASS_EMGAMMA);
return config;
}
public static BulletConfiguration getEMRadioConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 4.0F;
bullet.spread = 0F;
bullet.dmgMin = 35;
bullet.dmgMax = 45;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_LASER;
bullet.plink = BulletConfiguration.PLINK_ENERGY;
bullet.dischargePerShot = 25_000;
bullet.firingRate = 20;
bullet.modeName = "weapon.elecGun.glass_cannon.radio";
bullet.chatColour = EnumChatFormatting.DARK_RED;
bullet.setToFire(200);
return bullet;
}
public static BulletConfiguration getEMMicroConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 3.0F;
bullet.spread = 0F;
bullet.dmgMin = 18;
bullet.dmgMax = 22;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_LASER;
bullet.dischargePerShot = 12_500;
bullet.firingRate = 15;
bullet.modeName = "weapon.elecGun.glass_cannon.micro";
bullet.chatColour = EnumChatFormatting.RED;
bullet.setToFire(200);
return bullet;
}
public static BulletConfiguration getEMInfraredConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 2.0F;
bullet.spread = 0F;
bullet.dmgMin = 9;
bullet.dmgMax = 11;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_LASER;
bullet.dischargePerShot = 6_000;
bullet.firingRate = 10;
bullet.modeName = "weapon.elecGun.glass_cannon.ir";
bullet.chatColour = EnumChatFormatting.RED;
bullet.setToFire(100);
return bullet;
}
public static BulletConfiguration getEMVisibleConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 2.0F;
bullet.spread = 0F;
bullet.dmgMin = 4;
bullet.dmgMax = 6;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_WORM;
bullet.dischargePerShot = 2_500;
bullet.firingRate = 5;
bullet.modeName = "weapon.elecGun.glass_cannon.visible";
bullet.chatColour = EnumChatFormatting.GREEN;
bullet.setToFire(100);
return bullet;
}
public static BulletConfiguration getEMUVConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 2.0F;
bullet.spread = 0F;
bullet.dmgMin = 3;
bullet.dmgMax = 3;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_GLASS_CYAN;
bullet.dischargePerShot = 1_200;
bullet.firingRate = 3;
bullet.modeName = "weapon.elecGun.glass_cannon.uv";
bullet.chatColour = EnumChatFormatting.AQUA;
bullet.setToFire(100);
return bullet;
}
public static BulletConfiguration getEMXrayConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 2.0F;
bullet.spread = 0F;
bullet.dmgMin = 2;
bullet.dmgMax = 2;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_GLASS_BLUE;
bullet.dischargePerShot = 800;
bullet.firingRate = 2;
bullet.modeName = "weapon.elecGun.glass_cannon.xray";
bullet.chatColour = EnumChatFormatting.BLUE;
bullet.setToFire(40);
return bullet;
}
public static BulletConfiguration getEMGammaConfig() {
BulletConfiguration bullet = new BulletConfiguration();
bullet.velocity = 2.0F;
bullet.spread = 0F;
bullet.dmgMin = 1;
bullet.dmgMax = 1;
bullet.bulletsMin = 1;
bullet.bulletsMax = 1;
bullet.gravity = 0D;
bullet.maxAge = 100;
bullet.doesRicochet = true;
bullet.ricochetAngle = 90;
bullet.HBRC = 2;
bullet.LBRC = 90;
bullet.bounceMod = 1;
bullet.doesPenetrate = true;
bullet.style = BulletConfiguration.STYLE_BOLT;
bullet.trail = BulletConfiguration.BOLT_LACUNAE;
bullet.dischargePerShot = 400;
bullet.firingRate = 1;
bullet.modeName = "weapon.elecGun.glass_cannon.gamma";
bullet.chatColour = EnumChatFormatting.LIGHT_PURPLE;
bullet.setToFire(40);
return bullet;
}
}