finished coker, tau remodel, biden blast

This commit is contained in:
Bob 2023-04-30 17:03:33 +02:00
parent ba3a0a1669
commit 30e2fef6b8
40 changed files with 7286 additions and 178 deletions

View File

@ -1,17 +1,21 @@
package com.hbm.blocks.machine;
import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.oil.TileEntityMachineCoker;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineCoker extends BlockDummyable {
public class MachineCoker extends BlockDummyable implements ITooltipProvider {
public MachineCoker(Material mat) {
super(mat);
@ -21,8 +25,7 @@ public class MachineCoker extends BlockDummyable {
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityMachineCoker();
if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid();
if(meta >= extra) return new TileEntityProxyCombo().inventory().fluid();
return null;
}
@ -38,7 +41,7 @@ public class MachineCoker extends BlockDummyable {
@Override
public int getOffset() {
return 2;
return 1;
}
@Override
@ -76,4 +79,9 @@ public class MachineCoker extends BlockDummyable {
this.makeExtra(world, x - 1, y, z + 1);
this.makeExtra(world, x - 1, y, z - 1);
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
this.addStandardInfo(stack, player, list, ext);
}
}

View File

@ -156,6 +156,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fireext, 1), new Object[] { "HB", " T", 'H', ModItems.hull_small_steel, 'B', ModItems.bolt_tungsten, 'T', ModItems.tank_steel });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "TPS", "HHR", " L", 'T', ModItems.bolt_tungsten, 'P', STEEL.plate(), 'S', STEEL.ingot(), 'H', ModItems.hull_small_steel, 'R', ModItems.mechanism_rifle_1, 'L', ANY_PLASTIC.ingot()});
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_glass_cannon, 1), new Object[] { "GGC", "GTM", 'G', Item.getItemFromBlock(ModBlocks.glass_quartz), 'C', ModItems.battery_lithium_cell, 'T', ModItems.crt_display, 'M', ModItems.mechanism_special });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_remington, 1), new Object[] { "PPM", "S L", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_1, 'S', KEY_SLAB, 'L', KEY_LOG });
//Ammo assemblies
CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() });
@ -187,7 +188,6 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.PERCUSSION), new Object[] { "G", "C", "P", 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.SLUG), new Object[] { " I ", "GCL", " P ", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.tnt, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });

View File

