diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 6d0ffc741..2c8f61d3f 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -1091,6 +1091,8 @@ item.tem_flakes.name=Tem Flakes item.glowing_stew.name=Leuchtende Pilzsuppe item.lemon.name="Zitrone" item.definitelyfood.name=GarantiertKeinDreck-Marken Feldration +item.loops.name=Lüüps +item.loop_stew.name=Informatiker-Frühstück tile.frozen_grass.name=Gefrorenes Gras tile.frozen_dirt.name=Gefrorene Erde diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 2913c7ba5..9b465ad8e 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1091,6 +1091,8 @@ item.tem_flakes.name=Tem Flakes item.glowing_stew.name=Glowing Mushroom Stew item.lemon.name="Lemon" item.definitelyfood.name=TotallyNotDirt-Brand MRE +item.loops.name=Lööps +item.loop_stew.name=IT Breakfast tile.frozen_grass.name=Frozen Grass tile.frozen_dirt.name=Frozen Dirt diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 83693bb96..5584abf72 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -21,6 +21,8 @@ "block.reactorStop": {"category": "block", "sounds": [{"name": "block/reactorStop", "stream": false}]}, "block.vaultScrape": {"category": "block", "sounds": [{"name": "block/vaultScrape", "stream": false}]}, "block.vaultThud": {"category": "block", "sounds": [{"name": "block/vaultThud", "stream": false}]}, + "block.vaultScrapeNew": {"category": "block", "sounds": [{"name": "block/vaultScrapeNew", "stream": false}]}, + "block.vaultThudNew": {"category": "block", "sounds": [{"name": "block/vaultThudNew", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/sounds/block/vaultScrapeNew.ogg b/assets/hbm/sounds/block/vaultScrapeNew.ogg new file mode 100644 index 000000000..49b2e4ef7 Binary files /dev/null and b/assets/hbm/sounds/block/vaultScrapeNew.ogg differ diff --git a/assets/hbm/sounds/block/vaultThudNew.ogg b/assets/hbm/sounds/block/vaultThudNew.ogg new file mode 100644 index 000000000..e495b6f6e Binary files /dev/null and b/assets/hbm/sounds/block/vaultThudNew.ogg differ diff --git a/assets/hbm/textures/items/assembly_template_0.png b/assets/hbm/textures/items/assembly_template_0.png new file mode 100644 index 000000000..0b1735f84 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_0.png differ diff --git a/assets/hbm/textures/items/assembly_template_1.png b/assets/hbm/textures/items/assembly_template_1.png new file mode 100644 index 000000000..04a2324e9 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_1.png differ diff --git a/assets/hbm/textures/items/assembly_template_2.png b/assets/hbm/textures/items/assembly_template_2.png new file mode 100644 index 000000000..2524f7392 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_2.png differ diff --git a/assets/hbm/textures/items/assembly_template_3.png b/assets/hbm/textures/items/assembly_template_3.png new file mode 100644 index 000000000..e0304f824 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_3.png differ diff --git a/assets/hbm/textures/items/assembly_template_4.png b/assets/hbm/textures/items/assembly_template_4.png new file mode 100644 index 000000000..7763a8c22 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_4.png differ diff --git a/assets/hbm/textures/items/assembly_template_5.png b/assets/hbm/textures/items/assembly_template_5.png new file mode 100644 index 000000000..b7effb0c3 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_5.png differ diff --git a/assets/hbm/textures/items/assembly_template_6.png b/assets/hbm/textures/items/assembly_template_6.png new file mode 100644 index 000000000..c9138d799 Binary files /dev/null and b/assets/hbm/textures/items/assembly_template_6.png differ diff --git a/assets/hbm/textures/items/loop_stew.png b/assets/hbm/textures/items/loop_stew.png new file mode 100644 index 000000000..df2e33941 Binary files /dev/null and b/assets/hbm/textures/items/loop_stew.png differ diff --git a/assets/hbm/textures/items/loops.png b/assets/hbm/textures/items/loops.png new file mode 100644 index 000000000..89a4c31e5 Binary files /dev/null and b/assets/hbm/textures/items/loops.png differ diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 73eb85aa4..5e616bcdb 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -835,6 +835,8 @@ public class ModItems { public static Item glowing_stew; public static Item lemon; public static Item definitelyfood; + public static Item loops; + public static Item loop_stew; public static Item med_ipecac; public static Item med_ptsd; @@ -2073,6 +2075,8 @@ public class ModItems { med_ipecac = new ItemLemon(0, 0, false).setUnlocalizedName("med_ipecac").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ipecac_new"); med_ptsd = new ItemLemon(0, 0, false).setUnlocalizedName("med_ptsd").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ptsd_new"); med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); + loops = new ItemLemon(4, 5, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); + loop_stew = new ItemLemon(10, 10, false).setUnlocalizedName("loop_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); @@ -3610,6 +3614,8 @@ public class ModItems { GameRegistry.registerItem(glowing_stew, glowing_stew.getUnlocalizedName()); GameRegistry.registerItem(lemon, lemon.getUnlocalizedName()); GameRegistry.registerItem(definitelyfood, definitelyfood.getUnlocalizedName()); + GameRegistry.registerItem(loops, loops.getUnlocalizedName()); + GameRegistry.registerItem(loop_stew, loop_stew.getUnlocalizedName()); GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName()); GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName()); //GameRegistry.registerItem(med_schizophrenia, med_schizophrenia.getUnlocalizedName()); diff --git a/com/hbm/items/food/ItemLemon.java b/com/hbm/items/food/ItemLemon.java index 0956c3b73..f369334df 100644 --- a/com/hbm/items/food/ItemLemon.java +++ b/com/hbm/items/food/ItemLemon.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.items.ModItems; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; @@ -49,6 +50,21 @@ public class ItemLemon extends ItemFood { list.add("..."); list.add("Better not take it."); } + + if(this == ModItems.med_schizophrenia) { + list.add("Makes the voices go away. Just for a while."); + list.add(""); + list.add("..."); + list.add("Better not take it."); + } + + if(this == ModItems.loops) { + list.add("Brøther, may I have some lööps?"); + } + + if(this == ModItems.loop_stew) { + list.add("A very, very healthy breakfast."); + } } @@ -64,6 +80,24 @@ public class ItemLemon extends ItemFood { int z = 5 / o; } + + if(this == ModItems.loop_stew) { + player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 20 * 20, 1)); + player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 2)); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 1)); + player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 20 * 20, 2)); + } + } + + public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) + { + ItemStack sta = super.onEaten(p_77654_1_, p_77654_2_, p_77654_3_); + + if(this == ModItems.loop_stew) + return new ItemStack(Items.bowl); + + return sta; + } } diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index 52c693dc7..aebcd64c7 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -1,15 +1,24 @@ package com.hbm.items.tool; import java.util.List; +import java.util.Random; +import org.lwjgl.input.Keyboard; + +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.inventory.MachineRecipes; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; public class ItemAssemblyTemplate extends Item { @@ -899,6 +908,90 @@ public class ItemAssemblyTemplate extends Item { list.add("0x334077-0x6A298F-0xDF3795-0x334077"); } } + + /*@Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() + { + return true; + } + + public int getRenderPasses(int metadata) + { + return 8; + } + + IIcon[] overlays; + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister p_94581_1_) + { + super.registerIcons(p_94581_1_); + + this.overlays = new IIcon[7]; + + for(int i = 0; i < 7; i++) + overlays[i] = p_94581_1_.registerIcon("hbm:assembly_template_" + i); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int a, int b) + { + return b < 7 ? overlays[b] : super.getIconFromDamageForRenderPass(a, b); + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int layer) + { + if (layer == 7) + { + return 0xFFFFFF; + } + else if(layer < 7) + { + int j = colorFromSeed(getSeedFromMeta(stack.getItemDamage(), layer)); + + if (j < 0) + { + j = 0xFFFFFF; + } + + return j; + } + + return 0; + } + + private int getSeedFromMeta(int i, int count) { + Random rand = new Random(i); + + int cap = 11; + + for(int j = 0; j < count - 1; j++) + rand.nextInt(cap); + + return rand.nextInt(cap); + } + + private int colorFromSeed(int i) { + switch(i) { + case 0: return 0x334077; + case 1: return 0x6A298F; + case 2: return 0xDF3795; + case 3: return 0xFF0000; + case 4: return 0x00FF00; + case 5: return 0x0000FF; + case 6: return 0xFFFF00; + case 7: return 0x00FFFF; + case 8: return 0x888888; + case 9: return 0xFFFFFF; + case 10: return 0x000000; + default: return 0xFFFFFF; + } + }*/ /*public Motif getColorMotifFromTemplate(EnumAssemblyTemplate temp) { diff --git a/com/hbm/items/tool/ItemTurretChip.java b/com/hbm/items/tool/ItemTurretChip.java index 19a182e9d..aa8f2a808 100644 --- a/com/hbm/items/tool/ItemTurretChip.java +++ b/com/hbm/items/tool/ItemTurretChip.java @@ -1,5 +1,6 @@ package com.hbm.items.tool; +import java.util.Arrays; import java.util.List; import org.apache.commons.lang3.ArrayUtils; @@ -14,7 +15,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; -import scala.actors.threadpool.Arrays; public class ItemTurretChip extends ItemTurretBiometry { diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 53a19a913..e2351051b 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -1255,6 +1255,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.mine_fat, 1), new Object[] { "CDN", 'C', ModItems.circuit_targeting_tier2, 'D', ModItems.ducttape, 'N', ModItems.gun_fatman_ammo }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', "ingotPolymer", 'S', "plateSteel" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.syringe_taint), new Object[] { ModItems.bottle2_empty, ModItems.syringe_metal_empty, ModItems.ducttape, ModItems.powder_magic, "nuggetSchrabidium", Items.potionitem })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.loops), new Object[] { ModItems.flame_pony, Items.wheat, Items.sugar }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.loop_stew), new Object[] { ModItems.loops, ModItems.can_smart, Items.bowl }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) }); diff --git a/com/hbm/render/entity/RenderBomber.java b/com/hbm/render/entity/RenderBomber.java index c02d5aacc..8d65de992 100644 --- a/com/hbm/render/entity/RenderBomber.java +++ b/com/hbm/render/entity/RenderBomber.java @@ -20,6 +20,9 @@ public class RenderBomber extends Render { GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(90, 0F, 0F, 1F); GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + //ayy lmao + //GL11.glRotatef(System.currentTimeMillis() / 5 % 360, 1F, 0F, 0F); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); diff --git a/com/hbm/render/tileentity/RenderVaultDoor.java b/com/hbm/render/tileentity/RenderVaultDoor.java index 1ae920234..44e4089de 100644 --- a/com/hbm/render/tileentity/RenderVaultDoor.java +++ b/com/hbm/render/tileentity/RenderVaultDoor.java @@ -53,11 +53,11 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer { if(tileEntity.state == 0) timer = new double[] { 0, 0, 0, 0, 0 }; else if(tileEntity.state == 2) - timer = getAnimationFromSysTime(12500); + timer = getAnimationFromSysTime((2000 + 800 * 5)); else if(tileEntity.isOpening) timer = getAnimationFromSysTime(System.currentTimeMillis() - tileEntity.sysTime); else - timer = getAnimationFromSysTime(tileEntity.sysTime + 12500 - System.currentTimeMillis()); + timer = getAnimationFromSysTime(tileEntity.sysTime + (2000 + 800 * 5) - System.currentTimeMillis()); GL11.glTranslated(-timer[0], 0, timer[1]); @@ -92,8 +92,10 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer { //x, z, roll private static double[] getAnimationFromSysTime(long time) { - double pullOutDuration = 5000D; - double slideDuration = 1500D; + double pullOutDuration = 2000D; + double slideDuration = 800D; + + //dura total = pullout + slide * 5 double diameter = 4.5D; double circumference = diameter * Math.PI; diff --git a/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/com/hbm/tileentity/machine/TileEntityVaultDoor.java index 1566e2343..b0fb02497 100644 --- a/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -42,45 +42,45 @@ public class TileEntityVaultDoor extends TileEntity { if(isOpening && state == 1) { if(timer == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultScrape", 1.0F, 1.0F); - if(timer == 110) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 130) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 150) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 170) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 190) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 210) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 230) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 249) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultScrapeNew", 1.0F, 1.0F); + if(timer == 45) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 55) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 65) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 75) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 85) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 95) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 105) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 115) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); } if(!isOpening && state == 1) { if(timer == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 10) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); if(timer == 20) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 30) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); if(timer == 40) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 50) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); if(timer == 60) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 80) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 100) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 120) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); - if(timer == 140) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThud", 1.0F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); + if(timer == 70) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultThudNew", 1.0F, 1.0F); - if(timer == 150) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultScrape", 1.0F, 1.0F); + if(timer == 80) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultScrapeNew", 1.0F, 1.0F); } if(state != 1) { @@ -88,7 +88,7 @@ public class TileEntityVaultDoor extends TileEntity { } else { timer++; - if(timer >= 250) { + if(timer >= 120) { if(isOpening) finishOpen();