imagine looking at indev values and going "yeah this is definitely final
imagine being this much of a fucking idiot, but good thing we aren't that stupid, right? good thing we aren't complete fucking retards who stir though code that is in active development, pick out temporary inconsistencies and then going "oh well the dev must clearly be an idiot, how else could you explain that?", good thing we are reasonable people who aren't this fucking stupid, right?
@ -140,9 +140,10 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti
|
||||
}
|
||||
|
||||
public static enum PlushieType {
|
||||
NONE( "NONE", null),
|
||||
YOMI( "Yomi", "Hi! Can I be your rabbit friend?"),
|
||||
NUMBERNINE( "Number Nine", "None of y'all deserve coal.");
|
||||
NONE( "NONE", null),
|
||||
YOMI( "Yomi", "Hi! Can I be your rabbit friend?"),
|
||||
NUMBERNINE( "Number Nine", "None of y'all deserve coal."),
|
||||
POOH( "Winnie the Pooh", "Beloved children's character with no malicious intent.");
|
||||
|
||||
public String label;
|
||||
public String inscription;
|
||||
|
||||
@ -3,7 +3,6 @@ package com.hbm.entity.projectile;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.explosion.vanillant.ExplosionVNT;
|
||||
import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard;
|
||||
import com.hbm.explosion.vanillant.standard.BlockMutatorFire;
|
||||
|
||||
@ -618,8 +618,8 @@ public class Fluids {
|
||||
|
||||
SODIUM.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 2.5D).setEff(HeatingType.ICF, 3D).addStep(400, 1, SODIUM_HOT, 1));
|
||||
SODIUM_HOT.addTraits(new FT_Coolable(SODIUM, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
LEAD.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 3.5D).setEff(HeatingType.ICF, 10D).addStep(600, 1, LEAD_HOT, 1), new FT_PWRModerator(0.5D));
|
||||
LEAD_HOT.addTraits(new FT_Coolable(LEAD, 1, 1, 510 /* -15% is not a huge nerf but it will piss off the PWRmaxxers hard, lead should not be the end-all-be-all, especially given the cost */).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
LEAD.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 0.75D).setEff(HeatingType.ICF, 4D).addStep(800, 1, LEAD_HOT, 1), new FT_PWRModerator(0.75D));
|
||||
LEAD_HOT.addTraits(new FT_Coolable(LEAD, 1, 1, 680 /* -15% is not a huge nerf but it will piss off the PWRmaxxers hard, lead should not be the end-all-be-all, especially given the cost */).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
|
||||
THORIUM_SALT.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 1.0D).addStep(400, 1, THORIUM_SALT_HOT, 1), new FT_PWRModerator(2.5D));
|
||||
THORIUM_SALT_HOT.addTraits(new FT_Coolable(THORIUM_SALT_DEPLETED, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
|
||||
@ -1636,6 +1636,7 @@ public class ModItems {
|
||||
public static Item gun_uzi;
|
||||
public static Item gun_spas12;
|
||||
public static Item gun_panzerschreck;
|
||||
public static Item gun_g3;
|
||||
|
||||
public static Item ammo_standard;
|
||||
|
||||
@ -7025,6 +7026,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_spas12, gun_spas12.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_panzerschreck, gun_panzerschreck.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_g3, gun_g3.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName());
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
|
||||
|
||||
public static final String KEY_DRAWN = "drawn";
|
||||
public static final String KEY_AIMING = "aiming";
|
||||
public static final String KEY_MODE = "mode_";
|
||||
public static final String KEY_WEAR = "wear_";
|
||||
public static final String KEY_TIMER = "timer_";
|
||||
public static final String KEY_STATE = "state_";
|
||||
@ -221,6 +222,9 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei
|
||||
// GUN STATE //
|
||||
public static GunState getState(ItemStack stack, int index) { return EnumUtil.grabEnumSafely(GunState.class, getValueByte(stack, KEY_STATE + index)); }
|
||||
public static void setState(ItemStack stack, int index, GunState value) { setValueByte(stack, KEY_STATE + index, (byte) value.ordinal()); }
|
||||
// GUN MODE //
|
||||
public static int getMode(ItemStack stack, int index) { return getValueInt(stack, KEY_MODE + index); }
|
||||
public static void setMode(ItemStack stack, int index, int value) { setValueInt(stack, KEY_MODE + index, value); }
|
||||
// GUN AIMING //
|
||||
public static boolean getIsAiming(ItemStack stack) { return getValueBool(stack, KEY_AIMING); }
|
||||
public static void setIsAiming(ItemStack stack, boolean value) { setValueBool(stack, KEY_AIMING, value); }
|
||||
|
||||
@ -55,6 +55,7 @@ public class GunFactory {
|
||||
XFactory22lr.init();
|
||||
XFactoryFlamer.init();
|
||||
XFactoryRocket.init();
|
||||
XFactory556mm.init();
|
||||
|
||||
/// PROXY BULLSHIT ///
|
||||
MainRegistry.proxy.registerGunCfg();
|
||||
@ -66,8 +67,9 @@ public class GunFactory {
|
||||
M44_SP, M44_FMJ, M44_JHP, M44_AP, M44_EXPRESS,
|
||||
P22_SP, P22_FMJ, P22_JHP, P22_AP,
|
||||
P9_SP, P9_FMJ, P9_JHP, P9_AP,
|
||||
G12_BP, G12_BP_MAGNUM, G12_BP_SLUG, G12,
|
||||
R556_SP, R556_FMJ, R556_JHP, R556_AP,
|
||||
R762_SP, R762_FMJ, R762_JHP, R762_AP, R762_DU,
|
||||
G12_BP, G12_BP_MAGNUM, G12_BP_SLUG, G12,
|
||||
G40_FLARE, G40,
|
||||
ROCKET_HE, ROCKET_HEAT,
|
||||
FLAME_DIESEL,
|
||||
|
||||
@ -6,6 +6,7 @@ import static com.hbm.items.weapon.sedna.factory.XFactory22lr.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactory357.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactory40mm.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactory44.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactory556mm.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactory762mm.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactory9mm.*;
|
||||
import static com.hbm.items.weapon.sedna.factory.XFactoryRocket.*;
|
||||
@ -39,6 +40,7 @@ public class GunFactoryClient {
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUzi());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderSPAS12());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_panzerschreck, new ItemRenderPanzerschreck());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_g3, new ItemRenderG3());
|
||||
//PROJECTILES
|
||||
ammo_debug.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
|
||||
ammo_debug_buckshot.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
|
||||
@ -73,6 +75,10 @@ public class GunFactoryClient {
|
||||
g40.setRenderer(LegoClient.RENDER_GRENADE);
|
||||
rocket_rpzb_he.setRenderer(LegoClient.RENDER_RPZB);
|
||||
rocket_rpzb_heat.setRenderer(LegoClient.RENDER_RPZB);
|
||||
r556_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
|
||||
r556_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
|
||||
r556_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET);
|
||||
r556_ap.setRenderer(LegoClient.RENDER_AP_BULLET);
|
||||
//HUDS
|
||||
((ItemGunBaseNT) ModItems.gun_debug) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
((ItemGunBaseNT) ModItems.gun_pepperbox) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
@ -91,6 +97,7 @@ public class GunFactoryClient {
|
||||
((ItemGunBaseNT) ModItems.gun_uzi) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
((ItemGunBaseNT) ModItems.gun_spas12) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
((ItemGunBaseNT) ModItems.gun_panzerschreck) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
((ItemGunBaseNT) ModItems.gun_g3) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
|
||||
((ItemGunBaseNT) ModItems.gun_light_revolver_dani).getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR);
|
||||
((ItemGunBaseNT) ModItems.gun_light_revolver_dani).getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
|
||||
@ -27,7 +27,7 @@ public class GunStateDecider {
|
||||
deciderStandardFinishDraw(stack, lastState, index);
|
||||
deciderStandardClearJam(stack, lastState, index);
|
||||
deciderStandardReload(stack, ctx, lastState, 0, index);
|
||||
deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getPrimary(stack, index); });
|
||||
deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getPrimary(stack, index) && ItemGunBaseNT.getMode(stack, ctx.configIndex) == 0; });
|
||||
};
|
||||
|
||||
/** Transitions the gun from DRAWING to IDLE */
|
||||
|
||||
@ -61,8 +61,7 @@ public class Lego {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* If IDLE and ammo is loaded, fire and set to JUST_FIRED. */
|
||||
/** If IDLE and ammo is loaded, fire and set to JUST_FIRED. */
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_STANDARD_CLICK_PRIMARY = (stack, ctx) -> {
|
||||
|
||||
EntityPlayer player = ctx.player;
|
||||
@ -94,6 +93,23 @@ public class Lego {
|
||||
}
|
||||
};
|
||||
|
||||
/** If IDLE, switch mode between 0 and 1. */
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_STANDARD_CLICK_SECONDARY = (stack, ctx) -> {
|
||||
|
||||
EntityPlayer player = ctx.player;
|
||||
int index = ctx.configIndex;
|
||||
GunState state = ItemGunBaseNT.getState(stack, index);
|
||||
|
||||
if(state == GunState.IDLE) {
|
||||
int mode = ItemGunBaseNT.getMode(stack, 0);
|
||||
ItemGunBaseNT.setMode(stack, index, 1 - mode);
|
||||
if(mode == 0)
|
||||
player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.switchmode1", 1F, 1F);
|
||||
else
|
||||
player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.switchmode2", 1F, 1F);
|
||||
}
|
||||
};
|
||||
|
||||
/** Toggles isAiming. Used by keybinds. */
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_STANDARD_RECOIL = (stack, ctx) -> {
|
||||
//ItemGunBaseNT.recoilVertical += 10;
|
||||
|
||||
@ -621,4 +621,41 @@ public class Orchestras {
|
||||
if(timer == 30) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.insertCanister", 1F, 1F);
|
||||
}
|
||||
};
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_G3 = (stack, ctx) -> {
|
||||
EntityPlayer player = ctx.player;
|
||||
if(player.worldObj.isRemote) return;
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
boolean aiming = ItemGunBaseNT.getIsAiming(stack);
|
||||
|
||||
if(type == AnimType.CYCLE) {
|
||||
if(timer == 0) {
|
||||
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack);
|
||||
if(casing != null) CasingCreator.composeEffect(player.worldObj, player, 0.5, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, casing.getName());
|
||||
}
|
||||
}
|
||||
if(type == AnimType.CYCLE_DRY) {
|
||||
if(timer == 0) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.dryFireClick", 1F, 0.8F);
|
||||
if(timer == 5) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 0.9F);
|
||||
if(timer == 9) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
|
||||
}
|
||||
if(type == AnimType.RELOAD) {
|
||||
if(timer == 2) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magRemove", 1F, 1F);
|
||||
if(timer == 4) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 0.9F);
|
||||
if(timer == 32) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magInsert", 1F, 1F);
|
||||
if(timer == 36) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
if(type == AnimType.INSPECT) {
|
||||
if(timer == 2) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magRemove", 1F, 1F);
|
||||
if(timer == 28) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magInsert", 1F, 1F);
|
||||
}
|
||||
if(type == AnimType.JAMMED) {
|
||||
if(timer == 16) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 0.9F);
|
||||
if(timer == 20) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
if(timer == 24) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 0.9F);
|
||||
if(timer == 28) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -0,0 +1,110 @@
|
||||
package com.hbm.items.weapon.sedna.factory;
|
||||
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.weapon.sedna.BulletConfig;
|
||||
import com.hbm.items.weapon.sedna.Crosshair;
|
||||
import com.hbm.items.weapon.sedna.GunConfig;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.items.weapon.sedna.Receiver;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class XFactory556mm {
|
||||
|
||||
public static BulletConfig r556_sp;
|
||||
public static BulletConfig r556_fmj;
|
||||
public static BulletConfig r556_jhp;
|
||||
public static BulletConfig r556_ap;
|
||||
|
||||
public static void init() {
|
||||
SpentCasing casing556 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(0.8F);
|
||||
r556_sp = new BulletConfig().setItem(EnumAmmo.R556_SP)
|
||||
.setCasing(casing556.clone().register("r556"));
|
||||
r556_fmj = new BulletConfig().setItem(EnumAmmo.R556_FMJ).setDamage(0.8F).setArmorPiercing(0.1F)
|
||||
.setCasing(casing556.clone().register("r556fmj"));
|
||||
r556_jhp = new BulletConfig().setItem(EnumAmmo.R556_JHP).setDamage(1.5F).setArmorPiercing(-0.25F)
|
||||
.setCasing(casing556.clone().register("r556jhp"));
|
||||
r556_ap = new BulletConfig().setItem(EnumAmmo.R556_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F)
|
||||
.setCasing(casing556.clone().setColor(SpentCasing.COLOR_CASE_44).register("r556ap"));
|
||||
|
||||
ModItems.gun_g3 = new ItemGunBaseNT(new GunConfig()
|
||||
.dura(3_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
|
||||
.rec(new Receiver(0)
|
||||
.dmg(15F).delay(2).auto(true).dry(15).spread(0.0F).reload(50).jam(47).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
|
||||
.mag(new MagazineFullReload(0, 30).addConfigs(r556_sp, r556_fmj, r556_jhp, r556_ap))
|
||||
.offset(1, -0.0625 * 2.5, -0.25D)
|
||||
.setupStandardFire().recoil(Lego.LAMBDA_STANDARD_RECOIL))
|
||||
.setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY)
|
||||
.anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3)
|
||||
).setUnlocalizedName("gun_g3").setTextureName(RefStrings.MODID + ":gun_darter");
|
||||
}
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_SMOKE = (stack, ctx) -> {
|
||||
Lego.handleStandardSmoke(ctx.player, stack, 1500, 0.075D, 1.1D, 0);
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_G3_ANIMS = (stack, type) -> {
|
||||
boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack) <= 0;
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.5 : -0.75, 25, IType.SIN_DOWN).addPos(0, 0, 0, 75, IType.SIN_FULL));
|
||||
case CYCLE_DRY: return new BusAnimation()
|
||||
.addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100));
|
||||
case RELOAD:
|
||||
return new BusAnimation()
|
||||
.addBus("MAG", new BusAnimationSequence()
|
||||
.addPos(0, -8, 0, 250, IType.SIN_UP) //250
|
||||
.addPos(0, -8, 0, 1000) //1250
|
||||
.addPos(0, 0, 0, 300)) //1550
|
||||
.addBus("BOLT", new BusAnimationSequence()
|
||||
.addPos(0, 0, 0, 250) //250
|
||||
.addPos(0, 0, -3.25, 150) //400
|
||||
.addPos(0, 0, -3.25, 1250) //1750
|
||||
.addPos(0, 0, 0, 100)) //1850
|
||||
.addBus("HANDLE", new BusAnimationSequence()
|
||||
.addPos(0, 0, 0, 500) //500
|
||||
.addPos(0, 0, 45, 50) //550
|
||||
.addPos(0, 0, 45, 1150) //1700
|
||||
.addPos(0, 0, 0, 50)) //1750
|
||||
.addBus("LIFT", new BusAnimationSequence()
|
||||
.addPos(0, 0, 0, 750) //750
|
||||
.addPos(-25, 0, 0, 500, IType.SIN_FULL) //1250
|
||||
.addPos(-25, 0, 0, 750) //2000
|
||||
.addPos(0, 0, 0, 500, IType.SIN_FULL)) //3500
|
||||
.addBus("BULLET", new BusAnimationSequence().addPos(empty ? 1 : 0, 0, 0, 0).addPos(0, 0, 0, 1000));
|
||||
case INSPECT: return new BusAnimation()
|
||||
.addBus("MAG", new BusAnimationSequence()
|
||||
.addPos(0, -1, 0, 150) //150
|
||||
.addPos(2, -1, 0, 150) //300
|
||||
.addPos(2, 8, 0, 350, IType.SIN_DOWN) //650
|
||||
.addPos(2, -2, 0, 350, IType.SIN_UP) //1000
|
||||
.addPos(2, -1, 0, 50) //1050
|
||||
.addPos(2, -1, 0, 100) //1150
|
||||
.addPos(0, -1, 0, 150, IType.SIN_FULL) //1300
|
||||
.addPos(0, 0, 0, 150, IType.SIN_UP)) //1450
|
||||
.addBus("SPEEN", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, 360, 360, 700))
|
||||
.addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 1450).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL))
|
||||
.addBus("BULLET", new BusAnimationSequence().addPos(empty ? 1 : 0, 0, 0, 0));
|
||||
case JAMMED: return new BusAnimation()
|
||||
.addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1250).addPos(0, 0, 0, 350, IType.SIN_FULL))
|
||||
.addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100).addPos(0, 0, 0, 250).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100));
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
}
|
||||
@ -31,17 +31,17 @@ public class XFactory762mm {
|
||||
public static BulletConfig r762_du;
|
||||
|
||||
public static void init() {
|
||||
SpentCasing casing9 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS);
|
||||
SpentCasing casing762 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS);
|
||||
r762_sp = new BulletConfig().setItem(EnumAmmo.R762_SP)
|
||||
.setCasing(casing9.clone().register("r762"));
|
||||
.setCasing(casing762.clone().register("r762"));
|
||||
r762_fmj = new BulletConfig().setItem(EnumAmmo.R762_FMJ).setDamage(0.8F).setArmorPiercing(0.1F)
|
||||
.setCasing(casing9.clone().register("r762fmj"));
|
||||
.setCasing(casing762.clone().register("r762fmj"));
|
||||
r762_jhp = new BulletConfig().setItem(EnumAmmo.R762_JHP).setDamage(1.5F).setArmorPiercing(-0.25F)
|
||||
.setCasing(casing9.clone().register("r762jhp"));
|
||||
.setCasing(casing762.clone().register("r762jhp"));
|
||||
r762_ap = new BulletConfig().setItem(EnumAmmo.R762_AP).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(1.5F).setArmorPiercing(0.15F)
|
||||
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762ap"));
|
||||
.setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762ap"));
|
||||
r762_du = new BulletConfig().setItem(EnumAmmo.R762_DU).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setArmorPiercing(0.25F)
|
||||
.setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762du"));
|
||||
.setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762du"));
|
||||
|
||||
ModItems.gun_carbine = new ItemGunBaseNT(new GunConfig()
|
||||
.dura(3_000).draw(10).inspect(31).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE)
|
||||
|
||||
@ -862,6 +862,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom mike_hawk = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mike_hawk.obj")).asVBO();
|
||||
public static final IModelCustom uzi = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/uzi.obj")).asVBO();
|
||||
public static final IModelCustom panzerschreck = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/panzerschreck.obj")).asVBO();
|
||||
public static final IModelCustom g3 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/g3.obj")).asVBO();
|
||||
|
||||
public static final HashMap<String, BusAnimation> python_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/python.json"));
|
||||
public static final HashMap<String, BusAnimation> cursed_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/cursed.json"));
|
||||
@ -989,6 +990,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation mike_hawk_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lag.png");
|
||||
public static final ResourceLocation uzi_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/uzi.png");
|
||||
public static final ResourceLocation panzerschreck_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/panzerschreck.png");
|
||||
public static final ResourceLocation g3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/g3.png");
|
||||
|
||||
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");
|
||||
|
||||
|
||||
146
src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java
Normal file
@ -0,0 +1,146 @@
|
||||
package com.hbm.render.item.weapon.sedna;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.anim.HbmAnimations;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemRenderG3 extends ItemRenderWeaponBase {
|
||||
|
||||
@Override
|
||||
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; }
|
||||
|
||||
@Override
|
||||
public void setupFirstPerson(ItemStack stack) {
|
||||
GL11.glTranslated(0, 0, 0.875);
|
||||
|
||||
float offset = 0.8F;
|
||||
standardAimingTransform(stack,
|
||||
-1.25F * offset, -1F * offset, 2.75F * offset,
|
||||
0, -3.625 / 8D, 1.75);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderFirstPerson(ItemStack stack) {
|
||||
|
||||
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.g3_tex);
|
||||
double scale = 0.375D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
double[] equip = HbmAnimations.getRelevantTransformation("EQUIP");
|
||||
double[] lift = HbmAnimations.getRelevantTransformation("LIFT");
|
||||
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
|
||||
double[] mag = HbmAnimations.getRelevantTransformation("MAG");
|
||||
double[] speen = HbmAnimations.getRelevantTransformation("SPEEN");
|
||||
double[] bolt = HbmAnimations.getRelevantTransformation("BOLT");
|
||||
double[] handle = HbmAnimations.getRelevantTransformation("HANDLE");
|
||||
double[] bullet = HbmAnimations.getRelevantTransformation("BULLET");
|
||||
|
||||
GL11.glTranslated(0, -2, -6);
|
||||
GL11.glRotated(equip[0], 1, 0, 0);
|
||||
GL11.glTranslated(0, 2, 6);
|
||||
|
||||
GL11.glTranslated(0, 0, -4);
|
||||
GL11.glRotated(lift[0], 1, 0, 0);
|
||||
GL11.glTranslated(0, 0, 4);
|
||||
|
||||
GL11.glTranslated(0, 0, recoil[2]);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
ResourceManager.g3.renderPart("Rifle");
|
||||
ResourceManager.g3.renderPart("Stock");
|
||||
ResourceManager.g3.renderPart("FlashHider");
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(mag[0], mag[1], mag[2]);
|
||||
GL11.glTranslated(0, -1.75, -0.5);
|
||||
GL11.glRotated(speen[2], 0, 0, 1);
|
||||
GL11.glRotated(speen[1], 0, 1, 0);
|
||||
GL11.glTranslated(0, 1.75, 0.5);
|
||||
ResourceManager.g3.renderPart("Magazine");
|
||||
if(bullet[0] != 1) ResourceManager.g3.renderPart("Bullet");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 0, bolt[2]);
|
||||
ResourceManager.g3.renderPart("Bolt");
|
||||
GL11.glTranslated(0, 0.625, 0);
|
||||
GL11.glRotated(handle[2], 0, 0, 1);
|
||||
GL11.glTranslated(0, -0.625, 0);
|
||||
ResourceManager.g3.renderPart("Handle");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, -0.875, -3.5);
|
||||
GL11.glRotated(-30 * (1 - ItemGunBaseNT.getMode(stack, 0)), 1, 0, 0);
|
||||
GL11.glTranslated(0, 0.875, 3.5);
|
||||
ResourceManager.g3.renderPart("Selector");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
double smokeScale = 0.75;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 0, 13);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
GL11.glScaled(smokeScale, smokeScale, smokeScale);
|
||||
this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 0, 12);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
GL11.glRotated(-25 + gun.shotRand * 10, 1, 0, 0);
|
||||
GL11.glScaled(0.75, 0.75, 0.75);
|
||||
this.renderMuzzleFlash(gun.lastShot[0], 75, 10);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setupThirdPerson(ItemStack stack) {
|
||||
super.setupThirdPerson(stack);
|
||||
double scale = 1D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glTranslated(0, 2, 4);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setupInv(ItemStack stack) {
|
||||
super.setupInv(stack);
|
||||
double scale = 0.875D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotated(25, 1, 0, 0);
|
||||
GL11.glRotated(45, 0, 1, 0);
|
||||
GL11.glTranslated(-0.5, 0.5, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderOther(ItemStack stack, ItemRenderType type) {
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.g3_tex);
|
||||
ResourceManager.g3.renderPart("Rifle");
|
||||
ResourceManager.g3.renderPart("Stock");
|
||||
ResourceManager.g3.renderPart("Magazine");
|
||||
ResourceManager.g3.renderPart("FlashHider");
|
||||
ResourceManager.g3.renderPart("Bolt");
|
||||
ResourceManager.g3.renderPart("Handle");
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, -0.875, -3.5);
|
||||
GL11.glRotated(-30, 1, 0, 0);
|
||||
GL11.glTranslated(0, 0.875, 3.5);
|
||||
ResourceManager.g3.renderPart("Selector");
|
||||
GL11.glPopMatrix();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
}
|
||||
@ -28,10 +28,12 @@ import net.minecraftforge.client.IItemRenderer;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
|
||||
public static final IModelCustom yomiModel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/yomi.obj"), false).asVBO();
|
||||
public static final IModelCustom poohModel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/pooh.obj"), false).asVBO();
|
||||
public static final ResourceLocation yomiTex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/yomi.png");
|
||||
public static final ResourceLocation numbernineTex = new ResourceLocation(RefStrings.MODID, "textures/models/horse/numbernine.png");
|
||||
public static final ResourceLocation poohTex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/pooh.png");
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
|
||||
@ -51,6 +53,7 @@ public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRen
|
||||
case NONE: break;
|
||||
case YOMI: GL11.glScaled(0.5, 0.5, 0.5); break;
|
||||
case NUMBERNINE: GL11.glScaled(0.75, 0.75, 0.75); break;
|
||||
case POOH: GL11.glScaled(0.75, 0.75, 0.75); break;
|
||||
}
|
||||
renderPlushie(te.type);
|
||||
|
||||
@ -107,6 +110,10 @@ public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRen
|
||||
IIcon icon = stack.getIconIndex();
|
||||
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
|
||||
break;
|
||||
case POOH:
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(poohTex);
|
||||
poohModel.renderAll();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -131,6 +138,7 @@ public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRen
|
||||
case NONE: break;
|
||||
case YOMI: GL11.glScaled(1.25, 1.25, 1.25); break;
|
||||
case NUMBERNINE: GL11.glTranslated(0, 0.25, 0.25); GL11.glScaled(1.25, 1.25, 1.25); break;
|
||||
case POOH: GL11.glTranslated(0, 0.25, 0); GL11.glScaled(1.5, 1.5, 1.5); break;
|
||||
}
|
||||
renderPlushie(type);
|
||||
}};
|
||||
|
||||
@ -135,9 +135,9 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider
|
||||
|
||||
int coolingCycles = tanks[0].getFill() / step.amountReq;
|
||||
int heatingCycles = (tanks[1].getMaxFill() - tanks[1].getFill()) / step.amountProduced;
|
||||
int heatCycles = (int) (this.heat / 4 / step.heatReq * trait.getEfficiency(HeatingType.ICF)); //25% cooling per tick
|
||||
int heatCycles = (int) Math.min(this.heat / 4D / step.heatReq * trait.getEfficiency(HeatingType.ICF), this.heat / step.heatReq); //25% cooling per tick
|
||||
int cycles = Math.min(coolingCycles, Math.min(heatingCycles, heatCycles));
|
||||
|
||||
|
||||
tanks[0].setFill(tanks[0].getFill() - step.amountReq * cycles);
|
||||
tanks[1].setFill(tanks[1].getFill() + step.amountProduced * cycles);
|
||||
this.heat -= step.heatReq * cycles;
|
||||
|
||||
334
src/main/resources/assets/hbm/models/trinkets/pooh.obj
Normal file
@ -0,0 +1,334 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'pooh.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v -0.250000 0.062500 0.250000
|
||||
v 0.250000 0.062500 0.250000
|
||||
v -0.250000 0.062500 -0.250000
|
||||
v 0.250000 0.062500 -0.250000
|
||||
v -0.250000 0.437500 0.250000
|
||||
v 0.250000 0.437500 0.250000
|
||||
v -0.250000 0.437500 -0.250000
|
||||
v 0.250000 0.437500 -0.250000
|
||||
v -0.187500 0.437500 0.187500
|
||||
v 0.187500 0.437500 0.187500
|
||||
v -0.187500 0.437500 -0.187500
|
||||
v 0.187500 0.437500 -0.187500
|
||||
v -0.187500 0.625000 -0.187500
|
||||
v -0.187500 0.625000 0.187500
|
||||
v 0.187500 0.625000 0.187500
|
||||
v 0.187500 0.625000 -0.187500
|
||||
v -0.250000 0.625000 0.250000
|
||||
v 0.250000 0.625000 0.250000
|
||||
v -0.250000 0.625000 -0.250000
|
||||
v 0.250000 0.625000 -0.250000
|
||||
v -0.250000 1.125000 -0.250000
|
||||
v -0.250000 1.125000 0.250000
|
||||
v 0.250000 1.125000 0.250000
|
||||
v 0.250000 1.125000 -0.250000
|
||||
v -0.125000 0.000000 -0.062500
|
||||
v 0.500000 0.000000 -0.062500
|
||||
v -0.125000 0.000000 -0.187500
|
||||
v 0.500000 0.000000 -0.187500
|
||||
v -0.125000 0.125000 -0.187500
|
||||
v -0.125000 0.125000 -0.062500
|
||||
v 0.500000 0.125000 -0.062500
|
||||
v 0.500000 0.125000 -0.187500
|
||||
v -0.125000 0.000000 0.187500
|
||||
v 0.500000 0.000000 0.187500
|
||||
v -0.125000 0.000000 0.062500
|
||||
v 0.500000 0.000000 0.062500
|
||||
v -0.125000 0.125000 0.062500
|
||||
v -0.125000 0.125000 0.187500
|
||||
v 0.500000 0.125000 0.187500
|
||||
v 0.500000 0.125000 0.062500
|
||||
v -0.062500 0.606694 -0.169194
|
||||
v 0.062500 0.606694 -0.169194
|
||||
v -0.062500 0.518306 -0.080806
|
||||
v 0.062500 0.518306 -0.080806
|
||||
v -0.062500 0.253141 -0.345971
|
||||
v -0.062500 0.341529 -0.434359
|
||||
v 0.062500 0.341529 -0.434359
|
||||
v 0.062500 0.253141 -0.345971
|
||||
v -0.062500 0.606694 0.169194
|
||||
v 0.062500 0.606694 0.169194
|
||||
v -0.062500 0.518306 0.080806
|
||||
v 0.062500 0.518306 0.080806
|
||||
v -0.062500 0.253141 0.345971
|
||||
v -0.062500 0.341529 0.434359
|
||||
v 0.062500 0.341529 0.434359
|
||||
v 0.062500 0.253141 0.345971
|
||||
v 0.250000 0.781250 0.031250
|
||||
v 0.250000 0.718750 0.031250
|
||||
v 0.250000 0.781250 -0.031250
|
||||
v 0.250000 0.718750 -0.031250
|
||||
v 0.312500 0.781250 -0.031250
|
||||
v 0.312500 0.781250 0.031250
|
||||
v 0.312500 0.718750 0.031250
|
||||
v 0.312500 0.718750 -0.031250
|
||||
v -0.093750 1.062500 -0.125000
|
||||
v 0.093750 1.062500 -0.125000
|
||||
v -0.093750 1.062500 -0.312500
|
||||
v 0.093750 1.062500 -0.312500
|
||||
v -0.093750 1.250000 -0.312500
|
||||
v -0.093750 1.250000 -0.125000
|
||||
v 0.093750 1.250000 -0.125000
|
||||
v 0.093750 1.250000 -0.312500
|
||||
v -0.093750 1.062500 0.312500
|
||||
v 0.093750 1.062500 0.312500
|
||||
v -0.093750 1.062500 0.125000
|
||||
v 0.093750 1.062500 0.125000
|
||||
v -0.093750 1.250000 0.125000
|
||||
v -0.093750 1.250000 0.312500
|
||||
v 0.093750 1.250000 0.312500
|
||||
v 0.093750 1.250000 0.125000
|
||||
vt 0.400000 -0.000000
|
||||
vt 0.200000 0.173913
|
||||
vt 0.200000 -0.000000
|
||||
vt 0.200000 0.304348
|
||||
vt 0.400000 0.478261
|
||||
vt 0.200000 0.478261
|
||||
vt 0.600000 0.173913
|
||||
vt 0.400000 0.304348
|
||||
vt 0.400000 0.173913
|
||||
vt 0.000000 0.304348
|
||||
vt 0.000000 0.173913
|
||||
vt 0.800000 0.173913
|
||||
vt 0.600000 0.304348
|
||||
vt 0.700000 0.304348
|
||||
vt 0.550000 0.369565
|
||||
vt 0.550000 0.304348
|
||||
vt 1.000000 0.304348
|
||||
vt 0.850000 0.369565
|
||||
vt 0.850000 0.304348
|
||||
vt 0.700000 0.369565
|
||||
vt 0.400000 0.369565
|
||||
vt 0.400000 0.304348
|
||||
vt 0.400000 0.478261
|
||||
vt 0.200000 0.652174
|
||||
vt 0.200000 0.478261
|
||||
vt 0.200000 0.826087
|
||||
vt 0.400000 1.000000
|
||||
vt 0.200000 1.000000
|
||||
vt 0.600000 0.652174
|
||||
vt 0.400000 0.826087
|
||||
vt 0.400000 0.652174
|
||||
vt -0.000000 0.826087
|
||||
vt -0.000000 0.652174
|
||||
vt 0.800000 0.652174
|
||||
vt 0.600000 0.826087
|
||||
vt 0.900000 0.260870
|
||||
vt 0.950000 0.043478
|
||||
vt 0.950000 0.260870
|
||||
vt 0.800000 0.043478
|
||||
vt 0.850000 0.260870
|
||||
vt 0.800000 0.260870
|
||||
vt 0.850000 -0.000000
|
||||
vt 0.800000 0.000000
|
||||
vt 0.800000 0.304348
|
||||
vt 0.850000 0.304348
|
||||
vt 0.850000 0.043478
|
||||
vt 0.900000 0.043478
|
||||
vt 1.000000 0.260870
|
||||
vt 0.900000 0.260870
|
||||
vt 0.950000 0.043478
|
||||
vt 0.950000 0.260870
|
||||
vt 0.800000 0.043478
|
||||
vt 0.850000 0.260870
|
||||
vt 0.800000 0.260870
|
||||
vt 0.850000 -0.000000
|
||||
vt 0.800000 0.000000
|
||||
vt 0.800000 0.304348
|
||||
vt 0.850000 0.304348
|
||||
vt 0.850000 0.043478
|
||||
vt 0.900000 0.043478
|
||||
vt 1.000000 0.260870
|
||||
vt 0.550000 0.369565
|
||||
vt 0.475000 0.434783
|
||||
vt 0.475000 0.369565
|
||||
vt 0.400000 0.043478
|
||||
vt 0.450000 0.000000
|
||||
vt 0.450000 0.043478
|
||||
vt 0.600000 0.173913
|
||||
vt 0.550000 0.043478
|
||||
vt 0.600000 0.043478
|
||||
vt 0.450000 0.173913
|
||||
vt 0.500000 0.043478
|
||||
vt 0.500000 0.173913
|
||||
vt 0.550000 0.173913
|
||||
vt 0.400000 0.173913
|
||||
vt 0.400000 0.000000
|
||||
vt 0.450000 0.043478
|
||||
vt 0.400000 0.043478
|
||||
vt 0.500000 0.173913
|
||||
vt 0.450000 0.173913
|
||||
vt 0.550000 0.043478
|
||||
vt 0.600000 0.173913
|
||||
vt 0.550000 0.173913
|
||||
vt 0.500000 0.043478
|
||||
vt 0.400000 0.173913
|
||||
vt 0.425000 0.521739
|
||||
vt 0.450000 0.543478
|
||||
vt 0.425000 0.543478
|
||||
vt 0.425000 0.565217
|
||||
vt 0.450000 0.565217
|
||||
vt 0.475000 0.543478
|
||||
vt 0.450000 0.521739
|
||||
vt 0.475000 0.521739
|
||||
vt 0.400000 0.521739
|
||||
vt 0.400000 0.543478
|
||||
vt 0.450000 0.500000
|
||||
vt 0.425000 0.500000
|
||||
vt 0.475000 0.500000
|
||||
vt 0.550000 0.565217
|
||||
vt 0.475000 0.565217
|
||||
vt 0.550000 0.434783
|
||||
vt 0.700000 0.434783
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.434783
|
||||
vt 0.550000 0.500000
|
||||
vt 0.400000 0.500000
|
||||
vt 0.400000 0.434783
|
||||
vt 0.550000 0.369565
|
||||
vt 0.475000 0.434783
|
||||
vt 0.475000 0.369565
|
||||
vt 0.475000 0.500000
|
||||
vt 0.550000 0.565217
|
||||
vt 0.475000 0.565217
|
||||
vt 0.550000 0.434783
|
||||
vt 0.700000 0.434783
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.434783
|
||||
vt 0.550000 0.500000
|
||||
vt 0.400000 0.500000
|
||||
vt 0.400000 0.434783
|
||||
vt 0.800000 0.304348
|
||||
vt 1.000000 0.369565
|
||||
vt 0.800000 0.826087
|
||||
vt 1.000000 0.043478
|
||||
vt 1.000000 0.043478
|
||||
vt 0.400000 0.000000
|
||||
vt 0.450000 0.000000
|
||||
vt 0.600000 0.043478
|
||||
vt 0.700000 0.500000
|
||||
vt 0.700000 0.500000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.7071 -0.7071
|
||||
vn 0.0000 -0.7071 0.7071
|
||||
vn 0.0000 0.7071 -0.7071
|
||||
vn 0.0000 0.7071 0.7071
|
||||
s off
|
||||
f 3/1/1 2/2/1 1/3/1
|
||||
f 6/4/2 7/5/2 5/6/2
|
||||
f 3/7/3 8/8/3 4/9/3
|
||||
f 2/2/4 5/10/4 1/11/4
|
||||
f 4/9/5 6/4/5 2/2/5
|
||||
f 1/12/6 7/13/6 3/7/6
|
||||
f 12/14/5 15/15/5 10/16/5
|
||||
f 9/17/6 13/18/6 11/19/6
|
||||
f 11/19/3 16/20/3 12/14/3
|
||||
f 10/16/4 14/21/4 9/22/4
|
||||
f 19/23/1 18/24/1 17/25/1
|
||||
f 23/26/2 21/27/2 22/28/2
|
||||
f 19/29/3 24/30/3 20/31/3
|
||||
f 18/24/4 22/32/4 17/33/4
|
||||
f 20/31/5 23/26/5 18/24/5
|
||||
f 17/34/6 21/35/6 19/29/6
|
||||
f 27/36/1 26/37/1 25/38/1
|
||||
f 31/39/2 29/40/2 30/41/2
|
||||
f 28/42/5 31/39/5 26/43/5
|
||||
f 25/44/6 29/40/6 27/45/6
|
||||
f 27/36/3 32/46/3 28/47/3
|
||||
f 26/37/4 30/48/4 25/38/4
|
||||
f 35/49/1 34/50/1 33/51/1
|
||||
f 39/52/2 37/53/2 38/54/2
|
||||
f 36/55/5 39/52/5 34/56/5
|
||||
f 33/57/6 37/53/6 35/58/6
|
||||
f 35/49/3 40/59/3 36/60/3
|
||||
f 34/50/4 38/61/4 33/51/4
|
||||
f 67/62/1 66/63/1 65/64/1
|
||||
f 47/65/7 45/66/7 46/67/7
|
||||
f 42/68/5 48/69/5 47/70/5
|
||||
f 41/71/6 45/72/6 43/73/6
|
||||
f 43/73/8 48/69/8 44/74/8
|
||||
f 42/75/9 46/67/9 41/71/9
|
||||
f 53/76/8 55/77/8 54/78/8
|
||||
f 55/77/5 52/79/5 50/80/5
|
||||
f 53/81/6 49/82/6 51/83/6
|
||||
f 56/84/7 51/83/7 52/79/7
|
||||
f 54/78/10 50/80/10 49/85/10
|
||||
f 63/86/5 61/87/5 62/88/5
|
||||
f 57/89/2 61/87/2 59/90/2
|
||||
f 59/91/3 64/92/3 60/93/3
|
||||
f 58/94/4 62/88/4 57/95/4
|
||||
f 60/96/1 63/86/1 58/97/1
|
||||
f 71/98/2 69/99/2 70/100/2
|
||||
f 68/101/5 71/98/5 66/63/5
|
||||
f 65/102/6 69/103/6 67/104/6
|
||||
f 67/104/3 72/105/3 68/101/3
|
||||
f 66/63/4 70/106/4 65/107/4
|
||||
f 75/108/1 74/109/1 73/110/1
|
||||
f 79/111/2 77/112/2 78/113/2
|
||||
f 76/114/5 79/111/5 74/109/5
|
||||
f 73/115/6 77/116/6 75/117/6
|
||||
f 75/117/3 80/118/3 76/114/3
|
||||
f 74/109/4 78/119/4 73/120/4
|
||||
f 3/1/1 4/9/1 2/2/1
|
||||
f 6/4/2 8/8/2 7/5/2
|
||||
f 3/7/3 7/13/3 8/8/3
|
||||
f 2/2/4 6/4/4 5/10/4
|
||||
f 4/9/5 8/8/5 6/4/5
|
||||
f 1/12/6 5/121/6 7/13/6
|
||||
f 12/14/5 16/20/5 15/15/5
|
||||
f 9/17/6 14/122/6 13/18/6
|
||||
f 11/19/3 13/18/3 16/20/3
|
||||
f 10/16/4 15/15/4 14/21/4
|
||||
f 19/23/1 20/31/1 18/24/1
|
||||
f 23/26/2 24/30/2 21/27/2
|
||||
f 19/29/3 21/35/3 24/30/3
|
||||
f 18/24/4 23/26/4 22/32/4
|
||||
f 20/31/5 24/30/5 23/26/5
|
||||
f 17/34/6 22/123/6 21/35/6
|
||||
f 27/36/1 28/47/1 26/37/1
|
||||
f 31/39/2 32/46/2 29/40/2
|
||||
f 28/42/5 32/46/5 31/39/5
|
||||
f 25/44/6 30/41/6 29/40/6
|
||||
f 27/36/3 29/40/3 32/46/3
|
||||
f 26/37/4 31/124/4 30/48/4
|
||||
f 35/49/1 36/60/1 34/50/1
|
||||
f 39/52/2 40/59/2 37/53/2
|
||||
f 36/55/5 40/59/5 39/52/5
|
||||
f 33/57/6 38/54/6 37/53/6
|
||||
f 35/49/3 37/53/3 40/59/3
|
||||
f 34/50/4 39/125/4 38/61/4
|
||||
f 67/62/1 68/101/1 66/63/1
|
||||
f 47/65/7 48/126/7 45/66/7
|
||||
f 42/68/5 44/74/5 48/69/5
|
||||
f 41/71/6 46/67/6 45/72/6
|
||||
f 43/73/8 45/72/8 48/69/8
|
||||
f 42/75/9 47/65/9 46/67/9
|
||||
f 53/76/8 56/127/8 55/77/8
|
||||
f 55/77/5 56/84/5 52/79/5
|
||||
f 53/81/6 54/128/6 49/82/6
|
||||
f 56/84/7 53/81/7 51/83/7
|
||||
f 54/78/10 55/77/10 50/80/10
|
||||
f 63/86/5 64/92/5 61/87/5
|
||||
f 57/89/2 62/88/2 61/87/2
|
||||
f 59/91/3 61/87/3 64/92/3
|
||||
f 58/94/4 63/86/4 62/88/4
|
||||
f 60/96/1 64/92/1 63/86/1
|
||||
f 71/98/2 72/105/2 69/99/2
|
||||
f 68/101/5 72/105/5 71/98/5
|
||||
f 65/102/6 70/129/6 69/103/6
|
||||
f 67/104/3 69/103/3 72/105/3
|
||||
f 66/63/4 71/98/4 70/106/4
|
||||
f 75/108/1 76/114/1 74/109/1
|
||||
f 79/111/2 80/118/2 77/112/2
|
||||
f 76/114/5 80/118/5 79/111/5
|
||||
f 73/115/6 78/130/6 77/116/6
|
||||
f 75/117/3 77/116/3 80/118/3
|
||||
f 74/109/4 79/111/4 78/119/4
|
||||
|
Before Width: | Height: | Size: 511 B After Width: | Height: | Size: 482 B |
|
Before Width: | Height: | Size: 525 B After Width: | Height: | Size: 499 B |
|
After Width: | Height: | Size: 281 B |
|
After Width: | Height: | Size: 282 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 303 B |
BIN
src/main/resources/assets/hbm/textures/models/trinkets/pooh.png
Normal file
|
After Width: | Height: | Size: 409 B |
|
Before Width: | Height: | Size: 14 KiB |
BIN
src/main/resources/assets/hbm/textures/models/weapons/g3.png
Normal file
|
After Width: | Height: | Size: 11 KiB |