@ -1,6 +1,7 @@
package com.hbm.entity.projectile;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
@ -22,6 +23,7 @@ import com.hbm.packet.PacketDispatcher;
import com.hbm.potion.HbmPotion;
import com.hbm.util.ArmorUtil;
import com.hbm.util.BobMathUtil;
import com.hbm.util.Tuple.Pair;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.ReflectionHelper;
@ -50,6 +52,11 @@ public class EntityBulletBase extends Entity implements IProjectile {
private BulletConfiguration config;
public EntityLivingBase shooter;
public float overrideDamage;
public double prevRenderX;
public double prevRenderY;
public double prevRenderZ;
public final List<Pair<Vec3, Double>> trailNodes = new ArrayList();
public BulletConfiguration getConfig() {
return config;
@ -236,6 +243,15 @@ public class EntityBulletBase extends Entity implements IProjectile {
return;
}
if(worldObj.isRemote && config.style == config.STYLE_TAU) {
if(trailNodes.isEmpty()) {
this.ignoreFrustumCheck = true;
trailNodes.add(new Pair<Vec3, Double>(Vec3.createVectorHelper(-motionX * 2, -motionY * 2, -motionZ * 2), 0D));
} else {
trailNodes.add(new Pair<Vec3, Double>(Vec3.createVectorHelper(0, 0, 0), 1D));
}
}
if(this.config.blackPowder && this.ticksExisted == 1) {
for(int i = 0; i < 15; i++) {

View File

@ -77,6 +77,14 @@ public class BulletConfigSyncingUtil {
public static int G12_SLEEK = i++;
public static int G12_PERCUSSION = i++;
public static int G12HS_NORMAL = i++;
public static int G12HS_INCENDIARY = i++;
public static int G12HS_SHRAPNEL = i++;
public static int G12HS_DU = i++;
public static int G12HS_AM = i++;
public static int G12HS_SLEEK = i++;
public static int G12HS_PERCUSSION = i++;
public static int LR22_NORMAL = i++;
public static int LR22_AP = i++;
public static int LR22_NORMAL_FIRE = i++;
@ -359,6 +367,13 @@ public class BulletConfigSyncingUtil {
configSet.put(G12_AM, Gun12GaugeFactory.get12GaugeAMConfig());
configSet.put(G12_SLEEK, Gun12GaugeFactory.get12GaugeSleekConfig());
configSet.put(G12_PERCUSSION, Gun12GaugeFactory.get12GaugePercussionConfig());
configSet.put(G12HS_NORMAL, Gun12GaugeFactory.get12GaugeConfig().setHeadshot(2F));
configSet.put(G12HS_INCENDIARY, Gun12GaugeFactory.get12GaugeFireConfig().setHeadshot(2F));
configSet.put(G12HS_SHRAPNEL, Gun12GaugeFactory.get12GaugeShrapnelConfig().setHeadshot(2F));
configSet.put(G12HS_DU, Gun12GaugeFactory.get12GaugeDUConfig().setHeadshot(2F));
configSet.put(G12HS_AM, Gun12GaugeFactory.get12GaugeAMConfig().setHeadshot(2F));
configSet.put(G12HS_SLEEK, Gun12GaugeFactory.get12GaugeSleekConfig().setHeadshot(2F));
configSet.put(G12HS_PERCUSSION, Gun12GaugeFactory.get12GaugePercussionConfig().setHeadshot(2F));
configSet.put(LR22_NORMAL, Gun22LRFactory.get22LRConfig());
configSet.put(LR22_AP, Gun22LRFactory.get22LRAPConfig());

View File

@ -137,6 +137,7 @@ public class BulletConfiguration implements Cloneable {
public static final int STYLE_APDS = 14;
public static final int STYLE_BLADE = 15;
public static final int STYLE_BARREL = 16;
public static final int STYLE_TAU = 17;
public static final int PLINK_NONE = 0;
public static final int PLINK_BULLET = 1;

View File

@ -52,6 +52,7 @@ public class GunConfiguration implements Cloneable {
public String reloadSound = "";
//sound path to the shooting sound
public String firingSound = "";
public float firingVolume = 1.0F;
public float firingPitch = 1.0F;
//whether the reload sound should be played at the beginning or at the end of the reload
public boolean reloadSoundEnd = true;

View File

@ -48,6 +48,44 @@ public class Gun12GaugeFactory {
CASING12GAUGE = new SpentCasing(CasingType.SHOTGUN).setScale(1.5F).setBounceMotion(0.05F, 0.02F).setupSmoke(0.5F, 0.5D, 60, 20);
}
public static GunConfiguration getRemington870Config() {
GunConfiguration config = new GunConfiguration();
config.rateOfFire = 25;
config.roundsPerCycle = 1;
config.gunMode = GunConfiguration.MODE_NORMAL;
config.firingMode = GunConfiguration.FIRE_MANUAL;
config.reloadDuration = 10;
config.firingDuration = 5;
config.ammoCap = 5;
config.durability = 1000;
config.reloadType = GunConfiguration.RELOAD_SINGLE;
config.allowsInfinity = true;
config.crosshair = Crosshair.CIRCLE;
config.reloadSound = GunConfiguration.RSOUND_SHOTGUN;
config.firingSound = "hbm:weapon.shotgunPump";
config.name = "remington870";
config.manufacturer = EnumGunManufacturer.REMINGTON;
config.config = HbmCollection.g12hs;
config.animations.put(AnimType.CYCLE, new BusAnimation()
.addBus("RECOIL_TRANSLATE", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(0, 0, -2, 100))
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))
)
.addBus("PUMP", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 450))
.addKeyframe(new BusAnimationKeyframe(0, 0, -1.8, 200))
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))
)
);
config.ejector = EJECTOR_SPAS;
return config;
}
public static GunConfiguration getSpas12Config() {
@ -109,7 +147,7 @@ public class Gun12GaugeFactory {
config.firingSound = "hbm:weapon.shotgunPump";
config.reloadType = GunConfiguration.RELOAD_SINGLE;
config.config = HbmCollection.g12;
config.config = HbmCollection.g12hs;
config.ejector = EJECTOR_SPAS_ALT;
@ -137,7 +175,7 @@ public class Gun12GaugeFactory {
config.name = "uboinik";
config.manufacturer = EnumGunManufacturer.METRO;
config.config = HbmCollection.g12;
config.config = HbmCollection.g12hs;
config.ejector = EJECTOR_UBOINIK;
@ -190,7 +228,7 @@ public class Gun12GaugeFactory {
config.manufacturer = EnumGunManufacturer.UAC;
config.comment.add("God-damned ARCH-VILES!");
config.config = HbmCollection.g12;
config.config = HbmCollection.g12hs;
config.ejector = EJECTOR_SSG;
@ -346,5 +384,4 @@ public class Gun12GaugeFactory {
return bullet;
}
}

View File

@ -8,6 +8,10 @@ import com.hbm.handler.GunConfiguration;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ModItems;
import com.hbm.lib.HbmCollection.EnumGunManufacturer;
import com.hbm.render.anim.BusAnimation;
import com.hbm.render.anim.BusAnimationKeyframe;
import com.hbm.render.anim.BusAnimationSequence;
import com.hbm.render.anim.HbmAnimations.AnimType;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
public class GunGaussFactory {
@ -25,9 +29,10 @@ public class GunGaussFactory {
config.ammoCap = 0;
config.reloadType = GunConfiguration.RELOAD_NONE;
config.allowsInfinity = true;
config.crosshair = Crosshair.L_RAD;
config.durability = 6000;
config.crosshair = Crosshair.CIRCLE;
config.durability = 15000;
config.firingSound = "hbm:weapon.tauShoot";
config.firingVolume = 0.5F;
config.name = "tau";
config.manufacturer = EnumGunManufacturer.BLACK_MESA;
@ -35,6 +40,13 @@ public class GunGaussFactory {
config.config = new ArrayList<Integer>();
config.config.add(BulletConfigSyncingUtil.SPECIAL_GAUSS);
config.animations.put(AnimType.CYCLE, new BusAnimation()
.addBus("RECOIL", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25))
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75))
)
);
return config;
}
@ -63,10 +75,9 @@ public class GunGaussFactory {
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
bullet.ammo = new ComparableStack(ModItems.gun_xvl1456_ammo);
bullet.dmgMin = 6;
bullet.dmgMax = 9;
bullet.trail = 1;
bullet.vPFX = "fireworksSpark";
bullet.dmgMin = 18;
bullet.dmgMax = 27;
bullet.style = bullet.STYLE_TAU;
bullet.LBRC = 80;
bullet.HBRC = 5;
@ -77,7 +88,7 @@ public class GunGaussFactory {
BulletConfiguration bullet = getGaussConfig();
bullet.vPFX = "reddust";
bullet.trail = 1;
return bullet;
}

View File

@ -285,6 +285,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_well, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModBlocks.steel_beam, 8), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.wire_red_copper, 6), },250);
makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.block(), 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack(STEEL.ingot(), 24), new OreDictStack(STEEL.plate(), 16), new OreDictStack(AL.plate(), 6), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 8), },400);
makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(IRON.ingot(), 12), new OreDictStack(CU.plate528(), 4), new ComparableStack(ModItems.tank_steel, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 8), new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(ModItems.thermo_element, 3), },200);
makeRecipe(new ComparableStack(ModBlocks.machine_coker, 1), new AStack[] {new OreDictStack(STEEL.plate(), 24), new OreDictStack(IRON.ingot(), 12), new OreDictStack(CU.plate528(), 8), new OreDictStack(RUBBER.ingot(), 4), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModBlocks.steel_grate, 4) },200);
makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(CU.plate(), 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit_red_copper, 1) },350);
makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_full, 1, Fluids.LUBRICANT.getID()), },160);
makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200);

