This commit is contained in:
Bob 2024-10-01 21:35:43 +02:00
parent 0bdfe286e4
commit 75df8fb945
27 changed files with 293 additions and 8 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B