ATLAS
@ -60,7 +60,7 @@ public class GUIMachineRotaryFurnace extends GuiInfoContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int p = (int) (furnace.progress * 33);
|
||||
int p = (int) Math.ceil(furnace.progress * 33);
|
||||
drawTexturedModalRect(guiLeft + 63, guiTop + 30, 176, 0, p, 10);
|
||||
|
||||
if(furnace.maxBurnTime > 0) {
|
||||
|
||||
@ -16,10 +16,13 @@ import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.inventory.FluidStack;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.material.Mats;
|
||||
import com.hbm.inventory.material.Mats.MaterialStack;
|
||||
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemFluidIcon;
|
||||
import com.hbm.items.machine.ItemScraps;
|
||||
|
||||
@ -31,10 +34,16 @@ public class RotaryFurnaceRecipes extends SerializableRecipe {
|
||||
|
||||
@Override
|
||||
public void registerDefaults() {
|
||||
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(1)), 100, 100, new OreDictStack(IRON.ingot()), new OreDictStack(COAL.gem())));
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(1)), 100, 100, new OreDictStack(IRON.ingot()), new OreDictStack(ANY_COKE.gem())));
|
||||
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(1)), 200, 100,
|
||||
new OreDictStack(IRON.ingot()), new OreDictStack(ANY_COKE.gem())
|
||||
));
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(2)), 100, 100, new OreDictStack(IRON.fragment(), 9), new OreDictStack(COAL.gem())));
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(3)), 100, 100, new OreDictStack(IRON.fragment(), 9), new OreDictStack(ANY_COKE.gem())));
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(4)), 200, 100, new OreDictStack(IRON.fragment(), 9), new OreDictStack(ANY_COKE.gem()), new ComparableStack(ModItems.powder_flux)));
|
||||
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_GUNMETAL, INGOT.q(4)), 200, 100, new OreDictStack(CU.ingot(), 3), new OreDictStack(AL.ingot(), 1)));
|
||||
recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_WEAPONSTEEL, INGOT.q(1)), 200, 400, new FluidStack(Fluids.GAS_COKER, 100), new OreDictStack(STEEL.ingot(), 1), new ComparableStack(ModItems.powder_flux, 2)));
|
||||
}
|
||||
|
||||
public static HashMap getRecipes() {
|
||||
|
||||
@ -1618,8 +1618,9 @@ public class ModItems {
|
||||
|
||||
public static Item gun_debug;
|
||||
public static Item ammo_debug;
|
||||
|
||||
|
||||
public static Item gun_pepperbox;
|
||||
public static Item gun_atlas;
|
||||
|
||||
public static Item ammo_standard;
|
||||
|
||||
@ -7021,6 +7022,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ammo_debug, ammo_debug.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerItem(gun_pepperbox, gun_pepperbox.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_atlas, gun_atlas.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName());
|
||||
|
||||
//Ammo
|
||||
|
||||
@ -80,6 +80,14 @@ public class ItemMold extends Item {
|
||||
registerMold(new MoldSingle( 16, S, "c9", new ItemStack(ModItems.casing_9), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1)));
|
||||
registerMold(new MoldSingle( 17, S, "c50", new ItemStack(ModItems.casing_50), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1)));
|
||||
registerMold(new MoldSingle( 18, S, "cbuckshot", new ItemStack(ModItems.casing_buckshot), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1)));
|
||||
|
||||
registerMold(new MoldShape( 22, S, "barrel_light", MaterialShapes.LIGHTBARREL));
|
||||
registerMold(new MoldShape( 23, S, "barrel_heavy", MaterialShapes.HEAVYBARREL));
|
||||
registerMold(new MoldShape( 24, S, "receiver_light", MaterialShapes.LIGHTRECEIVER));
|
||||
registerMold(new MoldShape( 25, S, "receiver_heavy", MaterialShapes.HEAVYRECEIVER));
|
||||
registerMold(new MoldShape( 26, S, "mechanism", MaterialShapes.MECHANISM));
|
||||
registerMold(new MoldShape( 27, S, "stock", MaterialShapes.STOCK));
|
||||
registerMold(new MoldShape( 28, S, "grip", MaterialShapes.GRIP));
|
||||
}
|
||||
|
||||
public void registerMold(Mold mold) {
|
||||
|
||||
@ -47,6 +47,7 @@ public class GunFactory {
|
||||
).setUnlocalizedName("gun_debug").setTextureName(RefStrings.MODID + ":gun_darter");
|
||||
|
||||
XFactoryBlackPowder.init();
|
||||
XFactory357.init();
|
||||
|
||||
/// PROXY BULLSHIT ///
|
||||
MainRegistry.proxy.registerGunCfg();
|
||||
@ -57,5 +58,10 @@ public class GunFactory {
|
||||
STONE_AP,
|
||||
STONE_IRON,
|
||||
STONE_SHOT,
|
||||
M357_SP,
|
||||
M357_FMJ,
|
||||
M357_JHP,
|
||||
M357_AP,
|
||||
M357_EXPRESS,
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import org.lwjgl.opengl.GL11;
|
||||
import com.hbm.entity.projectile.EntityBulletBaseMK4;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.render.item.weapon.sedna.ItemRenderAtlas;
|
||||
import com.hbm.render.item.weapon.sedna.ItemRenderDebug;
|
||||
import com.hbm.render.item.weapon.sedna.ItemRenderPepperbox;
|
||||
|
||||
@ -21,12 +22,14 @@ public class GunFactoryClient {
|
||||
//GUNS
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_debug, new ItemRenderDebug());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_pepperbox, new ItemRenderPepperbox());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_atlas, new ItemRenderAtlas());
|
||||
//PROJECTILES
|
||||
ammo_debug.setRenderer(RENDER_STANDARD_BULLET);
|
||||
ammo_debug_buckshot.setRenderer(RENDER_STANDARD_BULLET);
|
||||
//HUDS
|
||||
((ItemGunBaseNT) ModItems.gun_debug).config_DNA.hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
((ItemGunBaseNT) ModItems.gun_pepperbox).config_DNA.hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
((ItemGunBaseNT) ModItems.gun_atlas).config_DNA.hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO);
|
||||
}
|
||||
|
||||
public static BiConsumer<EntityBulletBaseMK4, Float> RENDER_STANDARD_BULLET = (bullet, interp) -> {
|
||||
|
||||
@ -38,7 +38,7 @@ public class Orchestras {
|
||||
if(timer == 11) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverCock", 1F, 1F);
|
||||
}
|
||||
if(type == AnimType.CYCLE_DRY) {
|
||||
if(timer == 3) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.dryFireClick", 1F, 1F);
|
||||
if(timer == 2) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.dryFireClick", 1F, 1F);
|
||||
if(timer == 11) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverCock", 1F, 1F);
|
||||
}
|
||||
if(type == AnimType.INSPECT) {
|
||||
@ -71,4 +71,31 @@ public class Orchestras {
|
||||
if(timer == 45) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.dryFireClick", 1F, 0.6F);
|
||||
}
|
||||
};
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_ATLAS = (stack, ctx) -> {
|
||||
EntityPlayer player = ctx.player;
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack);
|
||||
|
||||
if(type == AnimType.RELOAD) {
|
||||
if(timer == 2) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magSmallRemove", 1F, 1F);
|
||||
if(timer == 36) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magSmallInsert", 1F, 1F);
|
||||
if(timer == 44) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
if(type == AnimType.CYCLE) {
|
||||
if(timer == 14) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverCock", 1F, 0.9F);
|
||||
}
|
||||
if(type == AnimType.CYCLE_DRY) {
|
||||
if(timer == 2) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.dryFireClick", 1F, 1F);
|
||||
if(timer == 14) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverCock", 1F, 0.9F);
|
||||
}
|
||||
if(type == AnimType.INSPECT) {
|
||||
if(timer == 2) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magSmallRemove", 1F, 1F);
|
||||
if(timer == 24) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
if(type == AnimType.JAMMED) {
|
||||
if(timer == 12) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.magSmallRemove", 1F, 1F);
|
||||
if(timer == 34) player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.revolverClose", 1F, 1F);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -0,0 +1,79 @@
|
||||
package com.hbm.items.weapon.sedna.factory;
|
||||
|
||||
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.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class XFactory357 {
|
||||
|
||||
public static BulletConfig m357_sp;
|
||||
public static BulletConfig m357_fmj;
|
||||
public static BulletConfig m357_jhp;
|
||||
public static BulletConfig m357_ap;
|
||||
public static BulletConfig m357_express;
|
||||
|
||||
public static void init() {
|
||||
m357_sp = new BulletConfig().setItem(EnumAmmo.M357_SP);
|
||||
m357_fmj = new BulletConfig().setItem(EnumAmmo.M357_FMJ).setDamage(0.8F).setArmorPiercing(0.1F);
|
||||
m357_jhp = new BulletConfig().setItem(EnumAmmo.M357_JHP).setDamage(1.5F).setArmorPiercing(-0.25F);
|
||||
m357_ap = new BulletConfig().setItem(EnumAmmo.M357_AP).setDoesPenetrate(true).setDamageFalloutByPen(false);
|
||||
m357_express = new BulletConfig().setItem(EnumAmmo.M357_EXPRESS).setDoesPenetrate(true).setDamage(1.5F).setWear(1.5F);
|
||||
|
||||
ModItems.gun_atlas = new ItemGunBaseNT(new GunConfig()
|
||||
.dura(300).draw(4).inspect(23).jam(45).crosshair(Crosshair.CIRCLE).smoke(true).orchestra(Orchestras.ORCHESTRA_ATLAS)
|
||||
.rec(new Receiver(0)
|
||||
.dmg(10F).delay(16).reload(55).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
|
||||
.mag(new MagazineFullReload(0, 6).addConfigs(m357_sp, m357_fmj, m357_jhp, m357_ap, m357_express))
|
||||
.canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_STANDARD_FIRE).recoil(Lego.LAMBDA_STANDARD_RECOIL))
|
||||
.pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY) .pr(Lego.LAMBDA_STANDARD_RELOAD) .pt(Lego.LAMBDA_TOGGLE_AIM)
|
||||
.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
|
||||
.anim(LAMBDA_ATLAS_ANIMS)
|
||||
).setUnlocalizedName("gun_atlas").setTextureName(RefStrings.MODID + ":gun_darter");
|
||||
}
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_ATLAS_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, -3, 350, IType.SIN_DOWN));
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250))
|
||||
.addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 550).addPos(0, 0, 0, 200))
|
||||
.addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 1, 200));
|
||||
case CYCLE_DRY: return new BusAnimation()
|
||||
.addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 550).addPos(0, 0, 0, 200))
|
||||
.addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 1, 200));
|
||||
case RELOAD: return new BusAnimation()
|
||||
.addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 90, 300).addPos(0, 0, 90, 2000).addPos(0, 0, 0, 150))
|
||||
.addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 2000).addPos(0, 0, 0, 75))
|
||||
.addBus("RELOAD_ROT", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(60, 0, 0, 500).addPos(60, 0, 0, 500).addPos(0, -90, -90, 0).addPos(0, -90, -90, 600).addPos(0, 0, 0, 300).addPos(0, 0, 0, 100).addPos(-45, 0, 0, 50).addPos(-45, 0, 0, 100).addPos(0, 0, 0, 300))
|
||||
.addBus("RELOAD_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, -15, 0, 1000).addPos(0, 0, 0, 450))
|
||||
.addBus("DRUM_PUSH", new BusAnimationSequence().addPos(0, 0, 0, 1600).addPos(0, 0, -5, 0).addPos(0, 0, 0, 300));
|
||||
case INSPECT: return new BusAnimation()
|
||||
.addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 90, 300).addPos(0, 0, 90, 1000).addPos(0, 0, 0, 150))
|
||||
.addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 1000).addPos(0, 0, 0, 75))
|
||||
.addBus("RELOAD_ROT", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(45, 0, 0, 500, IType.SIN_FULL).addPos(45, 0, 0, 500).addPos(-45, 0, 0, 50).addPos(-45, 0, 0, 100).addPos(0, 0, 0, 300))
|
||||
.addBus("RELOAD_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, -2.5, 0, 500, IType.SIN_FULL).addPos(0, -2.5, 0, 500).addPos(0, 0, 0, 350));
|
||||
case JAMMED: return new BusAnimation()
|
||||
.addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 90, 300).addPos(0, 0, 90, 1000).addPos(0, 0, 0, 150))
|
||||
.addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 1000).addPos(0, 0, 0, 75))
|
||||
.addBus("RELOAD_ROT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 300).addPos(45, 0, 0, 500, IType.SIN_FULL).addPos(45, 0, 0, 500).addPos(-45, 0, 0, 50).addPos(-45, 0, 0, 100).addPos(0, 0, 0, 300))
|
||||
.addBus("RELOAD_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 300).addPos(0, -2.5, 0, 500, IType.SIN_FULL).addPos(0, -2.5, 0, 500).addPos(0, 0, 0, 350));
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
}
|
||||
@ -28,7 +28,7 @@ public class XFactoryBlackPowder {
|
||||
BulletConfig shot = new BulletConfig().setItem(EnumAmmo.STONE_SHOT).setSpread(0.1F).setRicochetAngle(45).setProjectiles(6, 6).setDamage(0.5F);
|
||||
|
||||
ModItems.gun_pepperbox = new ItemGunBaseNT(new GunConfig()
|
||||
.dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(true).orchestra(Orchestras.ORCHESTRA_PEPPERBOX)
|
||||
.dura(300).draw(4).inspect(23).jam(58).crosshair(Crosshair.CIRCLE).smoke(true).orchestra(Orchestras.ORCHESTRA_PEPPERBOX)
|
||||
.rec(new Receiver(0)
|
||||
.dmg(5F).delay(27).reload(67).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F)
|
||||
.mag(new MagazineFullReload(0, 6).addConfigs(stone, flint, iron, shot))
|
||||
|
||||
@ -0,0 +1,123 @@
|
||||
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 ItemRenderAtlas extends ItemRenderWeaponBase {
|
||||
|
||||
@Override
|
||||
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; }
|
||||
|
||||
@Override
|
||||
protected void setupFirstPerson(ItemStack stack) {
|
||||
GL11.glTranslated(0, 0, 0.875);
|
||||
|
||||
float offset = 0.8F;
|
||||
standardAimingTransform(stack,
|
||||
-1.0F * offset, -0.75F * offset, 1F * offset,
|
||||
0, -3.125 / 8D, 0.25);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderFirstPerson(ItemStack stack) {
|
||||
|
||||
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bio_revolver_tex);
|
||||
double scale = 0.125D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
|
||||
double[] reloadMove = HbmAnimations.getRelevantTransformation("RELOAD_MOVE");
|
||||
double[] reloadRot = HbmAnimations.getRelevantTransformation("RELOAD_ROT");
|
||||
double[] equip = HbmAnimations.getRelevantTransformation("EQUIP");
|
||||
|
||||
GL11.glTranslated(recoil[0], recoil[1], recoil[2]);
|
||||
GL11.glRotated(recoil[2] * 10, 1, 0, 0);
|
||||
|
||||
GL11.glTranslated(0, 0, -7);
|
||||
GL11.glRotated(equip[0], -1, 0, 0);
|
||||
GL11.glTranslated(0, 0, 7);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 1.5, 9.25);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
this.renderSmokeNodes(gun.smokeNodes, 0.5D);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glTranslated(reloadMove[0], reloadMove[1], reloadMove[2]);
|
||||
|
||||
GL11.glRotated(reloadRot[0], 1, 0, 0);
|
||||
GL11.glRotated(reloadRot[2], 0, 0, 1);
|
||||
GL11.glRotated(reloadRot[1], 0, 1, 0);
|
||||
ResourceManager.bio_revolver.renderPart("Grip");
|
||||
|
||||
GL11.glPushMatrix(); /// FRONT PUSH ///
|
||||
GL11.glRotated(HbmAnimations.getRelevantTransformation("FRONT")[2], 1, 0, 0);
|
||||
ResourceManager.bio_revolver.renderPart("Barrel");
|
||||
GL11.glPushMatrix(); /// LATCH PUSH ///
|
||||
GL11.glTranslated(0, 2.3125, -0.875);
|
||||
GL11.glRotated(HbmAnimations.getRelevantTransformation("LATCH")[2], 1, 0, 0);
|
||||
GL11.glTranslated(0, -2.3125, 0.875);
|
||||
ResourceManager.bio_revolver.renderPart("Latch");
|
||||
GL11.glPopMatrix(); /// LATCH POP ///
|
||||
|
||||
GL11.glPushMatrix(); /// DRUM PUSH ///
|
||||
GL11.glTranslated(0, 1, 0);
|
||||
GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * 60, 0, 0, 1);
|
||||
GL11.glTranslated(0, -1, 0);
|
||||
GL11.glTranslated(0, 0, HbmAnimations.getRelevantTransformation("DRUM_PUSH")[2]);
|
||||
ResourceManager.bio_revolver.renderPart("Drum");
|
||||
GL11.glPopMatrix(); /// DRUM POP ///
|
||||
|
||||
GL11.glPopMatrix(); /// FRONT POP ///
|
||||
|
||||
GL11.glPushMatrix(); /// HAMMER ///
|
||||
GL11.glTranslated(0, 0, -4.5);
|
||||
GL11.glRotated(-45 + 45 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 1, 0, 0);
|
||||
GL11.glTranslated(0, 0, 4.5);
|
||||
ResourceManager.bio_revolver.renderPart("Hammer");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 1.5, 9.25);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
this.renderGapFlash(gun.lastShot);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setupThirdPerson(ItemStack stack) {
|
||||
super.setupThirdPerson(stack);
|
||||
GL11.glTranslated(0, 1, 3);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setupInv(ItemStack stack) {
|
||||
super.setupInv(stack);
|
||||
double scale = 1.125D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotated(25, 1, 0, 0);
|
||||
GL11.glRotated(45, 0, 1, 0);
|
||||
GL11.glTranslated(-0.5, 1.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.bio_revolver_tex);
|
||||
ResourceManager.bio_revolver.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
}
|
||||
@ -6,6 +6,7 @@ import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRotaryFurnace;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
@ -34,7 +35,11 @@ public class RenderRotaryFurnace extends TileEntitySpecialRenderer implements II
|
||||
bindTexture(ResourceManager.rotary_furnace_tex);
|
||||
ResourceManager.rotary_furnace.renderPart("Furnace");
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, BobMathUtil.sps((tile.getWorldObj().getTotalWorldTime() + f) * 0.125) * 0.5 - 0.5, 0);
|
||||
|
||||
TileEntityMachineRotaryFurnace furnace = (TileEntityMachineRotaryFurnace) tile;
|
||||
float anim = furnace.lastAnim + (furnace.anim - furnace.lastAnim) * f;
|
||||
|
||||
GL11.glTranslated(0, BobMathUtil.sps((anim * 0.75) * 0.125) * 0.5 - 0.5, 0);
|
||||
ResourceManager.rotary_furnace.renderPart("Piston");
|
||||
GL11.glPopMatrix();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
@ -48,6 +48,9 @@ public class TileEntityMachineRotaryFurnace extends TileEntityMachinePolluting i
|
||||
public boolean isVenting;
|
||||
public MaterialStack output;
|
||||
public static final int maxOutput = MaterialShapes.BLOCK.q(16);
|
||||
|
||||
public int anim;
|
||||
public int lastAnim;
|
||||
|
||||
public TileEntityMachineRotaryFurnace() {
|
||||
super(5, 50);
|
||||
@ -103,6 +106,7 @@ public class TileEntityMachineRotaryFurnace extends TileEntityMachinePolluting i
|
||||
}
|
||||
|
||||
RotaryFurnaceRecipe recipe = RotaryFurnaceRecipes.getRecipe(slots[0], slots[1], slots[2]);
|
||||
this.isProgressing = false;
|
||||
|
||||
if(recipe != null) {
|
||||
|
||||
@ -116,6 +120,7 @@ public class TileEntityMachineRotaryFurnace extends TileEntityMachinePolluting i
|
||||
this.progress += 1F / recipe.duration;
|
||||
tanks[1].setFill(tanks[1].getFill() - recipe.steam);
|
||||
tanks[2].setFill(tanks[2].getFill() + recipe.steam / 100);
|
||||
this.isProgressing = true;
|
||||
|
||||
if(this.progress >= 1F) {
|
||||
this.progress -= 1F;
|
||||
@ -165,6 +170,10 @@ public class TileEntityMachineRotaryFurnace extends TileEntityMachinePolluting i
|
||||
fx.setDouble("posZ", zCoord + 0.5 + rot.offsetZ);
|
||||
MainRegistry.proxy.effectNT(fx);
|
||||
}
|
||||
this.lastAnim = this.anim;
|
||||
if(this.isProgressing) {
|
||||
this.anim++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -373,6 +373,7 @@ container.machineMixer=Industrieller Mixer
|
||||
container.machineOreSlopper=B.E.M.
|
||||
container.machinePyroOven=Pyrolyseofen
|
||||
container.machineRefinery=Ölraffinerie
|
||||
container.machineRotaryFurnace=Rotationshochofen
|
||||
container.machineSelenium=Hochleistungs-Sternmotor
|
||||
container.machineShredder=Brecher
|
||||
container.machineSILEX=SILEX
|
||||
@ -1145,6 +1146,11 @@ item.ammo_shell.name=240mm Geschoss
|
||||
item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
|
||||
item.ammo_shell_apfsds_t.name=240mm APFSDS-T
|
||||
item.ammo_shell_explosive.name=240mm HE-Geschoss
|
||||
item.ammo_standard.m357_ap.name=.357 Magnumkugel (Panzerbrechend)
|
||||
item.ammo_standard.m357_express.name=.357 Magnumkugel (VMG Express)
|
||||
item.ammo_standard.m357_fmj.name=.357 Magnumkugel (Vollmantelgeschoss)
|
||||
item.ammo_standard.m357_jhp.name=.357 Magnumkugel (Hohlspitz)
|
||||
item.ammo_standard.m357_sp.name=.357 Magnumkugel (Teilmantelgeschoss)
|
||||
item.ammo_standard.stone.name=Kugel und Pulver
|
||||
item.ammo_standard.stone_ap.name=Feuerstein und Pulver
|
||||
item.ammo_standard.stone_iron.name=Eisenkugel und Pulver
|
||||
@ -4367,6 +4373,7 @@ tile.machine_reactor_on.name=Brutreaktor
|
||||
tile.machine_reactor_small.name=Atomreaktor
|
||||
tile.machine_refinery.name=Ölraffinerie
|
||||
tile.machine_reix_mainframe.name=Rei-X Hauptrechner (WIP)
|
||||
tile.machine_rotary_furnace.name=Rotationshochofen
|
||||
tile.machine_rtg_blue.name=Konvektionsgenerator
|
||||
tile.machine_rtg_cyan.name=Schrabidium-Zerfallsenergie-Generator (WIP)
|
||||
tile.machine_rtg_furnace_off.name=RTG-Ofen
|
||||
|
||||
@ -775,6 +775,7 @@ container.machineMixer=Industrial Mixer
|
||||
container.machineOreSlopper=B.O.P.
|
||||
container.machinePyroOven=Pyrolysis Oven
|
||||
container.machineRefinery=Oil Refinery
|
||||
container.machineRotaryFurnace=Rotary Furnace
|
||||
container.machineSelenium=Radial Performance Engine
|
||||
container.machineShredder=Shredder
|
||||
container.machineSILEX=SILEX
|
||||
@ -1868,6 +1869,11 @@ item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
|
||||
item.ammo_shell_apfsds_t.name=240mm APFSDS-T
|
||||
item.ammo_shell_explosive.name=240mm HE Shell
|
||||
item.ammo_shell_w9.name=240mm W9 Nuclear Shell
|
||||
item.ammo_standard.m357_ap.name=.357 Magnum Round (Armor Piercing)
|
||||
item.ammo_standard.m357_express.name=.357 Magnum Round (FMJ Express)
|
||||
item.ammo_standard.m357_fmj.name=.357 Magnum Round (Full Metal Jacket)
|
||||
item.ammo_standard.m357_jhp.name=.357 Magnum Round (Jacketed Hollow Point)
|
||||
item.ammo_standard.m357_sp.name=.357 Magnum Round (Soft Point)
|
||||
item.ammo_standard.stone.name=Ball and Powder
|
||||
item.ammo_standard.stone_ap.name=Flint and Powder
|
||||
item.ammo_standard.stone_iron.name=Iron Ball and Powder
|
||||
@ -5465,6 +5471,7 @@ tile.machine_reactor.name=Breeding Reactor
|
||||
tile.machine_reactor_small.name=Research Reactor
|
||||
tile.machine_refinery.name=Oil Refinery
|
||||
tile.machine_reix_mainframe.name=Rei-X Mainframe (WIP)
|
||||
tile.machine_rotary_furnace.name=Rotary Furnace
|
||||
tile.machine_rtg_blue.name=Convection Generator
|
||||
tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP)
|
||||
tile.machine_rtg_furnace_off.name=RTG Furnace
|
||||
|
||||
|
After Width: | Height: | Size: 237 B |
|
After Width: | Height: | Size: 265 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 236 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 214 B |
|
After Width: | Height: | Size: 235 B |
BIN
src/main/resources/assets/hbm/textures/items/mold_grip.png
Normal file
|
After Width: | Height: | Size: 251 B |
BIN
src/main/resources/assets/hbm/textures/items/mold_mechanism.png
Normal file
|
After Width: | Height: | Size: 293 B |
|
After Width: | Height: | Size: 244 B |
|
After Width: | Height: | Size: 244 B |
BIN
src/main/resources/assets/hbm/textures/items/mold_steel_base.png
Normal file
|
After Width: | Height: | Size: 187 B |
BIN
src/main/resources/assets/hbm/textures/items/mold_stock.png
Normal file
|
After Width: | Height: | Size: 238 B |