View File

@ -12,7 +12,6 @@ import com.google.gson.stream.JsonWriter;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.trait.FT_Combustible;
import com.hbm.inventory.fluid.trait.FT_Flammable;
import com.hbm.inventory.recipes.loader.SerializableRecipe;
@ -21,6 +20,7 @@ import com.hbm.items.ItemEnums.EnumCokeType;
import com.hbm.items.machine.ItemFluidIcon;
import com.hbm.util.Tuple.Triplet;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
public class CokerRecipes extends SerializableRecipe {
@ -30,27 +30,32 @@ public class CokerRecipes extends SerializableRecipe {
@Override
public void registerDefaults() {
registerAuto(HEAVYOIL, Fluids.OIL_COKER);
registerAuto(HEAVYOIL_VACUUM, Fluids.REFORMATE);
registerAuto(COALCREOSOTE, Fluids.NAPHTHA_COKER);
registerAuto(WOODOIL, Fluids.NAPHTHA_COKER);
registerAuto(SMEAR, Fluids.OIL_COKER);
registerAuto(HEATINGOIL, Fluids.OIL_COKER);
registerAuto(HEATINGOIL_VACUUM, Fluids.OIL_COKER);
registerAuto(RECLAIMED, Fluids.NAPHTHA_COKER);
registerAuto(NAPHTHA, Fluids.NAPHTHA_COKER);
registerAuto(NAPHTHA_CRACK, Fluids.NAPHTHA_COKER);
registerAuto(DIESEL, Fluids.NAPHTHA_COKER);
registerAuto(DIESEL_REFORM, Fluids.NAPHTHA_COKER);
registerAuto(DIESEL_CRACK, Fluids.GAS_COKER);
registerAuto(DIESEL_CRACK_REFORM, Fluids.GAS_COKER);
registerAuto(LIGHTOIL, Fluids.GAS_COKER);
registerAuto(LIGHTOIL_CRACK, Fluids.GAS_COKER);
registerAuto(LIGHTOIL_VACUUM, Fluids.GAS_COKER);
registerAuto(BIOFUEL, Fluids.GAS_COKER);
registerAuto(AROMATICS, Fluids.GAS_COKER);
registerAuto(REFORMATE, Fluids.GAS_COKER);
registerAuto(XYLENE, Fluids.GAS_COKER);
registerAuto(HEAVYOIL, OIL_COKER);
registerAuto(HEAVYOIL_VACUUM, REFORMATE);
registerAuto(COALCREOSOTE, NAPHTHA_COKER);
registerAuto(SMEAR, OIL_COKER);
registerAuto(HEATINGOIL, OIL_COKER);
registerAuto(HEATINGOIL_VACUUM, OIL_COKER);
registerAuto(RECLAIMED, NAPHTHA_COKER);
registerAuto(NAPHTHA, NAPHTHA_COKER);
registerAuto(NAPHTHA_CRACK, NAPHTHA_COKER);
registerAuto(DIESEL, NAPHTHA_COKER);
registerAuto(DIESEL_REFORM, NAPHTHA_COKER);
registerAuto(DIESEL_CRACK, GAS_COKER);
registerAuto(DIESEL_CRACK_REFORM, GAS_COKER);
registerAuto(LIGHTOIL, GAS_COKER);
registerAuto(LIGHTOIL_CRACK, GAS_COKER);
registerAuto(LIGHTOIL_VACUUM, GAS_COKER);
registerAuto(BIOFUEL, GAS_COKER);
registerAuto(AROMATICS, GAS_COKER);
registerAuto(REFORMATE, GAS_COKER);
registerAuto(XYLENE, GAS_COKER);
registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER);
registerRecipe(WATZ, 4_000, new ItemStack(ModItems.ingot_mud, 4), null);
registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600));
registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200));
}
private static void registerAuto(FluidType fluid, FluidType type) {

View File

@ -47,19 +47,22 @@ public class FractionRecipes extends SerializableRecipe {
@Override
public void registerDefaults() {
fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear)));
fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube)));
fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel)));
fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel)));
fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero)));
fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro)));
fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil)));
fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu)));
fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, hvac_frac_smear), new FluidStack(Fluids.HEATINGOIL_VACUUM, hvac_frac_heat)));
fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle)));
fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas)));
fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20)));
fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50)));
fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear)));
fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube)));
fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel)));
fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel)));
fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero)));
fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro)));
fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil)));
fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu)));
fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, hvac_frac_smear), new FluidStack(Fluids.HEATINGOIL_VACUUM, hvac_frac_heat)));
fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle)));
fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas)));
fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20)));
fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50)));
fractions.put(Fluids.OIL_COKER, new Pair(new FluidStack(Fluids.CRACKOIL, 30), new FluidStack(Fluids.HEATINGOIL, 70)));
fractions.put(Fluids.NAPHTHA_COKER, new Pair(new FluidStack(Fluids.NAPHTHA_CRACK, 75), new FluidStack(Fluids.LIGHTOIL_CRACK, 25)));
fractions.put(Fluids.GAS_COKER, new Pair(new FluidStack(Fluids.AROMATICS, 25), new FluidStack(Fluids.CARBONDIOXIDE, 75)));
}
public static Pair<FluidStack, FluidStack> getFractions(FluidType oil) {

View File

@ -1546,6 +1546,7 @@ public class ModItems {
public static Item gun_uzi_saturnite;
public static Item gun_uzi_saturnite_silencer;
public static Item gun_uboinik;
public static Item gun_remington;
public static Item gun_spas12;
public static Item gun_supershotgun;
public static Item gun_ks23;
@ -4156,6 +4157,7 @@ public class ModItems {
gun_uzi_saturnite = new ItemGunBase(Gun22LRFactory.getSaturniteConfig()).setUnlocalizedName("gun_uzi_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite");
gun_uzi_saturnite_silencer = new ItemGunBase(Gun22LRFactory.getSaturniteConfig().silenced()).setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer");
gun_uboinik = new ItemGunBase(Gun12GaugeFactory.getUboinikConfig()).setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_remington = new ItemGunBase(Gun12GaugeFactory.getRemington870Config()).setUnlocalizedName("gun_remington").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12");
gun_spas12 = new ItemGunBase(Gun12GaugeFactory.getSpas12Config(), Gun12GaugeFactory.getSpas12AltConfig()).setUnlocalizedName("gun_spas12").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12");
gun_supershotgun = new ItemGunShotty(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_ks23 = new ItemGunBase(Gun4GaugeFactory.getKS23Config()).setUnlocalizedName("gun_ks23").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
@ -6960,6 +6962,7 @@ public class ModItems {
GameRegistry.registerItem(gun_uzi_saturnite, gun_uzi_saturnite.getUnlocalizedName());
GameRegistry.registerItem(gun_uzi_saturnite_silencer,gun_uzi_saturnite_silencer.getUnlocalizedName());
GameRegistry.registerItem(gun_uboinik, gun_uboinik.getUnlocalizedName());
GameRegistry.registerItem(gun_remington, gun_remington.getUnlocalizedName());
GameRegistry.registerItem(gun_spas12, gun_spas12.getUnlocalizedName());
GameRegistry.registerItem(gun_supershotgun, gun_supershotgun.getUnlocalizedName());
GameRegistry.registerItem(gun_ks23, gun_ks23.getUnlocalizedName());

View File

@ -229,7 +229,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu
setItemWear(stack, getItemWear(stack) + wear);
}
world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch);
world.playSoundAtEntity(player, mainConfig.firingSound, mainConfig.firingVolume, mainConfig.firingPitch);
if(mainConfig.ejector != null && !mainConfig.ejector.getAfterReload())
queueCasing(player, mainConfig.ejector, config, stack);
@ -263,7 +263,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu
setItemWear(stack, getItemWear(stack) + config.wear);
}
world.playSoundAtEntity(player, altConfig.firingSound, 1.0F, altConfig.firingPitch);
world.playSoundAtEntity(player, altConfig.firingSound, mainConfig.firingVolume, altConfig.firingPitch);
if(altConfig.ejector != null)
queueCasing(player, altConfig.ejector, config, stack);
@ -458,6 +458,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu
{
final BulletConfiguration bulletConfig = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack)));
list.add(I18nUtil.resolveKey(HbmCollection.gunDamage, bulletConfig.dmgMin, bulletConfig.dmgMax));
if(bulletConfig.bulletsMax != 1)
list.add(I18nUtil.resolveKey(HbmCollection.gunPellets, bulletConfig.bulletsMin, bulletConfig.bulletsMax));
int dura = Math.max(mainConfig.durability - getItemWear(stack), 0);
list.add(I18nUtil.resolveKey(HbmCollection.durability, dura + " / " + mainConfig.durability));

