diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 4593422f4..b16ed8eb0 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -32,6 +32,8 @@ achievement.nuclear.desc=Bobmazon Level 5 (Urankernbrennstoff) achievement.nuclear=Atomwissenschaft achievement.oil.desc=Bobmazon Level 4 (Elektrischer Boiler) achievement.oil=Petroleum +achievement.omega12.desc=Löse das Problem des Weiterlebens auf diesem elenden Planeten. +achievement.omega12=Omega-12 Teilchenbeschleuniger achievement.potato.desc=Du stichst mich! Was soll denn das? achievement.potato=Machtgeile KI achievement.radDeath.desc=Marie Curie entdeckte den Nutzen der radioaktiven Strahlung, sowie den Tod durch radioaktive Strahlung. @@ -257,6 +259,7 @@ death.attack.teleporter=%1$s wurde ins Nichts teleportiert. entity.entity_cyber_crab.name=Cyber-Krabbe entity.entity_elder_one.name=Quackos der Älteste entity.entity_fucc_a_ducc.name=Ente +entity.entity_hbm_fbi.name=FBI Agent entity.entity_mob_hunter_chopper.name=Jagdschrauber entity.entity_mob_mask_man.name=Maskenmann entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper @@ -336,6 +339,15 @@ hbmfluid.water=Wasser hbmfluid.watz=Giftiger Schlamm hbmfluid.xenon=Xenongas +info.coil=Spulenstärke +info.templatefolder=Hergestellt mit Zeichenmappe +info.template_in=Input: +info.template_in_p=Input: +info.template_out=Output: +info.template_out_p=Output: +info.template_seconds=Sekunden +info.template_time=Produktionszeit: + item.alloy_axe.name=Legierungsaxt item.alloy_boots.name=Legierungsstiefel item.alloy_helmet.name=Legierungshelm @@ -2229,6 +2241,7 @@ tile.hadron_access.name=Teilchenbeschleuniger-Zugriffskonsole tile.hadron_analysis.name=Teilchenbeschleuniger-Analysekammernwand tile.hadron_analysis.name=Teilchenbeschleuniger-Analysekammernfenster tile.hadron_coil_alloy.name=Dichte Supraleiterspule +tile.hadron_coil_mese.name=Dichte Mesespule tile.hadron_coil_schrabidium.name=Dichte Schrabidiumspule tile.hadron_coil_starmetal.name=Dichte Sternenmetallspule tile.hadron_core.name=Teilchenbeschleuniger-Kernkomponente diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 315f12d93..63af219f4 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -32,6 +32,8 @@ achievement.nuclear.desc=Bobmazon Level 5 (Uranium Fuel) achievement.nuclear=Atomic Science achievement.oil.desc=Bobmazon Level 4 (Electric Boiler) achievement.oil=Petroleum +achievement.omega12.desc=Solve the problem of continued life on this wretched planet. +achievement.omega12=Omega-12 Particle Accelerator achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH achievement.potato=Rogue AI achievement.radDeath.desc=Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and dying of radioactivity. @@ -257,6 +259,7 @@ death.attack.teleporter=%1$s was teleported into nothingness. entity.entity_cyber_crab.name=Cyber Crab entity.entity_elder_one.name=Quackos The Elder One entity.entity_fucc_a_ducc.name=Duck +entity.entity_hbm_fbi.name=FBI Agent entity.entity_mob_hunter_chopper.name=Hunter Chopper entity.entity_mob_mask_man.name=Mask Man entity.entity_mob_nuclear_creeper.name=Nuclear Creeper @@ -336,6 +339,15 @@ hbmfluid.water=Water hbmfluid.watz=Poisonous Mud hbmfluid.xenon=Xenon Gas +info.coil=Coil Strength +info.templatefolder=Created with Template Folder +info.template_in=Input: +info.template_in_p=Inputs: +info.template_out=Output: +info.template_out_p=Outputs: +info.template_seconds=seconds +info.template_time=Production Time: + item.alloy_axe.name=Advanced Alloy Axe item.alloy_boots.name=Advanced Alloy Boots item.alloy_helmet.name=Advanced Alloy Helmet @@ -2228,7 +2240,8 @@ tile.gravel_obsidian.name=Crushed Obsidian tile.hadron_access.name=Particle Accelerator Access Terminal tile.hadron_analysis.name=Particle Accelerator Analysis Chamber Wall tile.hadron_analysis_glass.name=Particle Accelerator Analysis Chamber Window -tile.hadron_coil_alloy.name=Dense Super Conducting Coil +tile.hadron_coil_alloy.name=Dense Superconducting Coil +tile.hadron_coil_mese.name=Dense Mese Coil tile.hadron_coil_schrabidium.name=Dense Schrabidic Coil tile.hadron_coil_starmetal.name=Dense Starmetal Coil tile.hadron_core.name=Particle Accelerator Core Commponent @@ -2239,7 +2252,7 @@ tile.hadron_plating_blue.name=Particle Accelerator Plating (Blue) tile.hadron_plating_glass.name=Particle Accelerator Plating (Window) tile.hadron_plating_striped.name=Particle Accelerator Plating (Cool Hazard Stripes) tile.hadron_plating_voltz.name=Particle Accelerator Plating (VOLTZ) -tile.hadron_plating_yellow.name=Particle Accelerator Plating (Yellow) +tile.hadron_plating_yellow.name=Particle Accelerator Plating (YelloDye) tile.hadron_power.name=Particle Accelerator Power Plug tile.hazmat.name=Hazmat Cloth Block tile.iter.name=Fusion Reactor diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_coil_mese.png b/src/main/java/assets/hbm/textures/blocks/hadron_coil_mese.png new file mode 100644 index 000000000..b80386361 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/hadron_coil_mese.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index a615b922b..39aad7567 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -457,6 +457,7 @@ public class ModBlocks { public static Block hadron_coil_alloy; public static Block hadron_coil_schrabidium; public static Block hadron_coil_starmetal; + public static Block hadron_coil_mese; public static Block hadron_power; public static Block hadron_diode; public static Block hadron_analysis; @@ -1208,6 +1209,7 @@ public class ModBlocks { hadron_coil_alloy = new BlockHadronCoil(Material.iron, 1).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_alloy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_alloy"); hadron_coil_schrabidium = new BlockHadronCoil(Material.iron, 3).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_schrabidium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_schrabidium"); hadron_coil_starmetal = new BlockHadronCoil(Material.iron, 10).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_starmetal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_starmetal"); + hadron_coil_mese = new BlockHadronCoil(Material.iron, 25).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_mese").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_mese"); hadron_power = new BlockHadronPower(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); hadron_diode = new BlockHadronDiode(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); hadron_analysis = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis"); @@ -1985,9 +1987,10 @@ public class ModBlocks { GameRegistry.registerBlock(hadron_plating_striped, hadron_plating_striped.getUnlocalizedName()); GameRegistry.registerBlock(hadron_plating_glass, hadron_plating_glass.getUnlocalizedName()); GameRegistry.registerBlock(hadron_plating_voltz, hadron_plating_voltz.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_alloy, hadron_coil_alloy.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_schrabidium, hadron_coil_schrabidium.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_starmetal, hadron_coil_starmetal.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_alloy, ItemHadronCoil.class, hadron_coil_alloy.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_schrabidium, ItemHadronCoil.class, hadron_coil_schrabidium.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_starmetal, ItemHadronCoil.class, hadron_coil_starmetal.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_mese, ItemHadronCoil.class, hadron_coil_mese.getUnlocalizedName()); GameRegistry.registerBlock(hadron_power, hadron_power.getUnlocalizedName()); GameRegistry.registerBlock(hadron_diode, hadron_diode.getUnlocalizedName()); GameRegistry.registerBlock(hadron_analysis, hadron_analysis.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java index 87613b9e6..8718b56c2 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java @@ -3,12 +3,17 @@ package com.hbm.blocks.generic; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.items.tool.ItemToolAbility; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; +import net.minecraft.item.ItemTool; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -45,4 +50,31 @@ public class BlockCoalOil extends Block { public int quantityDropped(Random rand) { return 2 + rand.nextInt(2); } + + /*public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta) { + + if(world.rand.nextInt(10) == 0) + world.setBlock(x, y, z, Blocks.fire); + }*/ + + public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { + + if(player.getHeldItem() == null) + return; + + if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility)) + return; + + ItemTool tool = (ItemTool)player.getHeldItem().getItem(); + + if(tool.func_150913_i() != ToolMaterial.WOOD) { + + if(world.rand.nextInt(10) == 0) + world.setBlock(x, y, z, Blocks.fire); + } + } + + public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) { + world.setBlock(x, y, z, Blocks.fire); + } } diff --git a/src/main/java/com/hbm/blocks/generic/TrappedBrick.java b/src/main/java/com/hbm/blocks/generic/TrappedBrick.java index 2e2d27aa9..6884ba02f 100644 --- a/src/main/java/com/hbm/blocks/generic/TrappedBrick.java +++ b/src/main/java/com/hbm/blocks/generic/TrappedBrick.java @@ -46,7 +46,8 @@ public class TrappedBrick extends BlockContainer { } } - @Override + @SuppressWarnings("incomplete-switch") + @Override public void onEntityWalking(World world, int x, int y, int z, Entity entity) { int meta = world.getBlockMetadata(x, y, z); diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronAccess.java b/src/main/java/com/hbm/blocks/machine/BlockHadronAccess.java index 657eeac63..c05bebeb8 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronAccess.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronAccess.java @@ -32,7 +32,9 @@ public class BlockHadronAccess extends BlockContainer { @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { - if(side != meta) + ForgeDirection dir = ForgeDirection.getOrientation(meta).getOpposite(); + + if(side != dir.ordinal()) return ModBlocks.hadron_plating_blue.getIcon(side, meta); return this.blockIcon; @@ -41,7 +43,8 @@ public class BlockHadronAccess extends BlockContainer { public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); - world.setBlockMetadataWithNotify(x, y, z, l, 2); + ForgeDirection dir = ForgeDirection.getOrientation(l).getOpposite(); + world.setBlockMetadataWithNotify(x, y, z, dir.ordinal(), 2); } @Override @@ -51,7 +54,7 @@ public class BlockHadronAccess extends BlockContainer { return true; } else if(!player.isSneaking()) { - ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)).getOpposite(); + ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); /*for(ForgeDirection d : ForgeDirection.VALID_DIRECTIONS) { System.out.println(d.name() + " " + d.getOpposite().name()); diff --git a/src/main/java/com/hbm/inventory/HadronRecipes.java b/src/main/java/com/hbm/inventory/HadronRecipes.java index 6e5b1c3c3..2ca985c09 100644 --- a/src/main/java/com/hbm/inventory/HadronRecipes.java +++ b/src/main/java/com/hbm/inventory/HadronRecipes.java @@ -29,29 +29,69 @@ public class HadronRecipes { public static void register() { recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_hydrogen), new ItemStack(ModItems.particle_copper), - new ItemStack(ModItems.particle_lead), //replace with protons - 800, + 160, new ItemStack(ModItems.particle_aproton), new ItemStack(ModItems.particle_aelectron), + true + )); + recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_amat), + new ItemStack(ModItems.particle_amat), + 1600, + new ItemStack(ModItems.particle_aschrab), + new ItemStack(ModItems.particle_empty), + false + )); + recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_aschrab), + new ItemStack(ModItems.particle_aschrab), + 2400, + new ItemStack(ModItems.particle_dark), + new ItemStack(ModItems.particle_empty), + false + )); + recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_hydrogen), + new ItemStack(ModItems.particle_amat), + 400, + new ItemStack(ModItems.particle_muon), + new ItemStack(ModItems.particle_empty), + true + )); + recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_hydrogen), + new ItemStack(ModItems.particle_lead), + 8000, + new ItemStack(ModItems.particle_higgs), + new ItemStack(ModItems.particle_empty), + false + )); + recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_muon), + new ItemStack(ModItems.particle_dark), + 800, + new ItemStack(ModItems.particle_strange), + new ItemStack(ModItems.particle_empty), + false + )); + recipes.add(new HadronRecipe( + new ItemStack(ModItems.particle_strange), + new ItemStack(ModItems.powder_magic), + 24000, + new ItemStack(ModItems.particle_sparkticle), + new ItemStack(ModItems.dust), false )); recipes.add(new HadronRecipe( new ItemStack(ModItems.particle_sparkticle), new ItemStack(ModItems.particle_higgs), - 8000, + 200000, new ItemStack(ModItems.particle_digamma), new ItemStack(ModItems.particle_empty), false )); - recipes.add(new HadronRecipe( - new ItemStack(ModItems.particle_aschrab), - new ItemStack(ModItems.particle_aschrab), - 320, - new ItemStack(ModItems.particle_dark), - new ItemStack(ModItems.particle_empty), - true - )); } /** diff --git a/src/main/java/com/hbm/inventory/MagicRecipes.java b/src/main/java/com/hbm/inventory/MagicRecipes.java index 450f6a0e8..a6efdd739 100644 --- a/src/main/java/com/hbm/inventory/MagicRecipes.java +++ b/src/main/java/com/hbm/inventory/MagicRecipes.java @@ -78,6 +78,12 @@ public class MagicRecipes { new ComparableStack(ModItems.powder_dineutronium), new ComparableStack(ModItems.blades_desh), new ComparableStack(ModItems.diamond_gavel))); + + recipes.add(new MagicRecipe(new ItemStack(ModBlocks.hadron_coil_mese), + new ComparableStack(ModBlocks.hadron_coil_starmetal), + new ComparableStack(ModItems.powder_dineutronium), + new ComparableStack(ModItems.plate_desh), + new OreDictStack("dustGold"))); } public static List getRecipes() { diff --git a/src/main/java/com/hbm/items/block/ItemHadronCoil.java b/src/main/java/com/hbm/items/block/ItemHadronCoil.java new file mode 100644 index 000000000..2f13ba037 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemHadronCoil.java @@ -0,0 +1,23 @@ +package com.hbm.items.block; + +import java.util.List; + +import com.hbm.blocks.machine.BlockHadronCoil; +import com.hbm.util.I18nUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemHadronCoil extends ItemBlock { + + public ItemHadronCoil(Block block) { + super(block); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(I18nUtil.resolveKey("info.coil") + ": " + ((BlockHadronCoil)field_150939_a).factor); + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java index f967ca96f..1231e83cc 100644 --- a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.inventory.AssemblerRecipes; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -14,6 +15,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraftforge.oredict.OreDictionary; @@ -75,6 +77,9 @@ public class ItemAssemblyTemplate extends Item { if(!(stack.getItem() instanceof ItemAssemblyTemplate)) return; + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder")); + list.add(""); + int i = stack.getItemDamage(); if(i < 0 || i >= AssemblerRecipes.recipeList.size()) { @@ -98,9 +103,9 @@ public class ItemAssemblyTemplate extends Item { ItemStack output = out.toStack(); - list.add("Output:"); + list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_out")); list.add(output.stackSize + "x " + output.getDisplayName()); - list.add("Inputs:"); + list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_in_p")); for(Object o : in) { @@ -121,8 +126,8 @@ public class ItemAssemblyTemplate extends Item { } } - list.add("Production time:"); - list.add(Math.floor((float)(getProcessTime(stack)) / 20 * 100) / 100 + " seconds"); + list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_time")); + list.add(Math.floor((float)(getProcessTime(stack)) / 20 * 100) / 100 + " " + I18nUtil.resolveKey("info.template_seconds")); } /*@Override diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index 4d2a7a466..c163ce176 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -4,6 +4,8 @@ import java.util.List; import com.hbm.inventory.FluidStack; import com.hbm.inventory.MachineRecipes; +import com.hbm.util.I18nUtil; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.resources.I18n; @@ -11,6 +13,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; public class ItemChemistryTemplate extends Item { @@ -271,12 +274,12 @@ public class ItemChemistryTemplate extends Item { FluidStack[] inF = MachineRecipes.getFluidInputFromTempate(stack); ItemStack[] out = MachineRecipes.getChemOutputFromTempate(stack); FluidStack[] outF = MachineRecipes.getFluidOutputFromTempate(stack); - - list.add("[CREATED USING TEMPLATE FOLDER]"); + + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder")); list.add(""); try { - list.add("Outputs:"); + list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_out_p")); for(int i = 0; i < 4; i++) if(out[i] != null) list.add(out[i].stackSize + "x " + out[i].getDisplayName()); @@ -285,7 +288,7 @@ public class ItemChemistryTemplate extends Item { if(outF[i] != null) list.add(outF[i].fill + "mB " + I18n.format(outF[i].type.getUnlocalizedName())); - list.add("Inputs:"); + list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_in_p")); if(stacks != null) for(int i = 0; i < stacks.size(); i++) @@ -295,8 +298,8 @@ public class ItemChemistryTemplate extends Item { if(inF[i] != null) list.add(inF[i].fill + "mB " + I18n.format(inF[i].type.getUnlocalizedName())); - list.add("Production time:"); - list.add(Math.floor((float)(getProcessTime(stack)) / 20 * 100) / 100 + " seconds"); + list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_time")); + list.add(Math.floor((float)(getProcessTime(stack)) / 20 * 100) / 100 + " " + I18nUtil.resolveKey("info.template_seconds")); } catch(Exception e) { list.add("###INVALID###"); list.add("0x334077-0x6A298F-0xDF3795-0x334077"); diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java index 7464171b0..0a9938f00 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java @@ -3,6 +3,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.tileentity.conductor.TileEntityFluidDuct; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -13,6 +14,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; @@ -63,7 +65,7 @@ public class ItemFluidIdentifier extends Item { if(!(stack.getItem() instanceof ItemFluidIdentifier)) return; - list.add("[CREATED USING TEMPLATE FOLDER]"); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder")); list.add(""); list.add("Universal fluid identifier for:"); list.add(" " + I18n.format(FluidType.getEnum(stack.getItemDamage()).getUnlocalizedName())); diff --git a/src/main/java/com/hbm/items/special/ItemDigamma.java b/src/main/java/com/hbm/items/special/ItemDigamma.java index 27966067f..b8cae1890 100644 --- a/src/main/java/com/hbm/items/special/ItemDigamma.java +++ b/src/main/java/com/hbm/items/special/ItemDigamma.java @@ -2,6 +2,7 @@ package com.hbm.items.special; import java.util.List; +import com.hbm.config.WeaponConfig; import com.hbm.entity.effect.EntityRagingVortex; import com.hbm.lib.ModDamageSource; @@ -57,6 +58,7 @@ public class ItemDigamma extends ItemRadioactive { float d = ((int)((1000F / 60) * 10)) / 10F; + list.add(EnumChatFormatting.RED + "[Digamma Radiation]"); list.add(EnumChatFormatting.DARK_RED + "" + d + "DRX/s"); list.add(EnumChatFormatting.RED + "[Dangerous Drop]"); @@ -68,11 +70,15 @@ public class ItemDigamma extends ItemRadioactive { if (entityItem.onGround) { - EntityRagingVortex bl = new EntityRagingVortex(entityItem.worldObj, 10F); - bl.posX = entityItem.posX ; - bl.posY = entityItem.posY ; - bl.posZ = entityItem.posZ ; - entityItem.worldObj.spawnEntityInWorld(bl); + if(WeaponConfig.dropSing) { + EntityRagingVortex bl = new EntityRagingVortex(entityItem.worldObj, 10F); + bl.posX = entityItem.posX ; + bl.posY = entityItem.posY ; + bl.posZ = entityItem.posZ ; + entityItem.worldObj.spawnEntityInWorld(bl); + } + + entityItem.setDead(); return true; } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 4e4cbaf3d..9768303b4 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -6,14 +6,12 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import com.hbm.config.GeneralConfig; -import com.hbm.config.WeaponConfig; import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.interfaces.IItemHUD; -import com.hbm.main.MainRegistry; import com.hbm.packet.GunAnimationPacket; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; @@ -186,7 +184,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD { spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); } - setItemWear(stack, getItemWear(stack) + config.wear); + int wear = (int) Math.ceil(config.wear / (1F + EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack))); + setItemWear(stack, getItemWear(stack) + wear); } world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch); } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 41367ab54..b6684afff 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -6,7 +6,9 @@ import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; import com.hbm.items.weapon.GunB92Cell; +import com.hbm.util.EnchantmentUtil; +import net.minecraft.enchantment.Enchantment; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -64,6 +66,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cell_empty, 6), new Object[] { "SSS", "G G", "SSS", 'S', "plateSteel", 'G', "paneGlass" })); GameRegistry.addRecipe(new ItemStack(ModItems.cell_deuterium, 8), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_empty, 'T', ModItems.mike_deut }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.particle_empty, 2), new Object[] { "STS", "G G", "STS", 'S', "plateSteel", 'T', "ingotTungsten", 'G', "paneGlass" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.particle_copper, 1), new Object[] { ModItems.particle_empty, "dustCopper", ModItems.pellet_charged })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.particle_lead, 1), new Object[] { ModItems.particle_empty, "dustLead", ModItems.pellet_charged })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.cell_antimatter, 1), new Object[] { ModItems.particle_aproton, ModItems.particle_aelectron, ModItems.cell_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.particle_amat, 1), new Object[] { ModItems.particle_aproton, ModItems.particle_aelectron, ModItems.particle_empty }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.canister_empty, 2), new Object[] { "S ", "AA", "AA", 'S', "plateSteel", 'A', "plateAluminum" })); GameRegistry.addRecipe(new ItemStack(ModBlocks.yellow_barrel, 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.nuclear_waste, 'T', ModItems.tank_steel }); @@ -566,6 +573,16 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.turbine_tungsten, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_tungsten, 'S', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ring_starmetal, 1), new Object[] { " S ", "S S", " S ", 'S', ModItems.ingot_starmetal }); + ItemStack infinity = new ItemStack(Items.enchanted_book); + EnchantmentUtil.addEnchantment(infinity, Enchantment.infinity, 1); + GameRegistry.addRecipe(infinity, new Object[] { "SBS", "BDB", "SBS", 'S', ModItems.ammo_50bmg_star, 'B', ModItems.ammo_5mm_star, 'D', ModItems.powder_magic }); + ItemStack unbreaking = new ItemStack(Items.enchanted_book); + EnchantmentUtil.addEnchantment(unbreaking, Enchantment.unbreaking, 3); + GameRegistry.addRecipe(unbreaking, new Object[] { "SBS", "BDB", "SBS", 'S', ModItems.ingot_saturnite, 'B', ModItems.plate_armor_lunar, 'D', ModItems.powder_magic }); + ItemStack thorns = new ItemStack(Items.enchanted_book); + EnchantmentUtil.addEnchantment(thorns, Enchantment.thorns, 3); + GameRegistry.addRecipe(thorns, new Object[] { "SBS", "BDB", "SBS", 'S', ModBlocks.barbed_wire, 'B', ModBlocks.spikes, 'D', ModItems.powder_magic }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wrench, 1), new Object[] { " S ", " IS", "I ", 'S', "ingotSteel", 'I', "ingotIron" })); GameRegistry.addRecipe(new ItemStack(ModItems.wrench_flipped, 1), new Object[] { "S", "D", "W", 'S', Items.iron_sword, 'D', ModItems.ducttape, 'W', ModItems.wrench }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.memespoon, 1), new Object[] { "CGC", "PSP", "IAI", 'C', ModItems.powder_cloud, 'G', ModBlocks.block_thorium, 'P', ModItems.photo_panel, 'S', ModItems.steel_shovel, 'I', ModItems.plate_polymer, 'A', "ingotAustralium" })); @@ -752,12 +769,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', "plateSteel", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare2, 1), new Object[] { "SSM", "RRW", 'S', "plateDenseLead", 'W', "ingotTungsten", 'R', ModItems.wire_gold, 'M', ModItems.mechanism_special })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', "plateSteel", 'I', "ingotSteel", 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 })); - - reg2(); - } - - public static void reg2() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', "plateSteel", 'L', "plateLead", 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman }); GameRegistry.addRecipe(new ItemStack(ModItems.gun_bf_ammo, 1), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard }); @@ -765,6 +776,12 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_thompson, 1), new Object[] { "IIM", " SW", " S ", 'S', "plateIron", 'I', "plateSteel", 'W', "plankWood", 'M', ModItems.mechanism_rifle_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', "plateSteel", 'M', ModItems.mechanism_rifle_2, 'T', ModItems.hull_small_steel, 'I', "ingotSteel", 'S', ModItems.ingot_polymer, 'G', ModItems.mechanism_launcher_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uboinik, 1), new Object[] { "IIM", "SPW", 'P', "plateSteel", 'I', "ingotSteel", 'W', "plankWood", 'S', Items.stick, 'M', ModItems.mechanism_revolver_2 })); + + reg2(); + } + + public static void reg2() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_ks23, 1), new Object[] { "PPM", "SWL", 'P', "plateSteel", 'M', ModItems.mechanism_rifle_1, 'S', Items.stick, 'W', ModItems.wire_tungsten, 'L', "logWood" })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_sauer, 1), new Object[] { ModItems.ducttape, ModItems.gun_ks23, Blocks.lever, ModItems.gun_ks23 }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456, 1), new Object[] { "PBB", "ACC", "PRY", 'P', "plateSteel", 'R', ModItems.redcoil_capacitor, 'A', ModItems.coil_advanced_alloy, 'B', ModItems.battery_generic, 'C', ModItems.coil_advanced_torus, 'Y', ModItems.mechanism_special })); @@ -1497,7 +1514,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_sparkle), new Object[] { ModItems.bottle_nuka, Items.carrot, Items.gold_nugget }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_rad), new Object[] { ModItems.bottle_quantum, Items.carrot, Items.gold_nugget }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_nuke), new Object[] { "CGC", "CGC", "PAP", 'C', ModBlocks.det_charge, 'G', ModItems.grenade_mk2, 'P', "plateAdvanced", 'A', Blocks.anvil })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiobox), new Object[] { "PLP", "PSP", "PCP", 'P', "plateSteel", 'S', ModItems.ring_starmetal, 'C', ModItems.fusion_core, 'L', "plateDenseLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiobox), new Object[] { "PLP", "PSP", "PLP", 'P', "plateSteel", 'S', ModItems.ring_starmetal, 'C', ModItems.fusion_core, 'L', "plateDenseLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiorec), new Object[] { " W", "PCP", "PIP", 'W', ModItems.wire_copper, 'P', "plateSteel", 'C', ModItems.circuit_red_copper, 'I', "ingotPolymer" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jackt), new Object[] { "S S", "LIL", "LIL", 'S', "plateSteel", 'L', Items.leather, 'I', ModItems.plate_polymer })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jackt2), new Object[] { "S S", "LIL", "III", 'S', "plateSteel", 'L', Items.leather, 'I', ModItems.plate_polymer })); @@ -1680,6 +1697,23 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lead_gavel, 1), new Object[] { "PIP", "IGI", "PIP", 'P', ModItems.pellet_buckshot, 'I', "ingotLead", 'G', ModItems.wood_gavel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mech_key, 1), new Object[] { " GC", "GAG", "AG ", 'G', "nuggetGold", 'A', "ingotAluminum", 'C', ModItems.coin_maskman })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_coil_alloy, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ModItems.wire_advanced_alloy, 'C', ModBlocks.fusion_conductor }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "SCS", "CSC", "SCS", 'S', ModItems.powder_schrabidium, 'C', ModBlocks.hadron_coil_alloy }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_coil_starmetal, 1), new Object[] { "SCS", "CSC", "SCS", 'S', ModItems.ring_starmetal, 'C', ModBlocks.hadron_coil_schrabidium }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hadron_diode, 1), new Object[] { "CIC", "ISI", "CIC", 'C', ModBlocks.hadron_coil_alloy, 'I', "ingotSteel", 'S', ModItems.circuit_gold })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hadron_plating, 1), new Object[] { "IPI", "P P", "IPI", 'I', "ingotSteel", 'P', "plateSteel" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_blue, 1), new Object[] { ModBlocks.hadron_plating, "dyeBlue" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_black, 1), new Object[] { ModBlocks.hadron_plating, "dyeBlack" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_yellow, 1), new Object[] { ModBlocks.hadron_plating, "dyeYellow" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_striped, 1), new Object[] { ModBlocks.hadron_plating, "dyeBlack", "dyeYellow" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_glass, 1), new Object[] { ModBlocks.hadron_plating, "blockGlass" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_voltz, 1), new Object[] { ModBlocks.hadron_plating, "dyeRed" })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_power, 1), new Object[] { "STS", "CPC", "STS", 'S', ModItems.ingot_saturnite, 'T', ModBlocks.machine_transformer, 'C', ModItems.circuit_targeting_tier3, 'P', ModBlocks.hadron_plating_blue }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hadron_analysis, 1), new Object[] { "IPI", "PCP", "IPI", 'I', "ingotTitanium", 'P', "plateDenseLead", 'C', ModItems.circuit_gold })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_analysis_glass, 1), new Object[] { ModBlocks.hadron_analysis, "blockGlass" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hadron_access, 1), new Object[] { "IGI", "CRC", "IPI", 'I', ModItems.plate_polymer, 'G', "paneGlass", 'C', ModItems.circuit_aluminium, 'R', "blockRedstone", 'P', ModBlocks.hadron_plating_blue })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', ModItems.circuit_schrabidium }); + if(GeneralConfig.enableBabyMode) { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_semtex, 3), new Object[] { Items.slime_ball, Blocks.tnt, ModItems.niter }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 0b881d951..296f6bb6e 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -172,6 +172,7 @@ public class MainRegistry { public static Achievement achRadDeath; public static Achievement achStratum; public static Achievement achMeltdown; + public static Achievement achOmega12; public static Achievement bobMetalworks; public static Achievement bobAssembly; public static Achievement bobChemistry; @@ -871,6 +872,7 @@ public class MainRegistry { achSoyuz = new Achievement("achievement.soyuz", "soyuz", -2, 0, Items.baked_potato, null).initIndependentStat().setSpecial().registerStat(); achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat(); achMeltdown = new Achievement("achievement.meltdown", "meltdown", -4, 0, new ItemStack(ModBlocks.iter), null).initIndependentStat().setSpecial().registerStat(); + achOmega12 = new Achievement("achievement.omega12", "omega12", -4, 2, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat(); bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 2, ModItems.bob_metalworks, null).initIndependentStat().registerStat(); bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 2, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat(); @@ -902,6 +904,7 @@ public class MainRegistry { achSoyuz, achStratum, achMeltdown, + achOmega12, bobMetalworks, bobAssembly, bobChemistry, @@ -989,6 +992,10 @@ public class MainRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.tank_waste, 1, 7), new ItemStack(ModItems.tank_waste, 1, 6), FluidType.WATZ, 8000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.tank_waste, 1, 8), new ItemStack(ModItems.tank_waste, 1, 7), FluidType.WATZ, 8000)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_hydrogen), new ItemStack(ModItems.particle_empty), FluidType.HYDROGEN, 1000)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_amat), new ItemStack(ModItems.particle_empty), FluidType.AMAT, 1000)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_aschrab), new ItemStack(ModItems.particle_empty), FluidType.ASCHRAB, 1000)); + for(int i = 1; i < FluidType.values().length; i++) { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_full, 1, i), new ItemStack(ModItems.fluid_tank_empty), FluidType.getEnum(i), 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_barrel_full, 1, i), new ItemStack(ModItems.fluid_barrel_empty), FluidType.getEnum(i), 16000)); diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index a4d38838a..5a05b0f55 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -36,7 +36,7 @@ public class TileEntityProxyBase extends TileEntity { /// this spares me the hassle of registering a new child class TE that aims at the right target /// if(this.getBlockType() instanceof BlockHadronAccess) { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); for(int i = 1; i < 3; i++) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java index df9266f1d..9d47bff91 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java @@ -10,7 +10,9 @@ import com.hbm.blocks.machine.BlockHadronCoil; import com.hbm.blocks.machine.BlockHadronPlating; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.HadronRecipes; +import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.TileEntityMachineBase; @@ -19,10 +21,12 @@ import com.hbm.tileentity.machine.TileEntityHadronDiode.DiodeConfig; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityHadron extends TileEntityMachineBase implements IConsumer { @@ -133,6 +137,15 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer else slots[i].stackSize++; } + + if(result[0].getItem() == ModItems.particle_digamma) { + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, + AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) + .expand(128, 50, 128)); + + for(EntityPlayer player : players) + player.triggerAchievement(MainRegistry.achOmega12); + } } worldObj.playSoundEffect(p.posX, p.posY, p.posZ, "random.orb", 2, 1F);