View File

@ -5,9 +5,13 @@ import com.hbm.handler.GunConfiguration;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.GunAnimationPacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.render.anim.HbmAnimations.AnimType;
import com.hbm.sound.AudioWrapper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@ -22,17 +26,20 @@ public class ItemGunGauss extends ItemGunBase {
public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) {
if(getHasShot(stack)) {
world.playSoundAtEntity(player, "hbm:weapon.sparkShoot", 1.0F, 1.0F);
world.playSoundAtEntity(player, "hbm:weapon.sparkShoot", 2.0F, 1.0F);
setHasShot(stack, false);
}
if(!main && getStored(stack) > 0) {
EntityBulletBase bullet = new EntityBulletBase(world, altConfig.config.get(0), player);
bullet.overrideDamage = Math.min(getStored(stack), 13) * 3.5F;
bullet.overrideDamage = Math.min(getStored(stack), 1) * 10F;
world.spawnEntityInWorld(bullet);
world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.75F);
world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 0.5F, 0.75F);
setItemWear(stack, getItemWear(stack) + (getCharge(stack)) * 2);
setCharge(stack, 0);
if(player instanceof EntityPlayerMP)
PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player);
}
}
@ -107,7 +114,7 @@ public class ItemGunGauss extends ItemGunBase {
chargeLoop = rebootAudio(chargeLoop, player);
}
chargeLoop.updatePosition((float)player.posX, (float)player.posY, (float)player.posZ);
chargeLoop.updatePitch(chargeLoop.getPitch() + 0.01F);
chargeLoop.updatePitch(1 + (getCharge(stack)) * 0.01F);
}
}

View File

@ -24,6 +24,7 @@ public class HbmCollection {
// SHOTGUNS
/** 12 GAUGE **/
public static final List<Integer> g12 = ImmutableList.of(BulletConfigSyncingUtil.G12_NORMAL, BulletConfigSyncingUtil.G12_INCENDIARY, BulletConfigSyncingUtil.G12_SHRAPNEL, BulletConfigSyncingUtil.G12_DU, BulletConfigSyncingUtil.G12_AM, BulletConfigSyncingUtil.G12_SLEEK, BulletConfigSyncingUtil.G12_PERCUSSION);
public static final List<Integer> g12hs = ImmutableList.of(BulletConfigSyncingUtil.G12HS_NORMAL, BulletConfigSyncingUtil.G12HS_INCENDIARY, BulletConfigSyncingUtil.G12HS_SHRAPNEL, BulletConfigSyncingUtil.G12HS_DU, BulletConfigSyncingUtil.G12HS_AM, BulletConfigSyncingUtil.G12HS_SLEEK, BulletConfigSyncingUtil.G12HS_PERCUSSION);
/** 20 GAUGE **/
public static final List<Integer> g20 = ImmutableList.of(BulletConfigSyncingUtil.G20_NORMAL, BulletConfigSyncingUtil.G20_SLUG, BulletConfigSyncingUtil.G20_FLECHETTE, BulletConfigSyncingUtil.G20_FIRE, BulletConfigSyncingUtil.G20_SHRAPNEL, BulletConfigSyncingUtil.G20_EXPLOSIVE, BulletConfigSyncingUtil.G20_CAUSTIC, BulletConfigSyncingUtil.G20_SHOCK, BulletConfigSyncingUtil.G20_WITHER, BulletConfigSyncingUtil.G20_SLEEK);
/** 4 GAUGE **/
@ -140,6 +141,8 @@ public class HbmCollection {
LUNA,
/**Raytheon Missile Systems**/
RAYTHEON,
/**Remingotn Arms**/
REMINGTON,
/**Rockwell International Corporation**/
ROCKWELL,
/**Rockwell International Corporation?**/
@ -181,6 +184,7 @@ public class HbmCollection {
public static final String gunName = "desc.item.gun.name";
public static final String gunMaker = "desc.item.gun.manufacturer";
public static final String gunDamage = "desc.item.gun.damage";
public static final String gunPellets = "desc.item.gun.pellets";
// MISC
public static final String capacity = "desc.block.barrel.capacity";
public static final String durability = "desc.item.durability";

View File

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

View File

@ -449,7 +449,7 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_proto, new ItemRenderFatMan());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_mirv, new ItemRenderMIRVLauncher());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bf, new ItemRenderBFLauncher());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_xvl1456, new ItemRenderXVL1456());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_xvl1456, new ItemRenderWeaponTau());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_zomg, new ItemRenderZOMG());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_osipr, new ItemRenderOSIPR());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_mp, new ItemRenderMP());
@ -502,6 +502,7 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_detonator, new ItemRenderDetonatorLaser());
MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_remington, new ItemRenderWeaponRemington());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderWeaponSpas12());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_glass_cannon, new ItemRenderWeaponGlass());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_chemthrower, new ItemRenderWeaponChemthrower());

View File

@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ICustomBlockHighlight;
import com.hbm.items.armor.IArmorDisableModel;
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
import com.hbm.potion.HbmPotion;
import com.hbm.packet.PermaSyncHandler;
import com.hbm.render.model.ModelMan;
import cpw.mods.fml.common.eventhandler.EventPriority;
@ -36,7 +36,7 @@ public class ModEventHandlerRenderer {
EntityPlayer player = event.entityPlayer;
RenderPlayer renderer = event.renderer;
boolean isManly = player.isPotionActive(HbmPotion.death.id);
boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId());
for(int j = 0; j < 7; j++) {
@ -78,7 +78,7 @@ public class ModEventHandlerRenderer {
EntityPlayer player = event.entityPlayer;
RenderPlayer renderer = event.renderer;
boolean isManly = player.isPotionActive(HbmPotion.death.id);
boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId());
if(isManly) {
if(manlyModel == null)
@ -117,7 +117,7 @@ public class ModEventHandlerRenderer {
EntityPlayer player = event.entityPlayer;
//RenderPlayer renderer = event.renderer;
boolean isManly = player.isPotionActive(HbmPotion.death.id);
boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId());
if(!isManly)
return;

View File

@ -708,6 +708,7 @@ public class ResourceManager {
public static final IModelCustom rem700sat = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700sat.obj"));
public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj"));
public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj"));
public static final IModelCustom remington = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/remington.obj"));
public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj"));
public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj"));
public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj"));
@ -717,6 +718,7 @@ public class ResourceManager {
public static final IModelCustom novac_scoped = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac_scoped.obj"));
public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asDisplayList(); //large fella should be a display list
public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asDisplayList();
public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj"));
public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj"));
@ -793,6 +795,7 @@ public class ResourceManager {
public static final ResourceLocation rem700poly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700poly.png");
public static final ResourceLocation rem700sat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700sat.png");
public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png");
public static final ResourceLocation remington_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/remington.png");
public static final ResourceLocation spas_12_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/spas-12.png");
public static final ResourceLocation glass_cannon_panel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/glass_cannon_panel.png");
public static final ResourceLocation bio_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bio_revolver.png");
@ -805,6 +808,7 @@ public class ResourceManager {
public static final ResourceLocation red_key_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/red_key.png");
public static final ResourceLocation m2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/m2_browning.png");
public static final ResourceLocation lunatic_sniper_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lunatic_sniper.png");
public static final ResourceLocation tau_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tau.png");
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");

View File

@ -1,6 +1,11 @@
package com.hbm.packet;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import com.hbm.handler.ImpactWorldHandler;
import com.hbm.potion.HbmPotion;
import com.hbm.saveddata.TomSaveData;
import io.netty.buffer.ByteBuf;
@ -14,6 +19,8 @@ import net.minecraft.world.World;
* @author hbm
*/
public class PermaSyncHandler {
public static HashSet<Integer> boykissers = new HashSet();
public static void writePacket(ByteBuf buf, World world, EntityPlayerMP player) {
@ -23,6 +30,18 @@ public class PermaSyncHandler {
buf.writeFloat(data.dust);
buf.writeBoolean(data.impact);
/// TOM IMPACT DATA ///
/// SHITTY MEMES ///
List<Integer> ids = new ArrayList();
for(Object o : world.playerEntities) {
EntityPlayer p = (EntityPlayer) o;
if(p.isPotionActive(HbmPotion.death.id)) {
ids.add(p.getEntityId());
}
}
buf.writeShort((short) ids.size());
for(Integer i : ids) buf.writeInt(i);
/// SHITTY MEMES ///
}
public static void readPacket(ByteBuf buf, World world, EntityPlayer player) {
@ -33,5 +52,11 @@ public class PermaSyncHandler {
ImpactWorldHandler.dust = buf.readFloat();
ImpactWorldHandler.impact = buf.readBoolean();
/// TOM IMPACT DATA ///
/// SHITTY MEMES ///
boykissers.clear();
int ids = buf.readShort();
for(int i = 0; i < ids; i++) boykissers.add(buf.readInt());
/// SHITTY MEMES ///
}
}

View File

@ -4,6 +4,7 @@ import java.util.Random;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.handler.BulletConfiguration;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
@ -11,6 +12,7 @@ import com.hbm.main.ResourceManager;
import com.hbm.render.model.ModelBaleflare;
import com.hbm.render.model.ModelBullet;
import com.hbm.render.util.RenderSparks;
import com.hbm.util.Tuple.Pair;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
@ -19,8 +21,10 @@ import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
public class RenderBullet extends Render {
@ -37,10 +41,8 @@ public class RenderBullet extends Render {
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * f1 - 90.0F,
0.0F, 1.0F, 0.0F);
GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * f1 + 180,
0.0F, 0.0F, 1.0F);
GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * f1 - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * f1 + 180, 0.0F, 0.0F, 1.0F);
GL11.glScalef(1.5F, 1.5F, 1.5F);
int style = bullet.getDataWatcher().getWatchableObjectByte(16);
@ -69,6 +71,7 @@ public class RenderBullet extends Render {
case BulletConfiguration.STYLE_APDS: renderAPDS(); break;
case BulletConfiguration.STYLE_BLADE: renderBlade(); break;
case BulletConfiguration.STYLE_BARREL: renderNuke(3); break;
case BulletConfiguration.STYLE_TAU: renderTau((EntityBulletBase) bullet, trail, f1); break;
default: renderBullet(trail); break;
}
@ -450,11 +453,11 @@ public class RenderBullet extends Render {
tess.addVertex(0, -0.5, -0.5);
tess.draw();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glDepthMask(true);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glDepthMask(true);
GL11.glPopMatrix();
}
@ -479,6 +482,111 @@ public class RenderBullet extends Render {
GL11.glPopMatrix();
}
private void renderTau(EntityBulletBase bullet, int trail, float interp) {
Tessellator tessellator = Tessellator.instance;
float scale = 0.125F;
double pX = bullet.prevPosX + (bullet.posX - bullet.prevPosX) * interp;
double pY = bullet.prevPosY + (bullet.posY - bullet.prevPosY) * interp;
double pZ = bullet.prevPosZ + (bullet.posZ - bullet.prevPosZ) * interp;
if(bullet.prevRenderY == 0) {
bullet.prevRenderX = pX;
bullet.prevRenderY = pY;
bullet.prevRenderZ = pZ;
}
double deltaX = bullet.prevRenderX - pX;
double deltaY = bullet.prevRenderY - pY;
double deltaZ = bullet.prevRenderZ - pZ;
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)interp;
double dY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double)interp;
double dZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double)interp;
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(pX - dX, pY - dY, pZ - dZ);
float r = 1F;
float g = 0.5F;
float b = 0F;
if(trail == 1) {
r = 1;
g = 1;
b = 1;
}
for(Pair<Vec3, Double> pair : bullet.trailNodes) {
Vec3 pos = pair.getKey();
double mult = 1D;
pos.xCoord += deltaX * mult;
pos.yCoord += deltaY * mult;
pos.zCoord += deltaZ * mult;
}
tessellator.startDrawingQuads();
tessellator.setNormal(0F, 1F, 0F);
for(int i = 0; i < bullet.trailNodes.size() - 1; i++) {
final Pair<Vec3, Double> node = bullet.trailNodes.get(i), past = bullet.trailNodes.get(i + 1);
final Vec3 nodeLoc = node.getKey(), pastLoc = past.getKey();
float nodeAlpha = node.getValue().floatValue();
float pastAlpha = past.getValue().floatValue();
double timeAlpha = Math.max(2D - bullet.ticksExisted * 0.2, 0D);
nodeAlpha *= timeAlpha;
pastAlpha *= timeAlpha;
float outerAlpha = 0.25F;
if(nodeAlpha == 0 && pastAlpha == 0) {
break;
}
tessellator.setNormal(0F, 1F, 0F);
tessellator.setColorRGBA_F(r, g, b, nodeAlpha);
tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord, nodeLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, nodeAlpha * outerAlpha);
tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord + scale, nodeLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, pastAlpha * outerAlpha);
tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord + scale, pastLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, pastAlpha);
tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord, pastLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, nodeAlpha);
tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord, nodeLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, nodeAlpha * outerAlpha);
tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord - scale, nodeLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, pastAlpha * outerAlpha);
tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord - scale, pastLoc.zCoord);
tessellator.setColorRGBA_F(r, g, b, pastAlpha);
tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord, pastLoc.zCoord);
}
GL11.glColor3f(1F, 1F, 1F);
GL11.glDepthMask(true);
GL11.glAlphaFunc(GL11.GL_GREATER, 0F);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
tessellator.draw();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F);
bullet.prevRenderX = pX;
bullet.prevRenderY = pY;
bullet.prevRenderZ = pZ;
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png");

View File

@ -0,0 +1,108 @@
package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ItemRenderWeaponRemington implements IItemRenderer {
@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);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.remington_tex);
switch(type) {
case EQUIPPED_FIRST_PERSON:
double[] recoilT = HbmAnimations.getRelevantTransformation("RECOIL_TRANSLATE");
double[] pump = HbmAnimations.getRelevantTransformation("PUMP");
double s0 = 0.35D;
GL11.glRotated(25, 0, 0, 1);
GL11.glRotated(-10, 0, 1, 0);
GL11.glTranslated(1.25, -1.25, -0.25);
GL11.glScaled(s0, s0, s0);
GL11.glTranslated(recoilT[2], 0, 0);
ResourceManager.remington.renderPart("Gun");
GL11.glTranslated(pump[2] * 0.5, 0, 0);
ResourceManager.remington.renderPart("Pump");
break;
case EQUIPPED:
double scale = 0.25D;
GL11.glScaled(scale, scale, scale);
GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-80, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-15F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(2.5F, -3.5F, -2F);
ResourceManager.remington.renderAll();
break;
case ENTITY:
double s1 = 0.25D;
GL11.glScaled(s1, s1, s1);
GL11.glTranslated(0, -3, 0);
ResourceManager.remington.renderAll();
break;
case INVENTORY:
GL11.glEnable(GL11.GL_LIGHTING);
double s = 1.25D;
GL11.glTranslated(4, 11, 0);
GL11.glRotated(-135, 0, 0, 1);
GL11.glScaled(s, s, -s);
ResourceManager.remington.renderAll();
break;
default: break;
}
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -112,5 +112,4 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer {
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,116 @@
package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.ItemGunGauss;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ItemRenderWeaponTau implements IItemRenderer {
@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.glDisable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tau_tex);
switch(type) {
case EQUIPPED_FIRST_PERSON:
double s0 = 0.35D;
GL11.glRotated(25, 0, 0, 1);
GL11.glTranslated(1.5, 0, 0.1);
GL11.glRotated(80, 0, 1, 0);
GL11.glScaled(s0, s0, s0);
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
GL11.glTranslated(0, 0, recoil[0] * -1);
GL11.glTranslated(0, 0, -3);
GL11.glRotated(recoil[0] * -5, 1, 0, 0);
GL11.glTranslated(0, 0, 3);
ResourceManager.tau.renderPart("Body");
if(ItemGunGauss.getCharge(item) > 0) {
GL11.glTranslated(0, -0.2, 0);
GL11.glRotated(System.currentTimeMillis() % 360D, 0, 0, 1);
GL11.glTranslated(0, 0.2, 0);
}
ResourceManager.tau.renderPart("Rotor");
break;
case EQUIPPED:
double scale = 0.25D;
GL11.glScaled(scale, scale, scale);
GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(10, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(2F, 1F, 3F);
ResourceManager.tau.renderAll();
break;
case ENTITY:
double s1 = 0.25D;
GL11.glScaled(s1, s1, s1);
GL11.glTranslated(0, 1, 0);
ResourceManager.tau.renderAll();
break;
case INVENTORY:
GL11.glEnable(GL11.GL_LIGHTING);
double s = 1.6D;
GL11.glTranslated(8, 7, 0);
GL11.glRotated(-90, 0, 1, 0);
GL11.glRotated(-135, 1, 0, 0);
GL11.glScaled(s, s, -s);
ResourceManager.tau.renderAll();
break;
default: break;
}
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}

View File

@ -1,75 +0,0 @@
package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import com.hbm.render.model.ModelXVL1456;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
public class ItemRenderXVL1456 implements IItemRenderer {
protected ModelXVL1456 swordModel;
public ItemRenderXVL1456() {
swordModel = new ModelXVL1456();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
case ENTITY:
return true;
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
float f = 0;
if((Entity)data[1] instanceof EntityPlayer)
//f = ((EntityPlayer)data[1]).getItemInUseCount() > 0 && ((Entity)data[1]).isSneaking() ? 0.05F : 0;
f = (((EntityPlayer)data[1]).getItemInUse() != null &&((EntityPlayer)data[1]).getItemInUse().getItemUseAction() == EnumAction.bow) ? 0.05F : 0;
switch(type) {
case EQUIPPED_FIRST_PERSON:
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelXVL1456.png"));
GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.9F, -0.1F, -0.1F);
GL11.glScalef(0.3F, 0.3F, 0.3F);
swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f);
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/ModelXVL1456.png"));
GL11.glTranslatef(0.25F, 0F, 1F);
GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(0.0F, -0.2F, -0.5F);
GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.5F, -0.2F, -0.2F);
GL11.glScalef(0.75F, 0.75F, 0.75F);
swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f);
GL11.glPopMatrix();
default: break;
}
}
}

View File

@ -545,7 +545,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro
int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent;
int amountStored = getQuantaFromType(recipeStack, stack.material);
return amountStored < matMaximum;
return amountStored < matMaximum && getQuantaFromType(this.recipeStack, null) < this.recipeZCapacity;
}
@Override
@ -577,6 +577,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro
}
int toAdd = matMaximum - stack.amount;
toAdd = Math.min(toAdd, this.recipeZCapacity - getQuantaFromType(this.recipeStack, null));
this.addToStack(this.recipeStack, new MaterialStack(stack.material, toAdd));
return new MaterialStack(stack.material, stack.amount - toAdd);
}

View File

@ -204,6 +204,16 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl
this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0);
}
@Override
public boolean canExtractItem(int slot, ItemStack stack, int side) {
return true;
}
@Override
public int[] getAccessibleSlotsFromSide(int side) {
return new int[] { 1 };
}
@Override
public void readFromNBT(NBTTagCompound nbt) {

View File

@ -272,17 +272,17 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
//how did i even make this? what???
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, dir.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, dir.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, rot.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, rot.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, rot);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, rot);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.UNKNOWN);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, dir);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir);
}
@Override

View File

@ -161,23 +161,23 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.SOUTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.SOUTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.WEST);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.WEST);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.EAST);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.EAST);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.NORTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.NORTH);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.SOUTH);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.SOUTH);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.WEST);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.WEST);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.EAST);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.EAST);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.NORTH);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.NORTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, dir.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, dir.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, rot.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, rot.getOpposite());
this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, rot);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, rot);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, dir);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, dir.getOpposite());
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, dir.getOpposite());
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, rot.getOpposite());
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, rot.getOpposite());
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, rot);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, rot);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, dir);
this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir);
}
@Override

View File

@ -624,7 +624,7 @@ hbmfluid.ethanol=Ethanol
hbmfluid.enderjuice=Endersaft
hbmfluid.fracksol=Frackinglösung
hbmfluid.gas=Erdgas
hbmfluid.gas_coker=Coker-Gas
hbmfluid.gas_coker=Koker-Gas
hbmfluid.gasoline=Benzin
hbmfluid.gasoline_leaded=Bleibenzin
hbmfluid.heatingoil=Heizöl
@ -651,13 +651,13 @@ hbmfluid.mug=Mug Root Beer
hbmfluid.mug_hot=Heißes Mug Root Beer
hbmfluid.mustardgas=Senfgas
hbmfluid.naphtha=Mitteldestillat
hbmfluid.naphtha_coker=Coker-Naphtha
hbmfluid.naphtha_coker=Koker-Naphtha
hbmfluid.naphtha_crack=Crack-Mitteldestillat
hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff
hbmfluid.nitric_acid=Salpetersäure
hbmfluid.none=Nichts
hbmfluid.oil=Rohöl
hbmfluid.oil_coker=Coker-Öl
hbmfluid.oil_coker=Koker-Öl
hbmfluid.oxyhydrogen=Knallgas
hbmfluid.oxygen=Flüssiger Sauerstoff
hbmfluid.pain=Pandemonium(III)tantalit-Lösung
@ -1881,6 +1881,7 @@ item.gun_osipr_ammo2.name=Combine Ball
item.gun_panzerschreck.name=Panzerschreck
item.gun_proto.name=M42 Nukleares Katapult "Proto MIRV"
item.gun_quadro.name=Quattro Formaggi
item.gun_remington.name=バイデン ブラスト [BIDEN BLAST]
item.gun_revolver.name=Verbesserter Revolver
item.gun_revolver_ammo.name=Bleipatrone
item.gun_revolver_blackjack.name=Blackjack Five-Shooter
@ -3303,7 +3304,7 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab
itemGroup.tabWeapon=NTM Waffen und Geschütze
potion.hbm_bang=! ! !
potion.hbm_death=Schwere Mutation
potion.hbm_death=Astolfisierung
potion.hbm_lead=Bleivergiftung
potion.hbm_mutation=Verdorbenes Herz
potion.hbm_potionsickness=Trankkrankheit
@ -3875,6 +3876,7 @@ tile.machine_chungus.desc=Effizienz: 85%%
tile.machine_coal_off.name=Verbrennungsgenerator
tile.machine_coal_on.name=Verbrennungsgenerator
tile.machine_coker.name=Koker-Anlage
tile.machine_coker.desc=Verkokt Öl, erzeugt fluides Nebenprodukt.$Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.025 TU/t
tile.machine_combine_factory.name=CMB-Stahl Hochofen
tile.machine_combustion_engine.name=Industrieller Verbrennungsmotor
tile.machine_condenser.name=Dampfkondensierer

View File

@ -909,6 +909,7 @@ desc.item.gun.lore=to view in-depth lore
desc.item.gun.loreFunc=to view in-depth functionality
desc.item.gun.manufacturer=Manufacturer: %s
desc.item.gun.name=Name: %s
desc.item.gun.pellets=Projectiles: %s - %s
desc.item.gun.penetration=Armor Penetration Value: %s
desc.item.kitArmor=Armor will be displaced by new set.
desc.item.kitHaz=Armor will be displaced by hazmat suit.
@ -1012,6 +1013,7 @@ gun.make.MWT=MWT Prototype Labs
gun.make.NAZI=Erfurter Maschinenfabrik Geipel
gun.make.NONE=-
gun.make.RAYTHEON=Raytheon Missile Systems
gun.make.REMINGTON=Remington Arms
gun.make.ROCKWELL=Rockwell International Corporation
gun.make.ROCKWELL_U=Rockwell International Corporation?
gun.make.RYAN=Ryan Industries
@ -1078,6 +1080,7 @@ gun.name.nerf=NERF blaster of unknown design
gun.name.osipr=Overwatch Standard Issue Pulse Rifle
gun.name.panz=Raketenpanzerbüchse 54
gun.name.quadro=OpenQuadro Guided Man-Portable Missile Launcher
gun.name.remington870=Remington 870
gun.name.revolverCursed=Britannia Standard Issue Motorized Handgun
gun.name.sauer=Sauer Shotgun
gun.name.spas12=Franchi SPAS-12
@ -2520,6 +2523,7 @@ item.gun_osipr_ammo2.name=Combine Ball
item.gun_panzerschreck.name=Panzerschreck
item.gun_proto.name=M42 Nuclear Catapult "Proto MIRV"
item.gun_quadro.name=Quattro Formaggi
item.gun_remington.name=バイデン ブラスト [BIDEN BLAST]
item.gun_revolver.name=Enhanced Revolver
item.gun_revolver_ammo.name=Lead Bullet
item.gun_revolver_blackjack.name=Blackjack Five-Shooter
@ -4096,7 +4100,7 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab
itemGroup.tabWeapon=NTM Weapons and Turrets
potion.hbm_bang=! ! !
potion.hbm_death=Heavy Mutation
potion.hbm_death=Astolfization
potion.hbm_lead=Lead Poisoning
potion.hbm_mutation=Tainted Heart
potion.hbm_phosphorus=Phosphorus Burns
@ -4688,6 +4692,7 @@ tile.machine_chungus.desc=Efficiency: 85%%
tile.machine_coal_off.name=Combustion Generator
tile.machine_coal_on.name=Combustion Generator
tile.machine_coker.name=Coker Unit
tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t
tile.machine_combine_factory.name=CMB Steel Furnace
tile.machine_combustion_engine.name=Industrial Combustion Engine
tile.machine_condenser.name=Steam Condenser

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: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB